Skip to content

Commit

Permalink
chore(deps): update dependency eslint to v9 (#174)
Browse files Browse the repository at this point in the history
* chore(deps): update dependency eslint to v9

* chore: eslint 9

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: AriPerkkio <ari.perkkio@gmail.com>
  • Loading branch information
renovate[bot] and AriPerkkio committed Apr 14, 2024
1 parent 5db0438 commit b1192ce
Show file tree
Hide file tree
Showing 8 changed files with 234 additions and 182 deletions.
46 changes: 0 additions & 46 deletions .eslintrc.cjs

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16, 18]
node-version: [18, 20]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16, 18]
node-version: [18, 20]
example-name: [example-basic, example-workspace]

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vitest-latest-compatibility.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [16, 18]
node-version: [18, 20]
example-name: [example-basic, example-workspace]

steps:
Expand Down
51 changes: 51 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import { readFileSync } from 'node:fs';
import js from '@eslint/js';
import tseslint from 'typescript-eslint';
import eslintPluginUnicorn from 'eslint-plugin-unicorn';
import { FlatCompat } from '@eslint/eslintrc';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';

const tsconfig = JSON.parse(readFileSync('./tsconfig.json', 'utf8'));
const compat = new FlatCompat({ baseDirectory: import.meta.dirname });

export default defineConfig([
js.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked.map((config) => ({
...config,
files: tsconfig.include,
})),
{
files: tsconfig.include,
languageOptions: {
parserOptions: {
project: true,
tsconfigRootDir: import.meta.dirname,
},
},
},
{
plugins: { unicorn: eslintPluginUnicorn },
rules: { 'unicorn/prefer-node-protocol': 'error' },
},
...compat.plugins('eslint-plugin-import'),
{
// Require specifying extensions due to https://github.com/microsoft/TypeScript/issues/16577
files: ['src/**'],
rules: { 'import/extensions': ['error', 'always'] },
},
{
files: ['test/**'],
rules: {
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
},
},
{ ignores: ['dist', '.eslintrc.cjs'] },
eslintPluginPrettierRecommended,
]);

/** @param config {import('eslint').Linter.FlatConfig} */
function defineConfig(config) {
return config;
}
10 changes: 6 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,24 @@
"prebuild": "rm -rf ./dist",
"build": "tsc --project tsconfig.prod.json",
"start": "vitest --update",
"lint": "eslint . --max-warnings 0 --ext .ts && publint",
"lint": "eslint . --max-warnings 0 && publint",
"test": "vitest",
"validate": "pnpm build && pnpm lint && pnpm test run"
},
"devDependencies": {
"@eslint/eslintrc": "^3.0.2",
"@eslint/js": "^9.0.0",
"@types/eslint": "^8.56.9",
"@types/node": "^20.12.7",
"@typescript-eslint/eslint-plugin": "^7.6.0",
"@typescript-eslint/parser": "^7.6.0",
"eslint": "^8.57.0",
"eslint": "^9.0.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-unicorn": "^52.0.0",
"prettier": "^3.2.5",
"publint": "^0.2.7",
"typescript": "^5.4.5",
"typescript-eslint": "^7.6.0",
"vite": "^5.2.8",
"vitest": "^1.5.0"
},
Expand Down

0 comments on commit b1192ce

Please sign in to comment.