-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added cordova8 proposal #72
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
We have come with a few ideas for the next major version of Cordova. | ||
|
||
### Goals | ||
|
||
* Reduce maintenance burden of cordova tooling | ||
* Refactor cordova-lib | ||
* Improve unit test coverage | ||
|
||
### Proposed Changes | ||
|
||
* Remove non cordova-fetch fetching code | ||
* remove no-fetch flag + any associated files with non cordova-fetch fetching | ||
* drop npm dependency | ||
* issue: https://issues.apache.org/jira/browse/CB-13055 | ||
|
||
* Create new `cordova install` command | ||
* remove restore functionality from `cordova prepare` command | ||
* move restore functionality into new `cordova install` command. (installing plugins/platforms listed in `package.json` and `config.xml`) | ||
* update docs to include `cordova install` | ||
* issue: https://issues.apache.org/jira/browse/CB-11981 | ||
* proposal: https://github.com/cordova/cordova-discuss/pull/54 | ||
|
||
* Remove plugins dir from cordova projects | ||
This directory has traditionally been a staging directory. We copy plugins from the `plugins` directory to `platforms/platform/...` when a plugin needs to get installed. Now, these plugin directories also live in `node_modules` directory. I propose we delete the `plugins` directory and instead just copy the plugins straight from `node_modules`. | ||
* TODO: investigate reason why `fetch.json`, + `<platform>.json` exist and if we need them. They live in plugins directory right now. | ||
* https://issues.apache.org/jira/browse/CB-13059 | ||
|
||
* Remove `cordova platform save` command | ||
This command isn't necessary anymore since we save by default since `cordova@7`. It was previously used to save added plugins and platforms to `config.xml`. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would users upgrading from a project using an older cordova version still need this, to save their existing platforms and plugins? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Looking at the analytics (assuming I'm doing this correctly), the command has been used 64 times out of the past 1.9 Million requests. Less that 0.1 percent. Pretty clear sign that it is not being used much. I do see the usefulness of the command for users pre 7 who didn't used to use I think by this point asking users to modify config.xml or readd plugin + platforms is fair. They will probably have to readd/update older platforms or plugins anyways. Removing it will clean up cordova-lib a bit and allow us to get rid of these extra generated config files that go into peoples cordova projects There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks for digging into the analytics @stevengill. It is clearly not a use case we need to worry about much, which is good, simplifying the path forward! |
||
* **Do Now** add deprecation notice for next `cordova@7` release. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. deprecation notice for platform save |
||
* remove use of `cordovaProject/platforms/platforms.json` | ||
* axe `cordova-lib/src/cordova.platform_metadata.js` | ||
* issue: https://issues.apache.org/jira/browse/CB-13057 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. started the work for removing platform save 13057 |
||
|
||
* Remove deprecated platforms (non platform api compatibile platforms). | ||
This is just a continuation of what we started in `cordova@7` | ||
* **Do Now** deprecate `webos` (in cordova@7) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. deprecation notice for webos |
||
* Remove `webos`, `bb10`, `ubuntu` + all associated files | ||
* issue: https://issues.apache.org/jira/browse/CB-13056 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. started 13056 --> apache/cordova-lib#588 |
||
* previous `cordova@7` release | ||
* deprecated `bb10` & `ubuntu` https://issues.apache.org/jira/browse/CB-12674 | ||
* removed polyfill support for previously deprecated platforms https://issues.apache.org/jira/browse/CB-11242 | ||
* removed `firefoxos` https://github.com/apache/cordova-lib/commit/41bc8dafa928855a690c70e0b950dc72f37ac9fc | ||
* removed `wp8` https://github.com/apache/cordova-lib/commit/6f0a5611aadb56cb1bba8beeb3c22b45eeffc974 | ||
* removed `amazon-fireos` https://github.com/apache/cordova-lib/commit/0d637f2d67a95ef709443eaa9d7481eb14f79b8d | ||
|
||
* Incompatible plugins should make the build fail | ||
Currently, if a plugin fails the engine requirement it is skipped and the build continues. It makes more sense for the build to fail and have a force flag to make the build continue if that is the intended behavior. | ||
* issue: https://issues.apache.org/jira/browse/CB-12122 | ||
|
||
* `plugin add` should use `cordovaDependency` in `package.json` instead of `engine` tag in `plugin.xml` when installing plugins | ||
The plan has always been to replace `engine` tag with `cordovaDependency`. | ||
* issue: https://issues.apache.org/jira/browse/CB-13123 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work on the proposal! I really like the idea of adding more unit tests! 👍