@flarian/frontend-preset 1.6.0 → 2.0.0
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 +269 -129
- package/dist/eslint/config/imports.cjs +8 -3
- package/dist/eslint/config/imports.d.cts +5 -3
- package/dist/eslint/config/imports.d.mts +5 -3
- package/dist/eslint/config/imports.d.ts +5 -3
- package/dist/eslint/config/imports.mjs +7 -3
- package/dist/eslint/config/javascript.cjs +72 -0
- package/dist/eslint/config/javascript.d.cts +7 -0
- package/dist/eslint/config/javascript.d.mts +7 -0
- package/dist/eslint/config/javascript.d.ts +7 -0
- package/dist/eslint/config/javascript.mjs +64 -0
- package/dist/eslint/config/json.cjs +31 -9
- package/dist/eslint/config/json.d.cts +12 -3
- package/dist/eslint/config/json.d.mts +12 -3
- package/dist/eslint/config/json.d.ts +12 -3
- package/dist/eslint/config/json.mjs +26 -9
- package/dist/eslint/config/jsx.cjs +34 -20
- package/dist/eslint/config/jsx.d.cts +5 -3
- package/dist/eslint/config/jsx.d.mts +5 -3
- package/dist/eslint/config/jsx.d.ts +5 -3
- package/dist/eslint/config/jsx.mjs +33 -20
- package/dist/eslint/config/prettier.cjs +50 -11
- package/dist/eslint/config/prettier.d.cts +5 -3
- package/dist/eslint/config/prettier.d.mts +5 -3
- package/dist/eslint/config/prettier.d.ts +5 -3
- package/dist/eslint/config/prettier.mjs +46 -9
- package/dist/eslint/config/react.cjs +12 -7
- package/dist/eslint/config/react.d.cts +5 -3
- package/dist/eslint/config/react.d.mts +5 -3
- package/dist/eslint/config/react.d.ts +5 -3
- package/dist/eslint/config/react.mjs +11 -7
- package/dist/eslint/config/{base.cjs → stylistic.cjs} +292 -178
- package/dist/eslint/config/stylistic.d.cts +7 -0
- package/dist/eslint/config/stylistic.d.mts +7 -0
- package/dist/eslint/config/stylistic.d.ts +7 -0
- package/dist/eslint/config/{base.mjs → stylistic.mjs} +291 -174
- package/dist/eslint/config/typescript.cjs +43 -0
- package/dist/eslint/config/typescript.d.cts +7 -0
- package/dist/eslint/config/typescript.d.mts +7 -0
- package/dist/eslint/config/typescript.d.ts +7 -0
- package/dist/eslint/config/typescript.mjs +36 -0
- package/dist/eslint/config/vue.cjs +25 -13
- package/dist/eslint/config/vue.d.cts +5 -6
- package/dist/eslint/config/vue.d.mts +5 -6
- package/dist/eslint/config/vue.d.ts +5 -6
- package/dist/eslint/config/vue.mjs +24 -13
- package/dist/eslint/index.cjs +37 -21
- package/dist/eslint/index.d.cts +10 -8
- package/dist/eslint/index.d.mts +10 -8
- package/dist/eslint/index.d.ts +10 -8
- package/dist/eslint/index.mjs +19 -14
- package/dist/index.cjs +13 -12
- package/dist/index.d.cts +9 -7
- package/dist/index.d.mts +9 -7
- package/dist/index.d.ts +9 -7
- package/dist/index.mjs +13 -12
- package/dist/prettier/config/base.cjs +1 -1
- package/dist/prettier/config/base.mjs +1 -1
- package/dist/shared/frontend-preset.B9JjGTzu.d.mts +60 -0
- package/dist/shared/frontend-preset.BUXYewoh.d.ts +60 -0
- package/dist/shared/frontend-preset.CADA8VXw.mjs +37 -0
- package/dist/shared/frontend-preset.Cco7BHYd.cjs +5 -0
- package/dist/shared/frontend-preset.CnYH3mAs.d.cts +60 -0
- package/dist/shared/frontend-preset.CtslHPdG.mjs +3 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.cts +8 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.mts +8 -0
- package/dist/shared/frontend-preset.DEAWyl_Y.d.ts +8 -0
- package/dist/shared/frontend-preset.GULoLGRF.cjs +39 -0
- package/dist/stylelint/config/all.d.cts +4 -2
- package/dist/stylelint/config/all.d.mts +4 -2
- package/dist/stylelint/config/all.d.ts +4 -2
- package/dist/stylelint/config/less.cjs +5 -1
- package/dist/stylelint/config/less.mjs +5 -1
- package/dist/stylelint/config/scss.cjs +5 -1
- package/dist/stylelint/config/scss.mjs +5 -1
- package/package.json +74 -24
- package/dist/eslint/config/all.cjs +0 -36
- package/dist/eslint/config/all.d.cts +0 -14
- package/dist/eslint/config/all.d.mts +0 -14
- package/dist/eslint/config/all.d.ts +0 -14
- package/dist/eslint/config/all.mjs +0 -33
- package/dist/eslint/config/base.d.cts +0 -8
- package/dist/eslint/config/base.d.mts +0 -8
- package/dist/eslint/config/base.d.ts +0 -8
- package/dist/shared/frontend-preset.BXVU99PK.d.mts +0 -37
- package/dist/shared/frontend-preset.Bfc_XKcp.d.cts +0 -37
- package/dist/shared/frontend-preset.CbViwkJz.cjs +0 -27
- package/dist/shared/frontend-preset.CiCuZ-UD.d.ts +0 -37
- package/dist/shared/frontend-preset.DbH8phB0.mjs +0 -25
package/README.md
CHANGED
|
@@ -1,176 +1,295 @@
|
|
|
1
|
-
# frontend-preset
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- .yaml
|
|
16
|
-
|
|
17
|
-
## Установка
|
|
1
|
+
# @flarian/frontend-preset
|
|
2
|
+
|
|
3
|
+
Preset for ESLint, Prettier and Stylelint with flat config support.
|
|
4
|
+
|
|
5
|
+
## Supported formats
|
|
6
|
+
|
|
7
|
+
`.js` `.jsx` `.ts` `.tsx` `.json` `.jsonc` `.css` `.less` `.scss` `.vue` `.pug` `.yml` `.yaml`
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## ESLint
|
|
12
|
+
|
|
13
|
+
### JavaScript
|
|
14
|
+
|
|
18
15
|
```sh
|
|
19
|
-
pnpm add
|
|
16
|
+
pnpm add -D eslint @eslint/js globals @flarian/frontend-preset
|
|
20
17
|
```
|
|
21
18
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"strict": true,
|
|
31
|
-
"strictNullChecks": true,
|
|
32
|
-
"noUnusedLocals": true,
|
|
33
|
-
"jsx": "preserve",
|
|
34
|
-
"resolveJsonModule": true,
|
|
35
|
-
"outDir": "dist",
|
|
36
|
-
"baseUrl": ".",
|
|
37
|
-
"declaration": true,
|
|
38
|
-
"declarationMap": true,
|
|
39
|
-
},
|
|
40
|
-
}
|
|
19
|
+
```ts
|
|
20
|
+
// eslint.config.ts
|
|
21
|
+
import { javascript } from '@flarian/frontend-preset/eslint';
|
|
22
|
+
|
|
23
|
+
export default [
|
|
24
|
+
...javascript,
|
|
25
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
26
|
+
];
|
|
41
27
|
```
|
|
42
28
|
|
|
43
|
-
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
### TypeScript
|
|
32
|
+
|
|
33
|
+
Requires JavaScript config.
|
|
34
|
+
|
|
44
35
|
```sh
|
|
45
|
-
pnpm add
|
|
36
|
+
pnpm add -D typescript-eslint
|
|
46
37
|
```
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
// eslint.config.ts
|
|
41
|
+
import { javascript, typescript } from '@flarian/frontend-preset/eslint';
|
|
42
|
+
|
|
43
|
+
export default [
|
|
44
|
+
...javascript,
|
|
45
|
+
...typescript,
|
|
46
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
47
|
+
];
|
|
54
48
|
```
|
|
55
49
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### Stylistic
|
|
53
|
+
|
|
54
|
+
Formatting rules via `@stylistic/eslint-plugin`. Use together with Prettier or standalone.
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
pnpm add -D @stylistic/eslint-plugin
|
|
58
|
+
```
|
|
61
59
|
|
|
62
|
-
## Примеры конфигураций:
|
|
63
|
-
### Настройка ESLint
|
|
64
|
-
#### eslint.config.ts
|
|
65
60
|
```ts
|
|
66
|
-
|
|
61
|
+
// eslint.config.ts
|
|
62
|
+
import { javascript, typescript, stylistic } from '@flarian/frontend-preset/eslint';
|
|
67
63
|
|
|
68
64
|
export default [
|
|
69
|
-
...
|
|
65
|
+
...javascript,
|
|
66
|
+
...typescript,
|
|
67
|
+
...stylistic,
|
|
68
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
69
|
+
];
|
|
70
|
+
```
|
|
70
71
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
### Imports
|
|
75
|
+
|
|
76
|
+
Sorts and validates imports via `eslint-plugin-simple-import-sort`.
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
pnpm add -D eslint-plugin-simple-import-sort
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
// eslint.config.ts
|
|
84
|
+
import { javascript, typescript, imports } from '@flarian/frontend-preset/eslint';
|
|
85
|
+
|
|
86
|
+
export default [
|
|
87
|
+
...javascript,
|
|
88
|
+
...typescript,
|
|
89
|
+
...imports,
|
|
90
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
74
91
|
];
|
|
75
92
|
```
|
|
76
93
|
|
|
77
94
|
---
|
|
78
95
|
|
|
79
|
-
###
|
|
80
|
-
|
|
81
|
-
- Если вы используете Pug в Vue проекте, то необходимо добавить зависимость @prettier/plugin-pug в ваш проект и определить конфигурацию prettier.config.mjs:
|
|
96
|
+
### JSON / package.json / tsconfig.json
|
|
97
|
+
|
|
82
98
|
```sh
|
|
83
|
-
pnpm add
|
|
99
|
+
pnpm add -D eslint-plugin-jsonc
|
|
84
100
|
```
|
|
85
101
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
import {
|
|
102
|
+
```ts
|
|
103
|
+
// eslint.config.ts
|
|
104
|
+
import { json, packageJson, tsconfigJson } from '@flarian/frontend-preset/eslint';
|
|
105
|
+
|
|
106
|
+
export default [
|
|
107
|
+
...json,
|
|
108
|
+
...packageJson,
|
|
109
|
+
...tsconfigJson,
|
|
110
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
111
|
+
];
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### JSX
|
|
117
|
+
|
|
118
|
+
Stylistic rules for JSX. Requires `stylistic`.
|
|
119
|
+
|
|
120
|
+
No additional dependencies required.
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
// eslint.config.ts
|
|
124
|
+
import { javascript, stylistic, jsx } from '@flarian/frontend-preset/eslint';
|
|
125
|
+
|
|
126
|
+
export default [
|
|
127
|
+
...javascript,
|
|
128
|
+
...stylistic,
|
|
129
|
+
...jsx,
|
|
130
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
131
|
+
];
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### Vue
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
pnpm add -D eslint-plugin-vue vue-eslint-parser
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
// eslint.config.ts
|
|
144
|
+
import { javascript, typescript, stylistic, imports, vue } from '@flarian/frontend-preset/eslint';
|
|
89
145
|
|
|
90
|
-
export default
|
|
146
|
+
export default [
|
|
147
|
+
...javascript,
|
|
148
|
+
...typescript,
|
|
149
|
+
...stylistic,
|
|
150
|
+
...imports,
|
|
151
|
+
...vue,
|
|
152
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
153
|
+
];
|
|
91
154
|
```
|
|
92
155
|
|
|
93
156
|
---
|
|
94
157
|
|
|
95
|
-
###
|
|
96
|
-
В зависимости от используемого препроцессора (LESS или SCSS), необходимо установить дополнительные зависимости:
|
|
158
|
+
### React
|
|
97
159
|
|
|
98
|
-
#### Для LESS:
|
|
99
160
|
```sh
|
|
100
|
-
pnpm add
|
|
161
|
+
pnpm add -D eslint-plugin-react eslint-plugin-react-hooks
|
|
101
162
|
```
|
|
102
163
|
|
|
103
|
-
|
|
164
|
+
```ts
|
|
165
|
+
// eslint.config.ts
|
|
166
|
+
import { javascript, typescript, stylistic, imports, jsx, react } from '@flarian/frontend-preset/eslint';
|
|
167
|
+
|
|
168
|
+
export default [
|
|
169
|
+
...javascript,
|
|
170
|
+
...typescript,
|
|
171
|
+
...stylistic,
|
|
172
|
+
...imports,
|
|
173
|
+
...jsx,
|
|
174
|
+
...react,
|
|
175
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
176
|
+
];
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
### Prettier (ESLint integration)
|
|
182
|
+
|
|
183
|
+
Runs Prettier as an ESLint rule. Automatically applies Vue, Pug and YAML overrides for `.vue` files.
|
|
184
|
+
|
|
104
185
|
```sh
|
|
105
|
-
pnpm add
|
|
186
|
+
pnpm add -D prettier eslint-plugin-prettier
|
|
106
187
|
```
|
|
107
188
|
|
|
108
|
-
|
|
109
|
-
```js
|
|
110
|
-
import { all } from '@flarian/frontend-preset/stylelint';
|
|
189
|
+
For Pug support in `.vue` files:
|
|
111
190
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
};
|
|
191
|
+
```sh
|
|
192
|
+
pnpm add -D @prettier/plugin-pug
|
|
115
193
|
```
|
|
116
194
|
|
|
117
|
-
|
|
118
|
-
|
|
195
|
+
```ts
|
|
196
|
+
// eslint.config.ts
|
|
197
|
+
import { javascript, typescript, stylistic, imports, vue, prettier } from '@flarian/frontend-preset/eslint';
|
|
198
|
+
|
|
199
|
+
export default [
|
|
200
|
+
...javascript,
|
|
201
|
+
...typescript,
|
|
202
|
+
...stylistic,
|
|
203
|
+
...imports,
|
|
204
|
+
...vue,
|
|
205
|
+
...prettier, // must be last
|
|
206
|
+
{ ignores: ['dist/**', 'node_modules/**'] },
|
|
207
|
+
];
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Prettier
|
|
213
|
+
|
|
214
|
+
```sh
|
|
215
|
+
pnpm add -D prettier
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
```ts
|
|
219
|
+
// prettier.config.ts
|
|
220
|
+
import { baseConfig } from '@flarian/frontend-preset/prettier';
|
|
221
|
+
|
|
222
|
+
export default baseConfig;
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
For Vue + Pug projects:
|
|
226
|
+
|
|
227
|
+
```sh
|
|
228
|
+
pnpm add -D @prettier/plugin-pug
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```ts
|
|
232
|
+
// prettier.config.ts
|
|
233
|
+
import { baseConfig, pugConfig, vueConfig, ymlConfig } from '@flarian/frontend-preset/prettier';
|
|
234
|
+
|
|
119
235
|
export default {
|
|
120
|
-
|
|
236
|
+
...baseConfig,
|
|
237
|
+
...vueConfig,
|
|
238
|
+
...ymlConfig,
|
|
239
|
+
...pugConfig,
|
|
121
240
|
};
|
|
122
241
|
```
|
|
123
242
|
|
|
124
|
-
|
|
125
|
-
```ini
|
|
126
|
-
root = true
|
|
243
|
+
---
|
|
127
244
|
|
|
128
|
-
|
|
129
|
-
[*]
|
|
130
|
-
charset = utf-8
|
|
131
|
-
end_of_line = lf
|
|
132
|
-
indent_size = 4
|
|
133
|
-
indent_style = tab
|
|
134
|
-
insert_final_newline = true
|
|
135
|
-
trim_trailing_whitespace = true
|
|
245
|
+
## Stylelint
|
|
136
246
|
|
|
137
|
-
|
|
138
|
-
[*.{md,markdown}]
|
|
139
|
-
trim_trailing_whitespace = false
|
|
247
|
+
### LESS
|
|
140
248
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
indent_size = 4
|
|
249
|
+
```sh
|
|
250
|
+
pnpm add -D stylelint stylelint-order stylelint-less stylelint-config-standard stylelint-config-standard-less stylelint-config-recommended-vue
|
|
251
|
+
```
|
|
145
252
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
indent_size = 4
|
|
253
|
+
```js
|
|
254
|
+
// stylelint.config.mjs
|
|
255
|
+
import { less } from '@flarian/frontend-preset/stylelint';
|
|
150
256
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
indent_style = tab
|
|
154
|
-
indent_size = 4
|
|
257
|
+
export default { extends: [less] };
|
|
258
|
+
```
|
|
155
259
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
260
|
+
### SCSS
|
|
261
|
+
|
|
262
|
+
```sh
|
|
263
|
+
pnpm add -D stylelint stylelint-order stylelint-scss stylelint-config-standard stylelint-config-standard-scss stylelint-config-recommended-vue
|
|
160
264
|
```
|
|
161
265
|
|
|
162
|
-
|
|
266
|
+
```js
|
|
267
|
+
// stylelint.config.mjs
|
|
268
|
+
import { scss } from '@flarian/frontend-preset/stylelint';
|
|
269
|
+
|
|
270
|
+
export default { extends: [scss] };
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## VSCode extensions
|
|
276
|
+
|
|
277
|
+
- [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
|
|
278
|
+
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
|
|
279
|
+
- [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint)
|
|
280
|
+
- [EditorConfig](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig)
|
|
281
|
+
|
|
282
|
+
## VSCode settings
|
|
283
|
+
|
|
163
284
|
```json
|
|
164
285
|
{
|
|
165
|
-
/* Language settings */
|
|
166
286
|
"[css]": {
|
|
167
287
|
"editor.defaultFormatter": "stylelint.vscode-stylelint",
|
|
168
288
|
"editor.formatOnSave": true
|
|
169
289
|
},
|
|
170
290
|
"[javascript]": {
|
|
171
291
|
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
|
172
|
-
"editor.formatOnSave": true
|
|
173
|
-
"editor.suggest.insertMode": "replace"
|
|
292
|
+
"editor.formatOnSave": true
|
|
174
293
|
},
|
|
175
294
|
"[json]": {
|
|
176
295
|
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
|
@@ -196,25 +315,46 @@ indent_size = 2
|
|
|
196
315
|
"editor.defaultFormatter": "redhat.vscode-yaml",
|
|
197
316
|
"editor.formatOnSave": true
|
|
198
317
|
},
|
|
199
|
-
|
|
200
|
-
/* Editor */
|
|
201
|
-
"editor.accessibilitySupport": "off",
|
|
202
318
|
"editor.codeActionsOnSave": {
|
|
203
319
|
"source.fixAll.eslint": "explicit",
|
|
204
320
|
"source.fixAll.stylelint": "always"
|
|
205
321
|
},
|
|
206
|
-
|
|
207
|
-
/* ESLint */
|
|
208
322
|
"eslint.format.enable": true,
|
|
209
323
|
"eslint.validate": ["json", "jsonc", "javascript", "typescript", "vue", "yaml", "yml"],
|
|
210
|
-
|
|
211
|
-
/* JSON */
|
|
212
|
-
"json.format.enable": true,
|
|
213
|
-
"json.format.keepLines": false,
|
|
214
|
-
"json.validate.enable": false,
|
|
215
|
-
|
|
216
|
-
/* Stylelint */
|
|
217
324
|
"stylelint.packageManager": "pnpm",
|
|
218
|
-
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"]
|
|
325
|
+
"stylelint.validate": ["css", "less", "postcss", "scss", "vue", "sass"]
|
|
219
326
|
}
|
|
220
327
|
```
|
|
328
|
+
|
|
329
|
+
## .editorconfig
|
|
330
|
+
|
|
331
|
+
```ini
|
|
332
|
+
root = true
|
|
333
|
+
|
|
334
|
+
[*]
|
|
335
|
+
charset = utf-8
|
|
336
|
+
end_of_line = lf
|
|
337
|
+
indent_size = 4
|
|
338
|
+
indent_style = tab
|
|
339
|
+
insert_final_newline = true
|
|
340
|
+
trim_trailing_whitespace = true
|
|
341
|
+
|
|
342
|
+
[*.{md,markdown}]
|
|
343
|
+
trim_trailing_whitespace = false
|
|
344
|
+
|
|
345
|
+
[*.{js,ts,jsx,tsx,cjs,mjs,vue}]
|
|
346
|
+
indent_style = tab
|
|
347
|
+
indent_size = 4
|
|
348
|
+
|
|
349
|
+
[*.{css,less}]
|
|
350
|
+
indent_style = tab
|
|
351
|
+
indent_size = 4
|
|
352
|
+
|
|
353
|
+
[*.{json}]
|
|
354
|
+
indent_style = tab
|
|
355
|
+
indent_size = 4
|
|
356
|
+
|
|
357
|
+
[*.{yaml,yml}]
|
|
358
|
+
indent_style = space
|
|
359
|
+
indent_size = 2
|
|
360
|
+
```
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
const stripPlugins = require('../../shared/frontend-preset.Cco7BHYd.cjs');
|
|
3
4
|
const simpleImportSort = require('eslint-plugin-simple-import-sort');
|
|
4
5
|
|
|
5
6
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
6
7
|
|
|
7
8
|
const simpleImportSort__default = /*#__PURE__*/_interopDefaultCompat(simpleImportSort);
|
|
8
9
|
|
|
9
|
-
const
|
|
10
|
+
const esLintImportsRules = {
|
|
10
11
|
files: ["**/*.{js,ts,jsx,tsx,cjs,mjs,vue}"],
|
|
11
12
|
plugins: {
|
|
12
13
|
"@simple-import-sort": simpleImportSort__default
|
|
@@ -31,6 +32,10 @@ const esLintImportSortRules = {
|
|
|
31
32
|
}
|
|
32
33
|
};
|
|
33
34
|
|
|
34
|
-
const
|
|
35
|
+
const createImportsConfig = ({ registerPlugins = true } = {}) => [
|
|
36
|
+
registerPlugins ? esLintImportsRules : stripPlugins.stripPlugins(esLintImportsRules)
|
|
37
|
+
];
|
|
38
|
+
const imports = createImportsConfig();
|
|
35
39
|
|
|
36
|
-
exports.
|
|
40
|
+
exports.createImportsConfig = createImportsConfig;
|
|
41
|
+
exports.imports = imports;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as Config, a as CreateConfig } from '../../shared/frontend-preset.DEAWyl_Y.cjs';
|
|
2
|
+
import 'eslint';
|
|
2
3
|
|
|
3
|
-
declare const
|
|
4
|
+
declare const createImportsConfig: CreateConfig;
|
|
5
|
+
declare const imports: Config;
|
|
4
6
|
|
|
5
|
-
export {
|
|
7
|
+
export { createImportsConfig, imports };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as Config, a as CreateConfig } from '../../shared/frontend-preset.DEAWyl_Y.mjs';
|
|
2
|
+
import 'eslint';
|
|
2
3
|
|
|
3
|
-
declare const
|
|
4
|
+
declare const createImportsConfig: CreateConfig;
|
|
5
|
+
declare const imports: Config;
|
|
4
6
|
|
|
5
|
-
export {
|
|
7
|
+
export { createImportsConfig, imports };
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as Config, a as CreateConfig } from '../../shared/frontend-preset.DEAWyl_Y.js';
|
|
2
|
+
import 'eslint';
|
|
2
3
|
|
|
3
|
-
declare const
|
|
4
|
+
declare const createImportsConfig: CreateConfig;
|
|
5
|
+
declare const imports: Config;
|
|
4
6
|
|
|
5
|
-
export {
|
|
7
|
+
export { createImportsConfig, imports };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { s as stripPlugins } from '../../shared/frontend-preset.CtslHPdG.mjs';
|
|
1
2
|
import simpleImportSort from 'eslint-plugin-simple-import-sort';
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
+
const esLintImportsRules = {
|
|
4
5
|
files: ["**/*.{js,ts,jsx,tsx,cjs,mjs,vue}"],
|
|
5
6
|
plugins: {
|
|
6
7
|
"@simple-import-sort": simpleImportSort
|
|
@@ -25,6 +26,9 @@ const esLintImportSortRules = {
|
|
|
25
26
|
}
|
|
26
27
|
};
|
|
27
28
|
|
|
28
|
-
const
|
|
29
|
+
const createImportsConfig = ({ registerPlugins = true } = {}) => [
|
|
30
|
+
registerPlugins ? esLintImportsRules : stripPlugins(esLintImportsRules)
|
|
31
|
+
];
|
|
32
|
+
const imports = createImportsConfig();
|
|
29
33
|
|
|
30
|
-
export {
|
|
34
|
+
export { createImportsConfig, imports };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const globals = require('globals');
|
|
4
|
+
const jsPlugin = require('@eslint/js');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
7
|
+
|
|
8
|
+
const globals__default = /*#__PURE__*/_interopDefaultCompat(globals);
|
|
9
|
+
const jsPlugin__default = /*#__PURE__*/_interopDefaultCompat(jsPlugin);
|
|
10
|
+
|
|
11
|
+
const esLintJavaScriptRules = {
|
|
12
|
+
rules: {
|
|
13
|
+
"arrow-body-style": ["error", "as-needed"],
|
|
14
|
+
curly: ["error", "all"],
|
|
15
|
+
"func-names": ["error", "always"],
|
|
16
|
+
"no-undef": "off",
|
|
17
|
+
"no-alert": "error",
|
|
18
|
+
"no-console": "error",
|
|
19
|
+
"no-var": "error",
|
|
20
|
+
"no-duplicate-imports": [
|
|
21
|
+
"error",
|
|
22
|
+
{
|
|
23
|
+
includeExports: true
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"no-magic-numbers": [
|
|
27
|
+
"error",
|
|
28
|
+
{
|
|
29
|
+
ignore: [-1, 0, 1],
|
|
30
|
+
ignoreArrayIndexes: true,
|
|
31
|
+
ignoreDefaultValues: true,
|
|
32
|
+
enforceConst: true
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"no-plusplus": "off",
|
|
36
|
+
"no-restricted-syntax": [
|
|
37
|
+
"error",
|
|
38
|
+
{
|
|
39
|
+
selector: "ForInStatement",
|
|
40
|
+
message: "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
selector: "LabeledStatement",
|
|
44
|
+
message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
selector: "WithStatement",
|
|
48
|
+
message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"no-unused-expressions": [
|
|
52
|
+
"error",
|
|
53
|
+
{
|
|
54
|
+
allowShortCircuit: true
|
|
55
|
+
}
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const createJavascriptConfig = () => [
|
|
61
|
+
{
|
|
62
|
+
languageOptions: {
|
|
63
|
+
globals: { ...globals__default.browser, ...globals__default.node }
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
jsPlugin__default.configs.recommended,
|
|
67
|
+
esLintJavaScriptRules
|
|
68
|
+
];
|
|
69
|
+
const javascript = createJavascriptConfig();
|
|
70
|
+
|
|
71
|
+
exports.createJavascriptConfig = createJavascriptConfig;
|
|
72
|
+
exports.javascript = javascript;
|