cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Parashuram Narasimhan (MS OPEN TECH)" <>
Subject RE: Proposal: hooks support for plugins
Date Fri, 18 Apr 2014 00:22:37 GMT
Currently, the plugin hooks are constructed like the hooks in a cordova project. An alternative
would be to construct the javascript files to have module.exports, and we could pass in the
parameters to the function that is exported. This way, the module will not spawn a new node
Comments, Thoughts? 

-----Original Message-----
From: Sergey Grebnov (Akvelon) [] 
Sent: Thursday, April 17, 2014 5:19 PM
Subject: RE: Proposal: hooks support for plugins

I've sent a pull request with initial implementation for review. 

-----Original Message-----
From: Jonathan Bond-Caron []
Sent: Thursday, March 6, 2014 2:07 PM
Subject: RE: Proposal: hooks support for plugins

On Thu Mar 6 01:57 PM, Sergey Grebnov (Akvelon) wrote:
> Can we think about scripts as just a new plugin module?  - Similar to 
> js-module or config-file and which must be processed special way (by 
> execution).
> <script-module src="src/compile_sqlite.js"/> <framework 
> src="src/windows8/SQLitePCL.Ext.dll" custom="true"/> <script-module 
> src="src/add_win8_toastCapable.js"/>
> <script-module src="src/set_default_target_paltform_arm.js"/>
> Not so powerful and cool, but easy to implement and understand. During 
> uninstall each script is called again but with 'uninstall' flag (or 
> each script file can emit install and uninstall functions)

I'm all for simple, what happens if one of those scripts fails? E.g. failed compile

For example in cli:

cordova plugin add sqlite
platforms = ['android', 'windows8'];
for(p in platforms)
    installPlugin('sqlite');  // android ok! windows8 fails at 'src/compile_sqlite.js'

Is 'sqlite' at that point installed on android? Do we rollback the install? Run the uninstall()

For that reason, sandbox idea seems less chaotic with some hookApi - which would cleanup properly
if something goes wrong... 

What you're suggesting seems like it could work, until something goes wrong and leaves the
platform(s) project/native in an inconsistent state. Multiple that with "pluginb" that fails
at 'src/compile_stuff.js'

Could be doable but not sure well it would work.

View raw message