Skip to content

Commit 22e4873

Browse files
committed
Fix(ESLint): Separate the responsibility for exporting configurations
1 parent 110b1ba commit 22e4873

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+258
-97
lines changed

eslint.config.mjs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import techor from 'eslint-config-techor'
2+
import tseslint from 'typescript-eslint'
23

3-
export default [
4+
export default tseslint.config(
5+
techor.configs.base,
6+
techor.configs.stylistic,
47
techor.configs.typescript,
5-
techor.configs.core
6-
]
8+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/commitlint-config/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
"name": "commitlint-config-techor",
33
"scripts": {
4-
"test": "jest"
4+
"test": "jest",
5+
"lint": "eslint"
56
},
67
"license": "MIT",
78
"description": "Check your commits with Techor's commitlint config",
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"extends": "../../tsconfig.json",
3+
"compilerOptions": {
4+
"baseUrl": ".",
5+
"outDir": "dist",
6+
},
7+
"include": [
8+
"src/**/*.ts",
9+
"src/**/*.d.ts",
10+
"tests/**/*.ts",
11+
"jest.config.ts",
12+
"eslint.config.mjs",
13+
"rollup.config.mjs"
14+
]
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/conventional-changelog-config/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"dev": "pnpm run \"/^build:.*/\" --watch",
88
"test": "pnpm build && jest",
99
"type-check": "tsc --noEmit",
10-
"lint": "eslint src"
10+
"lint": "eslint"
1111
},
1212
"license": "MIT",
1313
"description": "Beautiful changelog based on Techor's conventional commits",

packages/conventional-changelog-config/tsconfig.json

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
"include": [
88
"src/**/*.ts",
99
"src/**/*.d.ts",
10+
"tests/**/*.ts",
11+
"jest.config.ts",
12+
"eslint.config.mjs",
13+
"rollup.config.mjs",
1014
"./declaration.d.ts"
1115
],
1216
"exclude": [
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/conventional-commits/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"build": "pnpm run \"/^build:.*/\"",
99
"dev": "pnpm run \"/^build:.*/\" --watch",
1010
"type-check": "tsc --noEmit",
11-
"lint": "eslint src"
11+
"lint": "eslint"
1212
},
1313
"description": "A human-readable set of conventional commits, with version rules and changelog groupings",
1414
"author": {

packages/conventional-commits/tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
},
77
"include": [
88
"src/**/*.ts",
9-
"src/**/*.d.ts"
9+
"src/**/*.d.ts",
10+
"tests/**/*.ts",
11+
"jest.config.ts",
12+
"eslint.config.mjs",
13+
"rollup.config.mjs",
1014
],
1115
"exclude": [
1216
"src/**/*.test.ts"
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/cross-import/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dev": "pnpm run \"/^build:.*/\" --watch",
99
"test": "jest",
1010
"type-check": "tsc --noEmit",
11-
"lint": "eslint src"
11+
"lint": "eslint"
1212
},
1313
"license": "MIT",
1414
"description": "Import .ts, .mjs, .cjs files across environments as JavaScript modules",

