@storm-software/eslint 0.107.0 → 0.107.2

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.
Files changed (62) hide show
  1. package/README.md +1 -1
  2. package/dist/acorn-CCDA5Y7C.cjs +3131 -0
  3. package/dist/acorn-PTPZSZS6.js +3131 -0
  4. package/dist/angular-NDZ53HZT.js +3014 -0
  5. package/dist/angular-XXKPBORI.cjs +3014 -0
  6. package/dist/babel-7OKY5N6D.js +7166 -0
  7. package/dist/babel-ZAEH2MD6.cjs +7166 -0
  8. package/dist/chunk-2GN5RLNR.js +55 -0
  9. package/dist/chunk-BHJDUHOW.cjs +84 -0
  10. package/dist/chunk-CIGM5K4I.cjs +1334 -0
  11. package/dist/chunk-GSOR5H2M.cjs +4022 -0
  12. package/dist/chunk-HXTIVITI.js +4022 -0
  13. package/dist/chunk-KOFZWJCN.js +84 -0
  14. package/dist/chunk-PWYAFNCE.cjs +59 -0
  15. package/dist/chunk-V7TQDECV.js +1334 -0
  16. package/dist/dist-3EJMVSVL.js +15716 -0
  17. package/dist/dist-GB3FBWYD.cjs +15717 -0
  18. package/dist/esm-HMD4VZC2.js +1715 -0
  19. package/dist/esm-KLBQYHBS.cjs +1715 -0
  20. package/dist/estree-4FZVBA3I.js +4859 -0
  21. package/dist/estree-TXEM7J44.cjs +4859 -0
  22. package/dist/execa-6ZJHRRGH.js +2424 -0
  23. package/dist/execa-RWXGY3AF.cjs +2424 -0
  24. package/dist/flow-LEJXBIDN.cjs +28076 -0
  25. package/dist/flow-TYUDSDMT.js +28076 -0
  26. package/dist/glimmer-BFX2N2PO.js +3062 -0
  27. package/dist/glimmer-CI4NLBJN.cjs +3062 -0
  28. package/dist/graphql-ATKH2UJU.js +1355 -0
  29. package/dist/graphql-F26LLKM2.cjs +1355 -0
  30. package/dist/html-DPSCSLFD.cjs +3036 -0
  31. package/dist/html-TQZJETBK.js +3036 -0
  32. package/dist/json5-2N47OU6X.cjs +764 -0
  33. package/dist/json5-DGCDZGKI.js +764 -0
  34. package/dist/jsonc-3RGXS4EK.js +447 -0
  35. package/dist/jsonc-H5JHBJWX.cjs +447 -0
  36. package/dist/markdown-ENFWQVL3.js +3846 -0
  37. package/dist/markdown-KDQOGP3N.cjs +3846 -0
  38. package/dist/meriyah-UO5W2QS6.js +2720 -0
  39. package/dist/meriyah-XW3PRYEN.cjs +2720 -0
  40. package/dist/multipart-parser-POHWNSZ2.cjs +186 -0
  41. package/dist/multipart-parser-ZBOXYK27.js +186 -0
  42. package/dist/postcss-ICZTIVVB.js +5440 -0
  43. package/dist/postcss-OH45GBM4.cjs +5440 -0
  44. package/dist/preset.cjs +20461 -117
  45. package/dist/preset.d.cts +1 -6
  46. package/dist/preset.d.ts +1 -6
  47. package/dist/preset.js +20394 -19
  48. package/dist/prettier-U5XWBEA6.js +23559 -0
  49. package/dist/prettier-UYPX4PW2.cjs +23560 -0
  50. package/dist/rules/storm.cjs +7 -0
  51. package/dist/rules/storm.d.cts +11 -0
  52. package/dist/rules/storm.d.ts +11 -0
  53. package/dist/rules/storm.js +7 -0
  54. package/dist/toml-NUWFIHJI.js +509 -0
  55. package/dist/toml-WFSEGMHQ.cjs +509 -0
  56. package/dist/typescript-6RS3BOJH.js +14956 -0
  57. package/dist/typescript-K6YYG6NX.cjs +14956 -0
  58. package/dist/yaml-DOGTEZV3.js +4584 -0
  59. package/dist/yaml-GNGUKHFM.cjs +4584 -0
  60. package/dist/yaml-UATHGD5B.cjs +1119 -0
  61. package/dist/yaml-XTDKP6DN.js +1119 -0
  62. package/package.json +1 -1
