+1

On Wed, Jan 9, 2013 at 10:57 AM, Filip Maj <f...@adobe.com> wrote:

> https://github.com/alunny/cordova-plugin-spec
>
>
> We should move this to our wiki asap
>
> On 1/9/13 7:28 AM, "Gord Tanner" <gtan...@gmail.com> wrote:
>
> >Ideally the require paths should stay true to the following rules (not
> >that
> >we follow them exactly now but we are close):
> >
> >1. should always start with cordova (in case we ever share a require
> >framework)
> >2. should follow as close as possible to the folder structure.
> >
> >We don't really do this now (but we are close).  It is mainly to help with
> >navigation of the project from a require statement:
> >
> >     var foo = require('cordova/plugin/foo/submodule')
> >
> >Ideally I should be able to navigate to a file that lives in:
> >
> >     ~/cordova.js/plugin/foo/submodule.js
> >
> >But realistically we are probably going to see:
> >
> >    ~/cordova.js/plugin/foo/js/submodule.js
> >
> >Assuming we are dumping everything into a js folder here is the "mapping"
> >off the top of my head:
> >
> >    var foo = require('cordova/plugin/foo')
> >    ~/cordova.js/plugin/foo/js/index.js
> >
> >    var foo = require('cordova/plugin/foo/ios')
> >    ~/cordova.js/plugin/foo/js/ios.js
> >
> >    var foo = require('cordova/plugin/foo/blackberry/qnx')
> >    ~/cordova.js/plugin/foo/js/blackberry/qnx.js
> >
> >What does a plugin (native and js code) folder structure look like?
> >
> >
> >On Wed, Jan 9, 2013 at 9:42 AM, Andrew Grieve <agri...@google.com> wrote:
> >
> >> I'd like to take a first step towards moving plugin JS into separate
> >>repos
> >> by first moving them around within cordova-js.
> >>
> >> Here is my proposal:
> >>
> >> Current structure:
> >>         lib/common/plugin/*.js
> >>         lib/$PLATFORM/plugin/*.js
> >>
> >> New structure:
> >>         plugin/$PLUGIN_NAME/js/common/*.js
> >>         plugin/$PLUGIN_NAME/js/$PLATFORM/*.js
> >>
> >> The require path will need to change. Going from:
> >>         cordova.require('cordova/plugin/FileTransferError')
> >> To:
> >>         cordova.require('plugin/file/FileTransferError')
> >>
> >>
> >> I'll obviously need to update the builder scripts accordingly. The idea
> >> here is that we:
> >>         1. "cordova plugin add" will copy files into a project's plugins
> >> directory
> >>         2. "cordova build ios" will use the cordova-js packager and
> >>pass it
> >> the plugin/ directory to use
> >>
> >> This will not involve changing how we export modules onto namespaces in
> >> common.js / platform.js. That will come next though.
> >>
> >>
> >> The resulting structure will look like:
> >>
> >> plugin/accelerometer/js/common/Acceleration.js
> >> plugin/accelerometer/js/common/accelerometer.js
> >> plugin/battery/js/common/battery.js
> >> plugin/compass/js/common/Compass*.js
> >> plugin/contacts/js/common/Contact*.js
> >> plugin/device/js/common/device.js
> >> plugin/geolocation/js/common/Coordinates.js
> >> plugin/geolocation/js/common/Position*.js
> >> plugin/globalization/js/common/Globalization*.js
> >> plugin/inappbrowser/js/common/InAppBrowser.js
> >> plugin/logger/js/common/logger.js
> >> plugin/logger/js/common/console-via-logger.js
> >> plugin/media/js/common/Capture*.js
> >> plugin/media/js/common/ConfigurationData.js
> >> plugin/media/js/common/Media*.js
> >> plugin/network/js/common/Connection.js
> >> plugin/notification/js/common/notification.js
> >> plugin/camera/js/common/Camera*.js
> >> plugin/echo/js/common/echo.js
> >> plugin/file/js/common/Directory*.js
> >> plugin/file/js/common/Entry.js
> >> plugin/file/js/common/File*.js
> >> plugin/file/js/common/Flags.js
> >> plugin/file/js/common/LocalFileSystem.js
> >> plugin/file/js/common/Metadata.js
> >> plugin/file/js/common/ProgressEvent.js
> >> plugin/splashscreen/js/common/splashscreen.js
> >>
>
>

Reply via email to