A bolierplate for create eslint plugin with typescript;
A bolierplate for that can be used by create-npm-package
npx create-npm-packages --template hsuehic/cnp-template-typescript-eslint-plugin
File Structure:
-
docs/rules/
is the directory to put documentation. -
src/rules/
is the directory to put rule definitions. -
scripts/
is the directory to put development scripts. -
tests/
is the directory to put tests forsrc/
. -
.eslintignore
and.eslintrc.js
are the configuration to lint this repository.
Dependencies:
This template uses Jest and GitHub Actions for tests, as same as ESLint itself. If you want to use other tools, customize it.
Development Tools:
-
npm run add-rule foo
command adds a rule definition. -
npm update
command updates the following stuff by themeta
property of rules:- the header of
docs/rules/*.md
. -
lib/configs/recommended.ts
file. -
lib/index.ts
file. - the rule table in
README.md
file.
- the header of
Below is an example of README.
A template for ESLint plugins.
Use npm or a compatibility tool to install.
npm install --save-dev eslint eslint-plugin-xxxx
- Node.js v8.10.0 or newer versions.
- ESLint v5.16.0 or newer versions.
Write your config file such as .eslintrc.yaml
.
plugins:
- xxxx
rules:
xxxx/example-rule: error
See also Configuring ESLint.
-
xxxx/recommended
... enables the recommended rules.
Rule ID | Description | |
---|---|---|
xxxx/example-rule | An example rule. | ⭐️ |
This plugin follows Semantic Versioning and ESLint's Semantic Versioning Policy.
Welcome your contribution!
See also ESLint Contribution Guide.
-
npm test
runs tests. -
npm run update
updates the package version. And it updatessrc/configs/recommended.ts
,lib/index.ts
, andREADME.md
's rule table. See also npm version CLI command. -
npm run add-rule <RULE_ID>
creates three files to add a new rule.