Skip to content

Latest commit

 

History

History
94 lines (60 loc) · 2.28 KB

CONTRIBUTING.md

File metadata and controls

94 lines (60 loc) · 2.28 KB

Contribution Guide

Contributions are welcome and appreciated!

Setting up your environment

First fork the repo to your own github org, then do the following steps to get started:

# clone your fork to your local machine
git clone https://github.com/YOUR_USER_OR_ORG/atatus-sourcemap-webpack-plugin.git

# change to local repo directory
cd atatus-sourcemap-webpack-plugin

# install dependencies
npm install

Running Tests

npm test
# run tests in watch mode for faster feedback
npm run test:watch

Style & Linting

The codebase adheres to the Airbnb Styleguide with some tweaks per our personal preferences and is enforced using ESLint.

npm run lint

Building the plugin

Source code for the plugin is written with ES6 syntax and transpiled using babel. The build is output to ./dist.

npm run build
# run build in watch mode for faster feedback
npm run test:watch

Test coverage

We use the excellent module, nyc, for coverage and strive for 100%. The coverage report will be displayed in the terminal after tests run.

Pull Request Guidelines

Before you submit a pull request from your forked repo, check that it meets these guidelines:

  1. If the pull request fixes a bug, it should include tests that fail without the changes, and pass with them.
  2. Please update README.md accordingly, if relevant, as part of the same PR.
  3. Please rebase and resolve all conflicts before submitting.

Publishing to NPM (For maintainers with the publish bit)

Publishing to NPM is automated with npm scripts, which runs linting, tests, transpiles the source, generates a changelog, and runs npm publish.

To generate the changelog you will need to install github_changelog_generator.

gem install github_changelog_generator

We use SEMVER versioning scheme: MAJOR.MINOR.PATCH

# publish a backwards-compatible bug fix
npm version patch

# publish backwards-compatible, new functionality
npm version minor

# publish a incompatible API change
npm version major