There seems to be some confusion -- I think people are talking about
different things here, but perhaps it's just me ;)

I thought that Brian's original suggestion was about being able to host
Cordova platforms directly on NPM. That's why each one would require a
package.json. (which would probably end up in
<project>/platforms/<platform> in a project, but that's not the point of
it).

As an NPM project, we then would have the opportunity (though not the
obligation) to make all of the supporting scripts for each platform
(create, build, run, etc) part of the node module, for a uniform interface
that doesn't require going through the command line.

It's not about making platforms into CLI dependencies (any more than
plugins are CLI dependencies right now), or about making a cordova-based
project into a node package.

If that's right, then I support that -- I'd like the platforms to be
installable through npm, and to be versioned separately, installable
separately, and scriptable without having to spawn subshells.

And if I have it completely wrong, then let me know -- I'll just go back to
fixing File bugs ;)


On Mon, Jun 2, 2014 at 3:29 PM, Andrew Grieve <agri...@chromium.org> wrote:

> Not sure what your question is.
>
>
> On Mon, Jun 2, 2014 at 2:03 PM, Brian LeRoux <b...@brian.io> wrote:
>
> > *ahem
> >
> >
> > On Wed, May 28, 2014 at 11:20 AM, Brian LeRoux <b...@brian.io> wrote:
> >
> > > npm i cordova-ios@3.5.0
> > >
> > > Right?
> > > On May 27, 2014 11:06 PM, "Andrew Grieve" <agri...@chromium.org>
> wrote:
> > >
> > >> Lazy loading is what will give us the ability to support multiple
> > versions
> > >> of platforms.
> > >>
> > >> If we don't support users choosing the version of the platform they
> > want,
> > >> then they will resist updating their version of CLI (like they do
> right
> > >> now).
> > >>
> > >> I'm very keen to allow users to chose their platform versions, just as
> > >> they
> > >> are able to choose their plugin versions.
> > >>
> > >>
> > >>
> > >> On Tue, May 27, 2014 at 5:57 PM, Mark Koudritsky <kam...@google.com>
> > >> wrote:
> > >>
> > >> > +1
> > >> >
> > >> > Steve published (some of?) the platforms on npm as part of the
> latest
> > >> > release.
> > >> > https://www.npmjs.org/package/cordova-android
> > >> > https://www.npmjs.org/package/cordova-ios
> > >> >
> > >> > CLI already require()s npm for downloading plugins from the
> registry.
> > >> > Extending this to platforms is on my todo list for this\next week.
> > >> > The "lazy" part of the loading was about caching, so we don't lose
> it
> > >> since
> > >> > npm does its own caching.
> > >> >
> > >> >
> > >> >
> > >> > On Tue, May 27, 2014 at 5:42 PM, Parashuram Narasimhan (MS OPEN
> TECH)
> > <
> > >> > panar...@microsoft.com> wrote:
> > >> >
> > >> > > +1. This will also be a step towards releasing platforms
> > >> independently.
> > >> > > Will the CLI have a semver like dependency on the platform
> specified
> > >> > > somewhere ? Would the cli have to require('npm') and do the
> install?
> > >> > >
> > >> > > -----Original Message-----
> > >> > > From: brian.ler...@gmail.com [mailto:brian.ler...@gmail.com] On
> > >> Behalf
> > >> > Of
> > >> > > Brian LeRoux
> > >> > > Sent: Tuesday, May 27, 2014 2:20 PM
> > >> > > To: dev@cordova.apache.org
> > >> > > Subject: adding platforms to npm for dependency sanity
> > >> > >
> > >> > > We've discussed this but I'm not sure the whole idea has
> > crystalized.
> > >> My
> > >> > > proposal (based on previous discussions) below. I'll use iOS as an
> > >> > example
> > >> > > but this applies to all platforms supported by the CLI.
> > >> > >
> > >> > > First, we'd add two files:
> > >> > >
> > >> > > cordova-ios
> > >> > > |-package.json
> > >> > > '-index.js
> > >> > >
> > >> > > …I don't think I need to describe the utility of package.json but
> > >> > index.js
> > >> > > would expose programatic library apis:
> > >> > >
> > >> > > module.exports = { create:Function, run:Function, build:Function,
> > >> > > clean:Function, log:Function}
> > >> > >
> > >> > > We then publish to npm. That is it for now. Ideal future CLI uses
> > >> > > platforms just like other deps. We lose lazy loading but network
> and
> > >> disk
> > >> > > is cheap so it wasn't really important anyhow.
> > >> > >
> > >> > > Discuss!
> > >> > >
> > >> >
> > >>
> > >
> >
>

Reply via email to