adjust lint config

This commit is contained in:
pa
2026-03-19 16:53:05 +09:00
parent 04ebfd0e78
commit cb7d6b78b3
11 changed files with 932 additions and 977 deletions

View File

@@ -1,12 +1,10 @@
{
"$schema": "./node_modules/oxlint/configuration_schema.json",
"plugins": [
"vue",
"jsdoc"
],
"plugins": ["vue"],
"categories": {
"correctness": "off"
},
"ignorePatterns": ["build/**", "node_modules/**"],
"env": {
"builtin": true
},
@@ -774,22 +772,7 @@
"XRWebGLLayer": "readonly",
"XSLTProcessor": "readonly"
},
"settings": {
"jsdoc": {
"structuredTags": {
"next": {
"required": [
"type"
]
},
"rejects": {
"required": [
"type"
]
}
}
}
},
"rules": {
"vue/no-arrow-functions-in-watch": "error",
"vue/no-deprecated-destroyed-lifecycle": "error",
@@ -799,29 +782,11 @@
"vue/valid-define-emits": "error",
"vue/valid-define-props": "error",
"no-unused-vars": "warn",
"no-control-regex": "warn",
"jsdoc/check-access": "warn",
"jsdoc/check-property-names": "warn",
"jsdoc/check-tag-names": "warn",
"jsdoc/empty-tags": "warn",
"jsdoc/implements-on-classes": "warn",
"jsdoc/no-defaults": "warn",
"jsdoc/require-param": "warn",
"jsdoc/require-param-name": "warn",
"jsdoc/require-param-type": "warn",
"jsdoc/require-property": "warn",
"jsdoc/require-property-description": "warn",
"jsdoc/require-property-name": "warn",
"jsdoc/require-property-type": "warn",
"jsdoc/require-returns": "warn",
"jsdoc/require-returns-type": "warn",
"jsdoc/require-yields": "warn"
"no-control-regex": "warn"
},
"overrides": [
{
"files": [
"**/*.{js,mjs,cjs,vue}"
],
"files": ["**/*.{js,mjs,cjs,vue}"],
"rules": {
"constructor-super": "error",
"for-direction": "error",
@@ -928,10 +893,7 @@
}
},
{
"files": [
"*.vue",
"**/*.vue"
],
"files": ["*.vue", "**/*.vue"],
"globals": {
"AbortController": "readonly",
"AbortSignal": "readonly",

View File

@@ -1,13 +1,13 @@
import { defineConfig } from 'eslint/config';
import { jsdoc } from 'eslint-plugin-jsdoc';
import oxlint from 'eslint-plugin-oxlint';
import globals from 'globals';
import js from '@eslint/js';
import pluginVue from 'eslint-plugin-vue';
import prettyImport from '@kamiya4047/eslint-plugin-pretty-import';
import oxlint from 'eslint-plugin-oxlint';
export default defineConfig([
{
ignores: ['build/**', 'node_modules/**']
},
{
files: ['**/*.{js,mjs,cjs,vue}'],
plugins: { js },
@@ -57,7 +57,8 @@ export default defineConfig([
files: [
'**/__tests__/**/*.{js,mjs,cjs,vue}',
'**/*.spec.{js,mjs,cjs,vue}',
'**/*.test.{js,mjs,cjs,vue}'
'**/*.test.{js,mjs,cjs,vue}',
'vitest.setup.js'
],
languageOptions: {
globals: {

30
package-lock.json generated
View File

@@ -20,7 +20,6 @@
"@fontsource-variable/noto-sans-sc": "^5.2.10",
"@fontsource-variable/noto-sans-tc": "^5.2.10",
"@internationalized/date": "^3.12.0",
"@kamiya4047/eslint-plugin-pretty-import": "^0.1.6",
"@pinia/testing": "^1.0.3",
"@sentry/vite-plugin": "^4.9.1",
"@sentry/vue": "^10.44.0",
@@ -2061,20 +2060,6 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@kamiya4047/eslint-plugin-pretty-import": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/@kamiya4047/eslint-plugin-pretty-import/-/eslint-plugin-pretty-import-0.1.6.tgz",
"integrity": "sha512-KuJs7CX/mcx5pfZGB6kEFCTeq7GZ/VD0tXpNfOeSKKtWICmc1Y6XChAiCY2yBMHJFBADuFhvf+ozpffX3IYc8A==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "^8.44.0"
},
"peerDependencies": {
"eslint": "^8.0.0 || ^9.0.0",
"typescript": "^5"
}
},
"node_modules/@malept/cross-spawn-promise": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
@@ -11660,21 +11645,6 @@
"node": ">= 0.8.0"
}
},
"node_modules/typescript": {
"version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
"peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/undici": {
"version": "7.24.2",
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.2.tgz",

View File

@@ -7,6 +7,10 @@
"dev": "cross-env PLATFORM=windows vite serve src",
"dev-linux": "cross-env PLATFORM=linux vite serve src",
"localization": "node ./src/shared/utils/localizationHelperCLI.js",
"lint": "npm run lint:oxlint && npm run lint:eslint",
"lint:eslint": "eslint .",
"lint:oxlint": "oxlint .",
"typecheck:js": "tsc -p tsconfig.checkjs.json --pretty false",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"prod": "cross-env PLATFORM=windows vite build src",
@@ -40,7 +44,6 @@
"@fontsource-variable/noto-sans-sc": "^5.2.10",
"@fontsource-variable/noto-sans-tc": "^5.2.10",
"@internationalized/date": "^3.12.0",
"@kamiya4047/eslint-plugin-pretty-import": "^0.1.6",
"@pinia/testing": "^1.0.3",
"@sentry/vite-plugin": "^4.9.1",
"@sentry/vue": "^10.44.0",

View File

@@ -1,4 +1,3 @@
/* eslint-disable pretty-import/sort-import-groups */
import { beforeEach, describe, expect, test, vi } from 'vitest';
import { createI18n } from 'vue-i18n';

View File

@@ -1434,6 +1434,7 @@
"sun": "Sun"
},
"easter_egg": "Did you farm your green squares today?",
"easter_egg_reply": "You can't farm this.",
"overlap": {
"header": "Online Overlap",
"peak_overlap": "Peak overlap:",

View File

@@ -1,4 +1,3 @@
/* eslint-disable pretty-import/sort-import-groups */
import { beforeEach, describe, expect, test, vi } from 'vitest';
import { createPinia, setActivePinia } from 'pinia';

View File

@@ -1,4 +1,3 @@
/* eslint-disable pretty-import/sort-import-groups */
import { beforeEach, describe, expect, test, vi } from 'vitest';
import { createPinia, setActivePinia } from 'pinia';

View File

@@ -1,4 +1,3 @@
/* eslint-disable pretty-import/sort-import-groups */
import { beforeEach, describe, expect, test, vi } from 'vitest';
import { createPinia, setActivePinia } from 'pinia';

6
src/types/vue-shim.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
declare module '*.vue' {
import type { DefineComponent } from 'vue';
const component: DefineComponent<{}, {}, any>;
export default component;
}

16
tsconfig.checkjs.json Normal file
View File

@@ -0,0 +1,16 @@
{
"extends": "./tsconfig.app.json",
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.checkjs.tsbuildinfo"
},
"include": ["src/**/*.js", "src/**/*.jsx", "src/types/**/*.d.ts"],
"exclude": [
"node_modules",
"build",
"src/**/*.spec.js",
"src/**/*.test.js",
"src/**/__tests__/**",
"src/app.js",
"src/vr/vr.js"
]
}