nodejs-project-example

0.0.0-development • Public • Published

Node.js Project Example

Greenkeeper badge CirlceCI Badge Dependency Status devDependency Status Known Vulnerabilities semantic-release Commitizen friendly

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)

Requirements

  • Node.js (see .nvmrc for correct version).
  • Yarn
  • Greenkeeper.io configured to run on your repository.
  • CircleCI.com configured to run on your repository.

Setup

  • Clone this repository.
  • In this repository's root folder, run yarn.

Testing & Linting

This project uses Jest, ESlint with the AirBnb standard, and Prettier for testing, linting, and formatting.

  • All test files are suffixed with .test.js.
  • To run tests: yarn test.
  • To lint this codebase, run: yarn lint.
  • To format this codebase, run: yarn prettier.
  • To validate flow typing, run: yarn flow.
  • NOTE: lint and prettier will be run before a commit is made.

Building

To build this project, simply run yarn build.

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).
  • Add GH_TOKEN and NPM_TOKEN environment 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.

Automated Releases

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.

Readme

Keywords

none

Package Sidebar

Install

npm i nodejs-project-example

Weekly Downloads

1

Version

0.0.0-development

License

GPL-3.0

Last publish

Collaborators

  • patrickocoffeyo