Node.js Project Example
Repository containing the bare bones tools I use in every Node.js project (yarn, flow, eslint, prettier, husky, flow, babel, jest, snyk, greenkeeper, circleci, semantic-release)
- Node.js (see .nvmrc for correct version).
- Greenkeeper.io configured to run on your repository.
- CircleCI.com configured to run on your repository.
- Clone this repository.
- In this repository's root folder, run
Testing & Linting
- All test files are suffixed with
- To run tests:
- To lint this codebase, run:
- To format this codebase, run:
- To validate flow typing, run:
- NOTE: lint and prettier will be run before a commit is made.
To build this project, simply run
Services and Integrations
This project contains CircleCI integration configuration. To get this working, do the following:
- Sign up for a CircleCI account.
- Add your project to Circle (Projects -> Add Project).
NPM_TOKENenvironment variables to your CircleCI project. (See this documentation for instructions on fetching those tokens).
- Update CircleCI shield in this README to point to the correct repository.
To set up Greenkeeper, do the following:
- Make sure you have CircleCI set up.
- Sign up for a Greenkeeper account.
- Add your project repository to Greenkeeper.
- Merge the initial Greenkeeper pull request.
- Update greenkeeper, dependencies, and devDependencies shields in this README to point to the correct repository.
To set up Snyk
- Sign up for a Snyk.io account.
- Enable Snyk for your repository.
- Update Snyk shield in this README to point to the correct repository.
To enable automated releases to NPM via semantic release, replace the
semantic-release command in your package.json file with the following:
... "semantic-release": "semantic-release pre ; npm publish ; semantic-release post", ...
This project isn't published to NPM, this step simply adds
npm publish between semantic-release pre/post commands.