41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
/**
|
|
* Loads https://github.com/typhonjs-node-config/typhonjs-config-eslint/blob/master/3.0/basic/es8/server/node/.eslintrc
|
|
* Loads https://github.com/typhonjs-fvtt/eslint-config-foundry.js/blob/main/0.8.0.js
|
|
*
|
|
* NPM: https://www.npmjs.com/package/typhonjs-config-eslint
|
|
* NPM: https://www.npmjs.com/package/@typhonjs-fvtt/eslint-config-foundry.js
|
|
*/
|
|
{
|
|
// ESLint configs are prone to particular choices, so if the first config below doesn't work for you then replace
|
|
// with one that you do prefer. The second config defines globals defined in `foundry.js` for use w/ `no-shadow`.
|
|
"extends": [
|
|
"@typhonjs-config/eslint-config/esm/2022/browser",
|
|
"@typhonjs-fvtt/eslint-config-foundry.js"
|
|
],
|
|
|
|
// Defines / overrides a few more environment parameters not provided in the configs above.
|
|
"env": {
|
|
"jquery": true
|
|
},
|
|
|
|
// Prevents overwriting any built in globals particularly from `@typhonjs-fvtt/eslint-config-foundry.js`, but also
|
|
// node & browser environments. `event / window.event` shadowing is allowed due to being a common variable name and
|
|
// an uncommonly used browser feature.
|
|
//
|
|
// Note: if you are using Typescript you must use `@typescript-eslint/no-shadow`
|
|
"rules": {
|
|
"no-shadow": ["error", {
|
|
"builtinGlobals": true,
|
|
"hoist": "all",
|
|
"allow": [
|
|
"document",
|
|
"event",
|
|
"name",
|
|
"parent",
|
|
"status",
|
|
"top"
|
|
]
|
|
}]
|
|
}
|
|
}
|