cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carlos Santana <csantan...@gmail.com>
Subject Re: Can I have all my hooks in one file and be event driven?
Date Tue, 05 Aug 2014 20:55:02 GMT
yep that was my feeling write a node module with a simple API (i.e. run)
what ever and then listen on events coming from cordova.

I like the node_modules searching, but I think this is something that npm
does better
But there still the problem who is going to put the files down for
"node_modules"

There might be a simpler way to register the hook with cordova, like have
declare it as a devDependency in cordovaUserProject/package.json or
cordovaUserProject/cordova.json
devDependencies :{
  cdv-hook-worklight:0.1.x
}

then let "cordova install" -> npm install take care of putting down, and
cordova lib just looks in devDependencies for things that start with
cdv-hook-*

I created two threads on purpose 1. today, 2. future :-)



On Tue, Aug 5, 2014 at 4:31 PM, Brian LeRoux <b@brian.io> wrote:

> yes! this
>
> and related to your earlier thread: maybe hooks themselves should just be
> npm modules
>
> The hook lookups could walk up node_modules and look for modules with a
> package.json that have a "cordova" key… maybe this should go to the other
> thread
>
>
> On Tue, Aug 5, 2014 at 1:18 PM, Carlos Santana <csantana23@gmail.com>
> wrote:
>
> > I started to write hooks, and I got lazy :-)
> >
> > What about having a single hook nodejs script that listen on cordova
> > events?
> >
> > My script will look something like this:
> >
> > function worklightBeforePrepare(){
> > console.log('Running Worklight worklightBeforePrepare()');
> > }
> > function worklightAfterCompile(){
> > console.log('Running Worklight worklightAfterCompile()');
> > }
> > function worklightHooks(cordova_lib){
> > cordova_lib.events.on('before_prepare',worklightBeforePrepare);
> > cordova_lib.events.on('after_compile',worklightAfterCompile);
> > }
> > module.exports = {
> > run: worklightHooks
> > }
> >
> >
> > Then when cordova cli starts it always runs my hook script:
> >
> > var script = path.join(root,'hook/global/worklight_cordova_hook.js');
> > var hook = require(script);
> > hook.run(cordova_lib);
> >
> >
> > --
> > Carlos Santana
> > <csantana23@gmail.com>
> >
>



-- 
Carlos Santana
<csantana23@gmail.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message