This commit is contained in:
Nathan Bierema 2024-08-06 23:05:46 -04:00
parent 62d62d37ae
commit 786a48b3c6
7 changed files with 82 additions and 47 deletions

View File

@ -19,7 +19,7 @@ export default (tsconfigRootDir) => [
files: ['**/*.ts'],
languageOptions: {
parserOptions: {
projectService: true,
project: true,
tsconfigRootDir,
},
},

View File

@ -0,0 +1,64 @@
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
import jest from 'eslint-plugin-jest';
import eslintConfigPrettier from 'eslint-config-prettier';
export default (files, tsconfigRootDir, tsconfigFile) => [
{
files,
...eslint.configs.recommended,
},
...tseslint.configs.recommendedTypeChecked.map((config) => ({
files,
...config,
})),
...tseslint.configs.stylisticTypeChecked.map((config) => ({
files,
...config,
})),
{
files,
languageOptions: {
parserOptions: {
project: [tsconfigFile],
tsconfigRootDir,
},
},
},
{
files,
...jest.configs['flat/recommended'],
},
{
files,
...jest.configs['jest/style'],
},
{
files,
...eslintConfigPrettier,
},
{
files,
rules: {
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/prefer-optional-chain': 'off',
'@typescript-eslint/no-base-to-string': 'off',
'@typescript-eslint/consistent-indexed-object-style': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'off',
'@typescript-eslint/consistent-type-definitions': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/prefer-for-of': 'off',
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
'@typescript-eslint/class-literal-property-style': 'off',
'@typescript-eslint/no-redundant-type-constituents': 'off',
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
'@typescript-eslint/no-duplicate-type-constituents': 'off',
'@typescript-eslint/array-type': 'off',
'@typescript-eslint/prefer-function-type': 'off',
},
},
];

View File

@ -1 +0,0 @@
lib

View File

@ -1,21 +0,0 @@
module.exports = {
extends: '../../eslintrc.js.base.json',
overrides: [
{
files: ['*.ts'],
extends: '../../eslintrc.ts.jest.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: true,
},
},
{
files: ['test/**/*.ts'],
extends: '../../eslintrc.ts.jest.base.json',
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.test.json'],
},
},
],
};

View File

@ -0,0 +1,16 @@
import eslintJs from '../../eslint.js.config.base.mjs';
import eslintTs from '../../eslint.ts.config.base.mjs';
import eslintTsJest from '../../eslint.ts.jest.config.base.mjs';
export default [
...eslintJs,
...eslintTs(import.meta.dirname),
...eslintTsJest(
['test/**/*.ts'],
import.meta.dirname,
'./tsconfig.test.json',
),
{
ignores: ['lib'],
},
];

View File

@ -31,7 +31,7 @@
"build": "tsc",
"clean": "rimraf lib",
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
"lint": "eslint . --ext .ts",
"lint": "eslint .",
"type-check": "tsc --noEmit",
"prepack": "pnpm run clean && pnpm run build",
"prepublish": "pnpm run lint && pnpm run test"
@ -42,11 +42,6 @@
"devDependencies": {
"@types/jest": "^29.5.12",
"@types/lodash-es": "^4.17.12",
"@typescript-eslint/eslint-plugin": "^8.0.1",
"@typescript-eslint/parser": "^8.0.1",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.7.0",
"immutable": "^4.3.7",
"jest": "^29.7.0",
"rimraf": "^6.0.1",

View File

@ -350,9 +350,6 @@ importers:
typescript:
specifier: ~5.5.4
version: 5.5.4
typescript-eslint:
specifier: ^8.0.1
version: 8.0.1(eslint@8.57.0)(typescript@5.5.4)
packages/map2tree:
dependencies:
@ -366,21 +363,6 @@ importers:
'@types/lodash-es':
specifier: ^4.17.12
version: 4.17.12
'@typescript-eslint/eslint-plugin':
specifier: ^8.0.1
version: 8.0.1(@typescript-eslint/parser@8.0.1)(eslint@8.57.0)(typescript@5.5.4)
'@typescript-eslint/parser':
specifier: ^8.0.1
version: 8.0.1(eslint@8.57.0)(typescript@5.5.4)
eslint:
specifier: ^8.57.0
version: 8.57.0
eslint-config-prettier:
specifier: ^9.1.0
version: 9.1.0(eslint@8.57.0)
eslint-plugin-jest:
specifier: ^28.7.0
version: 28.7.0(@typescript-eslint/eslint-plugin@8.0.1)(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.4)
immutable:
specifier: ^4.3.7
version: 4.3.7