/** * 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" ] }] } }