Skip to content

Commit 6eb1654

Browse files
authored
Eslint update (#10)
* Updated eslint package * Updated eslint to v9 * Updated eslint config vue * Converted index.js to index.mts for all configs * Updated configs to all work together again * Updated changeset * Updated package versions
1 parent 1fd5168 commit 6eb1654

File tree

18 files changed

+2127
-2481
lines changed

18 files changed

+2127
-2481
lines changed

.changeset/lazy-spiders-grin.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@script-development/eslint-config-vue": minor
3+
"@script-development/eslint-config-ts": minor
4+
"@script-development/eslint-config": minor
5+
---
6+
7+
Updated to eslint v9 with flat config

apps/vitesse-base/.eslintignore

Lines changed: 0 additions & 2 deletions
This file was deleted.

apps/vitesse-base/.eslintrc

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import eslintConfigVue from '@script-development/eslint-config-vue'
2+
import type { Linter } from "eslint";
3+
4+
export default [
5+
...eslintConfigVue
6+
]satisfies Linter.Config[];

apps/vitesse-base/package.json

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,54 +4,55 @@
44
"scripts": {
55
"build": "vite build",
66
"dev": "vite --port 3000 --open",
7-
"lint": "eslint \"**/*.{vue,ts,js}\" --fix",
7+
"lint": "eslint \"**/*.{vue,ts,js}\" --fix --flag unstable_ts_config",
88
"test": "vitest",
99
"test:unit": "vitest",
1010
"typecheck": "vue-tsc --noEmit"
1111
},
1212
"dependencies": {
13-
"@vueuse/core": "^7.6.1",
14-
"@vueuse/head": "^0.7.5",
15-
"axios": "^0.26.0",
16-
"moment": "^2.29.1",
13+
"@vueuse/core": "^7.7.1",
14+
"@vueuse/head": "^0.7.13",
15+
"axios": "^0.26.1",
16+
"moment": "^2.30.1",
1717
"nprogress": "^0.2.0",
18-
"pinia": "^2.0.11",
19-
"prism-theme-vars": "^0.2.2",
20-
"sass": "^1.49.7",
21-
"vue": "^3.2.30",
22-
"vue-demi": "^0.12.1",
23-
"vue-i18n": "^9.1.9",
24-
"vue-router": "^4.0.12"
18+
"pinia": "^2.2.4",
19+
"prism-theme-vars": "^0.2.5",
20+
"sass": "^1.79.4",
21+
"vue": "^3.5.11",
22+
"vue-demi": "^0.12.5",
23+
"vue-i18n": "^9.14.1",
24+
"vue-router": "^4.4.5"
2525
},
2626
"devDependencies": {
2727
"@script-development/eslint-config-vue": "workspace:*",
28-
"@iconify-json/carbon": "^1.0.15",
29-
"@iconify-json/fa-brands": "^1.1.0",
30-
"@iconify-json/noto": "^1.1.0",
31-
"@iconify-json/uil": "^1.1.0",
32-
"@intlify/vite-plugin-vue-i18n": "^3.2.2",
33-
"@types/markdown-it-link-attributes": "^3.0.1",
34-
"@types/nprogress": "^0.2.0",
35-
"@vitejs/plugin-vue": "^2.2.0",
36-
"@vue/test-utils": "^2.0.0-rc.18",
37-
"critters": "^0.0.16",
28+
"@iconify-json/carbon": "^1.2.2",
29+
"@iconify-json/fa-brands": "^1.2.0",
30+
"@iconify-json/noto": "^1.2.1",
31+
"@iconify-json/uil": "^1.2.1",
32+
"@intlify/vite-plugin-vue-i18n": "^3.4.0",
33+
"@types/markdown-it-link-attributes": "^3.0.5",
34+
"@types/nprogress": "^0.2.3",
35+
"@vitejs/plugin-vue": "^2.3.4",
36+
"@vue/test-utils": "^2.4.6",
37+
"jiti":"^2.3.3",
38+
"critters": "^0.0.24",
3839
"cross-env": "^7.0.3",
39-
"https-localhost": "^4.7.0",
40-
"markdown-it-link-attributes": "^4.0.0",
41-
"markdown-it-prism": "^2.2.2",
42-
"pnpm": "^6.30.1",
43-
"typescript": "^4.5.5",
44-
"unplugin-auto-import": "^0.5.11",
45-
"unplugin-icons": "^0.13.1",
46-
"unplugin-vue-components": "^0.17.18",
47-
"vite": "^2.8.0",
48-
"vite-plugin-inspect": "^0.3.14",
49-
"vite-plugin-md": "^0.11.8",
50-
"vite-plugin-pages": "^0.20.2",
51-
"vite-plugin-pwa": "^0.11.13",
52-
"vite-plugin-vue-layouts": "^0.6.0",
53-
"vite-plugin-windicss": "^1.7.0",
54-
"vitest": "^0.3.2",
55-
"vue-tsc": "^0.31.2"
40+
"https-localhost": "^4.7.1",
41+
"markdown-it-link-attributes": "^4.0.1",
42+
"markdown-it-prism": "^2.3.0",
43+
"pnpm": "^6.35.1",
44+
"typescript": "^5.6.3",
45+
"unplugin-auto-import": "^0.18.3",
46+
"unplugin-icons": "^0.13.4",
47+
"unplugin-vue-components": "^0.17.21",
48+
"vite": "^2.9.18",
49+
"vite-plugin-inspect": "^0.3.15",
50+
"vite-plugin-md": "^0.11.9",
51+
"vite-plugin-pages": "^0.32.3",
52+
"vite-plugin-pwa": "^0.20.5",
53+
"vite-plugin-vue-layouts": "^0.11.0",
54+
"vite-plugin-windicss": "^1.9.3",
55+
"vitest": "^0.3.6",
56+
"vue-tsc": "^0.31.4"
5657
}
5758
}

