@hublo/sentinel 1.1.6 → 1.2.0-alpha.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.
@@ -0,0 +1,376 @@
1
+ {
2
+ "$schema": "./node_modules/oxlint/configuration_schema.json",
3
+ "plugins": [
4
+ "typescript",
5
+ "react",
6
+ "jsx-a11y",
7
+ "jest",
8
+ "unicorn",
9
+ "oxc",
10
+ "nextjs"
11
+ ],
12
+ "categories": {
13
+ "correctness": "off",
14
+ "suspicious": "off",
15
+ "pedantic": "off",
16
+ "perf": "off",
17
+ "style": "off",
18
+ "restriction": "off",
19
+ "nursery": "off"
20
+ },
21
+ "rules": {
22
+ "no-var": "error",
23
+ "prefer-const": [
24
+ "error",
25
+ {
26
+ "destructuring": "any",
27
+ "ignoreReadBeforeAssign": false
28
+ }
29
+ ],
30
+ "prefer-rest-params": "error",
31
+ "prefer-spread": "error",
32
+ "typescript/ban-ts-comment": "error",
33
+ "typescript/no-array-constructor": "error",
34
+ "typescript/no-duplicate-enum-values": "error",
35
+ "typescript/no-empty-object-type": "error",
36
+ "typescript/no-extra-non-null-assertion": "error",
37
+ "typescript/no-misused-new": "error",
38
+ "typescript/no-namespace": "error",
39
+ "typescript/no-non-null-asserted-optional-chain": "error",
40
+ "typescript/no-this-alias": "error",
41
+ "typescript/no-unnecessary-type-constraint": "error",
42
+ "typescript/no-unsafe-declaration-merging": "error",
43
+ "typescript/no-unsafe-function-type": "error",
44
+ "typescript/no-unused-expressions": [
45
+ "error",
46
+ {
47
+ "allowShortCircuit": false,
48
+ "allowTaggedTemplates": false,
49
+ "allowTernary": false
50
+ }
51
+ ],
52
+ "typescript/no-wrapper-object-types": "error",
53
+ "typescript/prefer-as-const": "error",
54
+ "typescript/prefer-namespace-keyword": "error",
55
+ "typescript/triple-slash-reference": "error",
56
+ "curly": [
57
+ "error",
58
+ "all"
59
+ ],
60
+ "for-direction": "error",
61
+ "jest-dom/prefer-checked": "error",
62
+ "jest-dom/prefer-empty": "error",
63
+ "jest-dom/prefer-enabled-disabled": "error",
64
+ "jest-dom/prefer-focus": "error",
65
+ "jest-dom/prefer-in-document": "error",
66
+ "jest-dom/prefer-required": "error",
67
+ "jest-dom/prefer-to-have-attribute": "error",
68
+ "jest-dom/prefer-to-have-class": "error",
69
+ "jest-dom/prefer-to-have-style": "error",
70
+ "jest-dom/prefer-to-have-text-content": "error",
71
+ "jest-dom/prefer-to-have-value": "error",
72
+ "jest/expect-expect": [
73
+ "error",
74
+ {
75
+ "assertFunctionNames": [
76
+ "expect",
77
+ "expect*",
78
+ "waitForElementToBeRemoved",
79
+ "screen.findBy*",
80
+ "result.findBy*"
81
+ ]
82
+ }
83
+ ],
84
+ "jest/no-alias-methods": "error",
85
+ "jest/no-commented-out-tests": "warn",
86
+ "jest/no-conditional-expect": "error",
87
+ "jest/no-deprecated-functions": "error",
88
+ "jest/no-disabled-tests": "warn",
89
+ "jest/no-done-callback": "error",
90
+ "jest/no-export": "error",
91
+ "jest/no-focused-tests": "error",
92
+ "jest/no-identical-title": "error",
93
+ "jest/no-interpolation-in-snapshots": "error",
94
+ "jest/no-jasmine-globals": "error",
95
+ "jest/no-mocks-import": "error",
96
+ "jest/no-standalone-expect": "error",
97
+ "jest/no-test-prefixes": "error",
98
+ "jest/prefer-to-be": "error",
99
+ "jest/prefer-to-contain": "error",
100
+ "jest/prefer-to-have-length": "error",
101
+ "jest/valid-describe-callback": "error",
102
+ "jest/valid-expect": "error",
103
+ "jest/valid-expect-in-promise": "error",
104
+ "jest/valid-title": "error",
105
+ "jsx-a11y/anchor-is-valid": [
106
+ "error",
107
+ {
108
+ "components": [
109
+ "Link"
110
+ ],
111
+ "specialLink": [
112
+ "hrefLeft",
113
+ "hrefRight"
114
+ ],
115
+ "aspects": [
116
+ "invalidHref",
117
+ "preferButton"
118
+ ]
119
+ }
120
+ ],
121
+ "nextjs/google-font-display": "warn",
122
+ "nextjs/google-font-preconnect": "warn",
123
+ "nextjs/inline-script-id": "error",
124
+ "nextjs/next-script-for-ga": "warn",
125
+ "nextjs/no-assign-module-variable": "error",
126
+ "nextjs/no-async-client-component": "warn",
127
+ "nextjs/no-before-interactive-script-outside-document": "warn",
128
+ "nextjs/no-css-tags": "warn",
129
+ "nextjs/no-document-import-in-page": "error",
130
+ "nextjs/no-duplicate-head": "error",
131
+ "nextjs/no-head-element": "warn",
132
+ "nextjs/no-head-import-in-document": "error",
133
+ "nextjs/no-html-link-for-pages": "error",
134
+ "nextjs/no-img-element": "warn",
135
+ "nextjs/no-page-custom-font": "warn",
136
+ "nextjs/no-script-component-in-head": "error",
137
+ "nextjs/no-styled-jsx-in-document": "warn",
138
+ "nextjs/no-sync-scripts": "error",
139
+ "nextjs/no-title-in-document-head": "warn",
140
+ "nextjs/no-typos": "warn",
141
+ "nextjs/no-unwanted-polyfillio": "warn",
142
+ "no-async-promise-executor": "error",
143
+ "no-barrel-files/no-barrel-files": "warn",
144
+ "no-case-declarations": "error",
145
+ "no-compare-neg-zero": "error",
146
+ "no-cond-assign": [
147
+ "error",
148
+ "except-parens"
149
+ ],
150
+ "no-console": [
151
+ "warn",
152
+ {
153
+ "allow": [
154
+ "warn",
155
+ "error"
156
+ ]
157
+ }
158
+ ],
159
+ "no-constant-binary-expression": "error",
160
+ "no-constant-condition": [
161
+ "error",
162
+ {
163
+ "checkLoops": "allExceptWhileTrue"
164
+ }
165
+ ],
166
+ "no-control-regex": "error",
167
+ "no-debugger": "error",
168
+ "no-delete-var": "error",
169
+ "no-dupe-else-if": "error",
170
+ "no-duplicate-case": "error",
171
+ "no-empty": [
172
+ "error",
173
+ {
174
+ "allowEmptyCatch": false
175
+ }
176
+ ],
177
+ "no-empty-character-class": "error",
178
+ "no-empty-pattern": [
179
+ "error",
180
+ {
181
+ "allowObjectPatternsAsParameters": false
182
+ }
183
+ ],
184
+ "no-empty-static-block": "error",
185
+ "no-ex-assign": "error",
186
+ "no-extra-boolean-cast": [
187
+ "error",
188
+ {}
189
+ ],
190
+ "no-fallthrough": [
191
+ "error",
192
+ {
193
+ "allowEmptyCase": false,
194
+ "reportUnusedFallthroughComment": false
195
+ }
196
+ ],
197
+ "no-global-assign": [
198
+ "error",
199
+ {
200
+ "exceptions": []
201
+ }
202
+ ],
203
+ "no-invalid-regexp": [
204
+ "error",
205
+ {}
206
+ ],
207
+ "no-irregular-whitespace": [
208
+ "error",
209
+ {
210
+ "skipComments": false,
211
+ "skipJSXText": false,
212
+ "skipRegExps": false,
213
+ "skipStrings": true,
214
+ "skipTemplates": false
215
+ }
216
+ ],
217
+ "no-loss-of-precision": "error",
218
+ "no-misleading-character-class": "error",
219
+ "no-nonoctal-decimal-escape": "error",
220
+ "no-prototype-builtins": "error",
221
+ "no-regex-spaces": "error",
222
+ "no-restricted-properties": [
223
+ "error",
224
+ {
225
+ "object": "i18n",
226
+ "property": "changeLanguage",
227
+ "message": "This does not work in Nextjs. Please use Link or router instead. See https://nextjs.org/docs/advanced-features/i18n-routing#transition-between-locales"
228
+ }
229
+ ],
230
+ "no-self-assign": [
231
+ "error",
232
+ {
233
+ "props": true
234
+ }
235
+ ],
236
+ "no-shadow-restricted-names": [
237
+ "error",
238
+ {
239
+ "reportGlobalThis": false
240
+ }
241
+ ],
242
+ "no-sparse-arrays": "error",
243
+ "no-unsafe-finally": "error",
244
+ "no-unsafe-optional-chaining": [
245
+ "error",
246
+ {
247
+ "disallowArithmeticOperators": false
248
+ }
249
+ ],
250
+ "no-unused-labels": "error",
251
+ "no-unused-private-class-members": "error",
252
+ "no-useless-backreference": "error",
253
+ "no-useless-catch": "error",
254
+ "no-useless-escape": [
255
+ "error",
256
+ {
257
+ "allowRegexCharacters": []
258
+ }
259
+ ],
260
+ "nx/enforce-module-boundaries": [
261
+ "error",
262
+ {
263
+ "enforceBuildableLibDependency": true,
264
+ "allow": [],
265
+ "depConstraints": [
266
+ {
267
+ "sourceTag": "*",
268
+ "onlyDependOnLibsWithTags": [
269
+ "*"
270
+ ]
271
+ }
272
+ ]
273
+ }
274
+ ],
275
+ "react-hooks/exhaustive-deps": "warn",
276
+ "react-hooks/rules-of-hooks": "error",
277
+ "react/jsx-curly-brace-presence": [
278
+ "warn",
279
+ {
280
+ "props": "never",
281
+ "children": "never"
282
+ }
283
+ ],
284
+ "react/jsx-no-useless-fragment": [
285
+ "error",
286
+ {
287
+ "allowExpressions": true
288
+ }
289
+ ],
290
+ "require-yield": "error",
291
+ "typescript/consistent-type-imports": [
292
+ "error",
293
+ {
294
+ "fixStyle": "inline-type-imports"
295
+ }
296
+ ],
297
+ "typescript/no-empty-function": [
298
+ "error",
299
+ {
300
+ "allow": []
301
+ }
302
+ ],
303
+ "typescript/no-explicit-any": "error",
304
+ "typescript/no-floating-promises": [
305
+ "error",
306
+ {
307
+ "ignoreVoid": true
308
+ }
309
+ ],
310
+ "typescript/no-inferrable-types": "error",
311
+ "typescript/no-non-null-assertion": "warn",
312
+ "typescript/no-unused-vars": [
313
+ "error",
314
+ {
315
+ "argsIgnorePattern": "^_",
316
+ "caughtErrors": "none"
317
+ }
318
+ ],
319
+ "typescript/no-useless-constructor": "warn",
320
+ "typescript/return-await": [
321
+ "warn",
322
+ "in-try-catch"
323
+ ],
324
+ "use-isnan": [
325
+ "error",
326
+ {
327
+ "enforceForIndexOf": false,
328
+ "enforceForSwitchCase": true
329
+ }
330
+ ],
331
+ "valid-typeof": [
332
+ "error",
333
+ {
334
+ "requireStringLiterals": false
335
+ }
336
+ ]
337
+ },
338
+ "jsPlugins": [
339
+ "eslint-plugin-no-barrel-files",
340
+ {
341
+ "name": "nx",
342
+ "specifier": "@nx/eslint-plugin"
343
+ },
344
+ {
345
+ "name": "jest-dom",
346
+ "specifier": "eslint-plugin-jest-dom"
347
+ },
348
+ {
349
+ "name": "storybook",
350
+ "specifier": "eslint-plugin-storybook"
351
+ }
352
+ ],
353
+ "overrides": [
354
+ {
355
+ "files": [
356
+ "**/*.stories.ts",
357
+ "**/*.stories.tsx",
358
+ "**/*.stories.js",
359
+ "**/*.stories.jsx"
360
+ ],
361
+ "rules": {
362
+ "storybook/await-interactions": "error",
363
+ "storybook/context-in-play-function": "error",
364
+ "storybook/default-exports": "error",
365
+ "storybook/hierarchy-separator": "warn",
366
+ "storybook/no-redundant-story-name": "warn",
367
+ "storybook/no-renderer-packages": "error",
368
+ "storybook/prefer-pascal-case": "warn",
369
+ "storybook/story-exports": "error",
370
+ "storybook/use-storybook-expect": "error",
371
+ "storybook/use-storybook-testing-library": "error",
372
+ "react-hooks/rules-of-hooks": "off"
373
+ }
374
+ }
375
+ ]
376
+ }