I am leaning towards Fil's points. The advantage of script tags is everyone understands how they work. Only use magic when magic is required.
On Wed, Feb 6, 2013 at 12:45 PM, Braden Shepherdson <bra...@chromium.org>wrote: > I think it's fine to have the default behavior be to inject script tags. > That will suffice for 90% of our users, probably more. If you fall into the > 10% that have some more complicated setup, we should provide a flag like > > cordova plugin add --no-inject-js myplugin > that prevents us from doing it automatically, and you can do whatever more > complex step you need to do. > > > Braden > > > On Wed, Feb 6, 2013 at 3:37 PM, Andrew Grieve <agri...@chromium.org> > wrote: > > > On Wed, Feb 6, 2013 at 3:00 PM, Filip Maj <f...@adobe.com> wrote: > > > > > > > > > > > On 2/6/13 11:51 AM, "Andrew Grieve" <agri...@chromium.org> wrote: > > > > > > >On Wed, Feb 6, 2013 at 2:33 PM, Filip Maj <f...@adobe.com> wrote: > > > > > > > >> I've added a few detail explanations to the document, but moved the > > > >> discussion to the ML. > > > >> > > > >> ---- > > > >> > > > >> > Should be easy to install / remove plugins (no need to manually > > > >> >add/remove script tags) > > > >> > > > >> > > > >> I think adding/removing script tags is the way to go. Concatenating > > all > > > >> javascript relevant to your project (cordova.js + any plugins you > add) > > > >> makes it difficult to debug later on. WE'd have to get users to post > > > >> entire contents of their cordova.js file to determine what was added > > and > > > >> what exists in there. With that in mind, I favor the packager > > approach, > > > >> which would require: > > > >> > > > > > > > >Very good point about concat making it hard to track bugs! I wonder if > > > >there's a better way than requiring users to manually add the tags (we > > > >don't require them to manually add native files to their project > files). > > > > > > > >One thought is to have cordova-packer output source-maps. I don't > think > > > >there's very good support for them in mobile browsers yet, but we > could > > > >use > > > >them to manually map exception line numbers to file+line numbers. > > > > > > > >Another idea is to use exec + special comment that is used in our > > existing > > > >pkg/debug/*.js files. I don't think support for this is all that great > > > >either though. > > > > > > > >Another idea is to have cordova.js inject a script tag for each > module. > > > >This may have an adverse effect on start-up time, but probably no > worse > > > >than if the user manually adds all of the script tags separately. > > Winner? > > > > > > I don't think the script tag is a giant issue, but I do think it is a > > > slipper slope problem to try and solve. What if the user has a > multipage > > > application? Do we then add script tags automatically to all pages? > What > > > if the user only uses the plugin on specific pages? Etc etc > > > > > > > I'm suggesting that any page that include (manually) cordova.js will have > > it dynamically inject installed plugin JS files. Should work fine in a > > multi-page app. We don't currently disable plugins on a per-page basis. > Is > > this really an important use-case? If so, I'm sure we could figure out > how > > to not inject script tags for plugins you don't want. > > > -- @purplecabbage risingj.com