create-twenty-app 0.2.3 → 0.3.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/cli.cjs +18 -16
- package/dist/cli.mjs +846 -846
- package/dist/constants/base-application/eslint.config.mjs +12 -120
- package/package.json +1 -1
|
@@ -1,137 +1,29 @@
|
|
|
1
1
|
import js from '@eslint/js';
|
|
2
|
-
import
|
|
3
|
-
import typescriptParser from '@typescript-eslint/parser';
|
|
4
|
-
import importPlugin from 'eslint-plugin-import';
|
|
5
|
-
import preferArrowPlugin from 'eslint-plugin-prefer-arrow';
|
|
6
|
-
import prettierPlugin from 'eslint-plugin-prettier';
|
|
7
|
-
import unusedImportsPlugin from 'eslint-plugin-unused-imports';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
8
3
|
|
|
9
4
|
export default [
|
|
10
|
-
// Base JS rules
|
|
5
|
+
// Base JS recommended rules
|
|
11
6
|
js.configs.recommended,
|
|
12
7
|
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
ignores: ['**/node_modules/**', '**/dist/**', '**/coverage/**'],
|
|
16
|
-
},
|
|
8
|
+
// TypeScript recommended rules
|
|
9
|
+
...tseslint.configs.recommended,
|
|
17
10
|
|
|
18
|
-
// Base config for TS/JS files
|
|
19
11
|
{
|
|
20
|
-
files: ['**/*.
|
|
12
|
+
files: ['**/*.ts', '**/*.tsx'],
|
|
21
13
|
languageOptions: {
|
|
22
|
-
ecmaVersion: 'latest',
|
|
23
|
-
sourceType: 'module',
|
|
24
|
-
},
|
|
25
|
-
plugins: {
|
|
26
|
-
prettier: prettierPlugin,
|
|
27
|
-
import: importPlugin,
|
|
28
|
-
'prefer-arrow': preferArrowPlugin,
|
|
29
|
-
'unused-imports': unusedImportsPlugin,
|
|
30
|
-
},
|
|
31
|
-
rules: {
|
|
32
|
-
// General rules (aligned with main project)
|
|
33
|
-
'func-style': ['error', 'declaration', { allowArrowFunctions: true }],
|
|
34
|
-
'no-console': [
|
|
35
|
-
'warn',
|
|
36
|
-
{ allow: ['group', 'groupCollapsed', 'groupEnd'] },
|
|
37
|
-
],
|
|
38
|
-
'no-control-regex': 0,
|
|
39
|
-
'no-debugger': 'error',
|
|
40
|
-
'no-duplicate-imports': 'error',
|
|
41
|
-
'no-undef': 'off',
|
|
42
|
-
'no-unused-vars': 'off',
|
|
43
|
-
|
|
44
|
-
// Import rules
|
|
45
|
-
'import/no-relative-packages': 'error',
|
|
46
|
-
'import/no-useless-path-segments': 'error',
|
|
47
|
-
'import/no-duplicates': ['error', { considerQueryString: true }],
|
|
48
|
-
|
|
49
|
-
// Prefer arrow functions
|
|
50
|
-
'prefer-arrow/prefer-arrow-functions': [
|
|
51
|
-
'error',
|
|
52
|
-
{
|
|
53
|
-
disallowPrototype: true,
|
|
54
|
-
singleReturnOnly: false,
|
|
55
|
-
classPropertiesAllowed: false,
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
|
|
59
|
-
// Unused imports
|
|
60
|
-
'unused-imports/no-unused-imports': 'warn',
|
|
61
|
-
'unused-imports/no-unused-vars': [
|
|
62
|
-
'warn',
|
|
63
|
-
{
|
|
64
|
-
vars: 'all',
|
|
65
|
-
varsIgnorePattern: '^_',
|
|
66
|
-
args: 'after-used',
|
|
67
|
-
argsIgnorePattern: '^_',
|
|
68
|
-
},
|
|
69
|
-
],
|
|
70
|
-
|
|
71
|
-
// Prettier (formatting as lint errors if you want)
|
|
72
|
-
'prettier/prettier': 'error',
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
// TypeScript-specific configuration
|
|
77
|
-
{
|
|
78
|
-
files: ['**/*.{ts,tsx}'],
|
|
79
|
-
languageOptions: {
|
|
80
|
-
parser: typescriptParser,
|
|
81
14
|
parserOptions: {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
},
|
|
15
|
+
project: true,
|
|
16
|
+
tsconfigRootDir: import.meta.dirname,
|
|
85
17
|
},
|
|
86
18
|
},
|
|
87
|
-
plugins: {
|
|
88
|
-
'@typescript-eslint': typescriptEslint,
|
|
89
|
-
},
|
|
90
19
|
rules: {
|
|
91
|
-
//
|
|
92
|
-
'no-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
'@typescript-eslint/ban-ts-comment': 'error',
|
|
96
|
-
'@typescript-eslint/consistent-type-imports': [
|
|
97
|
-
'error',
|
|
98
|
-
{
|
|
99
|
-
prefer: 'type-imports',
|
|
100
|
-
fixStyle: 'inline-type-imports',
|
|
101
|
-
},
|
|
102
|
-
],
|
|
103
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
104
|
-
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
105
|
-
'@typescript-eslint/interface-name-prefix': 'off',
|
|
106
|
-
'@typescript-eslint/no-empty-interface': [
|
|
107
|
-
'error',
|
|
108
|
-
{
|
|
109
|
-
allowSingleExtends: true,
|
|
110
|
-
},
|
|
20
|
+
// Common TypeScript-friendly tweaks
|
|
21
|
+
'@typescript-eslint/no-unused-vars': [
|
|
22
|
+
'warn',
|
|
23
|
+
{ argsIgnorePattern: '^_' },
|
|
111
24
|
],
|
|
112
25
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
113
|
-
'
|
|
114
|
-
'@typescript-eslint/no-unused-vars': 'off',
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
|
|
118
|
-
// Test files (Jest)
|
|
119
|
-
{
|
|
120
|
-
files: ['**/*.spec.@(ts|tsx|js|jsx)', '**/*.test.@(ts|tsx|js|jsx)'],
|
|
121
|
-
languageOptions: {
|
|
122
|
-
globals: {
|
|
123
|
-
jest: true,
|
|
124
|
-
describe: true,
|
|
125
|
-
it: true,
|
|
126
|
-
expect: true,
|
|
127
|
-
beforeEach: true,
|
|
128
|
-
afterEach: true,
|
|
129
|
-
beforeAll: true,
|
|
130
|
-
afterAll: true,
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
rules: {
|
|
134
|
-
'@typescript-eslint/no-non-null-assertion': 'off',
|
|
26
|
+
'no-unused-vars': 'off', // handled by TS rule
|
|
135
27
|
},
|
|
136
28
|
},
|
|
137
29
|
];
|