mirror of
https://github.com/sbondCo/Watcharr.git
synced 2026-08-07 07:14:44 +00:00
ESLint: Migrate to flat config
This commit is contained in:
@@ -1,15 +0,0 @@
|
|||||||
.DS_Store
|
|
||||||
node_modules
|
|
||||||
/build
|
|
||||||
/.svelte-kit
|
|
||||||
/package
|
|
||||||
.env
|
|
||||||
.env.*
|
|
||||||
!.env.example
|
|
||||||
|
|
||||||
/doc
|
|
||||||
|
|
||||||
# Ignore files for PNPM, NPM and YARN
|
|
||||||
pnpm-lock.yaml
|
|
||||||
package-lock.json
|
|
||||||
yarn.lock
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
root: true,
|
|
||||||
parser: "@typescript-eslint/parser",
|
|
||||||
extends: ["plugin:svelte/recommended"],
|
|
||||||
plugins: ["@typescript-eslint"],
|
|
||||||
ignorePatterns: ["*.cjs", "*.config.js"],
|
|
||||||
overrides: [
|
|
||||||
{
|
|
||||||
files: ["*.svelte"],
|
|
||||||
parser: "svelte-eslint-parser",
|
|
||||||
parserOptions: {
|
|
||||||
parser: "@typescript-eslint/parser",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
parserOptions: {
|
|
||||||
project: "./tsconfig.json",
|
|
||||||
extraFileExtensions: [".svelte"],
|
|
||||||
sourceType: "module",
|
|
||||||
ecmaVersion: 2020,
|
|
||||||
},
|
|
||||||
env: {
|
|
||||||
browser: true,
|
|
||||||
es2017: true,
|
|
||||||
node: false,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@@ -18,6 +18,16 @@ These changes are awaiting release:
|
|||||||
- Workflows: Upgrade action versions & set Node version to `24`.
|
- Workflows: Upgrade action versions & set Node version to `24`.
|
||||||
- Dockerfile: Upgrade node steps to use version `24`.
|
- Dockerfile: Upgrade node steps to use version `24`.
|
||||||
- Workflows: test-pr-server: Set go-version-file for setup-go action.
|
- Workflows: test-pr-server: Set go-version-file for setup-go action.
|
||||||
|
- Upgrade devDependencies:
|
||||||
|
- eslint: 8.57.0 -> 10.7.0
|
||||||
|
- eslint-config-prettier: 10.1.2 -> 10.1.8
|
||||||
|
- eslint-plugin-svelte: 2.45.1 -> 3.20.0
|
||||||
|
- prettier: 3.4.2 -> 3.9.5
|
||||||
|
- prettier-plugin-svelte: 3.4.0 -> 4.1.1
|
||||||
|
- svelte-eslint-parser: 0.42.0 -> 1.8.0
|
||||||
|
- typescript-eslint: 8.32.1 -> 8.63.0
|
||||||
|
- Added devDependencies: `@eslint/js` (new eslint has split this module out into a new package) and `globals` (as a result of new eslint architecture, we now have this as a direct dev dependency).
|
||||||
|
- ESLint: Migrate to flat config: I ran `npx sv add eslint` and modified the eslint.config.js it generated to line up better with our old one and work a bit better (i think) with our normal ts files. Also set `ecmaVersion` to `latest`, previously was `2020`.
|
||||||
|
|
||||||
# [4.1.1] - 2026-07-26T02:00:00Z
|
# [4.1.1] - 2026-07-26T02:00:00Z
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
import prettier from "eslint-config-prettier";
|
||||||
|
import path from "node:path";
|
||||||
|
import js from "@eslint/js";
|
||||||
|
import svelte from "eslint-plugin-svelte";
|
||||||
|
import { defineConfig, includeIgnoreFile } from "eslint/config";
|
||||||
|
import globals from "globals";
|
||||||
|
import ts from "typescript-eslint";
|
||||||
|
import svelteConfig from "./svelte.config.js";
|
||||||
|
|
||||||
|
const gitignorePath = path.resolve(import.meta.dirname, ".gitignore");
|
||||||
|
|
||||||
|
export default defineConfig(
|
||||||
|
includeIgnoreFile(gitignorePath),
|
||||||
|
js.configs.recommended,
|
||||||
|
ts.configs.recommended,
|
||||||
|
svelte.configs.recommended,
|
||||||
|
prettier,
|
||||||
|
svelte.configs.prettier,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
globals: { ...globals.browser /* ...globals.node */ },
|
||||||
|
parserOptions: {
|
||||||
|
projectService: true,
|
||||||
|
parser: ts.parser,
|
||||||
|
ecmaVersion: "latest",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
// typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects.
|
||||||
|
// see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors
|
||||||
|
"no-undef": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"],
|
||||||
|
languageOptions: {
|
||||||
|
parserOptions: {
|
||||||
|
extraFileExtensions: [".svelte"],
|
||||||
|
svelteConfig,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
// Override or add rule settings here.
|
||||||
|
rules: {
|
||||||
|
"@typescript-eslint/no-empty-object-type": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
// Allowing this because it's nice to create an empty
|
||||||
|
// interface that extends a base interface for specific
|
||||||
|
// use, even if it is currently empty, incase i add stuff
|
||||||
|
// to it in the future. It's also less confusing to read
|
||||||
|
// the actual type name I want instead of the base type
|
||||||
|
// everywhere in certain scenarios.
|
||||||
|
allowInterfaces: "with-single-extends",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
Generated
+646
-671
File diff suppressed because it is too large
Load Diff
+9
-8
@@ -14,23 +14,24 @@
|
|||||||
"format": "prettier --write ."
|
"format": "prettier --write ."
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@eslint/js": "10.0.1",
|
||||||
"@sveltejs/adapter-node": "5.2.12",
|
"@sveltejs/adapter-node": "5.2.12",
|
||||||
"@sveltejs/kit": "2.21.0",
|
"@sveltejs/kit": "2.21.0",
|
||||||
"@types/papaparse": "5.3.15",
|
"@types/papaparse": "5.3.15",
|
||||||
"@typescript-eslint/eslint-plugin": "8.32.1",
|
|
||||||
"@typescript-eslint/parser": "8.32.1",
|
|
||||||
"@vite-pwa/sveltekit": "0.6.6",
|
"@vite-pwa/sveltekit": "0.6.6",
|
||||||
"eslint": "8.57.0",
|
"eslint": "10.7.0",
|
||||||
"eslint-config-prettier": "10.1.2",
|
"eslint-config-prettier": "10.1.8",
|
||||||
"eslint-plugin-svelte": "2.45.1",
|
"eslint-plugin-svelte": "3.20.0",
|
||||||
"prettier": "3.4.2",
|
"globals": "17.7.0",
|
||||||
"prettier-plugin-svelte": "3.4.0",
|
"prettier": "3.9.5",
|
||||||
|
"prettier-plugin-svelte": "4.1.1",
|
||||||
"sass": "1.97.3",
|
"sass": "1.97.3",
|
||||||
"svelte": "5.17.3",
|
"svelte": "5.17.3",
|
||||||
"svelte-check": "4.1.3",
|
"svelte-check": "4.1.3",
|
||||||
"svelte-eslint-parser": "0.42.0",
|
"svelte-eslint-parser": "1.8.0",
|
||||||
"svelte-preprocess": "6.0.3",
|
"svelte-preprocess": "6.0.3",
|
||||||
"typescript": "5.8.3",
|
"typescript": "5.8.3",
|
||||||
|
"typescript-eslint": "8.63.0",
|
||||||
"vite": "6.3.5"
|
"vite": "6.3.5"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
Reference in New Issue
Block a user