Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 819B710E5E for ; Thu, 8 Jan 2015 23:38:59 +0000 (UTC) Received: (qmail 30141 invoked by uid 500); 8 Jan 2015 23:39:00 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 30098 invoked by uid 500); 8 Jan 2015 23:39:00 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 30086 invoked by uid 99); 8 Jan 2015 23:38:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Jan 2015 23:38:59 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kamrik@google.com designates 209.85.192.41 as permitted sender) Received: from [209.85.192.41] (HELO mail-qg0-f41.google.com) (209.85.192.41) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Jan 2015 23:38:55 +0000 Received: by mail-qg0-f41.google.com with SMTP id e89so5494356qgf.0 for ; Thu, 08 Jan 2015 15:37:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=zGwfP8m07kLo+OFU+X9BY4NnQTaoKHj1ZD5DZ+N13/E=; b=GhlS+Nkgo3bY+qJ9srlSqx1pgh1TUlQTCySRplX0s0h9NlC7VdcIEj2Bi4tjlpw8pO kzKBDXjgjnPnHkWu3Twfp8A5j3Nyg8zb4o+unTJ9z4dnvB514ZJjE4uBtUVl9GZQ6iGN Nt/FxJ5Sbd8rZ/dciOINRBg4FaEyA1Ie79dqBZy1o+zzqrj8o6BKHP7ATF2xK0IZSVy8 CZGaBzuUc5GD+v9KQ+ldr0cIYuUkBL8yyCKw2u2k6rOK89NrFFMx6NlThh1zfjJ5H0ww 9OJprqYFPDGV4iomzHUxD1ORWe9tt98RD7ZBYwYh96Feey4zh08B9tjLASEvcDO0zfwV PoKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=zGwfP8m07kLo+OFU+X9BY4NnQTaoKHj1ZD5DZ+N13/E=; b=mLjdK0HvA6N2H7EzDqVrvMnom7Y/7b8Vzuxshs/KgBwx9W7rOJAwJhi20lkW8w9Haw 5nAMtjyr1ccS7niGLTfz7Lmfmo94j/qhD0DrY7e3ih+qzDaz7iBjAZvMjzEkoE8/94wU foVDaVMYWC3MuUYvs3lClZyQ7Dgehomr4Ph0qcmnFgTMcbQ1fZabpa3zxywr4VbVBjNM AB9j0KGVDURdjSUz0TuSN15ojPVIr75dB3cpme52153RKhbHu4gp2cDua2OZWtlUbdQi 17FO132g/2nsc9Jcv/4JTJFhCkEva3cRrDFpLHAaug2drLs02fYZwL0Tcv8xIHn2V8bQ BgPw== X-Gm-Message-State: ALoCoQmOMe5lstvzM2jRSxFZIZCJgQYEyvupBzBLl3hrFboVvx49ZLs8aUh58iy8TQaRiZ6WTBgR X-Received: by 10.229.124.4 with SMTP id s4mr21150869qcr.11.1420760224652; Thu, 08 Jan 2015 15:37:04 -0800 (PST) MIME-Version: 1.0 Received: by 10.96.85.227 with HTTP; Thu, 8 Jan 2015 15:36:44 -0800 (PST) In-Reply-To: References: From: Mark Koudritsky Date: Thu, 8 Jan 2015 18:36:44 -0500 Message-ID: Subject: Re: MobileSpec for testing cordova-lib@rc To: dev@cordova.apache.org Content-Type: multipart/alternative; boundary=001a1133071e8081ac050c2c84b1 X-Virus-Checked: Checked by ClamAV on apache.org --001a1133071e8081ac050c2c84b1 Content-Type: text/plain; charset=UTF-8 +1 for publishing plugins to npm We will need to come up with a good naming convention so that translating from plugin id to npm package name would be trivial. Preferably with some stable prefix (like cordova_plugin_) so that it would be easy to distinguish plugins if they are listed with other dependencies in package.json Another problem to solve are the dependencies _between_ plugins. We don't want nested dirs like node_modules/pluginX/node_modules/pluginY or multiple version of the same plugin (like it happens for regular npm deps). Maybe npm peer dependencies could be used to solve this http://blog.nodejs.org/2013/02/07/peer-dependencies/ For experimenting with this, there is no need to modify cordova-lib. We just need to publish some experimental plugins to npm registry, let npm download them during npm install and then add ./node_modules to searchpath. I tried this with platforms in https://github.com/kamrik/CordovaGulpTemplate On Thu, Jan 8, 2015 at 6:02 PM, Steven Gill wrote: > This is rad! Definitely a great example showing the JS API. > > I am thinking about also starting to publish our plugins to npm and add a > flag to plugman install to fetch from npm instead of cordova plugins > registry. Thoughts? > > On Thu, Jan 8, 2015 at 1:09 PM, Mark Koudritsky wrote: > > > On Thu, Jan 8, 2015 at 3:47 PM, Michal Mocny > wrote: > > > > > If we add node_modules to search path, will we be able to adjust which > > > versions of platforms/plugins it uses just by modifying package.json? > > > > > > > > Since platforms can be added by path. You can replace > > platforms = ['android'] > > with > > platforms = ['/path/to/local/cordova-android'] // Should work for using > > e.g. cordova-android 4.x > > or > > platforms = ['../node_modules/cordova-android'] > > > > > > > Not sure if platforms use search path, or just plugins? Also not sure > if > > > we can install plugins from our registry using npm proper, but you can > > use > > > the git repos as a workaround if not. > > > > > > > For plugins it's more tricky (other npm repo, different dependency > model). > > Some options are: > > - use private cordova subsection in package.json and store plugin info > > including versions there in whatever format we want > > > --001a1133071e8081ac050c2c84b1--