diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..2690113 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,7 @@ +import js from "@eslint/js"; +import globals from "globals"; +import { defineConfig } from "eslint/config"; + +export default defineConfig([ + { files: ["**/*.{js,mjs,cjs}"], plugins: { js }, extends: ["js/recommended"], languageOptions: { globals: globals.browser } }, +]); diff --git a/package.json b/package.json index 66bf6fe..0851eaf 100644 --- a/package.json +++ b/package.json @@ -22,5 +22,10 @@ "qs": "^6.15.0", "session-file-store": "^1.5.0", "sharp": "^0.35.4" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "eslint": "^10.11.0", + "globals": "^17.12.0" } } diff --git a/scripts/lint.mjs b/scripts/lint.mjs deleted file mode 100644 index 2d318f6..0000000 --- a/scripts/lint.mjs +++ /dev/null @@ -1,53 +0,0 @@ -import { execFileSync } from "node:child_process"; - -const files = [ - "src/db/attachments.js", - "src/services/localFileStorage.js", - "src/services/attachmentService.js", - "src/services/visionAnalysis.js", - "src/routes/uploads.js", - "public/js/attachments.js", - "server.js", - "src/app.js", - "src/pageLayout.js", - "src/config.js", - "src/db/index.js", - "src/db/repositories.js", - "src/db/schema.js", - "src/middleware/auth.js", - "src/middleware/rateLimit.js", - "src/middleware/rateLimiters.js", - "src/middleware/validate.js", - "src/routes/auth.js", - "src/routes/chats.js", - "src/routes/pages.js", - "src/routes/personas.js", - "src/routes/settings.js", - "src/routes/system.js", - "src/services/chatService.js", - "src/services/webSearchService.js", - "src/services/chatMessageHelpers.js", - "src/services/workspaceImportService.js", - "src/services/modelService.js", - "src/services/personaService.js", - "public/js/script.js", - "public/js/pages.js", - "public/js/workspaceNavigation.js", - "public/js/settings.js", - "public/js/market.js", - "public/js/api.js", - "public/js/regeneration.js", - "public/js/webSearch.js", - "public/js/reasoning.js", - "public/js/modelCapabilities.js", - "public/js/chatDrawer.js", - "public/js/constants.js", - "public/js/dom.js", - "public/js/modelProfiles.js" -]; - -for (const file of files) { - execFileSync(process.execPath, ["--check", file], { stdio: "inherit" }); -} - -console.log(`Syntax check passed for ${files.length} files.`);