1.0.0 • Published 3 years ago

@automattic/calypso-eslint-overrides v1.0.0

Weekly downloads
-
License
GPL-2.0-or-later
Repository
github
Last release
3 years ago

@automattic/calypso-eslint-overrides

This package contains ESlint configuration used to override default ESLint settings, grouped by runtime.

The main use case is when a package has code expected to run in a browser, and code expected to run in Node.js.

Usage

Imagine you have an .eslintrc.js that applies some config designed to enforce/prevent some code conventions that won't work well in a browser, or that inherits some rules from a parent .eslintrc.js

module.exports = {
	env: {
		browser: true
	},
	rules: {
		// Polyfill nodejs modules for the browser is expensive, disable them
		'import/no-nodejs-modules': 'error'
	}
}

If there is some section of the code that is meant to be run by Node.js (eg: a ./bin/ directory with some scripts), you can add an override like:

const { nodeConfig } = require('@automattic/calypso-eslint-overrides/node')

module.exports = {
	env: {
		browser: true
	},
	rules: {
		// Polyfill nodejs modules for the browser is expensive, disable them
		'import/no-nodejs-modules': 'error'
	},
	overrides: [
		{
			files: "./bin/**.*"
			...nodeConfig
		}
	]
}