fix svelte eslint config

This commit is contained in:
peterkogo
2025-04-17 10:26:18 +02:00
parent f43723f57c
commit 3d18393615
8 changed files with 111 additions and 527 deletions

View File

@@ -1,14 +0,0 @@
.DS_Store
node_modules
/build
/.svelte-kit
dist
/package
.env
.env.*
!.env.example
# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock

View File

@@ -1,30 +0,0 @@
module.exports = {
root: true,
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:svelte/recommended',
'prettier'
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
},
overrides: [
{
files: ['*.svelte'],
parser: 'svelte-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser'
}
}
]
};

View File

@@ -0,0 +1,39 @@
import globals from 'globals';
import js from '@eslint/js';
import ts from 'typescript-eslint';
import svelte from 'eslint-plugin-svelte';
import eslintConfigPrettier from 'eslint-config-prettier';
import svelteConfig from './svelte.config.js';
export default ts.config(
js.configs.recommended,
...ts.configs.recommended,
...svelte.configs.recommended,
eslintConfigPrettier,
{
languageOptions: {
ecmaVersion: 2020,
sourceType: 'module',
globals: {
...globals.browser,
...globals.es2017,
...globals.node
}
}
},
{
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
ignores: ['eslint.config.js', 'svelte.config.js'],
languageOptions: {
parserOptions: {
projectService: true,
extraFileExtensions: ['.svelte'],
parser: ts.parser,
svelteConfig
}
}
},
{
ignores: ['.svelte-kit/*', 'build/*', 'dist/*'] // Add common ignore patterns
}
);

View File

@@ -55,6 +55,7 @@
"@xyflow/system": "workspace:*"
},
"devDependencies": {
"@eslint/js": "^9.24.0",
"@sveltejs/adapter-auto": "^6.0.0",
"@sveltejs/kit": "^2.20.7",
"@sveltejs/package": "^2.3.11",
@@ -67,6 +68,7 @@
"eslint": "^9.24.0",
"eslint-config-prettier": "^10.1.2",
"eslint-plugin-svelte": "^3.5.1",
"globals": "^16.0.0",
"postcss": "^8.5.3",
"postcss-cli": "^11.0.1",
"postcss-combine-duplicated-selectors": "^10.0.3",
@@ -80,10 +82,11 @@
"svelte-eslint-parser": "^1.1.2",
"svelte-preprocess": "^6.0.3",
"tslib": "^2.8.1",
"typescript": "^5.8.3"
"typescript": "^5.8.3",
"typescript-eslint": "^8.30.1"
},
"peerDependencies": {
"svelte": "^5.16.0"
"svelte": "^5.25.0"
},
"files": [
"dist"

View File

@@ -1,6 +1,5 @@
import type { Dimensions, XYPosition } from '@xyflow/system';
import type { Snippet } from 'svelte';
import type { ClassValue, HTMLAttributes } from 'svelte/elements';
import type { HTMLAttributes } from 'svelte/elements';
export type EdgeLabelProps = {
x?: number;

View File

@@ -26,6 +26,7 @@
// Unfortunately we have to destructure the props here this way,
// so we don't pass all the props as attributes to the div element
let {
id,
class: className,

View File

@@ -9,7 +9,7 @@ export function useStore(): SvelteFlowStore {
if (!storeContext) {
throw new Error(
'In order to use useStore you need to wrap your component in a <SvelteFlowProvider />'
'To call useStore outside of <SvelteFlow /> you need to wrap your component in a <SvelteFlowProvider />'
);
}

542
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff