Home

Awesome

plop-action-eslint

npm version GitHub license Node CI

A Plop action to lint files with ESLint and automatically format with Prettier.

Table of Contents

Installation

npm install plop-action-eslint --save-dev

# or with yarn
yarn add plop-action-eslint -D

Usage

Before you can use plop-action-eslint, you have to load it into the plop object by adding the folling to your plopfile.js:

// plopfile.js
module.exports = async plop => {
  await plop.load('plop-action-eslint')
}

Once loaded, you have access the following actions.

Actions

eslint

Lints and fixes (autofix is enabled) the file of the given path with your projects ESLint configuration.

{
  type: "eslint",
  path: "src/component/{{pascalCase name}}.js",
}

You can also pass an array of paths.

{
  type: "eslint",
  path: [
    "src/component/{{pascalCase name}}.js",
    "src/component/{{pascalCase name}}.test.js",
  ],
}

Prettier Support

In order to automatically format your code with Prettier as well, you have to use eslint-config-prettier and eslint-plugin-prettier in your ESLint configuration.

How to release

Manually trigger release

# generate a new tag
yarn lerna:version

# generate a new Changelog entry
npx lerna-changelog --from <tag> --to <tag>
# add the result manually to CHANGELOG.md and commit it
git add CHANGELOG.md
git commit -m "chore: prepared release"

# push the tags
git push --tags

# publish the new version
yarn lerna:publish

License

MIT

Contributors ✨

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="14.28%"><a href="https://natterstefan.me/"><img src="https://avatars.githubusercontent.com/u/1043668?v=4?s=100" width="100px;" alt="Stefan Natter"/><br /><sub><b>Stefan Natter</b></sub></a><br /><a href="https://github.com/natterstefan/plop-action-eslint/commits?author=natterstefan" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://vytenis.kuciauskas.lt/"><img src="https://avatars.githubusercontent.com/u/468006?v=4?s=100" width="100px;" alt="Vytenis"/><br /><sub><b>Vytenis</b></sub></a><br /><a href="https://github.com/natterstefan/plop-action-eslint/commits?author=FDiskas" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/iholovin"><img src="https://avatars.githubusercontent.com/u/95911872?v=4?s=100" width="100px;" alt="Ivan Holovin"/><br /><sub><b>Ivan Holovin</b></sub></a><br /><a href="https://github.com/natterstefan/plop-action-eslint/commits?author=iholovin" title="Code">💻</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/buggedcom"><img src="https://avatars.githubusercontent.com/u/2810?v=4?s=100" width="100px;" alt="Oliver Lillie"/><br /><sub><b>Oliver Lillie</b></sub></a><br /><a href="https://github.com/natterstefan/plop-action-eslint/commits?author=buggedcom" title="Code">💻</a></td> </tr> </tbody> </table> <!-- markdownlint-restore --> <!-- prettier-ignore-end --> <!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!

Credits

This plop action is based on the code that was shared in plop#80 by FDiskas.