Skip to content

Instantly share code, notes, and snippets.

@SkyLeite
Created April 18, 2018 14:55
Show Gist options
  • Select an option

  • Save SkyLeite/6f57d41007c04ffcd90ab1dfab704402 to your computer and use it in GitHub Desktop.

Select an option

Save SkyLeite/6f57d41007c04ffcd90ab1dfab704402 to your computer and use it in GitHub Desktop.

Decisions!

Editor

  1. Which one? VSCode, Sublime, Vim

  2. Which plugins? VSCode: ESLint Vim: Deoplete

  3. Use build in terminal? Yes

  4. Editor config https://gist.github.com/Kxze/b53d409647464e0e5796fa5035fae956

Module format

  1. ES6 Modules, CommonJS... ES6 Modules

HTML Generation

  1. Minify? Yes

  2. Use plugin? Yes

  3. Inject prod only concerns? --

  4. Templating language? Pug

Transpiling

  1. Native ES or diff language? Typescript :)

  2. Use experimental features? Yes, decorators.

  3. Which plugins? --

  4. Production vs dev config Yes

Bundler

  1. Webpack, Browserify, Rollup... Webpack

Linting

  1. Which linter? ESLInt

  2. Enable which rules? Tabs to 4 spaces, member ordering, no eval, no use before declare, semicolon always

  3. Warning or error? Warning on dev, error on tests / production

  4. Which plugins? --

  5. Use a preset? Yes, our own

Testing

  1. Framework Mocha

  2. Assertion Library Chai

  3. Helpers --

  4. Test file location /test directory

  5. File naming --

  6. What environment --

  7. Mocking --

  8. Code coverage NYC with HTML reports

  9. Continuous Integration Travis

Project structure

  1. By file type or feature Feature

  2. Centralize API Yes

  3. Allow inline JS NO

  4. Extract to POJOs No

Production build

  1. Minification Yes

  2. Sourcemaps Development / homolog only

  3. Bundle splitting No

  4. Cache busting No

  5. Error logging Yes

Automated Deployment

Travis, Circle CI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment