babel/eslint/babel-eslint-plugin-development
Huáng Jùnliàng 3fad7eab9b
Use Yarn 2 (#11962)
* chore: use yarn 2

* chore: remove redundant yarn locks

* chore: remove publishEslintPkg

* chore: remove redundant make bootstrap

* Update .yarnrc.yml

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>

* chore: use workspace protocol for eslint packages in the root

Co-Authored-By: merceyz <merceyz@users.noreply.github.com>

* chore: pin caniuse-lite versions

Testcases in packages/babel-preset-env/test/fixtures/debug/browserslists-defaults-not-ie
depends on specific caniuse-lite versions. We pinned the version here
so we don't have to deal with fixture different in e2e-tests
where all deps will be updated and tested.

* chore: resolve yarn install warnings

* chore: update yarn cache path on circle/travis

* chore: add yarn deduplicate plugin

* chore: deduplicate lock files

* chore: move devDependencies to leaf packages

* chore: remove @yarnpkg/plugin-constraints

* chore: remove unused dedupe options

* test: fix unwanted self reference

* chore: remove output-file-sync dependency

* chore: update browserify to 16.5.2

Co-authored-by: Kristoffer K. <merceyz@users.noreply.github.com>
2020-08-25 14:37:30 -04:00
..
2020-07-16 16:01:20 -05:00
2020-07-29 19:11:48 -04:00
2020-07-30 17:12:07 -04:00
Typo 🤦
2018-12-18 22:33:27 +01: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.