eslint.config.mjs (50 lines of code) (raw):
/* eslint-env node */
"use strict";
import globals from "globals";
import { createRequire } from "module";
const require = createRequire(import.meta.url);
const mozillaRecommended = require("eslint-plugin-mozilla");
const noUnsanitized = require("eslint-plugin-no-unsanitized");
export default [
{
languageOptions: {
parserOptions: {
ecmaVersion: "latest",
},
globals: {
...globals.node,
},
},
files: ["**/*.js"],
plugins: {
mozilla: mozillaRecommended,
"no-unsanitized": noUnsanitized,
},
rules: {
// Can't use everything because this isn't flat-config ready.
...mozillaRecommended.configs.recommended.rules,
"no-inner-declarations": 2,
"no-shadow": 2,
"no-unused-vars": [
2,
{
vars: "all",
args: "none",
},
],
},
},
{
files: ["test/**/*.js"],
languageOptions: {
globals: {
it: "readonly",
describe: "readonly",
before: "readonly",
},
},
rules: {
"no-console": 0,
},
},
];