packages/cross-import/tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
},
88
"include": [
99
"src/**/*.ts",
10-
"src/**/*.d.ts"
10+
"src/**/*.d.ts",
11+
"tests/**/*.ts",
12+
"jest.config.ts",
13+
"eslint.config.mjs",
14+
"rollup.config.mjs",
1115
],
1216
"exclude": [
1317
"src/**/*.test.ts"
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/** @type {import('eslint').Linter.Config} */
2+
module.exports = {
3+
ignores: [
4+
'**/node_modules/**',
5+
'**/dist/**',
6+
'**/build/**',
7+
'**/coverage/**',
8+
'**/.git/**',
9+
'**/.next/**',
10+
'**/.nuxt/**',
11+
'**/public/**',
12+
'.env*',
13+
'yarn.lock',
14+
'package-lock.json',
15+
'**/*.log',
16+
'**/*.d.ts',
17+
'**/*.min.js',
18+
]
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/** @type {import('eslint').Linter.Config} */
2+
module.exports = {
3+
rules: {
4+
'linebreak-style': 0,
5+
'no-case-declarations': 'off',
6+
'indent': ['off', 4],
7+
'quotes': ['error', 'single', { 'allowTemplateLiterals': true }],
8+
'semi': ['error', 'never']
9+
}
10+
}
+22-7
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,32 @@
1-
/* eslint-disable no-undef */
21
const parser = require('@typescript-eslint/parser')
3-
const eslintPlugin = require('@typescript-eslint/eslint-plugin')
2+
const ts = require('@typescript-eslint/eslint-plugin')
43

5-
/** @type {import('eslint').Config} */
4+
/** @type {import('eslint').Linter.Config} */
65
module.exports = {
6+
rules: {
7+
...ts.configs['recommended'].rules,
8+
...ts.configs['strict'].rules,
9+
...ts.configs['stylistic'].rules,
10+
'@typescript-eslint/no-require-imports': 'off',
11+
'@typescript-eslint/no-var-requires': 'off',
12+
'@typescript-eslint/no-unused-vars': 'off',
13+
'@typescript-eslint/no-explicit-any': 'off',
14+
'@typescript-eslint/ban-ts-comment': 'off',
15+
'@typescript-eslint/no-unused-expressions': 'off',
16+
'@typescript-eslint/no-require-imports': 'off',
17+
'@typescript-eslint/prefer-nullish-coalescing': 'off',
18+
'@typescript-eslint/no-unnecessary-condition': 'off',
19+
'@typescript-eslint/no-dynamic-delete': 'off',
20+
'@typescript-eslint/no-useless-constructor': 'off',
21+
'@typescript-eslint/no-empty-function': 'off',
22+
},
23+
plugins: {
24+
'@typescript-eslint': ts,
25+
},
726
languageOptions: {
827
parser,
928
parserOptions: {
1029
projectService: true,
11-
tsconfigRootDir: __dirname,
1230
sourceType: 'module'
1331
},
1432
ecmaVersion: 'latest',
@@ -19,8 +37,5 @@ module.exports = {
1937
jest: true
2038
}
2139
},
22-
plugins: {
23-
'@typescript-eslint': eslintPlugin,
24-
},
2540
files: ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts']
2641
}

packages/eslint-config/core.js

-32
This file was deleted.
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/eslint-config/index.js

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
/* eslint-disable no-undef */
2-
/* eslint-disable @typescript-eslint/no-require-imports */
3-
1+
const base = require('./configs/base')
2+
const stylistic = require('./configs/stylistic')
43
const typescript = require('./configs/typescript')
5-
const core = require('./core')
64

7-
/** @type {import('@typescript-eslint/utils/ts-eslint').ClassicConfig} */
5+
/** @type {import('eslint').Linter.LegacyConfig} */
86
module.exports = {
97
configs: {
10-
core,
8+
base,
9+
stylistic,
1110
typescript
1211
},
1312
env: {
@@ -21,8 +20,11 @@ module.exports = {
2120
ecmaVersion: 'latest',
2221
sourceType: 'module'
2322
},
24-
rules: core.rules,
25-
ignorePatterns: core.ignores,
23+
rules: {
24+
...stylistic.rules,
25+
...typescript.rules
26+
},
27+
ignorePatterns: base.ignores,
2628
parser: '@typescript-eslint/parser',
2729
plugins: ['@typescript-eslint'],
2830
extends: [

packages/eslint-config/package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
"bugs": {
1212
"url": "https://github.com/techor-dev/techor/issues"
1313
},
14+
"scripts": {
15+
"lint": "eslint"
16+
},
1417
"publishConfig": {
1518
"access": "public",
1619
"provenance": true
@@ -34,12 +37,12 @@
3437
"main": "./index.js",
3538
"files": [
3639
"./index.js",
37-
"./core.js",
3840
"configs"
3941
],
4042
"dependencies": {
4143
"@eslint/js": "",
4244
"@typescript-eslint/eslint-plugin": "^8.0.0",
45+
"@typescript-eslint/parser": "^8.0.0",
4346
"typescript-eslint": ""
4447
},
4548
"peerDependencies": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/explore-config/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dev": "pnpm run \"/^build:.*/\" --watch",
99
"test": "jest",
1010
"type-check": "tsc --noEmit",
11-
"lint": "eslint src"
11+
"lint": "eslint"
1212
},
1313
"license": "MIT",
1414
"description": "Explore multi-format JavaScript module configuration",

packages/explore-config/tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
},
77
"include": [
88
"src/**/*.ts",
9-
"src/**/*.d.ts"
9+
"src/**/*.d.ts",
10+
"tests/**/*.ts",
11+
"jest.config.ts",
12+
"eslint.config.mjs",
13+
"rollup.config.mjs",
1014
],
1115
"exclude": [
1216
"src/**/*.test.ts"

packages/extend/eslint.config.mjs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/extend/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dev": "pnpm run \"/^build:.*/\" --watch",
99
"test": "jest",
1010
"type-check": "tsc --noEmit",
11-
"lint": "eslint src"
11+
"lint": "eslint"
1212
},
1313
"license": "MIT",
1414
"description": "Deeply extend objects",

packages/extend/test.ts renamed to packages/extend/tests/test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import extend from './src'
1+
import extend from '../src'
22

33
it('overview', () => {
44
expect(

packages/extend/tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
},
77
"include": [
88
"src/**/*.ts",
9-
"src/**/*.d.ts"
9+
"src/**/*.d.ts",
10+
"tests/**/*.ts",
11+
"jest.config.ts",
12+
"eslint.config.mjs",
13+
"rollup.config.mjs",
1014
],
1115
"exclude": [
1216
"src/**/*.test.ts"

packages/fs/eslint.config.mjs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

packages/fs/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"dev": "pnpm run \"/^build:.*/\" --watch",
99
"test": "jest",
1010
"type-check": "tsc --noEmit",
11-
"lint": "eslint src"
11+
"lint": "eslint"
1212
},
1313
"license": "MIT",
1414
"description": "A human-friendly file system",

packages/fs/tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@
77
},
88
"include": [
99
"src/**/*.ts",
10-
"src/**/*.d.ts"
10+
"src/**/*.d.ts",
11+
"tests/**/*.ts",
12+
"jest.config.ts",
13+
"eslint.config.mjs",
14+
"rollup.config.mjs",
1115
],
1216
"exclude": [
1317
"src/**/*.test.ts"

packages/glob/eslint.config.mjs

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import common from '../../eslint.config.mjs'
2+
3+
export default common

0 commit comments

Comments
 (0)