Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Won't Do
-
None
-
None
Description
[editing in progress]
I've started an experimental refactor of the Cordova CLI. This is to improve the overall code quality, and solve issues which face projects which consume Cordova CLI as a dependency.
The refactor will drastically change how the CLI operates internally, but will be backwards compatible and nonbreaking.
- goals
- improve project stability when used as a cli
- improve project stability when consumed as an api
- improve modularization of code
- non breaking
- architecture
currently:
CDV.
BUILD
CREATE
....
the goal
CLI
cli/build
cordova/build
cli/create
cordova/create
....
CDV.
cordova/build
cordova/create
....
while initially looking more complex, this architecture forces us to eat our own dog food: we create an api, then expose it as a cli.
- Current State
- cli/api functionality is jumbled together
- cannot include api functionality without pulling in cli as well (or individually require'ing files)
- difficult to diagnose simple bugs due to poor modularization
- Future State
- improved stability
- improved contributor sanity (easier to workwith)
- consume our own product (the api) insuring that releases are more stable
- bugs related to i/o can be isolated from core functionality without having to maintain complex tests
Attachments
1.
|
[CLI] Experimental Refactor - Cordova Build Command | Closed | Unassigned | |
2.
|
[CLI] Experimental Refactor - CLI Build Command | Closed | Unassigned | |
3.
|
[CLI] Experimental Refactor - Cordova Create Command | Closed | Unassigned | |
4.
|
[CLI] Experimental Refactor - CLI Create Command | Closed | Unassigned | |
5.
|
[codova-lib] Config Utility Modularization | Closed | Lorin Beer | |
6.
|
[cordova-cli] refactor | Closed | Unassigned |