apps/vitesse-base/src/services/http.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import type {AxiosError, AxiosRequestConfig, Method} from 'axios'
44
import axios from 'axios'
55
import {ref} from 'vue'
66

7-
import {getEnv} from './env'
8-
97
import {useMainStore} from '~/stores/main'
108

9+
import {getEnv} from './env'
10+
1111
const BASE_URL = getEnv('VITE_API_URL')
1212
export const requesting = ref(false)
1313

@@ -35,8 +35,7 @@ const doRequest = async(config: AxiosRequestConfig) => {
3535
requesting.value = false
3636
}
3737
}
38-
39-
// eslint-disable-next-line complexity
38+
4039
const createRequestConfig = async(method: Method, uri: string, body?: any): Promise<AxiosRequestConfig> => {
4140
const url = new URL(`${BASE_URL}/${uri}`)
4241

apps/vitesse-base/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {defineConfig} from 'vite'
1212
import Inspect from 'vite-plugin-inspect'
1313
import Markdown from 'vite-plugin-md'
1414
import Pages from 'vite-plugin-pages'
15-
import { VitePWA } from 'vite-plugin-pwa'
15+
import {VitePWA} from 'vite-plugin-pwa'
1616
import Layouts from 'vite-plugin-vue-layouts'
1717
import WindiCSS from 'vite-plugin-windicss'
1818

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
},
99
"devDependencies": {
1010
"@script-development/eslint-config-ts": "workspace:*",
11-
"@turbo/gen": "^1.13.2",
12-
"eslint": "^8.57.0",
13-
"prettier": "^3.2.5",
11+
"@turbo/gen": "^2.1.3",
12+
"eslint": "^9.12.0",
13+
"prettier": "^3.3.3",
1414
"turbo": "latest"
1515
},
1616
"packageManager": "pnpm@9.0.1",
1717
"name": "eslint-config",
1818
"dependencies": {
19-
"@changesets/cli": "^2.27.1"
19+
"@changesets/cli": "^2.27.9"
2020
}
2121
}

packages/eslint-config-ts/index.js

Lines changed: 0 additions & 82 deletions
This file was deleted.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
import importPlugin from 'eslint-plugin-import';
2+
import tsEslint from 'typescript-eslint'
3+
import scriptLint from '@script-development/eslint-config'
4+
5+
export default tsEslint.config(
6+
...scriptLint,
7+
importPlugin.flatConfigs.typescript,
8+
...tsEslint.configs.recommended,
9+
{
10+
name:'@script-development/eslint-config-ts',
11+
settings: {
12+
'import/resolver': {
13+
node: { extensions: ['.vue', '.js', '.ts', '.d.ts', '.spec.ts'] },
14+
'typescript': {
15+
'alwaysTryTypes': true,
16+
},
17+
},
18+
},
19+
languageOptions: {
20+
parser: tsEslint.parser,
21+
parserOptions: {
22+
ecmaVersion: 'latest',
23+
sourceType: 'module',
24+
}
25+
},
26+
27+
rules: {
28+
'@typescript-eslint/consistent-type-imports': 'error',
29+
'@typescript-eslint/ban-ts-comment': [
30+
'error',
31+
{ 'ts-ignore': 'allow-with-description' },
32+
],
33+
'@typescript-eslint/no-unused-vars': [
34+
'error',
35+
{
36+
'argsIgnorePattern': '^_',
37+
'destructuredArrayIgnorePattern': '_',
38+
'ignoreRestSiblings': true,
39+
},
40+
],
41+
'@typescript-eslint/array-type': 'error',
42+
'@typescript-eslint/consistent-type-assertions': [
43+
'error',
44+
{ assertionStyle: 'angle-bracket', objectLiteralTypeAssertions: 'never' },
45+
],
46+
'@typescript-eslint/consistent-type-definitions': ['error', 'interface'],
47+
48+
'@typescript-eslint/naming-convention': [
49+
'error',
50+
{
51+
selector: ['memberLike', 'method', 'property', 'variableLike'],
52+
format: ['camelCase'],
53+
leadingUnderscore: 'forbid',
54+
trailingUnderscore: 'forbid',
55+
filter: {
56+
// We want to ignore _ because it is our symbol for unused variable
57+
// We ignore words with a / for mimetypes
58+
regex: '_|/|\\d+',
59+
match: false,
60+
},
61+
},
62+
{
63+
selector: ['typeLike'],
64+
format: ['PascalCase'],
65+
leadingUnderscore: 'forbid',
66+
trailingUnderscore: 'forbid',
67+
},
68+
{
69+
selector: 'variable',
70+
format: ['UPPER_CASE', 'camelCase'],
71+
modifiers: ['const'],
72+
},
73+
{
74+
selector: 'variable',
75+
format: ['PascalCase'],
76+
modifiers: ['const'],
77+
filter: {
78+
regex: 'Component$',
79+
match: true,
80+
},
81+
},
82+
],
83+
},
84+
85+
}
86+
)

0 commit comments

Comments
 (0)