Details
-
Wish
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
8.0.0
-
None
-
None
Description
Relates to CB-13992
The pull request for CB-13992 removed the dependency-ls package which helped to speed up the platform add step. However, each plugin still gets npm install ed seemingly just to determine the package name.
Typical workflow is to run npm install as the first task after cloning a node repository. The current practice for cordova is to save plugins to the package.json meaning that plugins are already installed to the node_modules directory, so running npm install for each of them individually is redundant.
If the main function in cordova-fetch is simplified to just return the path to the given module (albeit this isn't the most elegant implementation):
module.exports = function (target, dest, opts = {}) { var fetchArgs = opts.link ? ['link'] : ['list']; var nodeModulesDir = dest + '/node_modules/'; // check if npm is installed return module.exports.isNpmInstalled() .then(function () { const mod = target.slice(0, target.lastIndexOf('@')); return path.resolve(nodeModulesDir, mod) }) .catch(function (err) { throw new CordovaError(err); }); };
the platform add process runs almost instantly rather than taking a few minutes.
Attachments
Issue Links
- relates to
-
CB-13992 Remove dependency-ls or provide option to skip npm checks
- Closed
- links to