From 42e065e699e54c9c0eb149a92ff17b12c0d1134e Mon Sep 17 00:00:00 2001 From: "oe.kazuma" Date: Mon, 1 May 2023 18:37:41 +0900 Subject: [PATCH] chore: switch ESLint plugin from eslint-plugin-svelte3 to eslint-plugin-svelte --- .eslintrc.cjs | 24 +++++++++----- package.json | 2 +- pnpm-lock.yaml | 89 +++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 95 insertions(+), 20 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index eaf19f5..449a3c7 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,20 +1,28 @@ module.exports = { root: true, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:svelte/recommended', 'prettier'], parser: '@typescript-eslint/parser', - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], - plugins: ['svelte3', '@typescript-eslint'], - ignorePatterns: ['*.cjs'], - overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], - settings: { - 'svelte3/typescript': () => require('typescript') - }, + plugins: ['@typescript-eslint'], parserOptions: { sourceType: 'module', - ecmaVersion: 2020 + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] }, env: { browser: true, es2017: true, node: true + }, + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser' + } + } + ], + rules: { + 'svelte/no-at-html-tags': 'off' } }; diff --git a/package.json b/package.json index 95f9f5f..356068c 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "@typescript-eslint/parser": "^5.59.1", "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", - "eslint-plugin-svelte3": "^4.0.0", + "eslint-plugin-svelte": "^2.27.2", "husky": "^8.0.3", "lint-staged": "^13.2.2", "prettier": "^2.8.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82c61c1..76ea21b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,9 +30,9 @@ devDependencies: eslint-config-prettier: specifier: ^8.8.0 version: 8.8.0(eslint@8.39.0) - eslint-plugin-svelte3: - specifier: ^4.0.0 - version: 4.0.0(eslint@8.39.0)(svelte@3.58.0) + eslint-plugin-svelte: + specifier: ^2.27.2 + version: 2.27.2(eslint@8.39.0)(svelte@3.58.0) husky: specifier: ^8.0.3 version: 8.0.3 @@ -53,7 +53,7 @@ devDependencies: version: 3.58.0 svelte-check: specifier: ^3.2.0 - version: 3.2.0(svelte@3.58.0) + version: 3.2.0(postcss@8.4.23)(svelte@3.58.0) tslib: specifier: ^2.5.0 version: 2.5.0 @@ -924,14 +924,30 @@ packages: eslint: 8.39.0 dev: true - /eslint-plugin-svelte3@4.0.0(eslint@8.39.0)(svelte@3.58.0): - resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} + /eslint-plugin-svelte@2.27.2(eslint@8.39.0)(svelte@3.58.0): + resolution: {integrity: sha512-1tIl65TMF0MtY26+O/1Y5S5HEFc0vRzzoX3m9FHI6VuiruqFU9PBr8WzoqdaSPlcL/q7xPUzQYl4Fzg/3GBpcg==} + engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: - eslint: '>=8.0.0' - svelte: ^3.2.0 + eslint: ^7.0.0 || ^8.0.0-0 + svelte: ^3.37.0 + peerDependenciesMeta: + svelte: + optional: true dependencies: + '@eslint-community/eslint-utils': 4.2.0(eslint@8.39.0) + '@jridgewell/sourcemap-codec': 1.4.14 + debug: 4.3.4 eslint: 8.39.0 + esutils: 2.0.3 + known-css-properties: 0.27.0 + postcss: 8.4.23 + postcss-load-config: 3.1.4(postcss@8.4.23) + postcss-safe-parser: 6.0.0(postcss@8.4.23) svelte: 3.58.0 + svelte-eslint-parser: 0.27.0(svelte@3.58.0) + transitivePeerDependencies: + - supports-color + - ts-node dev: true /eslint-scope@5.1.1: @@ -1345,6 +1361,10 @@ packages: engines: {node: '>=6'} dev: true + /known-css-properties@0.27.0: + resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} + dev: true + /levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1697,6 +1717,32 @@ packages: hasBin: true dev: true + /postcss-load-config@3.1.4(postcss@8.4.23): + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.23 + yaml: 1.10.2 + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.23): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.23 + dev: true + /postcss@8.4.23: resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} engines: {node: ^10 || ^12 || >=14} @@ -1982,7 +2028,7 @@ packages: has-flag: 4.0.0 dev: true - /svelte-check@3.2.0(svelte@3.58.0): + /svelte-check@3.2.0(postcss@8.4.23)(svelte@3.58.0): resolution: {integrity: sha512-6ZnscN8dHEN5Eq5LgIzjj07W9nc9myyBH+diXsUAuiY/3rt0l65/LCIQYlIuoFEjp2F1NhXqZiJwV9omPj9tMw==} hasBin: true peerDependencies: @@ -1995,7 +2041,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.58.0 - svelte-preprocess: 5.0.3(svelte@3.58.0)(typescript@5.0.4) + svelte-preprocess: 5.0.3(postcss@8.4.23)(svelte@3.58.0)(typescript@5.0.4) typescript: 5.0.4 transitivePeerDependencies: - '@babel/core' @@ -2009,6 +2055,21 @@ packages: - sugarss dev: true + /svelte-eslint-parser@0.27.0(svelte@3.58.0): + resolution: {integrity: sha512-x9cBbCZwLdCnNE3yPqGhvAqEl9FCILC6AaV2xRtwzaMCpvpqO7ceONXj9xka3fQFczSqLzkwOxP4Ln4cIQNqXg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + svelte: ^3.37.0 + peerDependenciesMeta: + svelte: + optional: true + dependencies: + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + svelte: 3.58.0 + dev: true + /svelte-hmr@0.15.1(svelte@3.58.0): resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} @@ -2018,7 +2079,7 @@ packages: svelte: 3.58.0 dev: true - /svelte-preprocess@5.0.3(svelte@3.58.0)(typescript@5.0.4): + /svelte-preprocess@5.0.3(postcss@8.4.23)(svelte@3.58.0)(typescript@5.0.4): resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -2059,6 +2120,7 @@ packages: '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 + postcss: 8.4.23 sorcery: 0.11.0 strip-indent: 3.0.0 svelte: 3.58.0 @@ -2244,6 +2306,11 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + /yaml@2.2.2: resolution: {integrity: sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==} engines: {node: '>= 14'}