* Lint against CJS globals in modules * Use `import.meta.url` instead of `__filename` in `src` files * Prepare fixtures runner for `import.meta.url` * Use `import.meta.url` instead of `__filename` in `test/index` files * Remove `__dirname` from remaining test files dirname * Avoid using `module` in `src` files * Avoid using `require` in `src` files * Avoid using `require` in `test` files * Update `@types/node` * Compile dynamic import in `@babel/node` * Fix windows * Use `@babel/plugin-proposal-dynamic-import` from npm
@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 deprecatedt.clone(node)andt.cloneDeep(node)methods from@babel/types. Those calls are replaced witht.cloneNode(node)when usingeslint --fix.@babel/development/no-undefined-identifier: Disallows usingt.identifier("undefined")to create a node which represents anundefinedvalue, since it might cause problem ifundefinedis redeclared.@babel/development/plugin-name: Requires plugins to have anameproperty, which can be useful for debugging purposes.