Index: frontend/node_modules/eslint/conf/config-schema.js
===================================================================
--- frontend/node_modules/eslint/conf/config-schema.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint/conf/config-schema.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,93 @@
+/*
+ * STOP!!! DO NOT MODIFY.
+ *
+ * This file is part of the ongoing work to move the eslintrc-style config
+ * system into the @eslint/eslintrc package. This file needs to remain
+ * unchanged in order for this work to proceed.
+ *
+ * If you think you need to change this file, please contact @nzakas first.
+ *
+ * Thanks in advance for your cooperation.
+ */
+
+/**
+ * @fileoverview Defines a schema for configs.
+ * @author Sylvan Mably
+ */
+
+"use strict";
+
+const baseConfigProperties = {
+    $schema: { type: "string" },
+    env: { type: "object" },
+    extends: { $ref: "#/definitions/stringOrStrings" },
+    globals: { type: "object" },
+    overrides: {
+        type: "array",
+        items: { $ref: "#/definitions/overrideConfig" },
+        additionalItems: false
+    },
+    parser: { type: ["string", "null"] },
+    parserOptions: { type: "object" },
+    plugins: { type: "array" },
+    processor: { type: "string" },
+    rules: { type: "object" },
+    settings: { type: "object" },
+    noInlineConfig: { type: "boolean" },
+    reportUnusedDisableDirectives: { type: "boolean" },
+
+    ecmaFeatures: { type: "object" } // deprecated; logs a warning when used
+};
+
+const configSchema = {
+    definitions: {
+        stringOrStrings: {
+            oneOf: [
+                { type: "string" },
+                {
+                    type: "array",
+                    items: { type: "string" },
+                    additionalItems: false
+                }
+            ]
+        },
+        stringOrStringsRequired: {
+            oneOf: [
+                { type: "string" },
+                {
+                    type: "array",
+                    items: { type: "string" },
+                    additionalItems: false,
+                    minItems: 1
+                }
+            ]
+        },
+
+        // Config at top-level.
+        objectConfig: {
+            type: "object",
+            properties: {
+                root: { type: "boolean" },
+                ignorePatterns: { $ref: "#/definitions/stringOrStrings" },
+                ...baseConfigProperties
+            },
+            additionalProperties: false
+        },
+
+        // Config in `overrides`.
+        overrideConfig: {
+            type: "object",
+            properties: {
+                excludedFiles: { $ref: "#/definitions/stringOrStrings" },
+                files: { $ref: "#/definitions/stringOrStringsRequired" },
+                ...baseConfigProperties
+            },
+            required: ["files"],
+            additionalProperties: false
+        }
+    },
+
+    $ref: "#/definitions/objectConfig"
+};
+
+module.exports = configSchema;
Index: frontend/node_modules/eslint/conf/default-cli-options.js
===================================================================
--- frontend/node_modules/eslint/conf/default-cli-options.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint/conf/default-cli-options.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,32 @@
+/**
+ * @fileoverview Default CLIEngineOptions.
+ * @author Ian VanSchooten
+ */
+
+"use strict";
+
+module.exports = {
+    configFile: null,
+    baseConfig: false,
+    rulePaths: [],
+    useEslintrc: true,
+    envs: [],
+    globals: [],
+    extensions: null,
+    ignore: true,
+    ignorePath: void 0,
+    cache: false,
+
+    /*
+     * in order to honor the cacheFile option if specified
+     * this option should not have a default value otherwise
+     * it will always be used
+     */
+    cacheLocation: "",
+    cacheFile: ".eslintcache",
+    cacheStrategy: "metadata",
+    fix: false,
+    allowInlineConfig: true,
+    reportUnusedDisableDirectives: void 0,
+    globInputPaths: true
+};
Index: frontend/node_modules/eslint/conf/globals.js
===================================================================
--- frontend/node_modules/eslint/conf/globals.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint/conf/globals.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,154 @@
+/**
+ * @fileoverview Globals for ecmaVersion/sourceType
+ * @author Nicholas C. Zakas
+ */
+
+"use strict";
+
+//-----------------------------------------------------------------------------
+// Globals
+//-----------------------------------------------------------------------------
+
+const commonjs = {
+    exports: true,
+    global: false,
+    module: false,
+    require: false
+};
+
+const es3 = {
+    Array: false,
+    Boolean: false,
+    constructor: false,
+    Date: false,
+    decodeURI: false,
+    decodeURIComponent: false,
+    encodeURI: false,
+    encodeURIComponent: false,
+    Error: false,
+    escape: false,
+    eval: false,
+    EvalError: false,
+    Function: false,
+    hasOwnProperty: false,
+    Infinity: false,
+    isFinite: false,
+    isNaN: false,
+    isPrototypeOf: false,
+    Math: false,
+    NaN: false,
+    Number: false,
+    Object: false,
+    parseFloat: false,
+    parseInt: false,
+    propertyIsEnumerable: false,
+    RangeError: false,
+    ReferenceError: false,
+    RegExp: false,
+    String: false,
+    SyntaxError: false,
+    toLocaleString: false,
+    toString: false,
+    TypeError: false,
+    undefined: false,
+    unescape: false,
+    URIError: false,
+    valueOf: false
+};
+
+const es5 = {
+    ...es3,
+    JSON: false
+};
+
+const es2015 = {
+    ...es5,
+    ArrayBuffer: false,
+    DataView: false,
+    Float32Array: false,
+    Float64Array: false,
+    Int16Array: false,
+    Int32Array: false,
+    Int8Array: false,
+    Map: false,
+    Promise: false,
+    Proxy: false,
+    Reflect: false,
+    Set: false,
+    Symbol: false,
+    Uint16Array: false,
+    Uint32Array: false,
+    Uint8Array: false,
+    Uint8ClampedArray: false,
+    WeakMap: false,
+    WeakSet: false
+};
+
+// no new globals in ES2016
+const es2016 = {
+    ...es2015
+};
+
+const es2017 = {
+    ...es2016,
+    Atomics: false,
+    SharedArrayBuffer: false
+};
+
+// no new globals in ES2018
+const es2018 = {
+    ...es2017
+};
+
+// no new globals in ES2019
+const es2019 = {
+    ...es2018
+};
+
+const es2020 = {
+    ...es2019,
+    BigInt: false,
+    BigInt64Array: false,
+    BigUint64Array: false,
+    globalThis: false
+};
+
+const es2021 = {
+    ...es2020,
+    AggregateError: false,
+    FinalizationRegistry: false,
+    WeakRef: false
+};
+
+const es2022 = {
+    ...es2021
+};
+
+const es2023 = {
+    ...es2022
+};
+
+const es2024 = {
+    ...es2023
+};
+
+
+//-----------------------------------------------------------------------------
+// Exports
+//-----------------------------------------------------------------------------
+
+module.exports = {
+    commonjs,
+    es3,
+    es5,
+    es2015,
+    es2016,
+    es2017,
+    es2018,
+    es2019,
+    es2020,
+    es2021,
+    es2022,
+    es2023,
+    es2024
+};
Index: frontend/node_modules/eslint/conf/replacements.json
===================================================================
--- frontend/node_modules/eslint/conf/replacements.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint/conf/replacements.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+{
+    "rules": {
+        "generator-star": ["generator-star-spacing"],
+        "global-strict": ["strict"],
+        "no-arrow-condition": ["no-confusing-arrow", "no-constant-condition"],
+        "no-comma-dangle": ["comma-dangle"],
+        "no-empty-class": ["no-empty-character-class"],
+        "no-empty-label": ["no-labels"],
+        "no-extra-strict": ["strict"],
+        "no-reserved-keys": ["quote-props"],
+        "no-space-before-semi": ["semi-spacing"],
+        "no-wrap-func": ["no-extra-parens"],
+        "space-after-function-name": ["space-before-function-paren"],
+        "space-after-keywords": ["keyword-spacing"],
+        "space-before-function-parentheses": ["space-before-function-paren"],
+        "space-before-keywords": ["keyword-spacing"],
+        "space-in-brackets": ["object-curly-spacing", "array-bracket-spacing", "computed-property-spacing"],
+        "space-return-throw-case": ["keyword-spacing"],
+        "space-unary-word-ops": ["space-unary-ops"],
+        "spaced-line-comment": ["spaced-comment"]
+    }
+}
Index: frontend/node_modules/eslint/conf/rule-type-list.json
===================================================================
--- frontend/node_modules/eslint/conf/rule-type-list.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/eslint/conf/rule-type-list.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,28 @@
+{
+    "types": {
+        "problem": [],
+        "suggestion": [],
+        "layout": []
+    },
+    "deprecated": [],
+    "removed": [
+        { "removed": "generator-star", "replacedBy": ["generator-star-spacing"] },
+        { "removed": "global-strict", "replacedBy": ["strict"] },
+        { "removed": "no-arrow-condition", "replacedBy": ["no-confusing-arrow", "no-constant-condition"] },
+        { "removed": "no-comma-dangle", "replacedBy": ["comma-dangle"] },
+        { "removed": "no-empty-class", "replacedBy": ["no-empty-character-class"] },
+        { "removed": "no-empty-label", "replacedBy": ["no-labels"] },
+        { "removed": "no-extra-strict", "replacedBy": ["strict"] },
+        { "removed": "no-reserved-keys", "replacedBy": ["quote-props"] },
+        { "removed": "no-space-before-semi", "replacedBy": ["semi-spacing"] },
+        { "removed": "no-wrap-func", "replacedBy": ["no-extra-parens"] },
+        { "removed": "space-after-function-name", "replacedBy": ["space-before-function-paren"] },
+        { "removed": "space-after-keywords", "replacedBy": ["keyword-spacing"] },
+        { "removed": "space-before-function-parentheses", "replacedBy": ["space-before-function-paren"] },
+        { "removed": "space-before-keywords", "replacedBy": ["keyword-spacing"] },
+        { "removed": "space-in-brackets", "replacedBy": ["object-curly-spacing", "array-bracket-spacing"] },
+        { "removed": "space-return-throw-case", "replacedBy": ["keyword-spacing"] },
+        { "removed": "space-unary-word-ops", "replacedBy": ["space-unary-ops"] },
+        { "removed": "spaced-line-comment", "replacedBy": ["spaced-comment"] }
+    ]
+}