@@ -0,0 +1,1334 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkPWYAFNCEcjs = require('./chunk-PWYAFNCE.cjs');
5
+
6
+ // src/rules/storm.ts
7
+ _chunkPWYAFNCEcjs.init_cjs_shims.call(void 0, );
8
+ var getStormRulesConfig = /* @__PURE__ */ _chunkPWYAFNCEcjs.__name.call(void 0, (options) => {
9
+ let rules = {
10
+ /*************************************************************
11
+ *
12
+ * Base Rules - The core rules that lint for common problems
13
+ *
14
+ **************************************************************/
15
+ /**
16
+ * Require return statements in array methods callbacks.
17
+ *
18
+ * 🚫 Not fixable -https://eslint.org/docs/rules/array-callback-return
19
+ */
20
+ "array-callback-return": [
21
+ "error",
22
+ {
23
+ allowImplicit: true
24
+ }
25
+ ],
26
+ /**
27
+ * Treat `var` statements as if they were block scoped.
28
+ *
29
+ * 🚫 Not fixable - https://eslint.org/docs/rules/block-scoped-var
30
+ */
31
+ "block-scoped-var": "error",
32
+ /**
33
+ * Require curly braces for multiline blocks.
34
+ *
35
+ * 🔧 Fixable - https://eslint.org/docs/rules/curly
36
+ */
37
+ curly: [
38
+ "warn",
39
+ "multi-line"
40
+ ],
41
+ /**
42
+ * Require default clauses in switch statements to be last (if used).
43
+ *
44
+ * 🚫 Not fixable - https://eslint.org/docs/rules/default-case-last
45
+ */
46
+ "default-case-last": "error",
47
+ /**
48
+ * Require triple equals (`===` and `!==`).
49
+ *
50
+ * 🔧 Fixable - https://eslint.org/docs/rules/eqeqeq
51
+ */
52
+ eqeqeq: "error",
53
+ /**
54
+ * Require grouped accessor pairs in object literals and classes.
55
+ *
56
+ * 🚫 Not fixable - https://eslint.org/docs/rules/grouped-accessor-pairs
57
+ */
58
+ "grouped-accessor-pairs": "error",
59
+ /**
60
+ * Disallow use of `alert()`.
61
+ *
62
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-alert
63
+ */
64
+ "no-alert": "error",
65
+ /**
66
+ * Disallow use of `caller`/`callee`.
67
+ *
68
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-caller
69
+ */
70
+ "no-caller": "error",
71
+ /**
72
+ * Disallow returning value in constructor.
73
+ *
74
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-constructor-return
75
+ */
76
+ "no-constructor-return": "error",
77
+ /**
78
+ * Disallow using an `else` if the `if` block contains a return.
79
+ *
80
+ * 🔧 Fixable - https://eslint.org/docs/rules/no-else-return
81
+ */
82
+ "no-else-return": "warn",
83
+ /**
84
+ * Disallow `eval()`.
85
+ *
86
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-eval
87
+ */
88
+ "no-eval": "warn",
89
+ /**
90
+ * Disallow extending native objects.
91
+ *
92
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-extend-native
93
+ */
94
+ "no-extend-native": "error",
95
+ /**
96
+ * Disallow unnecessary function binding.
97
+ *
98
+ * 🔧 Fixable - https://eslint.org/docs/rules/no-extra-bind
99
+ */
100
+ "no-extra-bind": "error",
101
+ /**
102
+ * Disallow unnecessary labels.
103
+ *
104
+ * 🔧 Fixable - https://eslint.org/docs/rules/no-extra-label
105
+ */
106
+ "no-extra-label": "error",
107
+ /**
108
+ * Disallow floating decimals.
109
+ *
110
+ * 🔧 Fixable - https://eslint.org/docs/rules/no-floating-decimal
111
+ */
112
+ "no-floating-decimal": "error",
113
+ /**
114
+ * Make people convert types explicitly e.g. `Boolean(foo)` instead of `!!foo`.
115
+ *
116
+ * 🔧 Partially Fixable - https://eslint.org/docs/rules/no-implicit-coercion
117
+ */
118
+ "no-implicit-coercion": "error",
119
+ /**
120
+ * Disallow use of `eval()`-like methods.
121
+ *
122
+ * https://eslint.org/docs/rules/no-implied-eval
123
+ */
124
+ "no-implied-eval": "error",
125
+ /**
126
+ * Disallow usage of `__iterator__` property.
127
+ *
128
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-iterator
129
+ */
130
+ "no-iterator": "error",
131
+ /**
132
+ * Disallow use of labels for anything other than loops and switches.
133
+ *
134
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-labels
135
+ */
136
+ "no-labels": [
137
+ "error"
138
+ ],
139
+ /**
140
+ * Disallow unnecessary nested blocks.
141
+ *
142
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-lone-blocks
143
+ */
144
+ "no-lone-blocks": "error",
145
+ /**
146
+ * Disallow `new` for side effects.
147
+ *
148
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-new
149
+ */
150
+ "no-new": "error",
151
+ /**
152
+ * Disallow function constructors.
153
+ *
154
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-new-func
155
+ */
156
+ "no-new-func": "error",
157
+ /**
158
+ * Disallow base types wrapper instances, such as `new String('foo')`.
159
+ *
160
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-new-wrappers
161
+ */
162
+ "no-new-wrappers": "error",
163
+ /**
164
+ * Disallow use of octal escape sequences in string literals.
165
+ *
166
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-octal-escape
167
+ */
168
+ "no-octal-escape": "error",
169
+ /**
170
+ * Disallow reassignment of function parameters.
171
+ *
172
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-param-reassign
173
+ */
174
+ "no-param-reassign": "off",
175
+ /**
176
+ * Disallow usage of the deprecated `__proto__` property.
177
+ *
178
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-proto
179
+ */
180
+ "no-proto": "error",
181
+ /**
182
+ * Disallow assignment in `return` statement.
183
+ *
184
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-return-assign
185
+ */
186
+ "no-return-assign": "error",
187
+ /**
188
+ * Disallows unnecessary `return await`.
189
+ *
190
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-return-await
191
+ */
192
+ "no-return-await": "error",
193
+ /**
194
+ * Disallow use of `javascript:` urls.
195
+ *
196
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-script-url
197
+ */
198
+ "no-script-url": "error",
199
+ /**
200
+ * Disallow comparisons where both sides are exactly the same.
201
+ *
202
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-self-compare
203
+ */
204
+ "no-self-compare": "error",
205
+ /**
206
+ * Disallow use of comma operator.
207
+ *
208
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-sequences
209
+ */
210
+ "no-sequences": "error",
211
+ /**
212
+ * Disallow unnecessary `.call()` and `.apply()`.
213
+ *
214
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-useless-call
215
+ */
216
+ "no-useless-call": "error",
217
+ /**
218
+ * Disallow unnecessary concatenation of strings.
219
+ *
220
+ * 🚫 Not fixable - https://eslint.org/docs/rules/no-useless-concat
221
+ */
222
+ "no-useless-concat": "error",
223
+ /**
224
+ * Disallow redundant return statements.
225
+ *
226
+ * 🔧 Fixable - https://eslint.org/docs/rules/no-useless-return
227
+ */
228
+ "no-useless-return": "warn",
229
+ /**
230
+ * Require using named capture groups in regular expressions.
231
+ *
232
+ * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-named-capture-group
233
+ */
234
+ "prefer-named-capture-group": "error",
235
+ /**
236
+ * Require using Error objects as Promise rejection reasons.
237
+ *
238
+ * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-promise-reject-errors
239
+ */
240
+ "prefer-promise-reject-errors": [
241
+ "error",
242
+ {
243
+ allowEmptyReject: true
244
+ }
245
+ ],
246
+ /**
247
+ * Disallow use of the RegExp constructor in favor of regular expression
248
+ * literals.
249
+ *
250
+ * 🚫 Not fixable - https://eslint.org/docs/rules/prefer-regex-literals
251
+ */
252
+ "prefer-regex-literals": "error",
253
+ /**
254
+ * Disallow "Yoda conditions", ensuring the comparison.
255
+ *
256
+ * 🔧 Fixable - https://eslint.org/docs/rules/yoda
257
+ */
258
+ yoda: "warn",
259
+ // Enforce “for” loop update clause moving the counter in the right direction
260
+ // https://eslint.org/docs/rules/for-direction
261
+ "for-direction": "error",
262
+ // Enforces that a return statement is present in property getters
263
+ // https://eslint.org/docs/rules/getter-return
264
+ "getter-return": [
265
+ "error",
266
+ {
267
+ allowImplicit: true
268
+ }
269
+ ],
270
+ // disallow using an async function as a Promise executor
271
+ // https://eslint.org/docs/rules/no-async-promise-executor
272
+ "no-async-promise-executor": "error",
273
+ // Disallow await inside of loops
274
+ // https://eslint.org/docs/rules/no-await-in-loop
275
+ "no-await-in-loop": "error",
276
+ // Disallow comparisons to negative zero
277
+ // https://eslint.org/docs/rules/no-compare-neg-zero
278
+ "no-compare-neg-zero": "error",
279
+ // disallow assignment in conditional expressions
280
+ "no-cond-assign": [
281
+ "error",
282
+ "always"
283
+ ],
284
+ // disallow use of console
285
+ "no-console": "error",
286
+ // Disallows expressions where the operation doesn't affect the value
287
+ // https://eslint.org/docs/rules/no-constant-binary-expression
288
+ // TODO: semver-major, enable
289
+ "no-constant-binary-expression": "off",
290
+ // disallow use of constant expressions in conditions
291
+ "no-constant-condition": "warn",
292
+ // disallow control characters in regular expressions
293
+ "no-control-regex": "error",
294
+ // disallow use of debugger
295
+ "no-debugger": "warn",
296
+ // disallow duplicate arguments in functions
297
+ "no-dupe-args": "error",
298
+ // Disallow duplicate conditions in if-else-if chains
299
+ // https://eslint.org/docs/rules/no-dupe-else-if
300
+ "no-dupe-else-if": "error",
301
+ // disallow duplicate keys when creating object literals
302
+ "no-dupe-keys": "error",
303
+ // disallow a duplicate case label.
304
+ "no-duplicate-case": "error",
305
+ // disallow empty statements
306
+ "no-empty": "error",
307
+ // disallow the use of empty character classes in regular expressions
308
+ "no-empty-character-class": "error",
309
+ // disallow assigning to the exception in a catch block
310
+ "no-ex-assign": "error",
311
+ // disallow double-negation boolean casts in a boolean context
312
+ // https://eslint.org/docs/rules/no-extra-boolean-cast
313
+ "no-extra-boolean-cast": "error",
314
+ // disallow unnecessary parentheses
315
+ // https://eslint.org/docs/rules/no-extra-parens
316
+ "no-extra-parens": [
317
+ "off",
318
+ "all",
319
+ {
320
+ conditionalAssign: true,
321
+ nestedBinaryExpressions: false,
322
+ returnAssign: false,
323
+ ignoreJSX: "all",
324
+ enforceForArrowConditionals: false
325
+ }
326
+ ],
327
+ // disallow unnecessary semicolons
328
+ "no-extra-semi": "error",
329
+ // disallow overwriting functions written as function declarations
330
+ "no-func-assign": "off",
331
+ // https://eslint.org/docs/rules/no-import-assign
332
+ "no-import-assign": "error",
333
+ // disallow function or variable declarations in nested blocks
334
+ "no-inner-declarations": "warn",
335
+ // disallow invalid regular expression strings in the RegExp constructor
336
+ "no-invalid-regexp": "error",
337
+ // disallow irregular whitespace outside of strings and comments
338
+ "no-irregular-whitespace": "error",
339
+ // Disallow Number Literals That Lose Precision
340
+ // https://eslint.org/docs/rules/no-loss-of-precision
341
+ "no-loss-of-precision": "error",
342
+ // Disallow characters which are made with multiple code points in character class syntax
343
+ // https://eslint.org/docs/rules/no-misleading-character-class
344
+ "no-misleading-character-class": "error",
345
+ // disallow the use of object properties of the global object (Math and JSON) as functions
346
+ "no-obj-calls": "error",
347
+ // Disallow new operators with global non-constructor functions
348
+ // https://eslint.org/docs/latest/rules/no-new-native-nonconstructor
349
+ // TODO: semver-major, enable
350
+ "no-new-native-nonconstructor": "off",
351
+ // Disallow returning values from Promise executor functions
352
+ // https://eslint.org/docs/rules/no-promise-executor-return
353
+ "no-promise-executor-return": "error",
354
+ // disallow use of Object.prototypes builtins directly
355
+ // https://eslint.org/docs/rules/no-prototype-builtins
356
+ "no-prototype-builtins": "error",
357
+ // disallow multiple spaces in a regular expression literal
358
+ "no-regex-spaces": "error",
359
+ // Disallow returning values from setters
360
+ // https://eslint.org/docs/rules/no-setter-return
361
+ "no-setter-return": "error",
362
+ // disallow sparse arrays
363
+ "no-sparse-arrays": "error",
364
+ // Disallow template literal placeholder syntax in regular strings
365
+ // https://eslint.org/docs/rules/no-template-curly-in-string
366
+ "no-template-curly-in-string": "error",
367
+ // Avoid code that looks like two expressions but is actually one
368
+ // https://eslint.org/docs/rules/no-unexpected-multiline
369
+ "no-unexpected-multiline": "error",
370
+ // disallow unreachable statements after a return, throw, continue, or break statement
371
+ "no-unreachable": "error",
372
+ // Disallow loops with a body that allows only one iteration
373
+ // https://eslint.org/docs/rules/no-unreachable-loop
374
+ "no-unreachable-loop": [
375
+ "error",
376
+ {
377
+ ignore: []
378
+ // WhileStatement, DoWhileStatement, ForStatement, ForInStatement, ForOfStatement
379
+ }
380
+ ],
381
+ // disallow return/throw/break/continue inside finally blocks
382
+ // https://eslint.org/docs/rules/no-unsafe-finally
383
+ "no-unsafe-finally": "error",
384
+ // disallow negating the left operand of relational operators
385
+ // https://eslint.org/docs/rules/no-unsafe-negation
386
+ "no-unsafe-negation": "error",
387
+ // disallow use of optional chaining in contexts where the undefined value is not allowed
388
+ // https://eslint.org/docs/rules/no-unsafe-optional-chaining
389
+ "no-unsafe-optional-chaining": [
390
+ "error",
391
+ {
392
+ disallowArithmeticOperators: true
393
+ }
394
+ ],
395
+ // Disallow Unused Private Class Members
396
+ // https://eslint.org/docs/rules/no-unused-private-class-members
397
+ // TODO: enable once eslint 7 is dropped (which is semver-major)
398
+ "no-unused-private-class-members": "off",
399
+ // Disallow useless backreferences in regular expressions
400
+ // https://eslint.org/docs/rules/no-useless-backreference
401
+ "no-useless-backreference": "error",
402
+ // disallow negation of the left operand of an in expression
403
+ // deprecated in favor of no-unsafe-negation
404
+ "no-negated-in-lhs": "off",
405
+ // Disallow assignments that can lead to race conditions due to usage of await or yield
406
+ // https://eslint.org/docs/rules/require-atomic-updates
407
+ // note: not enabled because it is very buggy
408
+ "require-atomic-updates": "off",
409
+ // disallow comparisons with the value NaN
410
+ "use-isnan": "error",
411
+ // ensure JSDoc comments are valid
412
+ // https://eslint.org/docs/rules/valid-jsdoc
413
+ "valid-jsdoc": "off",
414
+ // ensure that the results of typeof are compared against a valid string
415
+ // https://eslint.org/docs/rules/valid-typeof
416
+ "valid-typeof": [
417
+ "error",
418
+ {
419
+ requireStringLiterals: true
420
+ }
421
+ ],
422
+ /*************************************************************
423
+ *
424
+ * Stylistic Rules - These rules relate to style guidelines
425
+ *
426
+ **************************************************************/
427
+ // enforce line breaks after opening and before closing array brackets
428
+ // https://eslint.org/docs/rules/array-bracket-newline
429
+ // TODO: enable? semver-major
430
+ "array-bracket-newline": [
431
+ "off",
432
+ "consistent"
433
+ ],
434
+ // enforce line breaks between array elements
435
+ // https://eslint.org/docs/rules/array-element-newline
436
+ // TODO: enable? semver-major
437
+ "array-element-newline": [
438
+ "off",
439
+ {
440
+ multiline: true,
441
+ minItems: 3
442
+ }
443
+ ],
444
+ // enforce spacing inside array brackets
445
+ "array-bracket-spacing": [
446
+ "error",
447
+ "never"
448
+ ],
449
+ // enforce spacing inside single-line blocks
450
+ // https://eslint.org/docs/rules/block-spacing
451
+ "block-spacing": [
452
+ "error",
453
+ "always"
454
+ ],
455
+ // enforce one true brace style
456
+ "brace-style": [
457
+ "error",
458
+ "1tbs",
459
+ {
460
+ allowSingleLine: true
461
+ }
462
+ ],
463
+ // require camel case names
464
+ camelcase: [
465
+ "error",
466
+ {
467
+ properties: "never",
468
+ ignoreDestructuring: false
469
+ }
470
+ ],
471
+ // enforce or disallow capitalization of the first letter of a comment
472
+ // https://eslint.org/docs/rules/capitalized-comments
473
+ "capitalized-comments": [
474
+ "off",
475
+ "never",
476
+ {
477
+ line: {
478
+ ignorePattern: ".*",
479
+ ignoreInlineComments: true,
480
+ ignoreConsecutiveComments: true
481
+ },
482
+ block: {
483
+ ignorePattern: ".*",
484
+ ignoreInlineComments: true,
485
+ ignoreConsecutiveComments: true
486
+ }
487
+ }
488
+ ],
489
+ // require trailing commas in multiline object literals
490
+ "comma-dangle": [
491
+ "error",
492
+ "never"
493
+ ],
494
+ // enforce spacing before and after comma
495
+ "comma-spacing": [
496
+ "error",
497
+ {
498
+ before: false,
499
+ after: true
500
+ }
501
+ ],
502
+ // enforce one true comma style
503
+ "comma-style": [
504
+ "error",
505
+ "last",
506
+ {
507
+ exceptions: {
508
+ ArrayExpression: false,
509
+ ArrayPattern: false,
510
+ ArrowFunctionExpression: false,
511
+ CallExpression: false,
512
+ FunctionDeclaration: false,
513
+ FunctionExpression: false,
514
+ ImportDeclaration: false,
515
+ ObjectExpression: false,
516
+ ObjectPattern: false,
517
+ VariableDeclaration: false,
518
+ NewExpression: false
519
+ }
520
+ }
521
+ ],
522
+ // disallow padding inside computed properties
523
+ "computed-property-spacing": [
524
+ "error",
525
+ "never"
526
+ ],
527
+ // enforces consistent naming when capturing the current execution context
528
+ "consistent-this": "off",
529
+ // enforce newline at the end of file, with no multiple empty lines
530
+ "eol-last": [
531
+ "error",
532
+ "always"
533
+ ],
534
+ // https://eslint.org/docs/rules/function-call-argument-newline
535
+ "function-call-argument-newline": [
536
+ "error",
537
+ "consistent"
538
+ ],
539
+ // enforce spacing between functions and their invocations
540
+ // https://eslint.org/docs/rules/func-call-spacing
541
+ "func-call-spacing": [
542
+ "error",
543
+ "never"
544
+ ],
545
+ // requires function names to match the name of the variable or property to which they are
546
+ // assigned
547
+ // https://eslint.org/docs/rules/func-name-matching
548
+ "func-name-matching": [
549
+ "off",
550
+ "always",
551
+ {
552
+ includeCommonJSModuleExports: false,
553
+ considerPropertyDescriptor: true
554
+ }
555
+ ],
556
+ // require function expressions to have a name
557
+ // https://eslint.org/docs/rules/func-names
558
+ "func-names": "warn",
559
+ // enforces use of function declarations or expressions
560
+ // https://eslint.org/docs/rules/func-style
561
+ // TODO: enable
562
+ "func-style": [
563
+ "off",
564
+ "expression"
565
+ ],
566
+ // require line breaks inside function parentheses if there are line breaks between parameters
567
+ // https://eslint.org/docs/rules/function-paren-newline
568
+ "function-paren-newline": "off",
569
+ // disallow specified identifiers
570
+ // https://eslint.org/docs/rules/id-denylist
571
+ "id-denylist": "off",
572
+ // this option enforces minimum and maximum identifier lengths
573
+ // (variable names, property names etc.)
574
+ "id-length": "off",
575
+ // require identifiers to match the provided regular expression
576
+ "id-match": "off",
577
+ // Enforce the location of arrow function bodies with implicit returns
578
+ // https://eslint.org/docs/rules/implicit-arrow-linebreak
579
+ "implicit-arrow-linebreak": "off",
580
+ // this option sets a specific tab width for your code
581
+ // https://eslint.org/docs/rules/indent
582
+ indent: "off",
583
+ // "error",
584
+ // 2,
585
+ // {
586
+ // SwitchCase: 1,
587
+ // VariableDeclarator: 1,
588
+ // outerIIFEBody: 1,
589
+ // // MemberExpression: null,
590
+ // FunctionDeclaration: {
591
+ // parameters: 1,
592
+ // body: 1
593
+ // },
594
+ // FunctionExpression: {
595
+ // parameters: 1,
596
+ // body: 1
597
+ // },
598
+ // CallExpression: {
599
+ // arguments: 1
600
+ // },
601
+ // ArrayExpression: 1,
602
+ // ObjectExpression: 1,
603
+ // ImportDeclaration: 1,
604
+ // flatTernaryExpressions: false,
605
+ // // list derived from https://github.com/benjamn/ast-types/blob/HEAD/def/jsx.js
606
+ // ignoredNodes: [
607
+ // "JSXElement",
608
+ // "JSXElement > *",
609
+ // "JSXAttribute",
610
+ // "JSXIdentifier",
611
+ // "JSXNamespacedName",
612
+ // "JSXMemberExpression",
613
+ // "JSXSpreadAttribute",
614
+ // "JSXExpressionContainer",
615
+ // "JSXOpeningElement",
616
+ // "JSXClosingElement",
617
+ // "JSXFragment",
618
+ // "JSXOpeningFragment",
619
+ // "JSXClosingFragment",
620
+ // "JSXText",
621
+ // "JSXEmptyExpression",
622
+ // "JSXSpreadChild"
623
+ // ],
624
+ // ignoreComments: false
625
+ // }
626
+ // ],
627
+ // specify whether double or single quotes should be used in JSX attributes
628
+ // https://eslint.org/docs/rules/jsx-quotes
629
+ "jsx-quotes": [
630
+ "off",
631
+ "prefer-double"
632
+ ],
633
+ // enforces spacing between keys and values in object literal properties
634
+ "key-spacing": [
635
+ "error",
636
+ {
637
+ beforeColon: false,
638
+ afterColon: true
639
+ }
640
+ ],
641
+ // require a space before & after certain keywords
642
+ "keyword-spacing": [
643
+ "error",
644
+ {
645
+ before: true,
646
+ after: true,
647
+ overrides: {
648
+ return: {
649
+ after: true
650
+ },
651
+ throw: {
652
+ after: true
653
+ },
654
+ case: {
655
+ after: true
656
+ }
657
+ }
658
+ }
659
+ ],
660
+ // enforce position of line comments
661
+ // https://eslint.org/docs/rules/line-comment-position
662
+ // TODO: enable?
663
+ "line-comment-position": [
664
+ "off",
665
+ {
666
+ position: "above",
667
+ ignorePattern: "",
668
+ applyDefaultPatterns: true
669
+ }
670
+ ],
671
+ // disallow mixed 'LF' and 'CRLF' as linebreaks
672
+ // https://eslint.org/docs/rules/linebreak-style
673
+ "linebreak-style": [
674
+ "error",
675
+ "unix"
676
+ ],
677
+ // require or disallow an empty line between class members
678
+ // https://eslint.org/docs/rules/lines-between-class-members
679
+ "lines-between-class-members": [
680
+ "error",
681
+ "always",
682
+ {
683
+ exceptAfterSingleLine: false
684
+ }
685
+ ],
686
+ // enforces empty lines around comments
687
+ "lines-around-comment": "off",
688
+ // require or disallow newlines around directives
689
+ // https://eslint.org/docs/rules/lines-around-directive
690
+ "lines-around-directive": [
691
+ "error",
692
+ {
693
+ before: "always",
694
+ after: "always"
695
+ }
696
+ ],
697
+ // Require or disallow logical assignment logical operator shorthand
698
+ // https://eslint.org/docs/latest/rules/logical-assignment-operators
699
+ // TODO, semver-major: enable
700
+ "logical-assignment-operators": [
701
+ "off",
702
+ "always",
703
+ {
704
+ enforceForIfStatements: true
705
+ }
706
+ ],
707
+ // specify the maximum depth that blocks can be nested
708
+ "max-depth": [
709
+ "off",
710
+ 4
711
+ ],
712
+ // specify the maximum length of a line in your program
713
+ // https://eslint.org/docs/rules/max-len
714
+ "max-len": [
715
+ "error",
716
+ 100,
717
+ 2,
718
+ {
719
+ ignoreUrls: true,
720
+ ignoreComments: true,
721
+ ignoreRegExpLiterals: true,
722
+ ignoreStrings: true,
723
+ ignoreTemplateLiterals: true
724
+ }
725
+ ],
726
+ // specify the max number of lines in a file
727
+ // https://eslint.org/docs/rules/max-lines
728
+ "max-lines": [
729
+ "off",
730
+ {
731
+ max: 300,
732
+ skipBlankLines: true,
733
+ skipComments: true
734
+ }
735
+ ],
736
+ // enforce a maximum function length
737
+ // https://eslint.org/docs/rules/max-lines-per-function
738
+ "max-lines-per-function": [
739
+ "off",
740
+ {
741
+ max: 50,
742
+ skipBlankLines: true,
743
+ skipComments: true,
744
+ IIFEs: true
745
+ }
746
+ ],
747
+ // specify the maximum depth callbacks can be nested
748
+ "max-nested-callbacks": "off",
749
+ // limits the number of parameters that can be used in the function declaration.
750
+ "max-params": [
751
+ "off",
752
+ 3
753
+ ],
754
+ // specify the maximum number of statement allowed in a function
755
+ "max-statements": [
756
+ "off",
757
+ 10
758
+ ],
759
+ // restrict the number of statements per line
760
+ // https://eslint.org/docs/rules/max-statements-per-line
761
+ "max-statements-per-line": [
762
+ "off",
763
+ {
764
+ max: 1
765
+ }
766
+ ],
767
+ // enforce a particular style for multiline comments
768
+ // https://eslint.org/docs/rules/multiline-comment-style
769
+ "multiline-comment-style": [
770
+ "off",
771
+ "starred-block"
772
+ ],
773
+ // require multiline ternary
774
+ // https://eslint.org/docs/rules/multiline-ternary
775
+ // TODO: enable?
776
+ "multiline-ternary": [
777
+ "off",
778
+ "never"
779
+ ],
780
+ // require a capital letter for constructors
781
+ "new-cap": [
782
+ "error",
783
+ {
784
+ newIsCap: true,
785
+ newIsCapExceptions: [],
786
+ capIsNew: false,
787
+ capIsNewExceptions: [
788
+ "Immutable.Map",
789
+ "Immutable.Set",
790
+ "Immutable.List"
791
+ ]
792
+ }
793
+ ],
794
+ "no-unused-vars": [
795
+ "error",
796
+ {
797
+ "args": "none"
798
+ }
799
+ ],
800
+ // disallow the omission of parentheses when invoking a constructor with no arguments
801
+ // https://eslint.org/docs/rules/new-parens
802
+ "new-parens": "error",
803
+ // allow/disallow an empty newline after var statement
804
+ "newline-after-var": [
805
+ "error",
806
+ "always"
807
+ ],
808
+ // https://eslint.org/docs/rules/newline-before-return
809
+ "newline-before-return": [
810
+ "error",
811
+ "always"
812
+ ],
813
+ // enforces new line after each method call in the chain to make it
814
+ // more readable and easy to maintain
815
+ // https://eslint.org/docs/rules/newline-per-chained-call
816
+ "newline-per-chained-call": [
817
+ "error",
818
+ {
819
+ ignoreChainWithDepth: 5
820
+ }
821
+ ],
822
+ // disallow use of the Array constructor
823
+ "no-array-constructor": "error",
824
+ // disallow use of bitwise operators
825
+ // https://eslint.org/docs/rules/no-bitwise
826
+ "no-bitwise": "off",
827
+ // disallow use of the continue statement
828
+ // https://eslint.org/docs/rules/no-continue
829
+ "no-continue": "off",
830
+ // disallow comments inline after code
831
+ "no-inline-comments": "off",
832
+ // disallow if as the only statement in an else block
833
+ // https://eslint.org/docs/rules/no-lonely-if
834
+ "no-lonely-if": "error",
835
+ // disallow un-paren'd mixes of different operators
836
+ // https://eslint.org/docs/rules/no-mixed-operators
837
+ "no-mixed-operators": [
838
+ "error",
839
+ {
840
+ // the list of arithmetic groups disallows mixing `%` and `**`
841
+ // with other arithmetic operators.
842
+ groups: [
843
+ [
844
+ "%",
845
+ "**"
846
+ ],
847
+ [
848
+ "%",
849
+ "+"
850
+ ],
851
+ [
852
+ "%",
853
+ "-"
854
+ ],
855
+ [
856
+ "%",
857
+ "*"
858
+ ],
859
+ [
860
+ "%",
861
+ "/"
862
+ ],
863
+ [
864
+ "/",
865
+ "*"
866
+ ],
867
+ [
868
+ "&",
869
+ "|",
870
+ "<<",
871
+ ">>",
872
+ ">>>"
873
+ ],
874
+ [
875
+ "==",
876
+ "!=",
877
+ "===",
878
+ "!=="
879
+ ],
880
+ [
881
+ "&&",
882
+ "||"
883
+ ]
884
+ ],
885
+ allowSamePrecedence: false
886
+ }
887
+ ],
888
+ // disallow mixed spaces and tabs for indentation
889
+ "no-mixed-spaces-and-tabs": "error",
890
+ // disallow use of chained assignment expressions
891
+ // https://eslint.org/docs/rules/no-multi-assign
892
+ "no-multi-assign": [
893
+ "error"
894
+ ],
895
+ // disallow multiple empty lines, only one newline at the end, and no new lines at the beginning
896
+ // https://eslint.org/docs/rules/no-multiple-empty-lines
897
+ "no-multiple-empty-lines": [
898
+ "error",
899
+ {
900
+ max: 1,
901
+ maxBOF: 0,
902
+ maxEOF: 0
903
+ }
904
+ ],
905
+ // disallow negated conditions
906
+ // https://eslint.org/docs/rules/no-negated-condition
907
+ "no-negated-condition": "off",
908
+ // disallow nested ternary expressions
909
+ "no-nested-ternary": "off",
910
+ // disallow use of the Object constructor
911
+ "no-new-object": "error",
912
+ // disallow use of unary operators, ++ and --
913
+ // https://eslint.org/docs/rules/no-plusplus
914
+ "no-plusplus": "off",
915
+ // disallow certain syntax forms
916
+ // https://eslint.org/docs/rules/no-restricted-syntax
917
+ "no-restricted-syntax": [
918
+ "error",
919
+ // {
920
+ // selector: "ForInStatement",
921
+ // message:
922
+ // "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."
923
+ // },
924
+ // {
925
+ // selector: "ForOfStatement",
926
+ // message:
927
+ // "iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations."
928
+ // },
929
+ {
930
+ selector: "LabeledStatement",
931
+ message: "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand."
932
+ },
933
+ {
934
+ selector: "WithStatement",
935
+ message: "`with` is disallowed in strict mode because it makes code impossible to predict and optimize."
936
+ }
937
+ ],
938
+ // disallow space between function identifier and application
939
+ // deprecated in favor of func-call-spacing
940
+ "no-spaced-func": "off",
941
+ // disallow tab characters entirely
942
+ "no-tabs": "error",
943
+ // disallow the use of ternary operators
944
+ "no-ternary": "off",
945
+ // disallow trailing whitespace at the end of lines
946
+ "no-trailing-spaces": [
947
+ "error",
948
+ {
949
+ skipBlankLines: false,
950
+ ignoreComments: false
951
+ }
952
+ ],
953
+ // disallow dangling underscores in identifiers
954
+ // https://eslint.org/docs/rules/no-underscore-dangle
955
+ "no-underscore-dangle": [
956
+ "off",
957
+ {
958
+ allow: [],
959
+ allowAfterThis: false,
960
+ allowAfterSuper: false,
961
+ enforceInMethodNames: true
962
+ }
963
+ ],
964
+ // disallow the use of Boolean literals in conditional expressions
965
+ // also, prefer `a || b` over `a ? a : b`
966
+ // https://eslint.org/docs/rules/no-unneeded-ternary
967
+ "no-unneeded-ternary": [
968
+ "error",
969
+ {
970
+ defaultAssignment: false
971
+ }
972
+ ],
973
+ // disallow whitespace before properties
974
+ // https://eslint.org/docs/rules/no-whitespace-before-property
975
+ "no-whitespace-before-property": "error",
976
+ // enforce the location of single-line statements
977
+ // https://eslint.org/docs/rules/nonblock-statement-body-position
978
+ "nonblock-statement-body-position": [
979
+ "error",
980
+ "beside",
981
+ {
982
+ overrides: {}
983
+ }
984
+ ],
985
+ // require padding inside curly braces
986
+ "object-curly-spacing": [
987
+ "error",
988
+ "always"
989
+ ],
990
+ // enforce line breaks between braces
991
+ // https://eslint.org/docs/rules/object-curly-newline
992
+ "object-curly-newline": [
993
+ "error",
994
+ {
995
+ ObjectExpression: {
996
+ minProperties: 5,
997
+ multiline: true,
998
+ consistent: true
999
+ },
1000
+ ObjectPattern: {
1001
+ minProperties: 5,
1002
+ multiline: true,
1003
+ consistent: true
1004
+ },
1005
+ ImportDeclaration: {
1006
+ minProperties: 5,
1007
+ multiline: true,
1008
+ consistent: true
1009
+ },
1010
+ ExportDeclaration: {
1011
+ minProperties: 5,
1012
+ multiline: true,
1013
+ consistent: true
1014
+ }
1015
+ }
1016
+ ],
1017
+ // enforce "same line" or "multiple line" on object properties.
1018
+ // https://eslint.org/docs/rules/object-property-newline
1019
+ "object-property-newline": [
1020
+ "error",
1021
+ {
1022
+ allowAllPropertiesOnSameLine: true
1023
+ }
1024
+ ],
1025
+ // allow just one var statement per function
1026
+ "one-var": [
1027
+ "error",
1028
+ "never"
1029
+ ],
1030
+ // require a newline around variable declaration
1031
+ // https://eslint.org/docs/rules/one-var-declaration-per-line
1032
+ "one-var-declaration-per-line": [
1033
+ "error",
1034
+ "always"
1035
+ ],
1036
+ // require assignment operator shorthand where possible or prohibit it entirely
1037
+ // https://eslint.org/docs/rules/operator-assignment
1038
+ "operator-assignment": [
1039
+ "error",
1040
+ "always"
1041
+ ],
1042
+ // Requires operator at the beginning of the line in multiline statements
1043
+ // https://eslint.org/docs/rules/operator-linebreak
1044
+ "operator-linebreak": [
1045
+ "error",
1046
+ "after",
1047
+ {
1048
+ overrides: {
1049
+ "=": "none"
1050
+ }
1051
+ }
1052
+ ],
1053
+ // disallow padding within blocks
1054
+ "padded-blocks": [
1055
+ "error",
1056
+ {
1057
+ blocks: "never",
1058
+ classes: "never",
1059
+ switches: "never"
1060
+ },
1061
+ {
1062
+ allowSingleLineBlocks: true
1063
+ }
1064
+ ],
1065
+ // Require or disallow padding lines between statements
1066
+ // https://eslint.org/docs/rules/padding-line-between-statements
1067
+ "padding-line-between-statements": "off",
1068
+ // Disallow the use of Math.pow in favor of the ** operator
1069
+ // https://eslint.org/docs/rules/prefer-exponentiation-operator
1070
+ "prefer-exponentiation-operator": "error",
1071
+ // Prefer use of an object spread over Object.assign
1072
+ // https://eslint.org/docs/rules/prefer-object-spread
1073
+ "prefer-object-spread": "error",
1074
+ // require quotes around object literal property names
1075
+ // https://eslint.org/docs/rules/quote-props.html
1076
+ "quote-props": [
1077
+ "error",
1078
+ "as-needed",
1079
+ {
1080
+ keywords: false,
1081
+ unnecessary: true,
1082
+ numbers: false
1083
+ }
1084
+ ],
1085
+ // specify whether double or single quotes should be used
1086
+ quotes: [
1087
+ "error",
1088
+ "double",
1089
+ {
1090
+ avoidEscape: true
1091
+ }
1092
+ ],
1093
+ // do not require jsdoc
1094
+ // https://eslint.org/docs/rules/require-jsdoc
1095
+ "require-jsdoc": "off",
1096
+ // require or disallow use of semicolons instead of ASI
1097
+ semi: [
1098
+ "error",
1099
+ "always"
1100
+ ],
1101
+ // enforce spacing before and after semicolons
1102
+ "semi-spacing": [
1103
+ "error",
1104
+ {
1105
+ before: false,
1106
+ after: true
1107
+ }
1108
+ ],
1109
+ // Enforce location of semicolons
1110
+ // https://eslint.org/docs/rules/semi-style
1111
+ "semi-style": [
1112
+ "error",
1113
+ "last"
1114
+ ],
1115
+ // requires object keys to be sorted
1116
+ "sort-keys": [
1117
+ "off",
1118
+ "asc",
1119
+ {
1120
+ caseSensitive: false,
1121
+ natural: true
1122
+ }
1123
+ ],
1124
+ // sort variables within the same declaration block
1125
+ "sort-vars": "off",
1126
+ // require or disallow space before blocks
1127
+ "space-before-blocks": "error",
1128
+ // require or disallow space before function opening parenthesis
1129
+ // https://eslint.org/docs/rules/space-before-function-paren
1130
+ "space-before-function-paren": "off",
1131
+ // "error",
1132
+ // {
1133
+ // anonymous: "always",
1134
+ // named: "never",
1135
+ // asyncArrow: "always"
1136
+ // }
1137
+ // ],
1138
+ // require or disallow spaces inside parentheses
1139
+ "space-in-parens": [
1140
+ "error",
1141
+ "never"
1142
+ ],
1143
+ // require spaces around operators
1144
+ "space-infix-ops": "error",
1145
+ // Require or disallow spaces before/after unary operators
1146
+ // https://eslint.org/docs/rules/space-unary-ops
1147
+ "space-unary-ops": [
1148
+ "error",
1149
+ {
1150
+ words: true,
1151
+ nonwords: false,
1152
+ overrides: {}
1153
+ }
1154
+ ],
1155
+ // require or disallow a space immediately following the // or /* in a comment
1156
+ // https://eslint.org/docs/rules/spaced-comment
1157
+ "spaced-comment": [
1158
+ "error",
1159
+ "always",
1160
+ {
1161
+ line: {
1162
+ exceptions: [
1163
+ "-",
1164
+ "+"
1165
+ ],
1166
+ markers: [
1167
+ "=",
1168
+ "!",
1169
+ "/"
1170
+ ]
1171
+ // space here to support sprockets directives, slash for TS /// comments
1172
+ },
1173
+ block: {
1174
+ exceptions: [
1175
+ "-",
1176
+ "+"
1177
+ ],
1178
+ markers: [
1179
+ "=",
1180
+ "!",
1181
+ ":",
1182
+ "::"
1183
+ ],
1184
+ balanced: true
1185
+ }
1186
+ }
1187
+ ],
1188
+ // Enforce spacing around colons of switch statements
1189
+ // https://eslint.org/docs/rules/switch-colon-spacing
1190
+ "switch-colon-spacing": [
1191
+ "error",
1192
+ {
1193
+ after: true,
1194
+ before: false
1195
+ }
1196
+ ],
1197
+ // Require or disallow spacing between template tags and their literals
1198
+ // https://eslint.org/docs/rules/template-tag-spacing
1199
+ "template-tag-spacing": [
1200
+ "error",
1201
+ "never"
1202
+ ],
1203
+ // require or disallow the Unicode Byte Order Mark
1204
+ // https://eslint.org/docs/rules/unicode-bom
1205
+ "unicode-bom": [
1206
+ "error",
1207
+ "never"
1208
+ ],
1209
+ // require regex literals to be wrapped in parentheses
1210
+ "wrap-regex": "off",
1211
+ "class-methods-use-this": "off"
1212
+ };
1213
+ if (options.typescriptEslintConfigType !== "none") {
1214
+ rules = {
1215
+ ...rules,
1216
+ /*************************************************************
1217
+ *
1218
+ * TypeScript Rules - The following rules are specific to the TypeScript plugin
1219
+ *
1220
+ **************************************************************/
1221
+ "@typescript-eslint/no-explicit-any": "off",
1222
+ "@typescript-eslint/no-empty-function": "off",
1223
+ "@typescript-eslint/no-var-requires": "off",
1224
+ "@typescript-eslint/ban-ts-comment": "off",
1225
+ "@typescript-eslint/no-empty-interface": "off",
1226
+ "@typescript-eslint/explicit-module-boundary-types": "off",
1227
+ "@typescript-eslint/explicit-function-return-type": "off",
1228
+ "@typescript-eslint/no-unused-vars": [
1229
+ "error",
1230
+ {
1231
+ "args": "none",
1232
+ varsIgnorePattern: "^_"
1233
+ }
1234
+ ],
1235
+ "@typescript-eslint/prefer-nullish-coalescing": [
1236
+ "error",
1237
+ {
1238
+ ignorePrimitives: {
1239
+ string: true
1240
+ }
1241
+ }
1242
+ ],
1243
+ "@typescript-eslint/no-restricted-imports": [
1244
+ "error",
1245
+ {
1246
+ "patterns": [
1247
+ {
1248
+ "group": [
1249
+ "nx/src/plugins/js*"
1250
+ ],
1251
+ "message": "Imports from 'nx/src/plugins/js' are not allowed. Use '@nx/js' instead"
1252
+ },
1253
+ {
1254
+ "group": [
1255
+ "**/native-bindings",
1256
+ "**/native-bindings.js"
1257
+ ],
1258
+ "message": "Direct imports from native-bindings.js are not allowed. Import from index.js instead."
1259
+ },
1260
+ {
1261
+ "group": [
1262
+ "create-storm-workspace"
1263
+ ],
1264
+ "message": "Direct imports from `create-storm-workspace` are not allowed. Instead install this package globally (example: 'npm i create-storm-workspace -g')."
1265
+ },
1266
+ {
1267
+ "group": [
1268
+ "create-nx-workspace"
1269
+ ],
1270
+ "message": "Direct imports from `create-nx-workspace` are not allowed. Instead install this package globally (example: 'npm i create-nx-workspace -g')."
1271
+ }
1272
+ ]
1273
+ }
1274
+ ]
1275
+ };
1276
+ }
1277
+ if (options.useNx !== false) {
1278
+ rules = {
1279
+ ...rules,
1280
+ /*************************************************************
1281
+ *
1282
+ * Nx Rules - The following rules are specific to the Nx plugin
1283
+ *
1284
+ **************************************************************/
1285
+ "@nx/enforce-module-boundaries": [
1286
+ "error",
1287
+ {
1288
+ enforceBuildableLibDependency: true,
1289
+ checkDynamicDependenciesExceptions: [
1290
+ ".*"
1291
+ ],
1292
+ allow: [],
1293
+ depConstraints: [
1294
+ {
1295
+ sourceTag: "*",
1296
+ onlyDependOnLibsWithTags: [
1297
+ "*"
1298
+ ]
1299
+ }
1300
+ ]
1301
+ }
1302
+ ]
1303
+ };
1304
+ }
1305
+ if (options.useUnicorn !== false) {
1306
+ rules = {
1307
+ ...rules,
1308
+ /*************************************************************
1309
+ *
1310
+ * Unicorn Rules - The following rules are specific to the Unicorn plugin
1311
+ *
1312
+ **************************************************************/
1313
+ "unicorn/number-literal-case": "off",
1314
+ "unicorn/template-indent": "off",
1315
+ "unicorn/prevent-abbreviations": "off",
1316
+ "unicorn/no-await-expression-member": "off",
1317
+ "unicorn/no-useless-undefined": "off",
1318
+ "unicorn/no-array-push-push": "off",
1319
+ "unicorn/no-array-reduce": "off",
1320
+ "unicorn/no-useless-switch-case": "off",
1321
+ "unicorn/prefer-string-replace-all": "off",
1322
+ "unicorn/no-abusive-eslint-disable": "off",
1323
+ "unicorn/import-style": "off",
1324
+ "unicorn/prefer-module": "off",
1325
+ "unicorn/consistent-function-scoping": "off",
1326
+ "unicorn/no-nested-ternary": "off"
1327
+ };
1328
+ }
1329
+ return rules;
1330
+ }, "getStormRulesConfig");
1331
+
1332
+
1333
+
1334
+ exports.getStormRulesConfig = getStormRulesConfig;