I've vetted webpack (and the rest) extensively. Less ecosystem. More
complex config. No transforms.

Here's a thing I wrote on the modules front. Not directly applicable but
possibly relevant and at worst geek entertaining. ;)

https://medium.com/@brianleroux/es6-modules-amd-and-commonjs-c1acefbe6fc0


On Thu, Dec 11, 2014 at 2:11 PM, Steven Gill <stevengil...@gmail.com> wrote:

> Realized I wasn't clear, but startup/run time is definitely faster. One of
> the benefits of switching to a system like this.
>
> Build time is a few ms slower.
>
> On Thu, Dec 11, 2014 at 2:06 PM, Steven Gill <stevengil...@gmail.com>
> wrote:
>
> >
> >
> > On Thu, Dec 11, 2014 at 1:45 PM, Michal Mocny <mmo...@chromium.org>
> wrote:
> >
> >> 25MB is for the one-time cordova-cli install, and not overhead for the
> >> app.  Its not perfect but not a blocker imho.
> >>
> >
> > Agreed
> >
> >
> >> There are more troubling things about the change than the size overhead:
> >> - I don't think browserify has "baked" at all.  It was landed behind a
> >> flag, but is it actually used anywhere?
> >
> > - Why browserify and not webpack (aside: its 13Mb..)?  Was it compared at
> >> all..
> >>
> >
> > Not sure. I am unfamiliar with webpack.
> >
> > But one is integrated into our system...
> >
> > The node community are big backers of browserify. It had a dedicated
> track
> > at JSFEST this week. Not suggesting popularity be the deciding factor
> > though :P
> >
> >
> >
> >> - Last time it was discussed, there were still several breaking changes
> >> for
> >> plugins.  Were they resolved?
> >>
> >> Yes. Transforms were used to deal with the issues.
> >
> >
> >> Anyway, how can we get data on the change to see if it is positive?:
> >> - Existing plugins continue to work (We run mobile spec, and get
> >> downstream
> >> distributions run tests on their plugins).
> >>
> >
> > Android and IOS had same success rate on mobile spec for browserify
> system
> > last time I tested. Need to do more tests with other platforms. Seems one
> > way to get platforms to test it is to make default + fix any problems we
> > see before releasing
> >
> > - Startup time is not negatively affected.
> >>
> >
> > Current system we have to read cordova_plugins at runtime. Browserify
> > handles this at build time so I would imagine it would speed up that
> part.
> > Flip side, all the plugins get executed immediately with browserify (has
> > benefits too).
> >
> > - Build/prepare time is not negatively affected.
> >
> >
> >> Is that fair?
> >>
> >> -Michal
> >>
> >> On Thu, Dec 11, 2014 at 2:38 PM, Andrew Grieve <agri...@chromium.org>
> >> wrote:
> >>
> >> > I'd really like to get it fully spelled out *why* browserify is the
> >> right
> >> > tool for this. Some thoughts below:
> >> >
> >> > On Wed, Dec 10, 2014 at 8:35 PM, Brian LeRoux <b...@brian.io> wrote:
> >> >
> >> > > we should move browserify to main and drop that insane concat code
> >> > >
> >> > > its not heavyweight at all. it creates a hash in iife with deps
> mapped
> >> > > in...as to why dep mgmt is better than concatenating...I don't
> think we
> >> need
> >> > to
> >> > > waste our time talking about that!
> >> >
> >> >
> >> >
> >> > What makes the concat code insane?
> >> >  - It's easy to understand and make changes to
> >> >  - It seems to work fine and is quite stable
> >> >  - It has no dependencies (it's 52kb within cordova-js/tasks/lib)
> >> >
> >> > Browserify seems a bit scary to me:
> >> > - It's 25MB and has a tonne of dependencies
> >> > - Do we really need all of that functionality?
> >> >
> >> > I think it would actually help a lot to talk about dependency
> >> management.
> >> > - Right now cordova-js creates a module for every file in src/
> >> > - Plugins list each module explicitly in their plugin.xml
> >> > With browserify, are you envisioning that this model change at all?
> >> >
> >> >
> >> > Why change anything?
> >> > - cordova-lib should concat plugin modules with cordova.js on prepare
> >> (this
> >> > is the motivation stated in the JIRA. totally on board with this!)
> >> > What else would I like to see changed?
> >> > - exec.js (and any other platform-specific modules) should move to
> live
> >> in
> >> > platform repos
> >> >   - This will make code changes that affect both much easier
> >> > - Platforms should depend on cordova-js via package.json and snapshot
> >> > generation should happen in bin/create as well as plugin add/rm
> >> >   - This will remove the (somewhat) annoying step of snapshotting
> >> >   - This will allow cordova-js to be released as it's own artifact
> >> >     - Good because we can do things like add Promise polyfill and not
> >> need
> >> > to release all platforms to pick it up
> >> >     - A bit annoying since it's one more thing to release, but likely
> >> won't
> >> > get released often.
> >> >
> >> >
> >> > Please don't look at my email as trying to derail the work Anis did. I
> >> > believe most of it is necessary to accomplish these goals whether we
> use
> >> > Browserify, our own, or some other concattenator. I just question
> >> whether
> >> > 25MB is too much complexity for what we need / want.
> >> >
> >> >
> >> >
> >> >
> >> > On Thu, Dec 11, 2014 at 2:10 PM, Joe Bowser <bows...@gmail.com>
> wrote:
> >> >
> >> > > This should be a major, but yeah, I'm fine with making this the
> >> default.
> >> > >
> >> > > On Thu, Dec 11, 2014, 11:08 AM Brian LeRoux <b...@brian.io> wrote:
> >> > >
> >> > > > so I think this has baked long enough! lets make it the default
> and
> >> > suss
> >> > > > the bugs.
> >> > > >
> >> > > > On Thu, Jul 10, 2014 at 3:36 AM, Ally Ogilvie <
> aogil...@wizcorp.jp>
> >> > > wrote:
> >> > > >
> >> > > > > Ace, look forward to browser/web as platform. Combined Web and
> >> Native
> >> > > API
> >> > > > > plugin for Cordova! Yay!
> >> > > > > Thanks for the clarification Michal.
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > On Tue, Jul 8, 2014 at 6:07 AM, Anis KADRI <
> anis.ka...@gmail.com>
> >> > > wrote:
> >> > > > >
> >> > > > > > Right, browserify is just a way to package cordova.js that
> >> should
> >> > > make
> >> > > > it
> >> > > > > > easier to add the browser as a platform so might not be
> directly
> >> > > > related
> >> > > > > > but is somewhat related :-}
> >> > > > > >
> >> > > > > >
> >> > > > > > On Mon, Jul 7, 2014 at 4:45 PM, Michal Mocny <
> >> mmo...@chromium.org>
> >> > > > > wrote:
> >> > > > > >
> >> > > > > > > I think Ally may be confusing what this does?: This
> browserify
> >> > work
> >> > > > is
> >> > > > > > not
> >> > > > > > > a way to get cordova to run in a desktop browser, its just a
> >> > means
> >> > > > for
> >> > > > > > > packaging cordova.js.  I think there should be no visible
> >> change
> >> > to
> >> > > > end
> >> > > > > > > users.
> >> > > > > > >
> >> > > > > > > There is a separate effort to target the browser as a
> >> platform,
> >> > and
> >> > > > it
> >> > > > > > may
> >> > > > > > > be true that the browserify work helps with that, but its
> not
> >> > > > directly
> >> > > > > > > related.
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > On Mon, Jul 7, 2014 at 3:58 PM, Anis KADRI <
> >> anis.ka...@gmail.com
> >> > >
> >> > > > > wrote:
> >> > > > > > >
> >> > > > > > > > On Sun, Jun 29, 2014 at 9:54 PM, Ally Ogilvie <
> >> > > aogil...@wizcorp.jp
> >> > > > >
> >> > > > > > > wrote:
> >> > > > > > > >
> >> > > > > > > > > Anis that is really sweet.
> >> > > > > > > > > If this hits CLI, plugin.xml will have sections for
> >> plugins
> >> > to
> >> > > do
> >> > > > > web
> >> > > > > > > > > actions?
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > > > Not sure I understand what you mean by web actions.
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > > > TBH.. i've always wanted a cordova platform add web...
> but
> >> > i'd
> >> > > be
> >> > > > > > happy
> >> > > > > > > > > enough with a prepare for browser only mode.
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > > > `cordova platform add web` is part of the plan.
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > Seeing a lot of use cases (e.g. Facebook plugin etc.)
> >> where
> >> > > there
> >> > > > > are
> >> > > > > > > JS,
> >> > > > > > > > > iOS & Android SDKs and a Cordova Plugin wants to support
> >> the
> >> > > same
> >> > > > > API
> >> > > > > > > on
> >> > > > > > > > > all platforms.
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > > > Didn't think of that but it is applicable indeed.
> >> > > > > > > >
> >> > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > On Sat, Jun 21, 2014 at 9:26 AM, Anis KADRI <
> >> > > > anis.ka...@gmail.com>
> >> > > > > > > > wrote:
> >> > > > > > > > >
> >> > > > > > > > > > Ok cool. I can look at adding a --browserify option
> for
> >> run
> >> > > and
> >> > > > > > > > prepare.
> >> > > > > > > > > I
> >> > > > > > > > > > logged an issue for it [1]
> >> > > > > > > > > >
> >> > > > > > > > > > [1] https://issues.apache.org/jira/browse/CB-7001
> >> > > > > > > > > >
> >> > > > > > > > > >
> >> > > > > > > > > > On Thu, Jun 19, 2014 at 5:57 PM, Andrew Grieve <
> >> > > > > > agri...@chromium.org
> >> > > > > > > >
> >> > > > > > > > > > wrote:
> >> > > > > > > > > >
> >> > > > > > > > > > > Thanks Anis!
> >> > > > > > > > > > >
> >> > > > > > > > > > > Tougher for CLI since it's actually the prepare step
> >> that
> >> > > > > creates
> >> > > > > > > > > > > cordova_plugins.js, but longer term (medium term?) I
> >> > don't
> >> > > > see
> >> > > > > > why
> >> > > > > > > we
> >> > > > > > > > > > > shouldn't just turn it on always anyways.
> >> > > > > > > > > > >
> >> > > > > > > > > > > So... Maybe cordova prepare --browserify?
> >> > > > > > > > > > > Build prepares first, so will also need: cordova run
> >> > > android
> >> > > > > > > > > --browserify
> >> > > > > > > > > > >
> >> > > > > > > > > > > I haven't looked at it yet. Google IO is next week
> and
> >> > it's
> >> > > > > been
> >> > > > > > > > > > consuming
> >> > > > > > > > > > > most of our time the last few weeks. Will definitely
> >> play
> >> > > > with
> >> > > > > it
> >> > > > > > > > next
> >> > > > > > > > > > next
> >> > > > > > > > > > > week though!
> >> > > > > > > > > > >
> >> > > > > > > > > > >
> >> > > > > > > > > > >
> >> > > > > > > > > > > On Thu, Jun 19, 2014 at 6:28 PM, Anis KADRI <
> >> > > > > > anis.ka...@gmail.com>
> >> > > > > > > > > > wrote:
> >> > > > > > > > > > >
> >> > > > > > > > > > >> Sorry. I forgot you asked the question. There was
> no
> >> > issue
> >> > > > but
> >> > > > > > > there
> >> > > > > > > > > is
> >> > > > > > > > > > >> one now.
> >> > > > > > > > > > >> https://issues.apache.org/jira/browse/CB-6990
> >> > > > > > > > > > >>
> >> > > > > > > > > > >> This "feature" is plugman only for now. How
> >> important is
> >> > > it
> >> > > > to
> >> > > > > > > wire
> >> > > > > > > > it
> >> > > > > > > > > > >> to CLI ? Have  you guys had time to test it out
> yet ?
> >> > How
> >> > > > > would
> >> > > > > > it
> >> > > > > > > > > > >> work with CLI ? Add another flag such as "cordova
> >> plugin
> >> > > add
> >> > > > > > > > > > >> --browserify" ?
> >> > > > > > > > > > >>
> >> > > > > > > > > > >> On Thu, Jun 19, 2014 at 9:28 AM, Andrew Grieve <
> >> > > > > > > > agri...@chromium.org>
> >> > > > > > > > > > >> wrote:
> >> > > > > > > > > > >> > bump
> >> > > > > > > > > > >> >
> >> > > > > > > > > > >> >
> >> > > > > > > > > > >> > On Mon, Jun 16, 2014 at 12:51 PM, Andrew Grieve <
> >> > > > > > > > > agri...@chromium.org
> >> > > > > > > > > > >
> >> > > > > > > > > > >> > wrote:
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >> Cool, yes! Thanks for the update!
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >> Is there a JIRA for this? Was asked in
> >> > > > > > > > > > >> >> https://issues.apache.org/jira/browse/CB-5671.
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >> On Mon, Jun 16, 2014 at 10:21 AM, Michal Mocny <
> >> > > > > > > > > mmo...@chromium.org>
> >> > > > > > > > > > >> >> wrote:
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>> Awesome Anis.
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>> Will gladly take a look at this later today.
> >> Just
> >> > > > wanted
> >> > > > > to
> >> > > > > > > > send
> >> > > > > > > > > a
> >> > > > > > > > > > >> quick
> >> > > > > > > > > > >> >>> thanks for landing this this way, and for the
> >> useful
> >> > > > > report.
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>> -Michal
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>> On Fri, Jun 13, 2014 at 7:55 PM, Anis KADRI <
> >> > > > > > > > anis.ka...@gmail.com
> >> > > > > > > > > >
> >> > > > > > > > > > >> wrote:
> >> > > > > > > > > > >> >>>
> >> > > > > > > > > > >> >>> > Yo,
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > Just wanted to let everyone know that I added
> >> > > > browserify
> >> > > > > > > > support
> >> > > > > > > > > > to
> >> > > > > > > > > > >> >>> > plugman (behind a flag for now). CLI is not
> >> hooked
> >> > > to
> >> > > > > this
> >> > > > > > > > yet.
> >> > > > > > > > > > Here
> >> > > > > > > > > > >> >>> > is how it works:
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > plugman install --browserify --plugin
> [PLUGIN]
> >> > > > > --platform
> >> > > > > > > > > > [PLATFORM]
> >> > > > > > > > > > >> >>> > --project [PROJECT_PATH]
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > will generate a browserify version of
> >> cordova.js.
> >> > > > > Plugins
> >> > > > > > > and
> >> > > > > > > > > > >> >>> > everything is bundled in. This version passes
> >> > > > > mobile-spec
> >> > > > > > on
> >> > > > > > > > iOS
> >> > > > > > > > > > and
> >> > > > > > > > > > >> >>> > Android. I am not yet setup to test other
> >> > platforms.
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > plugman install --plugin [PLUGIN] --platform
> >> > > > [PLATFORM]
> >> > > > > > > > > --project
> >> > > > > > > > > > >> >>> > [PROJECT_PATH]
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > Will continue to generate cordova.js the way
> it
> >> > used
> >> > > > to.
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > Because some of you really care about
> >> benchmarks
> >> > > here
> >> > > > is
> >> > > > > > > some
> >> > > > > > > > > > >> >>> > comparison for dependencies-plugin install:
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > No browserify:
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > real 0m9.546s
> >> > > > > > > > > > >> >>> > user 0m4.673s
> >> > > > > > > > > > >> >>> > sys 0m0.692s
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > Browserify:
> >> > > > > > > > > > >> >>> > real 0m9.861s
> >> > > > > > > > > > >> >>> > user 0m4.759s
> >> > > > > > > > > > >> >>> > sys 0m0.648s
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > All cordova-lib tests are passing so I am
> >> assuming
> >> > > > this
> >> > > > > > has
> >> > > > > > > > > > minimal
> >> > > > > > > > > > >> >>> > impact but LET ME KNOW otherwise.
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>> > Anis
> >> > > > > > > > > > >> >>> >
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >>
> >> > > > > > > > > > >> >
> >> > > > > > > > > > >>
> >> > > > > > > > > > >
> >> > > > > > > > > > >
> >> > > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > --
> >> > > > > > > > > <http://www.wizcorp.jp/>Ally Ogilvie
> >> > > > > > > > > Lead Developer - MobDev. | Wizcorp Inc. <
> >> > > http://www.wizcorp.jp/>
> >> > > > > > > > > ------------------------------
> >> > > > > > > > > TECH . GAMING . OPEN-SOURCE WIZARDS+ 81 (0)3-4550-1448
> |
> >> > > Website
> >> > > > > > > > > <http://www.wizcorp.jp/> | Twitter <
> >> > > https://twitter.com/Wizcorp>
> >> > > > |
> >> > > > > > > > > Facebook
> >> > > > > > > > > <http://www.facebook.com/Wizcorp> | LinkedIn
> >> > > > > > > > > <http://www.linkedin.com/company/wizcorp>
> >> > > > > > > > >
> >> > > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > --
> >> > > > > <http://www.wizcorp.jp/>Ally Ogilvie
> >> > > > > Lead Developer - MobDev. | Wizcorp Inc. <http://www.wizcorp.jp/
> >
> >> > > > > ------------------------------
> >> > > > > TECH . GAMING . OPEN-SOURCE WIZARDS+ 81 (0)3-4550-1448 |
> Website
> >> > > > > <http://www.wizcorp.jp/> | Twitter <https://twitter.com/Wizcorp
> >
> >> |
> >> > > > > Facebook
> >> > > > > <http://www.facebook.com/Wizcorp> | LinkedIn
> >> > > > > <http://www.linkedin.com/company/wizcorp>
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to