Description
Create Elm App Roadmap
In this issue I will document the roadmap for future features of Create Elm App. This is the first version of it and it most likely to be updated in the future.
The current list consists of:
- Introduce a way to extend the configuration
- Introduce the configuration file
- Monorepo
- Plugins
Legend:
🍏 Non-breaking change
🍎 Breaking change
🍏 Introduce a way to extend the configuration
Described in #265
Primarely aimed at use-cases when users want to do something we don't intend to support in the default setup or plugins like #262 or #263.
Examples of the APIs:
https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader
https://github.com/timarney/react-app-rewired
🍏 Introduce the configuration file
.elmapprc
or any other format supported by davidtheclark/cosmiconfig
Advantages:
- Reduces the usage of env varaiables and enable the configuration for optin-in into plugins.
- Enables the users to re-configure https://github.com/halfzebra/create-elm-app/blob/master/config/paths.js
- A safe way to fix Proxy setting gets removed when installing packages #160
elm-app install $XYZ
removes "homepage" entry from elm-package.json #255
🍏 Monorepo
Currently Create Elm App is bundling way too many features and it does not provide a way to extend the functionality.
To support this idea it would be very helpful to run a monorepo with all the plugins and ship a smaller set of features by default.
This will enable us to ship smaller amount of features by default (No ES6, no progeressive webapp setup), and let user decide what to include using the set of curated plugins. Enables us to work on better ejection experience
Goals:
- Split-up the elm-app and create-elm-app CLIs
- Move utils to the separate packages
Work is being done in #273
🍎 Plugins
Enables:
- Opt-in support for stuff like SASS, WebComponents or React in a form of installable plugins.
- Community to step-in and extend the functionality.
Plugins are to be installed locally for every specific project.