Certainly would be nice to have the create scripts generate cordova.js in
the same way CLI does. Maybe have the create script call into cordova-js?

Would it make sense in this case to have platforms depend on cordova-js,
rather than the other way around?

Having cordova-js depend on platforms means:
- we have pinned versions of platforms in cordova-lib
- we have pinned versions of platforms in cordova-js
- cordova-lib depends on cordova-js, meaning platforms are double-pinned?

Is it possible that the pinned versions could get out of sync? Seems
possible...

I think there's probably two ways that we can simplify the dependencies:
1. Have platforms depend on cordova-js, and have their create script know
how to generate a cordova.js
2. Have platforms' create script require a --path-to-cordova-js flag.

We could actually do both, since in CLI we don't download package
dependencies when adding downloading platform packages.

On Tue, May 26, 2015 at 9:14 PM, Murat Sutunc <mura...@microsoft.com> wrote:

> I think this would be a valuable addition to coho.
>
> +1
>
> -----Original Message-----
> From: Steven Gill [mailto:stevengil...@gmail.com]
> Sent: Tuesday, May 26, 2015 5:40 PM
> To: dev@cordova.apache.org
> Subject: Re: Building cordova.js on first build
>
> npm linking is suggested when testing platform specific JS changes.
>
> cordova-coho's prepare-release-branch command will generate cordova.js and
> move it over to the platform, as well as other things, when doing a
> release. It might be worth breaking out the generating and moving JS part
> of that step in coho to make that command standalone so platform developers
> could do cordova-coho update-js -r windows to generate + copy cordova.js
> into cordova-windows (sibling to cordova-coho).
>
>
>
>
>
> On Tue, May 26, 2015 at 5:25 PM, Murat Sutunc <mura...@microsoft.com>
> wrote:
>
> > Thanks Steven for clarifying this for me.
> >
> > For now I'll update the www\cordova.js manually for the windows platform.
> > Windows cordova.js is outdated and I'm hitting a bug.
> >
> > Personally, I'm +1 with auto generating cordova.js but it's not as
> > easy as I originally thought because of the dependencies.
> >
> > Currently, updating cordova.js is also not so trivial. We have a
> > folder structure like this:
> >
> > Cordova Project
> > ├─┬ cordova-js @ Dev (local) Version
> > │ └── cordova-windows @ NPM Version
> > └── cordova-windows @ Dev (local) Version
> >
> > For platform developers the easiest workflow is to npm-link
> > cordova-js\cordova-windows to cordova-windows. Once linked you have to
> > grunt compile cordova-js and manually move file over cordova-windows.
> >
> > On second thought, regenerating cordova.js from cordova-cli is not a
> > great idea. For browserify workflow it makes a lot of sense because we
> > don't know which plugins the user has but otherwise the file is static.
> >
> > -----Original Message-----
> > From: Steven Gill [mailto:stevengil...@gmail.com]
> > Sent: Tuesday, May 26, 2015 5:10 PM
> > To: dev@cordova.apache.org
> > Subject: Re: Building cordova.js on first build
> >
> > If people are into it, I can handle this one as I am very familiar
> > with the code base since I just did it for the browserify workflow.
> >
> > On Tue, May 26, 2015 at 4:15 PM, Steven Gill <stevengil...@gmail.com>
> > wrote:
> >
> > > Hey Murat,
> > >
> > > By two files you mean cordova-js-src and www\cordova.js I assume.
> > > The www\cordova.js file is generated and updated on each release of
> > > the platform. It will use cordova-js-src to build it when available
> > > (instead of legacy-exe version)
> > >
> > > Problem with removing www\cordova.js and building it on runtime is
> > > that we loose support of platforms being able to build cordova
> > > projects independently of cordova-cli. We would have to have
> > > cordova.js as a dependency for each platform to be able to keep the
> > > ./bin/create scripts still having access to a cordova.js file.
> > >
> > > Right now, the browserify way builds cordova.js at runtime with the
> > > CLI by grabbing cordova-js-src from platform_www of added platforms
> > > or from cordovajs/src/legacy-exec if cordova-js-src doesn't exist
> > > (older
> > > platforms) . Because of this, we already have cordovajs as a
> > > dependency of cordova-lib. So theoretically, we could build
> > > cordova.js at runtime for non-browserify use case using a similar
> workflow.
> > >
> > > I think we should keep the www\cordova.js for now, and add
> > > non-browserify runtime cordova.js generation behind a flag so we can
> > > test it out. I see the value in it because we have use cases where
> > > we update the platform specific JS (in cordova-js-src) but can't
> > > test without generating a new cordova.js and moving it over to our
> platforms.
> > >
> > > Obviously using the --browserify flag will also work for you to be
> > > able to test those platform specific changes.
> > >
> > > On Tue, May 26, 2015 at 3:31 PM, Murat Sutunc
> > > <mura...@microsoft.com>
> > > wrote:
> > >
> > >> Hey there,
> > >> I've a quick question. Now that every platform comes with
> > >> cordova-js-src should we remove the www\cordova.js from platform
> repos?
> > >> I think it's a better idea to compile cordova.js on first build if
> > >> it's missing. This way we don't have to update two files when
> > >> working on platform js.
> > >> Thoughts?
> > >>
> > >> Thanks,
> > >> Murat
> > >>
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org
> > For additional commands, e-mail: dev-h...@cordova.apache.org
> >
> >
>

Reply via email to