GitHub user TimBarham opened a pull request:
https://github.com/apache/cordova-lib/pull/498
CB-11985 Check if cached platform/plugin exists before 'npm cache'
### What does this PR do?
Before calling `npm cache add` when installing a platform or plugin, look
for an existing `package.tgz` file in the cache directory. This avoids
unnecessary `npm` call with long timeout if not connected to the internet.
Background: First time build failures in Cordova tools in Visual Studio are
primarily due to `npm` failures. Therefore we are working to avoid any
requirement for `npm` to hit the internet in simple build scenarios. This
includes pre-installing cached versions of certain platforms and plugins. But
we only get the full benefit if Cordova uses these cached versions if it finds
them, without calling npm cache add.
A couple of things to note:
* This change uses shared code for platforms and plugins, and means plugins
will also be cached to the `.cordova` directory rather than the global npm
cache directory. Is that a concern?
* It is likely this change will be meaningless with the proposed changes to
installing platforms and plugins in Cordova 7.x. We'll cross the bridge when we
come to it ð.
### What testing has been done on this change?
Local testing.
### Checklist
- [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html)
in the JIRA database
- [x] Commit message follows the format: "CB-3232: (android) Fix bug with
resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform
affected.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/TimBarham/cordova-lib use-cached-platform
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cordova-lib/pull/498.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #498
----
commit 667e774d46399cf97a9481c3890fa7a862871d46
Author: TimBarham <[email protected]>
Date: 2016-10-07T22:58:35Z
CB-11985 Check if cached platform/plugin exists before 'npm cache'
This avoids unnecessary npm call with long timeout if not connected to the
internet.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]