Skip to content

Commit cba2aca

Browse files
committed
chore: un-mono-repoing
1 parent 5227715 commit cba2aca

20 files changed

+5662
-19
lines changed

.config/eslint.js.config.base.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import eslint from '@eslint/js';
2+
import eslintConfigPrettier from 'eslint-config-prettier';
3+
4+
export default [eslint.configs.recommended, eslintConfigPrettier];
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
import eslint from '@eslint/js';
2+
import tseslint from 'typescript-eslint';
3+
import react from 'eslint-plugin-react';
4+
import { fixupPluginRules } from '@eslint/compat';
5+
import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
6+
import eslintConfigPrettier from 'eslint-config-prettier';
7+
8+
export default (
9+
tsconfigRootDir,
10+
files = ['**/*.ts', '**/*.tsx'],
11+
project = true,
12+
) => [
13+
{
14+
files,
15+
...eslint.configs.recommended,
16+
},
17+
...tseslint.configs.recommendedTypeChecked.map((config) => ({
18+
files,
19+
...config,
20+
})),
21+
...tseslint.configs.stylisticTypeChecked.map((config) => ({
22+
files,
23+
...config,
24+
})),
25+
{
26+
files,
27+
languageOptions: {
28+
parserOptions: {
29+
project,
30+
tsconfigRootDir,
31+
},
32+
},
33+
},
34+
{
35+
files,
36+
...react.configs.flat.recommended,
37+
},
38+
{
39+
files,
40+
settings: {
41+
react: {
42+
version: 'detect',
43+
},
44+
},
45+
},
46+
{
47+
files,
48+
plugins: {
49+
'react-hooks': fixupPluginRules(eslintPluginReactHooks),
50+
},
51+
},
52+
{
53+
files,
54+
...eslintConfigPrettier,
55+
},
56+
{
57+
files,
58+
rules: {
59+
'@typescript-eslint/no-unsafe-return': 'off',
60+
'@typescript-eslint/no-unsafe-assignment': 'off',
61+
'@typescript-eslint/no-unsafe-call': 'off',
62+
'@typescript-eslint/no-unsafe-member-access': 'off',
63+
'@typescript-eslint/no-misused-promises': [
64+
'error',
65+
{
66+
checksVoidReturn: {
67+
attributes: false,
68+
},
69+
},
70+
],
71+
'@typescript-eslint/prefer-optional-chain': 'off',
72+
'@typescript-eslint/no-base-to-string': 'off',
73+
'@typescript-eslint/consistent-indexed-object-style': 'off',
74+
'@typescript-eslint/prefer-nullish-coalescing': 'off',
75+
'@typescript-eslint/consistent-type-definitions': 'off',
76+
'@typescript-eslint/no-unused-vars': 'off',
77+
'@typescript-eslint/no-explicit-any': 'off',
78+
'@typescript-eslint/prefer-for-of': 'off',
79+
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
80+
'@typescript-eslint/class-literal-property-style': 'off',
81+
'@typescript-eslint/no-redundant-type-constituents': 'off',
82+
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
83+
'@typescript-eslint/no-duplicate-type-constituents': 'off',
84+
'@typescript-eslint/array-type': 'off',
85+
'@typescript-eslint/prefer-function-type': 'off',
86+
'react/prop-types': 'off',
87+
},
88+
},
89+
];
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
import eslint from '@eslint/js';
2+
import tseslint from 'typescript-eslint';
3+
import react from 'eslint-plugin-react';
4+
import { fixupPluginRules } from '@eslint/compat';
5+
import eslintPluginReactHooks from 'eslint-plugin-react-hooks';
6+
import jest from 'eslint-plugin-jest';
7+
import eslintConfigPrettier from 'eslint-config-prettier';
8+
9+
export default (tsconfigRootDir) => [
10+
{
11+
files: ['test/**/*.ts', 'test/**/*.tsx'],
12+
...eslint.configs.recommended,
13+
},
14+
...tseslint.configs.recommendedTypeChecked.map((config) => ({
15+
files: ['test/**/*.ts', 'test/**/*.tsx'],
16+
...config,
17+
})),
18+
...tseslint.configs.stylisticTypeChecked.map((config) => ({
19+
files: ['test/**/*.ts', 'test/**/*.tsx'],
20+
...config,
21+
})),
22+
{
23+
files: ['test/**/*.ts', 'test/**/*.tsx'],
24+
languageOptions: {
25+
parserOptions: {
26+
project: ['./tsconfig.test.json'],
27+
tsconfigRootDir,
28+
},
29+
},
30+
},
31+
{
32+
files: ['test/**/*.ts', 'test/**/*.tsx'],
33+
...react.configs.flat.recommended,
34+
},
35+
{
36+
files: ['test/**/*.ts', 'test/**/*.tsx'],
37+
settings: {
38+
react: {
39+
version: 'detect',
40+
},
41+
},
42+
},
43+
{
44+
files: ['test/**/*.ts', 'test/**/*.tsx'],
45+
plugins: {
46+
'react-hooks': fixupPluginRules(eslintPluginReactHooks),
47+
},
48+
},
49+
{
50+
files: ['test/**/*.ts', 'test/**/*.tsx'],
51+
...jest.configs['flat/recommended'],
52+
},
53+
{
54+
files: ['test/**/*.ts', 'test/**/*.tsx'],
55+
...jest.configs['jest/style'],
56+
},
57+
{
58+
files: ['test/**/*.ts', 'test/**/*.tsx'],
59+
...eslintConfigPrettier,
60+
},
61+
{
62+
files: ['test/**/*.ts', 'test/**/*.tsx'],
63+
rules: {
64+
'@typescript-eslint/no-unsafe-return': 'off',
65+
'@typescript-eslint/no-unsafe-assignment': 'off',
66+
'@typescript-eslint/no-unsafe-call': 'off',
67+
'@typescript-eslint/no-unsafe-member-access': 'off',
68+
'@typescript-eslint/prefer-optional-chain': 'off',
69+
'@typescript-eslint/no-base-to-string': 'off',
70+
'@typescript-eslint/consistent-indexed-object-style': 'off',
71+
'@typescript-eslint/prefer-nullish-coalescing': 'off',
72+
'@typescript-eslint/consistent-type-definitions': 'off',
73+
'@typescript-eslint/no-unused-vars': 'off',
74+
'@typescript-eslint/no-explicit-any': 'off',
75+
'@typescript-eslint/prefer-for-of': 'off',
76+
'@typescript-eslint/non-nullable-type-assertion-style': 'off',
77+
'@typescript-eslint/class-literal-property-style': 'off',
78+
'@typescript-eslint/no-redundant-type-constituents': 'off',
79+
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
80+
'@typescript-eslint/no-duplicate-type-constituents': 'off',
81+
'@typescript-eslint/array-type': 'off',
82+
'@typescript-eslint/prefer-function-type': 'off',
83+
},
84+
},
85+
];

