automattic/eslint-config-target-es

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 3

Forks: 1

Language:JavaScript

v1.0.4 2022-11-01 18:27 UTC

This package is auto-updated.

Last update: 2022-12-01 21:57:58 UTC


README

ESLint shareable config to activate eslint-plugin-es checks based on browserslist browser targets and MDN browser compatibility data.

Installation

Generally you'll install this via your package manager, e.g.

npm install --save-dev eslint eslint-plugin-es @automattic/eslint-config-target-es

Usage

First, you'll probably want to set up a browserslist configuration.

Then you can use this like any other sharable config in your .eslintrc.* file. Three configurations are offered.

To check only for language features, such as nullish coalescing, your eslintrc might look like

{
	extends: [ '@automattic/eslint-config-target-es/language' ],
}

To check only for builtins, such as Promise, WeakRef, and various features of RegExp, your eslintrc might look like

{
	extends: [ '@automattic/eslint-config-target-es/builtins' ],
}

To check both, your eslintrc might look like

{
	extends: [ '@automattic/eslint-config-target-es/all' ],
}

For least surprise, omitting any suffix is the same as /all.

Checking built files

If you want to check your built files to make sure you didn't omit transpiling any packages that need transpiling, you might create a validate-es.config.js like this

module.exports = {
	root: true,
	extends: [ '@automattic/eslint-config-target-es/language' ],
	env: {
		// Whatever environments you need.
	},
};

and then run eslint like

eslint --no-eslintrc --no-inline-config --config validate-es.config.js --no-ignore build/

to avoid your standard eslintrc and eslintignore and to avoid errors from any inline directives.

Advanced usage

You can import or require @automattic/eslint-config-target-es/functions to gain access to some functions that can be used to build your own configuration.

As browserslist and MDN use different browser codes, getBrowsers( { query: } ) will take a browserslist query and return an object with the MDN browser codes and the minimum matched version for each.

getRules( { query:, builtins: } ) will return the rules config. Set builtins true for "builtins", false for "language", or null/undefined for "all".

Security

Need to report a security vulnerability? Go to https://automattic.com/security/ or directly to our security bug bounty site https://hackerone.com/automattic.

License

eslint-config-target-es is licensed under GNU General Public License v2 (or later)

--