node-flowtype-boilerplate icon indicating copy to clipboard operation
node-flowtype-boilerplate copied to clipboard

This boilerplate repository is outdated and no longer maintained. Instead, I strongly recommend to use TypeScript.

Dev dependencies Node.js version Yarn Build Status

MIT License PRs Welcome Donate

Watch on GitHub Star on GitHub Tweet

node-flowtype-boilerplate

Notice: This boilerplate repository is outdated and no longer maintained. I do not use Flowtype anymore in my projects.

Instead, I strongly recommend to use TypeScript. You can try my Node.js TypeScript boilerplate repository.


Minimalistic boilerplate to jump-start a Node.js project in ES6 with Flow type checking.

Provides a basic template, batteries included:

  • ES6 + babel,
    • Removes Flow type annotations,
    • Transforms imports to lazy CommonJS requires,
    • Transforms async/await to generators,
  • ESLint with the airbnb-base and flowtype rules,
  • Jest unit testing and coverage,
  • Type definitions for Jest,
  • NPM scripts for common operations,
  • .editorconfig for consistent file format,

Quick start

This project requires Node.js v8.9 (LTS Carbon) or later and Yarn. Make sure you have those installed. Then just type following commands:

git clone https://github.com/jsynowiec/node-flowtype-boilerplate
cd node-flowtype-boilerplate
yarn

Available scripts

Run using yarn run <script> comand.

  • clean - remove coverage data, Jest cache and transpiled files,
  • lint - lint source files and tests,
  • typecheck - check type annotations,
  • test - lint, typecheck and run tests with coverage,
  • test-only - run tests with coverage,
  • test:watch - interactive watch mode to automatically re-run tests,
  • build - compile source files,
  • build:watch - interactive watch mode, compile sources on change.

Questions

If you have any questions regarding this project:

Alternative

As an alternative to Flow type checking, you can try my Node.js TypeScript boilerplate. It's basically the same but with TypeScript and TSLint.

License

Released under MIT license. See the LICENSE file.