.config/tsconfig.base.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"target": "es2020",
4+
"moduleResolution": "bundler",
5+
"declaration": true,
6+
"strict": true,
7+
"allowSyntheticDefaultImports": true,
8+
"esModuleInterop": true,
9+
"forceConsistentCasingInFileNames": true,
10+
"types": []
11+
}
12+
}

.config/tsconfig.esm.base.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"compilerOptions": {
3+
"target": "es2020",
4+
"module": "node16",
5+
"declaration": true,
6+
"strict": true,
7+
"allowSyntheticDefaultImports": true,
8+
"esModuleInterop": true,
9+
"forceConsistentCasingInFileNames": true,
10+
"types": []
11+
}
12+
}

.config/tsconfig.esm.react.base.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "./tsconfig.esm.base.json",
3+
"compilerOptions": {
4+
"jsx": "react"
5+
}
6+
}

.config/tsconfig.react.base.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"jsx": "react"
5+
}
6+
}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.idea
2+
node_modules
3+
lib

eslint.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import eslintJs from '../../eslint.js.config.base.mjs';
2-
import eslintTsReact from '../../eslint.ts.react.config.base.mjs';
3-
import eslintTsReactJest from '../../eslint.ts.react.jest.config.base.mjs';
1+
import eslintJs from '.config/eslint.js.config.base.mjs';
2+
import eslintTsReact from '.config/eslint.ts.react.config.base.mjs';
3+
import eslintTsReactJest from '.config/eslint.ts.react.jest.config.base.mjs';
44

55
export default [
66
...eslintJs,

examples/eslint.config.mjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import eslintJs from '../../../eslint.js.config.base.mjs';
2-
import eslintTs from '../../../eslint.ts.react.config.base.mjs';
1+
import eslintJs from '.config/eslint.js.config.base.mjs';
2+
import eslintTs from '.config/eslint.ts.react.config.base.mjs';
33

44
export default [
55
...eslintJs,
66
...eslintTs(import.meta.dirname),
77
...eslintTs(
88
import.meta.dirname,
99
['webpack.config.ts'],
10-
['./tsconfig.webpack.json'],
10+
['tsconfig.webpack.json'],
1111
),
1212
{
1313
ignores: ['dist'],

0 commit comments

Comments
 (0)