From 79adb0b20e2e6461e859659f9255cd21539d482b Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Sat, 8 Mar 2025 02:45:40 +0200 Subject: [PATCH] feat(client): add recommended rules --- package-lock.json | 20 +++++++++++++++++--- package.json | 1 + src/public/app/services/eslint.ts | 20 +++++++++++++++++--- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index dbb671f4f..0ee0454d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -166,6 +166,7 @@ "electron": "34.3.1", "eslint": "9.21.0", "esm": "3.2.25", + "globals": "16.0.0", "happy-dom": "17.3.0", "i18next-http-backend": "3.0.2", "jsdoc": "4.0.4", @@ -2242,6 +2243,19 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -11605,9 +11619,9 @@ } }, "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", + "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 6677989f0..6e4b29d38 100644 --- a/package.json +++ b/package.json @@ -219,6 +219,7 @@ "electron": "34.3.1", "eslint": "9.21.0", "esm": "3.2.25", + "globals": "16.0.0", "happy-dom": "17.3.0", "i18next-http-backend": "3.0.2", "jsdoc": "4.0.4", diff --git a/src/public/app/services/eslint.ts b/src/public/app/services/eslint.ts index 43abd8ada..c8b035a58 100644 --- a/src/public/app/services/eslint.ts +++ b/src/public/app/services/eslint.ts @@ -1,9 +1,23 @@ export async function lint(code: string) { const Linter = (await import("eslint-linter-browserify")).Linter; + const js = (await import("@eslint/js")); + const globals = (await import("globals")); - return new Linter().verify(code, { - - }); + return new Linter().verify(code, [ + js.configs.recommended, + { + languageOptions: { + parserOptions: { + ecmaVersion: 2024 + }, + globals: { + ...globals.browser, + api: "readonly" + } + }, + rules: { } + } + ]); }