Package detail

plop-action-eslint

natterstefan4.6kMIT1.1.0

Use ESLint to format generated code with plop.js

eslint, plop-action, plop-helper, plop-pack

readme

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):

Stefan Natter
Stefan Natter

💻
Vytenis
Vytenis

💻
Ivan Holovin
Ivan Holovin

💻
Oliver Lillie
Oliver Lillie

💻

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.

changelog

plop-action-eslint Changelog

All notable changes to this project will be documented here. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

v1.1.0 (2024-07-17)

:rocket: New Feature

  • plop-action-eslint
    • #10 chore: extend plop peerDependency to allow v4 (@lesleh)

Committers: 1

v1.0.0 (2024-03-15)

:rocket: New Feature

  • example, plop-action-eslint
    • #8 feat: require min node version 18, and updated (dev)Dependencies (@natterstefan)
  • Other
    • #7 feat: update package.json to include node 19/20 engines (@buggedcom)

Committers: 2

v0.4.0 (2022-10-26)

:rocket: New Feature

  • example, plop-action-eslint
    • #6 feat: added node 18 to engines settings and removed enginesStrict (@natterstefan)

Committers: 1

v0.3.0 (2022-08-27)

:rocket: New Feature

  • example, plop-action-eslint
    • #1 feat: added example package with tests and improved logs (@natterstefan)
  • plop-action-eslint
    • #4 feat: updated (dev)Dependencies and set engine to ^14.13.1 || ^16.x (@natterstefan)

Committers: 1

v0.2.0 (2022-07-09)

:rocket: New Feature

  • plop-action-eslint
    • #2 feat: add the ability to pass an array of paths (@iholovin)

Committers: 1

v0.1.0 (2022-03-06)

:rocket: New Feature

  • plop-action-eslint
    • initial release of the plop-action-eslint package

Committers: 1