babel/eslint/babel-eslint-plugin-development
Huáng Jùnliàng 4c9929ca28
Prepare to publish @babel/eslint-* packages (#11894)
* remove private flag, bump node and babel versions

* disallow submodule imports

* Revert "Do not automatically publish eslint packages (#10722)"

This reverts commit 5ca8acdb38bc7a9a4669ad3249c219531f8f6579.

# Conflicts:
#	Makefile
#	eslint/babel-eslint-parser/package.json
#	eslint/babel-eslint-plugin-development/package.json
#	lerna.json
#	scripts/integration-tests/publish-local.sh

* disable submodule imports for babel-eslint-config-internal

* chore: push back a bit to make tests happy
2020-07-30 13:32:38 -04:00
..
2020-07-16 16:01:20 -05:00
2020-07-29 19:11:48 -04:00
Typo 🤦
2018-12-18 22:33:27 +01:00
2020-07-29 19:11:48 -04:00

@babel/eslint-plugin-development

A set of eslint rules to enforce best practices in the development of Babel plugins.

Installation

You'll first need to install ESLint:

$ npm install --save-dev eslint

Next, install @babel/eslint-plugin-development:

$ npm install --save-dev @babel/eslint-plugin-development

Then, load the plugin in your .eslintrc configuration file. You can omit the eslint-plugin- prefix:

{
  "plugins": ["@babel/development"]
}

Supported Rules

Note: Rules marked with 🔧 are autofixable.

  • @babel/development/no-deprecated-clone (🔧): Disallows using the deprecated t.clone(node) and t.cloneDeep(node) methods from @babel/types. Those calls are replaced with t.cloneNode(node) when using eslint --fix.
  • @babel/development/no-undefined-identifier: Disallows using t.identifier("undefined") to create a node which represents an undefined value, since it might cause problem if undefined is redeclared.
  • @babel/development/plugin-name: Requires plugins to have a name property, which can be useful for debugging purposes.