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)
 
9 years ago