I would add that I'm in agreement with Tommy that "platforms/*" should be
consider build artifacts. this should not be checking into source version
control.
If user changes contents under "platforms/" then it should move any changes
back to "merges/" or write some logic to recover the canges using "hooks/"

I would prefer if we could rename "platforms" into "buids/" or "dist/", but
I would be happy making the path name "platforms/" configurable



On Wed, Jun 4, 2014 at 8:10 AM, Carlos Santana <csantan...@gmail.com> wrote:

> I think regardless how much sugar we use to make it easy, I think the
> under the hood foundation/architecture should be something like:
>
> LocalProject/www/
> LocalProject/config.xml
> LocalProject/package.json
> LocalProject/node_module/.bin/cordova
>
> config.xml (manages the cordova app)
> package.json (manages the cordova project)
>
> pacakge.json (will specify all dependencies and npm will take care of
> fulfill them)
> {
> cordova: ">3.6",
> cordova-ios: "3.6.1",
> cordova-android: "3.6.2",
> cordova-plugin-device: "*",
> cordova-plugin-file: "^0.2.4"
> }
> npm install will take care of making everything available locally.
>
> I know that we don't have plugins in npm, but something to think about, in
> terms of just a secondary repository to download the files and caching.
>
> a global @cordova-cli, can be available like grunt-cli, to look first in
> local directory (i.e. findup)
>
> like someone mentioned npm installs hooks can run the "cordova platform
> add"
>
> this way minimal set of files can be put a dev repo, and reproduce by
> another developer very easy both getting same resulting project.
>
> git clone https://github.com/myuser/cordovapp && cd cordovapp && npm
> install && cordova run android
>
>
>
> On Tue, Jun 3, 2014 at 6:35 PM, Terence M. Bandoian <tere...@tmbsw.com>
> wrote:
>
>> I still consider myself a relative newcomer to Cordova but, from a
>> development standpoint, it would be easiest for me if I could manage each
>> platform of a project independently - including plugins.  Creating a
>> parallel project to make sure that the plugins and Cordova base don't
>> change for one platform while I work on another isn't ideal but it isn't
>> completely unmanageable either.  It just makes the workflow a little more
>> complex.
>>
>> -Terence
>>
>>
>>
>> On 6/3/2014 7:12 PM, Michal Mocny wrote:
>>
>>> We don't do platform-plugin version matching *at all* today.  Everyone
>>> uses
>>> the latest plugins and any platform version they want, and its been
>>> "fine".
>>>   So using different platform versions isn't as hard as you guys are
>>> making
>>> it out to be.
>>>
>>> Still, I've already said its not necessarily a complexity that needs to
>>> be
>>> addressed in a world where you can create multiple projects and use
>>> --link-to or whatever, so long as your platforms aren't installed
>>> globally.
>>>
>>>
>>> Anyway, thanks for posting your instructions Brian/Tommy.  As I mentioned
>>> it would be, thats a different workflow than we have now.  I'm going to
>>> sleep on it before I comment, but it certainly isn't just like "You know
>>> how we do it today".
>>>
>>> -Michal
>>>
>>>
>>> On Tue, Jun 3, 2014 at 7:59 PM, tommy-carlos williams <
>>> to...@devgeeks.org>
>>> wrote:
>>>
>>>  I don’t think you really can forget about plugins for a second.
>>>>
>>>> In my personal opinion, the entire ./platforms folder should be a build
>>>> artefact. If you want to freeze iOS, then use a branch or a new clone of
>>>> the project.
>>>>
>>>> It’s not that I can think of no scenarios where supporting multiple
>>>> platform versions would be needed, it’s just that I think it’s
>>>> needlessly
>>>> complex vs using a dev workflow to solve those problems.
>>>>
>>>> I already version cordova within a project… I have a local version of
>>>> cordova installed into ./node_modules for each project and use Grunt to
>>>> call ./node_modules/.bin/cordova rather than the global cordova cli.
>>>>
>>>> On 4 June 2014 at 9:46:29, Terence M. Bandoian (tere...@tmbsw.com)
>>>> wrote:
>>>>
>>>> Forgetting about plugins for a second, what if:
>>>>
>>>> - I complete a project for iOS
>>>> - six months later the client decides to port to Android and:
>>>> - I want the latest fixes for Android
>>>> - I want to keep the iOS version frozen for the time being
>>>>
>>>> I would expect releases for each platform to be on different schedules.
>>>>
>>>> -Terence
>>>>
>>>>
>>>> On 6/3/2014 6:17 PM, Michal Mocny wrote:
>>>>
>>>>> Most plugins will work across a wide range of platform versions, so
>>>>> often
>>>>> it would work to have disparate platform versions even with plugins.
>>>>> However, I do concede that in general this isn't a complexity we focus
>>>>>
>>>> on.
>>>>
>>>>> Interested in your thoughts about the other points.
>>>>>
>>>>> -Michal
>>>>>
>>>>>
>>>>> On Tue, Jun 3, 2014 at 7:07 PM, tommy-carlos williams <
>>>>>
>>>> to...@devgeeks.org>
>>>>
>>>>> wrote:
>>>>>
>>>>>  You can’t have version x of a plugin for iOS and version y of that
>>>>>> same
>>>>>> plugin for Android, so multiple platform versions seems like a
>>>>>>
>>>>> complexity
>>>>
>>>>> for complexity’s sake.
>>>>>>
>>>>>> It’s true that different apps need to support different platform
>>>>>>
>>>>> versions,
>>>>
>>>>> but I would suspect that the greatest majority of those would want the
>>>>>>
>>>>> same
>>>>
>>>>> version of iOS and Android in app x.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 4 June 2014 at 9:04:42, Brian LeRoux (b...@brian.io) wrote:
>>>>>>
>>>>>> That is the thing: you do not EVER want to have disparate versions of
>>>>>> platforms. Plugins negate this potential fantasy.
>>>>>>
>>>>>> You want version locked deps. You want to use package.json to do that
>>>>>>
>>>>> b/c
>>>>
>>>>> that is what the runtime we use has standardized itself on.
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 3, 2014 at 1:12 PM, Terence M. Bandoian <
>>>>>> tere...@tmbsw.com>
>>>>>> wrote:
>>>>>>
>>>>>>  A typical use case might be:
>>>>>>>
>>>>>>> -project1
>>>>>>> -project1-ios
>>>>>>> -project1-android
>>>>>>> -project1-windows
>>>>>>> ...
>>>>>>> -projectN
>>>>>>> -projectN-ios
>>>>>>> -projectN-android
>>>>>>> -projectN-windows
>>>>>>>
>>>>>>> with a different platform version for each sub-project.
>>>>>>>
>>>>>>> Would CLI be installed globally? Locally for each sub-project? Would
>>>>>>> a
>>>>>>> project-platform have to be re-built if a plugin were added?
>>>>>>>
>>>>>>> -Terence
>>>>>>>
>>>>>>>
>>>>>>> On 6/3/2014 1:47 PM, Michal Mocny wrote:
>>>>>>>
>>>>>>>  Okay, so I think that implies:
>>>>>>>>
>>>>>>>> (a) CLI versions tied to very specific platform versions ==> to
>>>>>>>> switch
>>>>>>>> platform versions you must switching CLI versions ==> switching one
>>>>>>>> platform version switches all platform versions.
>>>>>>>> - Andrew pointed out this is currently the case, and is a problem
>>>>>>>> that
>>>>>>>> leads to users not updating CLI as often as they otherwise would
>>>>>>>> - I think this basically implies platforms cannot be independently
>>>>>>>> versioned (sure the semver numbers may differ, but for all practical
>>>>>>>> purposes, you would use platforms from the same release date, based
>>>>>>>> on
>>>>>>>>
>>>>>>> CLI
>>>>>>
>>>>>>> version).
>>>>>>>>
>>>>>>>> (b) Require apps to depend on specific CLI version, assuming you
>>>>>>>> mean
>>>>>>>>
>>>>>>> with
>>>>>>
>>>>>>> a local package.json:
>>>>>>>> - Now all cordova projects must be node projects, which they
>>>>>>>> currently
>>>>>>>>
>>>>>>> are
>>>>>>
>>>>>>> not.
>>>>>>>> - Currently the cordova-cli creates apps, so we have a globally
>>>>>>>>
>>>>>>> installed
>>>>>>
>>>>>>> bootstrapping cordova-cli, and a locally installed specific version
>>>>>>>> cordova-cli, a-la grunt/gulp. (this idea was thrown around before).
>>>>>>>> - Quite a dramatic change for cordova workflow, surely larger than
>>>>>>>> the
>>>>>>>> current proposal.
>>>>>>>> - Or we drop cordova-cli entirely and just publish grunt/gulp
>>>>>>>> plugins
>>>>>>>>
>>>>>>> to
>>>>
>>>>>  "add cordova" to your existing web app. Thats an even more radical
>>>>>>>> departure and significant work.
>>>>>>>>
>>>>>>>> -Michal
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, Jun 3, 2014 at 1:58 PM, Brian LeRoux <b...@brian.io> wrote:
>>>>>>>>
>>>>>>>> No, at least not how I'd see it done.
>>>>>>>>
>>>>>>>>> 1.) Updating is important. Staying current: encouraged.
>>>>>>>>> 2.) I'd make my App depend on a specific CLI version. I'd call into
>>>>>>>>>
>>>>>>>> that
>>>>>>
>>>>>>> using npm scripts.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Tue, Jun 3, 2014 at 10:48 AM, Michal Mocny <mmo...@chromium.org
>>>>>>>>> >
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Thinking it through, if cordova platforms are deps of the CLI, to
>>>>>>>>> install a
>>>>>>>>>
>>>>>>>>>  specific version you wouldn't just do:
>>>>>>>>>>
>>>>>>>>>>  npm install -g cordova-ios@3.4.1
>>>>>>>>>>>
>>>>>>>>>>>  you would actually need to:
>>>>>>>>>>
>>>>>>>>>>  cd $(npm config get prefix)/lib/node_modules/cordova
>>>>>>>>>>> npm install --save cordova-ios@3.4.1
>>>>>>>>>>>
>>>>>>>>>>>  ..and then remember to do that again whenever you `npm update
>>>>>>>>>> -g`
>>>>>>>>>> ..and its harder to have multiple platform versions for different
>>>>>>>>>>
>>>>>>>>>>  projects
>>>>>>>>>
>>>>>>>>>  (questionable if this is useful for devs outside of cordova
>>>>>>>>>> contributors,
>>>>>>>>>> but may be useful at last test upgrades when we ship new platform
>>>>>>>>>> versions).
>>>>>>>>>>
>>>>>>>>>> -Michal
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Tue, Jun 3, 2014 at 1:28 PM, Brian LeRoux <b...@brian.io> wrote:
>>>>>>>>>>
>>>>>>>>>> NIH: not invented here
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 3, 2014 at 10:17 AM, Andrew Grieve <
>>>>>>>>>>>
>>>>>>>>>> agri...@chromium.org
>>>>
>>>>>  wrote:
>>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 3, 2014 at 12:19 PM, Brian LeRoux <b...@brian.io>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Actually that was >0 LOC which is a fine argument if you ask me.
>>>>>>>>>>>> And
>>>>>>>>>>>>
>>>>>>>>>>> we
>>>>>>>>>>
>>>>>>>>>>  both know there is much more to it than just that. lazy_load…for
>>>>>>>>>>>
>>>>>>>>>>>> example.
>>>>>>>>>>>> If you're concerned about code, there is a tonne of much
>>>>>>>>>>>>
>>>>>>>>>>>>  lower-hanging
>>>>>>>>>>>
>>>>>>>>>> fruit.
>>>>>>>>>>
>>>>>>>>>>> Bundling platforms is bundling a dep that we require to operate.
>>>>>>>>>>>>
>>>>>>>>>>> We
>>>>
>>>>>  do
>>>>>>>>>>>>
>>>>>>>>>>> not
>>>>>>>>>>>
>>>>>>>>>>>> require plugins to operate. You cannot build a project without
>>>>>>>>>>>>>
>>>>>>>>>>>>>  having a
>>>>>>>>>>>>
>>>>>>>>>>> platform and, indeed, you probably want more than one.
>>>>>>>>>>>
>>>>>>>>>>>> I don't require blackberry to create an iOS project. But I do
>>>>>>>>>>>>>
>>>>>>>>>>>> require
>>>>>>>>>>>>
>>>>>>>>>>>>  some
>>>>>>>>>>>
>>>>>>>>>>>  plugins. We use "npm cache add" to download plugins, I don't see
>>>>>>>>>>>>
>>>>>>>>>>> how
>>>>
>>>>>  platforms would not work just as easily.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Agree that we need discreet versioning: hence why I'm advocating
>>>>>>>>>>>>
>>>>>>>>>>> we
>>>>
>>>>>  use
>>>>>>>>>>>>
>>>>>>>>>>> well understood, maintained, and effectively standard system for
>>>>>>>>>>>
>>>>>>>>>>>> doing
>>>>>>>>>>>>
>>>>>>>>>>> this. We do not need NIH dependencies that is what package.json
>>>>>>>>>>> is
>>>>>>>>>>>
>>>>>>>>>>>> for!
>>>>>>>>>>>>
>>>>>>>>>>> I don't know what NIH dependencies are. Googling suggests you're
>>>>>>>>>>> talking
>>>>>>>>>>> about drugs...
>>>>>>>>>>>
>>>>>>>>>>>> We *are* using npm for downloading, we're just not making the
>>>>>>>>>>>> user
>>>>>>>>>>>>
>>>>>>>>>>>>  type
>>>>>>>>>>>
>>>>>>>>>> it
>>>>>>>>>>
>>>>>>>>>>> directly.
>>>>>>>>>>>>
>>>>>>>>>>>> Mark's approach also avoids the "what-if" cases where what's in
>>>>>>>>>>>>
>>>>>>>>>>> your
>>>>
>>>>>  node_modules might not match what's in your platforms/
>>>>>>>>>>>>
>>>>>>>>>>>> Does what Mark has implemented not address a use-case of yours?
>>>>>>>>>>>> Or
>>>>>>>>>>>>
>>>>>>>>>>>>  are
>>>>>>>>>>>
>>>>>>>>>> we
>>>>>>>>>>
>>>>>>>>>>  going back & forth over personal preference?
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>  On Tue, Jun 3, 2014 at 9:07 AM, Andrew Grieve <
>>>>>>>>>>>>>
>>>>>>>>>>>>>  agri...@chromium.org>
>>>>>>>>>>>>
>>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Tue, Jun 3, 2014 at 11:34 AM, Brian LeRoux <b...@brian.io>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>> Andrew, you misunderstand. I am talking about bundling
>>>>>>>>>>
>>>>>>>>>>>  platforms
>>>>>>>>>>>>>>
>>>>>>>>>>>>> directly
>>>>>>>>>>
>>>>>>>>>>>  as dependencies of the CLI.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> A trivial example:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> CLI
>>>>>>>>>>>>>>> '-ios
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Wherein, CLI declares the precise version of the platform it
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  uses.
>>>>>>>>>>>>>>
>>>>>>>>>>>>> We
>>>>>>>>>>>
>>>>>>>>>>>  could
>>>>>>>>>>>>
>>>>>>>>>>>>> wildcard. I don't know that we want or need to do that.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It would have identical semantics to today except the
>>>>>>>>>>>>>>> download
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  penalty
>>>>>>>>>>>>>>
>>>>>>>>>>>>> happens up front. (We can remove lazy_load logic. We don't have
>>>>>>>>>>>>>
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>
>>>>>>>>>>>>> maintain
>>>>>>>>>>>
>>>>>>>>>>>>  our own dependency manifests and caches. LESS code: good
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  thing.)
>>>>>>>>>>>>>>
>>>>>>>>>>>>> Let me paste the code for doing our own caching for you:
>>>>>>>>>>
>>>>>>>>>>>  cordova_npm: function lazy_load_npm(platform) {
>>>>>>>>>>>>>> if (!(platform in platforms)) {
>>>>>>>>>>>>>> return Q.reject(new Error('Cordova library "' +
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  platform
>>>>>>>>>>>>>
>>>>>>>>>>>> +
>>>>>>>>>>>
>>>>>>>>>>>  '"
>>>>>>>>>>>>
>>>>>>>>>>>>  not recognized.'));
>>>>>>>>>>>>>
>>>>>>>>>>>>>> }
>>>>>>>>>>>>>> var pkg = 'cordova-' + platform + '@' +
>>>>>>>>>>>>>> platforms[platform].version;
>>>>>>>>>>>>>> return Q.nfcall( npm.load, {cache:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  path.join(util.libDirectory,
>>>>>>>>>>>>>
>>>>>>>>>>>> 'npm_cache') })
>>>>>>>>>>>>
>>>>>>>>>>>>> .then(function() {
>>>>>>>>>>>>>> return Q.ninvoke(npm.commands, 'cache', ['add',
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  pkg]);
>>>>>>>>>>>>>
>>>>>>>>>>>> }).then(function(info) {
>>>>>>>>>>
>>>>>>>>>>>  var pkgDir = path.resolve(npm.cache, info.name,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  info.version,
>>>>>>>>>>>>>
>>>>>>>>>>>>>  'package');
>>>>>>>>>>>>>> return pkgDir;
>>>>>>>>>>>>>> });
>>>>>>>>>>>>>> },
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> There's really no "amount of code" argument here.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Adding platforms at a specific version would mean having a
>>>>>>>>>>>>>> specific
>>>>>>>>>>>>>>
>>>>>>>>>>>>> version
>>>>>>>>>>>
>>>>>>>>>>>>  of the CLI. Yes: this is way better! Explicit dependencies is
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  the
>>>>>>>>>>>>>>
>>>>>>>>>>>>> best
>>>>>>>>>>
>>>>>>>>>>> way
>>>>>>>>>>>>>
>>>>>>>>>>>>>> to work w/ the small modules thing.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Bundling platforms with CLI would be like bundling all of the
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> plugins
>>>>>>>>>>>>>
>>>>>>>>>>>> with
>>>>>>>>>>>
>>>>>>>>>>>> CLI, or like bundling every npm module with npm.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Devs need to be able to try out platforms at different
>>>>>>>>>>>>>> versions.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  We
>>>>>>>>>>>>>
>>>>>>>>>>>> should
>>>>>>>>>>
>>>>>>>>>>>  not do anything that keeps users clinging to old versions of CLI
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  (e.g.
>>>>>>>>>>>>>
>>>>>>>>>>>> they
>>>>>>>>>>>>
>>>>>>>>>>>>> do this now because they don't want to update to new platforms)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  On Mon, Jun 2, 2014 at 7:34 PM, Michal Mocny <
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  mmo...@chromium.org>
>>>>>>>>>>>>>>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>  On Mon, Jun 2, 2014 at 10:14 PM, Andrew Grieve <
>>>>>>>>>>>>>>> agri...@chromium.org
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Here's both flows as I understand them:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Direct NPM flow:
>>>>>>>>>>>>>>>>> # Downloads platform source into node_modules
>>>>>>>>>>>>>>>>> npm install cordova-ios@3.4.0 --save
>>>>>>>>>>>>>>>>> # Runs the create script and installs plugins to create
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  platforms/ios
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> cordova platform add ios --path=node_modules/cordova-ios
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> To be fair, I think with Brian's suggestion, platform add FOO
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> would
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> by
>>>>>>>>>>>>
>>>>>>>>>>>>> default look in node_modules so you wouldn't be explicit
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> about
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> it,
>>>>>>>>>>
>>>>>>>>>>> and
>>>>>>>>>>>>
>>>>>>>>>>>>> also
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> the default cordova project package.json would depend on all
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>  the
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> latest
>>>>>>>>>>>
>>>>>>>>>>>> versions of each platform, so the flows would actually be:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> cordova create Foo && cd Foo
>>>>>>>>>>>>>>>>> npm install
>>>>>>>>>>>>>>>>> npm install cordova-ios@3.4 --save
>>>>>>>>>>>>>>>>> cordova platform add android
>>>>>>>>>>>>>>>>> cordova platform add ios
>>>>>>>>>>>>>>>>> # crazy idea? use npm post-install hooks to auto-run
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  create/upgrade
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> so
>>>>>>>>>>>>>
>>>>>>>>>>>>>> you usually don't need above two lines?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Compared to:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>  cordova create Foo && cd Foo
>>>>>>>>>>>>>>>>> cordova platform add android
>>>>>>>>>>>>>>>>> cordova platform add ios@3.4
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  I think #2 is enough better that its not worth changing.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Cordova-to-npm flow (as Mark's implemented):
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> # Runs "npm cache add cordova-ios", then runs create script
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  from
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ~/cache/cordova-ios/bin/create
>>>>>>>>>>>>
>>>>>>>>>>>>>  cordova platform add ios@3.4.0
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> - In both flows: we use npm to do all of the heavy lifting
>>>>>>>>>>>>>>>>> - In both flows: the npm module is cached in your home
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  directory
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> - In both flows?: we store the plugins & platforms
>>>>>>>>>>>>
>>>>>>>>>>>>>  explicitly
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> within
>>>>>>>>>>
>>>>>>>>>>>  config.xml (Gorkem's added this)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> - In flow #1, we have a package.json & a node_modules, in
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  #2
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> we
>>>>>>>>>>
>>>>>>>>>>  don't.
>>>>>>>>>>>
>>>>>>>>>>>>  Why put the onus on the user to fetch the platform source
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> when
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> it's
>>>>>>>>>>>
>>>>>>>>>>>> as
>>>>>>>>>>>>>
>>>>>>>>>>>>>> easy
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> as running "npm cache add" under-the-hood?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In regards to the idea of using require() on platform
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  scripts
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> instead
>>>>>>>>>>
>>>>>>>>>>>  of
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> subshelling: I think this is tangental to the debate of how
>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> fetch
>>>>>>>>>>>
>>>>>>>>>>>> the
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> platform.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> In regards to using "npm install" directly when using the
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  plugman
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> workflow:
>>>>>>>>>>>>
>>>>>>>>>>>>>  Sounds good to me.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Mon, Jun 2, 2014 at 6:05 PM, Brian LeRoux <b...@brian.io>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Eventually, yes. (Sort of how Grunt works now.)
>>>>>>>>>>>>
>>>>>>>>>>>>>  On Mon, Jun 2, 2014 at 5:52 PM, Terence M. Bandoian <
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>  tere...@tmbsw.com
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Can multiple versions of a platform be installed
>>>>>>>>>>>>>>>>>> side-by-side?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> -Terence
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On 6/2/2014 3:04 PM, Michal Mocny wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> >From original email: "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."
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Made me think Brian is proposing adding platforms to
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  cli
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> package.json
>>>>>>>>>>
>>>>>>>>>>>  dependencies, and you would have a single global
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> install
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> cordova-platforms.
>>>>>>>>>>
>>>>>>>>>>>   Then you can override the version with an explicit
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  install
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> as
>>>>>>>>>>>>
>>>>>>>>>>>>> he
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>  mentions
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>  "npm i cordova-ios@3.5.0".
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Personally, I think that workflow could work, and has
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  a
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> few
>>>>>>>>>>
>>>>>>>>>>> benefits,
>>>>>>>>>>>>
>>>>>>>>>>>>>  but
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'm not sure that option compares well to the
>>>>>>>>>>>>>>>>>>> alternative
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> of
>>>>>>>>>>>
>>>>>>>>>>>  just
>>>>>>>>>>>>
>>>>>>>>>>>>> lazy
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> loading using npm cache add as Mark has already
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> implemented
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> an
>>>>>>>>>>>>
>>>>>>>>>>>>  experiment
>>>>>>>>>>>>>
>>>>>>>>>>>>>>  (anyone interested in this topic should take a look at
>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> patch).
>>>>>>>>>>>>
>>>>>>>>>>>>>  The steps Brian & Ian outline about how to package
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> platforms
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>
>>>>>>>>>>>>> release
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  to
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> npm are possibly an improvement over the old-style
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  platform-centric
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> workflow. Instead of downloading a tarball and
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> running
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> a
>>>>>>>>>>
>>>>>>>>>>  create
>>>>>>>>>>>
>>>>>>>>>>>> script,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>  you npm install and run a create() function, and that
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> can
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> more
>>>>>>>>>>>
>>>>>>>>>>>> easily
>>>>>>>>>>>>>
>>>>>>>>>>>>>>  be
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  bundled into other build scripts/boilerplate. For CLI
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> workflow,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> not
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> sure
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> that there is any real difference (as Jesse says).
>>>>>>>>>>>>>>>>>>> One
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> note,
>>>>>>>>>>
>>>>>>>>>>> though:
>>>>>>>>>>>>>
>>>>>>>>>>>>>>  cordova-* platforms are templates for projects, so
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> package.json
>>>>>>>>>>
>>>>>>>>>>>  of
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>  the
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> npm package itself shouldn't end up inside projects
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  that
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> are
>>>>>>>>>>
>>>>>>>>>>> created
>>>>>>>>>>>>
>>>>>>>>>>>>>  with
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> it. I think.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> -Michal
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Mon, Jun 2, 2014 at 3:42 PM, Ian Clelland <
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>  iclell...@chromium.org>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 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
>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>
>>>>
>>
>
>
> --
> Carlos Santana
> <csantan...@gmail.com>
>



-- 
Carlos Santana
<csantan...@gmail.com>

Reply via email to