Skip to content

Commit 7f84ccb

Browse files
authored
chore: upgrade eslint/prettier (#8)
1 parent bd9db9f commit 7f84ccb

File tree

11 files changed

+739
-506
lines changed

11 files changed

+739
-506
lines changed

.eslintrc.cjs

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

.github/workflows/pr-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ jobs:
2727
- name: Install dependencies
2828
run: pnpm install
2929

30-
- name: Lint
31-
run: pnpm run lint
32-
3330
- name: Build
3431
run: pnpm run build
32+
33+
- name: Lint
34+
run: pnpm run lint

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ node_modules
1111
dist
1212
dist-ssr
1313
*.local
14+
.eslintcache
1415

1516
# Editor directories and files
1617
.vscode/*

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
pnpm-lock.yaml
22
pnpm-workspace.yaml
3+
dist
4+
CHANGELOG*.md

eslint.config.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { createRequire } from 'module';
2+
import pluginJs from '@eslint/js';
3+
import configPrettier from 'eslint-config-prettier';
4+
import pluginImportX from 'eslint-plugin-import-x';
5+
import globals from 'globals';
6+
import { config, configs as configsTs, parser } from 'typescript-eslint';
7+
8+
const pkg = createRequire(import.meta.url)('./package.json');
9+
10+
export default config(
11+
{
12+
files: ['**/*.{js,mjs,cjs,jsx,ts,cts,mts,tsx,vue}'],
13+
languageOptions: { parser },
14+
},
15+
pluginJs.configs.recommended,
16+
...configsTs.recommended,
17+
configPrettier,
18+
pluginImportX.flatConfigs.recommended,
19+
pluginImportX.flatConfigs.typescript,
20+
{
21+
settings: {
22+
'import-x/resolver': { typescript: true, node: true },
23+
'import-x/internal-regex': RegExp(`^${pkg.name}.*`),
24+
},
25+
rules: {
26+
'import-x/order': ['error', { alphabetize: { order: 'asc' } }],
27+
'import-x/no-deprecated': ['warn'],
28+
},
29+
},
30+
31+
// Node scripts
32+
{
33+
files: [
34+
'eslint.config.js',
35+
'rollup*.config.js',
36+
'scripts/**',
37+
'./*.{js,ts}',
38+
'packages/*/*.js',
39+
],
40+
languageOptions: { globals: globals.node },
41+
rules: {
42+
'no-restricted-globals': 'off',
43+
'no-console': 'off',
44+
},
45+
},
46+
47+
{
48+
ignores: ['**/dist/', '**/temp/', '**/coverage/', '.idea/'],
49+
},
50+
);

package.json

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,38 +14,41 @@
1414
"dev": "pnpm -r --parallel run dev",
1515
"build": "pnpm -r run build",
1616
"build:docker": "pnpm -r --stream run build:docker",
17+
"clean": "rimraf --glob packages/*/dist temp .eslintcache",
1718
"format": "prettier . --write --ignore-unknown",
18-
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --ignore-path .gitignore",
19+
"lint": "eslint --cache .",
1920
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
2021
"release": "node scripts/release.js",
2122
"postinstall": "simple-git-hooks"
2223
},
2324
"devDependencies": {
24-
"@types/node": "^20.10.6",
25-
"@typescript-eslint/eslint-plugin": "^6.16.0",
26-
"@typescript-eslint/parser": "^6.16.0",
25+
"@eslint/js": "^9.10.0",
26+
"@types/node": "^20.16.5",
2727
"conventional-changelog-cli": "^5.0.0",
28-
"eslint": "^8.56.0",
28+
"eslint": "^9.10.0",
2929
"eslint-config-prettier": "^9.1.0",
30-
"eslint-define-config": "^2.1.0",
31-
"eslint-plugin-prettier": "^5.1.2",
30+
"eslint-import-resolver-typescript": "^3.6.3",
31+
"eslint-plugin-import-x": "^4.2.1",
3232
"execa": "^9.3.1",
33+
"globals": "^15.9.0",
3334
"just-pnpm": "^1.0.2",
34-
"lint-staged": "^15.2.0",
35+
"lint-staged": "^15.2.10",
3536
"minimist": "^1.2.8",
3637
"picocolors": "^1.1.0",
37-
"prettier": "^3.1.1",
38+
"prettier": "^3.3.3",
3839
"prompts": "^2.4.2",
40+
"rimraf": "^6.0.1",
3941
"semver": "^7.6.3",
4042
"simple-git-hooks": "^2.11.1",
41-
"typescript": "^5.5.4"
43+
"typescript": "~5.5.4",
44+
"typescript-eslint": "^8.5.0"
4245
},
4346
"simple-git-hooks": {
4447
"pre-commit": "pnpm lint-staged"
4548
},
4649
"lint-staged": {
47-
"*.{vue,js,jsx,cjs,mjs,ts,tsx,cts,mts}": [
48-
"eslint --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix"
50+
"*.{js,mjs,cjs,jsx,ts,cts,mts,tsx,vue}": [
51+
"eslint --fix"
4952
],
5053
"*": [
5154
"prettier --write --ignore-unknown"

packages/playground/src/main.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import './style.css';
2-
import viteLogo from '/vite.svg';
3-
import { isCallable } from '@coldrun/monorepo-typescript-shared';
42
import { setupCounter } from './counter.ts';
53
import typescriptLogo from './typescript.svg';
4+
import { isCallable } from '@coldrun/monorepo-typescript-shared';
65

76
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
87
<div>
98
<a href="https://vitejs.dev" target="_blank">
10-
<img src="${viteLogo}" class="logo" alt="Vite logo" />
9+
<img src="/vite.svg" class="logo" alt="Vite logo" />
1110
</a>
1211
<a href="https://www.typescriptlang.org/" target="_blank">
1312
<img src="${typescriptLogo}" class="logo vanilla" alt="TypeScript logo" />

packages/shared/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { defineConfig } from 'vite';
21
import { resolve } from 'path';
2+
import { defineConfig } from 'vite';
33
import dts from 'vite-plugin-dts';
44

55
export default defineConfig({

0 commit comments

Comments
 (0)