abstractify v0.0.1
A WIP boilerplate project
- I'm a big believer in the monorepo -> lerna to manage sub-packages
- Version control for packages is important -> sematic-release
- For version management, everyone should be using asdf -> .tool-versions to manage file
- yarn is a better package manager -> yarn.lock
- There should be community github folder -> .github folder (patterned from react-boilerplate)
- Editors configuration provided -> .editorconfig
- git config -> .gitignore and .gitattribute
- docs are important, codes are not docs -> docs folder documents everything
try out react-storybook
There should always be a sane defaults option -> create-react-app style
- Once broken, there should be options -> yeoman
While working, you should be able to add new files of a certain type easily -> plop
static typing is extremely useful -> flowtype
- JS build tools are helpful -> Gulp (Broccoli looks interesting)
- Codesplitting and tree shaking make sense -> Webpack 2
- Webpack is necessary, but config is tedious -> webpack-blocks
polyfill should only be done as needed -> polyfill.io a la react-universally
Universal code is needed as an option, less meaningless context switching and rewriting of code
Async is everywhere and there can be multiple outputs -> Observables
Functional programming is more declarative (aka easier to implement) -> use Rambda/RxJS
CSS-in-JS is the future for component-based systems (which are great b/c fractal)
- styled-components
- styletron/fela/este
Testing is needed -> Jest w/ enzyme is the way to go
CI testing makes sense and should be done -> circle CI
Non-nested file structures are intimidating -> follow react-boilerplate on dot-file hiding
Docker is composition at OS-level (not a silver bullet, but is nice)
- Firebase makes sense as an option
- Phoenix makes sense as an option
- GraphQL needs to be an option (appollo)
- zeit now is handy, set up out of box (with Docker)
7 years ago