feat: proper support for scoped plugins (#821)

* Merge PluginSpec.scope into PluginSpec.id

* Store scoped plugins in same dir structure as in node_modules

* Update and extend E2E tests for adding scoped plugins

* Fix plugman.uninstall for scoped plugins

* Remove top_plugins override

* Pass pluginsDir to get_fetch_metadata to support scoped plugins

* Fix cordova/util.findPlugins for scoped plugins

* Update to cordova-common@4.0.0-nightly
16 files changed
tree: b8bd9780f6e1ba8188aef01fbf4b8a5780b82d42
  1. .github/
  2. integration-tests/
  3. spec/
  4. src/
  5. templates/
  6. .eslintignore
  7. .eslintrc.yml
  8. .gitattributes
  9. .gitignore
  10. .npmignore
  11. .ratignore
  12. .travis.yml
  13. appveyor.yml
  14. CONTRIBUTING.md
  15. cordova-lib.js
  16. LICENSE
  17. NOTICE
  18. package.json
  19. README.md
  20. RELEASENOTES.md
README.md

Build status Build Status Code coverage NPM

cordova-lib

Contains npm modules used primarily by cordova and plugman.

Setup from a cloned repo

  • Clone this repository onto your local machine. git clone https://github.com/apache/cordova-lib.git
  • Install dependencies and npm-link npm install && npm link

Setup from npm

  • npm install cordova-lib

Note: you will likely also want to get github.com/apache/cordova-common, github.com/apache/cordova-create, github.com/apache/cordova-serve which previously lived in this repo but have since been moved.

npm commands

This package exposes the following commands;

  • npm run eslint - runs a linter (eslint) on relevant source and test code
  • npm run unit-tests - runs the unit tests (via jasmine) from the spec/ directory
  • npm run cover - runs istanbul code coverage tool to measure unit test code coverage
  • npm run e2e-tests - runs heavy integration tests from the integration-tests/ directory (WARNING: these take a long time to run and rely on file and network I/O)
  • npm test - shortcut for running the linter, the unit tests and the integration tests