0.0.1 • Published 7 years ago

abstractify v0.0.1

Weekly downloads
7
License
MIT
Repository
github
Last release
7 years ago

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)