@hublo/sentinel 1.0.1 → 1.1.0-alpha.1
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/dist/bin/sentinel.js +26 -31
- package/dist/chunk-RLMXN2ZJ.js +1554 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.js +1 -1
- package/oxlint/nest.json +448 -0
- package/oxlint/node.json +61 -0
- package/package.json +8 -2
- package/dist/chunk-HKGCWPRT.js +0 -786
package/dist/index.d.ts
CHANGED
|
@@ -111,6 +111,37 @@ type FileOperation =
|
|
|
111
111
|
kind: 'remove-json-keys';
|
|
112
112
|
path: string;
|
|
113
113
|
keys: string[][];
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Replace whole lines that match EXACTLY, leaving everything else untouched. This is
|
|
117
|
+
* the only operation that edits source code rather than configuration, so it is
|
|
118
|
+
* deliberately the narrowest thing that works: no regex, no substring matching, no
|
|
119
|
+
* partial-line edits. The adapter reads the file, computes the exact before/after line
|
|
120
|
+
* pairs, and the engine swaps them.
|
|
121
|
+
*
|
|
122
|
+
* Matching whole lines rather than substrings matters: renaming a lint rule by substring
|
|
123
|
+
* would also rewrite it inside a string literal, an import path or prose in a comment.
|
|
124
|
+
* A line that no longer matches (the file moved on since the plan was computed) is
|
|
125
|
+
* skipped rather than guessed at, and the dry-run diff shows exactly what would change.
|
|
126
|
+
*/
|
|
127
|
+
| {
|
|
128
|
+
kind: 'replace-lines';
|
|
129
|
+
path: string;
|
|
130
|
+
replacements: {
|
|
131
|
+
from: string;
|
|
132
|
+
to: string;
|
|
133
|
+
}[];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Remove a file the module no longer owns. Adoption replaces a tool rather than sitting
|
|
137
|
+
* beside it, so the config being replaced has to go: leaving it means two linters
|
|
138
|
+
* configured, and whichever the task runner happens to invoke wins.
|
|
139
|
+
*
|
|
140
|
+
* Deleting an absent file is a no-op, not an error, so a re-run is idempotent.
|
|
141
|
+
*/
|
|
142
|
+
| {
|
|
143
|
+
kind: 'delete';
|
|
144
|
+
path: string;
|
|
114
145
|
};
|
|
115
146
|
/**
|
|
116
147
|
* The result of planning an `--init`: an ordered list of declarative operations,
|
|
@@ -169,6 +200,17 @@ interface Adapter {
|
|
|
169
200
|
* adapters can share a (target, runner) if they specialise different flavours.
|
|
170
201
|
*/
|
|
171
202
|
appliesTo(flavour: Flavour): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* The flavour this module has COMMITTED to, read from its own config, or undefined when
|
|
205
|
+
* it has not adopted a preset yet. Optional: an adapter implements it only when its tool's
|
|
206
|
+
* config states the flavour unambiguously.
|
|
207
|
+
*
|
|
208
|
+
* The engine prefers this over dependency detection, because in a monorepo dependencies are
|
|
209
|
+
* hoisted to the root: `host-admin` declares no `react`, so detection honestly answers
|
|
210
|
+
* `node` while the committed `extends` says `.../tsconfig/react`. Reporting the detected
|
|
211
|
+
* value there would show every adopted module as `node`, which is simply untrue.
|
|
212
|
+
*/
|
|
213
|
+
declaredFlavour?(cwd: string): Flavour | undefined;
|
|
172
214
|
/**
|
|
173
215
|
* Plan what `--init` should write, as declarative operations (see
|
|
174
216
|
* `FileOperation`). Given a normalized `UpdateContext`, the adapter may READ the
|
package/dist/index.js
CHANGED
package/oxlint/nest.json
ADDED
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
|
3
|
+
"plugins": [
|
|
4
|
+
"typescript",
|
|
5
|
+
"jest",
|
|
6
|
+
"import",
|
|
7
|
+
"unicorn",
|
|
8
|
+
"oxc",
|
|
9
|
+
"node"
|
|
10
|
+
],
|
|
11
|
+
"env": {
|
|
12
|
+
"node": true,
|
|
13
|
+
"es2022": true,
|
|
14
|
+
"jest": true
|
|
15
|
+
},
|
|
16
|
+
"categories": {
|
|
17
|
+
"correctness": "off",
|
|
18
|
+
"suspicious": "off",
|
|
19
|
+
"pedantic": "off",
|
|
20
|
+
"perf": "off",
|
|
21
|
+
"style": "off",
|
|
22
|
+
"restriction": "off",
|
|
23
|
+
"nursery": "off"
|
|
24
|
+
},
|
|
25
|
+
"ignorePatterns": [
|
|
26
|
+
"**/dist/**",
|
|
27
|
+
"**/node_modules/**",
|
|
28
|
+
"**/coverage/**",
|
|
29
|
+
"**/*.mock.ts"
|
|
30
|
+
],
|
|
31
|
+
"rules": {
|
|
32
|
+
"typescript/ban-ts-comment": "warn",
|
|
33
|
+
"typescript/no-array-constructor": "warn",
|
|
34
|
+
"typescript/no-duplicate-enum-values": "warn",
|
|
35
|
+
"typescript/no-empty-object-type": "warn",
|
|
36
|
+
"typescript/no-extra-non-null-assertion": "warn",
|
|
37
|
+
"typescript/no-misused-new": "warn",
|
|
38
|
+
"typescript/no-namespace": "warn",
|
|
39
|
+
"typescript/no-non-null-asserted-optional-chain": "warn",
|
|
40
|
+
"typescript/no-this-alias": "warn",
|
|
41
|
+
"typescript/no-unnecessary-type-constraint": "warn",
|
|
42
|
+
"typescript/no-unsafe-declaration-merging": "warn",
|
|
43
|
+
"typescript/no-unsafe-function-type": "warn",
|
|
44
|
+
"typescript/no-unused-expressions": [
|
|
45
|
+
"warn",
|
|
46
|
+
{
|
|
47
|
+
"allowShortCircuit": false,
|
|
48
|
+
"allowTaggedTemplates": false,
|
|
49
|
+
"allowTernary": false
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"typescript/no-wrapper-object-types": "warn",
|
|
53
|
+
"typescript/prefer-as-const": "warn",
|
|
54
|
+
"typescript/prefer-namespace-keyword": "warn",
|
|
55
|
+
"typescript/triple-slash-reference": "warn",
|
|
56
|
+
"no-var": "warn",
|
|
57
|
+
"prefer-const": [
|
|
58
|
+
"warn",
|
|
59
|
+
{
|
|
60
|
+
"destructuring": "any",
|
|
61
|
+
"ignoreReadBeforeAssign": false
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"prefer-rest-params": "warn",
|
|
65
|
+
"prefer-spread": "warn",
|
|
66
|
+
"array-callback-return": [
|
|
67
|
+
"warn",
|
|
68
|
+
{
|
|
69
|
+
"allowImplicit": false,
|
|
70
|
+
"checkForEach": false,
|
|
71
|
+
"allowVoid": false
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"complexity": [
|
|
75
|
+
"warn",
|
|
76
|
+
30
|
|
77
|
+
],
|
|
78
|
+
"curly": [
|
|
79
|
+
"warn",
|
|
80
|
+
"all"
|
|
81
|
+
],
|
|
82
|
+
"dot-notation": [
|
|
83
|
+
"warn",
|
|
84
|
+
{
|
|
85
|
+
"allowKeywords": true,
|
|
86
|
+
"allowPattern": ""
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"eqeqeq": "warn",
|
|
90
|
+
"for-direction": "warn",
|
|
91
|
+
"func-style": [
|
|
92
|
+
"warn",
|
|
93
|
+
"expression",
|
|
94
|
+
{
|
|
95
|
+
"allowArrowFunctions": false,
|
|
96
|
+
"allowTypeAnnotation": false,
|
|
97
|
+
"overrides": {}
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"no-async-promise-executor": "warn",
|
|
101
|
+
"no-case-declarations": "warn",
|
|
102
|
+
"no-compare-neg-zero": "warn",
|
|
103
|
+
"no-cond-assign": [
|
|
104
|
+
"warn",
|
|
105
|
+
"except-parens"
|
|
106
|
+
],
|
|
107
|
+
"no-console": [
|
|
108
|
+
"warn",
|
|
109
|
+
{
|
|
110
|
+
"allow": [
|
|
111
|
+
"warn",
|
|
112
|
+
"error"
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"no-constant-binary-expression": "warn",
|
|
117
|
+
"no-constant-condition": [
|
|
118
|
+
"warn",
|
|
119
|
+
{
|
|
120
|
+
"checkLoops": "allExceptWhileTrue"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"no-debugger": "warn",
|
|
124
|
+
"no-delete-var": "warn",
|
|
125
|
+
"no-dupe-else-if": "warn",
|
|
126
|
+
"no-dupe-keys": "warn",
|
|
127
|
+
"no-duplicate-case": "warn",
|
|
128
|
+
"no-else-return": [
|
|
129
|
+
"warn",
|
|
130
|
+
{
|
|
131
|
+
"allowElseIf": true
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"no-empty": [
|
|
135
|
+
"warn",
|
|
136
|
+
{
|
|
137
|
+
"allowEmptyCatch": false
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"no-empty-character-class": "warn",
|
|
141
|
+
"no-empty-pattern": [
|
|
142
|
+
"warn",
|
|
143
|
+
{
|
|
144
|
+
"allowObjectPatternsAsParameters": false
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"no-empty-static-block": "warn",
|
|
148
|
+
"no-ex-assign": "warn",
|
|
149
|
+
"no-extra-boolean-cast": [
|
|
150
|
+
"warn",
|
|
151
|
+
{}
|
|
152
|
+
],
|
|
153
|
+
"no-fallthrough": [
|
|
154
|
+
"warn",
|
|
155
|
+
{
|
|
156
|
+
"allowEmptyCase": false,
|
|
157
|
+
"reportUnusedFallthroughComment": false
|
|
158
|
+
}
|
|
159
|
+
],
|
|
160
|
+
"no-global-assign": [
|
|
161
|
+
"warn",
|
|
162
|
+
{
|
|
163
|
+
"exceptions": []
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"no-implicit-coercion": [
|
|
167
|
+
"warn",
|
|
168
|
+
{
|
|
169
|
+
"allow": [],
|
|
170
|
+
"boolean": true,
|
|
171
|
+
"disallowTemplateShorthand": false,
|
|
172
|
+
"number": true,
|
|
173
|
+
"string": true
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"no-invalid-regexp": [
|
|
177
|
+
"warn",
|
|
178
|
+
{}
|
|
179
|
+
],
|
|
180
|
+
"no-irregular-whitespace": [
|
|
181
|
+
"warn",
|
|
182
|
+
{
|
|
183
|
+
"skipComments": false,
|
|
184
|
+
"skipJSXText": false,
|
|
185
|
+
"skipRegExps": false,
|
|
186
|
+
"skipStrings": true,
|
|
187
|
+
"skipTemplates": false
|
|
188
|
+
}
|
|
189
|
+
],
|
|
190
|
+
"no-lonely-if": "warn",
|
|
191
|
+
"no-loss-of-precision": "warn",
|
|
192
|
+
"no-misleading-character-class": "warn",
|
|
193
|
+
"no-nonoctal-decimal-escape": "warn",
|
|
194
|
+
"no-prototype-builtins": "warn",
|
|
195
|
+
"no-regex-spaces": "warn",
|
|
196
|
+
"no-restricted-imports": [
|
|
197
|
+
"warn",
|
|
198
|
+
{
|
|
199
|
+
"paths": [
|
|
200
|
+
{
|
|
201
|
+
"name": "@front/theme",
|
|
202
|
+
"importNames": [
|
|
203
|
+
"hubloTheme",
|
|
204
|
+
"legacyHubloTheme",
|
|
205
|
+
"customCommonColors",
|
|
206
|
+
"customPalette",
|
|
207
|
+
"breakpointsOptions",
|
|
208
|
+
"breakpointsValues",
|
|
209
|
+
"spacingConstants"
|
|
210
|
+
],
|
|
211
|
+
"message": "Use the MUI theme context or the public providers exposed by @front/theme."
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"patterns": [
|
|
215
|
+
{
|
|
216
|
+
"group": [
|
|
217
|
+
"@front/theme/*",
|
|
218
|
+
"!@front/theme/testing"
|
|
219
|
+
],
|
|
220
|
+
"message": "Deep imports from @front/theme are forbidden outside the theme lib."
|
|
221
|
+
}
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
],
|
|
225
|
+
"no-self-assign": [
|
|
226
|
+
"warn",
|
|
227
|
+
{
|
|
228
|
+
"props": true
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"no-shadow-restricted-names": [
|
|
232
|
+
"warn",
|
|
233
|
+
{
|
|
234
|
+
"reportGlobalThis": false
|
|
235
|
+
}
|
|
236
|
+
],
|
|
237
|
+
"no-sparse-arrays": "warn",
|
|
238
|
+
"no-unneeded-ternary": [
|
|
239
|
+
"warn",
|
|
240
|
+
{
|
|
241
|
+
"defaultAssignment": true
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"no-unsafe-finally": "warn",
|
|
245
|
+
"no-unsafe-optional-chaining": [
|
|
246
|
+
"warn",
|
|
247
|
+
{
|
|
248
|
+
"disallowArithmeticOperators": false
|
|
249
|
+
}
|
|
250
|
+
],
|
|
251
|
+
"no-unused-labels": "warn",
|
|
252
|
+
"no-unused-private-class-members": "warn",
|
|
253
|
+
"no-useless-backreference": "warn",
|
|
254
|
+
"no-useless-catch": "warn",
|
|
255
|
+
"no-useless-escape": [
|
|
256
|
+
"warn",
|
|
257
|
+
{
|
|
258
|
+
"allowRegexCharacters": []
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"no-useless-return": "warn",
|
|
262
|
+
"prefer-arrow-callback": [
|
|
263
|
+
"warn",
|
|
264
|
+
{
|
|
265
|
+
"allowNamedFunctions": false,
|
|
266
|
+
"allowUnboundThis": true
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"require-yield": "warn",
|
|
270
|
+
"use-isnan": [
|
|
271
|
+
"warn",
|
|
272
|
+
{
|
|
273
|
+
"enforceForIndexOf": false,
|
|
274
|
+
"enforceForSwitchCase": true
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"valid-typeof": [
|
|
278
|
+
"warn",
|
|
279
|
+
{
|
|
280
|
+
"requireStringLiterals": false
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"typescript/await-thenable": "warn",
|
|
284
|
+
"typescript/no-confusing-non-null-assertion": "warn",
|
|
285
|
+
"typescript/no-empty-function": [
|
|
286
|
+
"warn",
|
|
287
|
+
{
|
|
288
|
+
"allow": []
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"typescript/no-explicit-any": "warn",
|
|
292
|
+
"typescript/no-floating-promises": [
|
|
293
|
+
"warn",
|
|
294
|
+
{
|
|
295
|
+
"ignoreVoid": true
|
|
296
|
+
}
|
|
297
|
+
],
|
|
298
|
+
"typescript/no-import-type-side-effects": "warn",
|
|
299
|
+
"typescript/no-inferrable-types": "warn",
|
|
300
|
+
"typescript/no-non-null-assertion": "warn",
|
|
301
|
+
"typescript/no-unused-vars": [
|
|
302
|
+
"warn",
|
|
303
|
+
{
|
|
304
|
+
"argsIgnorePattern": "^_",
|
|
305
|
+
"caughtErrors": "none"
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
"typescript/switch-exhaustiveness-check": [
|
|
309
|
+
"warn",
|
|
310
|
+
{
|
|
311
|
+
"considerDefaultExhaustiveForUnions": true
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
"jest/expect-expect": "warn",
|
|
315
|
+
"jest/no-alias-methods": "warn",
|
|
316
|
+
"jest/no-commented-out-tests": "warn",
|
|
317
|
+
"jest/no-deprecated-functions": "warn",
|
|
318
|
+
"jest/no-disabled-tests": "warn",
|
|
319
|
+
"jest/no-done-callback": "warn",
|
|
320
|
+
"jest/no-export": "warn",
|
|
321
|
+
"jest/no-focused-tests": "warn",
|
|
322
|
+
"jest/no-identical-title": "warn",
|
|
323
|
+
"jest/no-interpolation-in-snapshots": "warn",
|
|
324
|
+
"jest/no-jasmine-globals": "warn",
|
|
325
|
+
"jest/no-mocks-import": "warn",
|
|
326
|
+
"jest/no-standalone-expect": "warn",
|
|
327
|
+
"jest/no-test-prefixes": "warn",
|
|
328
|
+
"jest/prefer-to-be": "warn",
|
|
329
|
+
"jest/prefer-to-contain": "warn",
|
|
330
|
+
"jest/prefer-to-have-length": "warn",
|
|
331
|
+
"jest/valid-describe-callback": "warn",
|
|
332
|
+
"jest/valid-expect": "warn",
|
|
333
|
+
"jest/valid-expect-in-promise": "warn",
|
|
334
|
+
"jest/valid-title": "warn",
|
|
335
|
+
"import-js/no-duplicates": [
|
|
336
|
+
"warn",
|
|
337
|
+
{
|
|
338
|
+
"considerQueryString": true,
|
|
339
|
+
"prefer-inline": true
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"import-js/order": [
|
|
343
|
+
"warn",
|
|
344
|
+
{
|
|
345
|
+
"newlines-between": "always",
|
|
346
|
+
"groups": [
|
|
347
|
+
"builtin",
|
|
348
|
+
"external",
|
|
349
|
+
"internal",
|
|
350
|
+
[
|
|
351
|
+
"parent",
|
|
352
|
+
"index"
|
|
353
|
+
],
|
|
354
|
+
"sibling"
|
|
355
|
+
],
|
|
356
|
+
"alphabetize": {
|
|
357
|
+
"order": "asc",
|
|
358
|
+
"caseInsensitive": false,
|
|
359
|
+
"orderImportKind": "ignore"
|
|
360
|
+
},
|
|
361
|
+
"pathGroups": [
|
|
362
|
+
{
|
|
363
|
+
"pattern": "@nestjs/**",
|
|
364
|
+
"group": "external"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"pattern": "{@admin/**,@authentication/**,@featureToggles/**,@institution/**,@hublo/**,@network/**,@mission/**,@notification/**,@shared/**,@talent/**,@worker/**,@contract/**,@config/**,@front/**}",
|
|
368
|
+
"group": "internal",
|
|
369
|
+
"position": "before"
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"pathGroupsExcludedImportTypes": [
|
|
373
|
+
"builtin"
|
|
374
|
+
],
|
|
375
|
+
"distinctGroup": true,
|
|
376
|
+
"sortTypesGroup": false,
|
|
377
|
+
"named": false,
|
|
378
|
+
"warnOnUnassignedImports": false
|
|
379
|
+
}
|
|
380
|
+
],
|
|
381
|
+
"nx/enforce-module-boundaries": [
|
|
382
|
+
"warn",
|
|
383
|
+
{
|
|
384
|
+
"enforceBuildableLibDependency": true,
|
|
385
|
+
"allow": [],
|
|
386
|
+
"depConstraints": [
|
|
387
|
+
{
|
|
388
|
+
"sourceTag": "*",
|
|
389
|
+
"onlyDependOnLibsWithTags": [
|
|
390
|
+
"*"
|
|
391
|
+
]
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"no-barrel-files/no-barrel-files": "off",
|
|
397
|
+
"no-control-regex": "off"
|
|
398
|
+
},
|
|
399
|
+
"jsPlugins": [
|
|
400
|
+
"eslint-plugin-no-barrel-files",
|
|
401
|
+
{
|
|
402
|
+
"name": "nx",
|
|
403
|
+
"specifier": "@nx/eslint-plugin"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"name": "import-js",
|
|
407
|
+
"specifier": "eslint-plugin-import"
|
|
408
|
+
}
|
|
409
|
+
],
|
|
410
|
+
"settings": {
|
|
411
|
+
"import/extensions": [
|
|
412
|
+
".ts",
|
|
413
|
+
".cts",
|
|
414
|
+
".mts",
|
|
415
|
+
".tsx",
|
|
416
|
+
".js",
|
|
417
|
+
".jsx",
|
|
418
|
+
".mjs",
|
|
419
|
+
".cjs"
|
|
420
|
+
],
|
|
421
|
+
"import/external-module-folders": [
|
|
422
|
+
"node_modules",
|
|
423
|
+
"node_modules/@types"
|
|
424
|
+
],
|
|
425
|
+
"import/parsers": {
|
|
426
|
+
"@typescript-eslint/parser": [
|
|
427
|
+
".ts",
|
|
428
|
+
".cts",
|
|
429
|
+
".mts",
|
|
430
|
+
".tsx"
|
|
431
|
+
]
|
|
432
|
+
},
|
|
433
|
+
"import/resolver": {
|
|
434
|
+
"node": {
|
|
435
|
+
"extensions": [
|
|
436
|
+
".ts",
|
|
437
|
+
".cts",
|
|
438
|
+
".mts",
|
|
439
|
+
".tsx",
|
|
440
|
+
".js",
|
|
441
|
+
".jsx",
|
|
442
|
+
".mjs",
|
|
443
|
+
".cjs"
|
|
444
|
+
]
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
}
|
package/oxlint/node.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
|
3
|
+
"plugins": [
|
|
4
|
+
"typescript",
|
|
5
|
+
"oxc"
|
|
6
|
+
],
|
|
7
|
+
"env": {
|
|
8
|
+
"es2022": true
|
|
9
|
+
},
|
|
10
|
+
"categories": {
|
|
11
|
+
"correctness": "off",
|
|
12
|
+
"suspicious": "off",
|
|
13
|
+
"pedantic": "off",
|
|
14
|
+
"perf": "off",
|
|
15
|
+
"style": "off",
|
|
16
|
+
"restriction": "off",
|
|
17
|
+
"nursery": "off"
|
|
18
|
+
},
|
|
19
|
+
"ignorePatterns": [
|
|
20
|
+
"**/dist/**",
|
|
21
|
+
"**/node_modules/**",
|
|
22
|
+
"**/coverage/**",
|
|
23
|
+
"**/*.mock.ts"
|
|
24
|
+
],
|
|
25
|
+
"rules": {
|
|
26
|
+
"typescript/ban-ts-comment": "warn",
|
|
27
|
+
"typescript/no-array-constructor": "warn",
|
|
28
|
+
"typescript/no-duplicate-enum-values": "warn",
|
|
29
|
+
"typescript/no-empty-object-type": "warn",
|
|
30
|
+
"typescript/no-extra-non-null-assertion": "warn",
|
|
31
|
+
"typescript/no-misused-new": "warn",
|
|
32
|
+
"typescript/no-namespace": "warn",
|
|
33
|
+
"typescript/no-non-null-asserted-optional-chain": "warn",
|
|
34
|
+
"typescript/no-this-alias": "warn",
|
|
35
|
+
"typescript/no-unnecessary-type-constraint": "warn",
|
|
36
|
+
"typescript/no-unsafe-declaration-merging": "warn",
|
|
37
|
+
"typescript/no-unsafe-function-type": "warn",
|
|
38
|
+
"typescript/no-unused-expressions": [
|
|
39
|
+
"warn",
|
|
40
|
+
{
|
|
41
|
+
"allowShortCircuit": false,
|
|
42
|
+
"allowTaggedTemplates": false,
|
|
43
|
+
"allowTernary": false
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"typescript/no-wrapper-object-types": "warn",
|
|
47
|
+
"typescript/prefer-as-const": "warn",
|
|
48
|
+
"typescript/prefer-namespace-keyword": "warn",
|
|
49
|
+
"typescript/triple-slash-reference": "warn",
|
|
50
|
+
"no-var": "warn",
|
|
51
|
+
"prefer-const": [
|
|
52
|
+
"warn",
|
|
53
|
+
{
|
|
54
|
+
"destructuring": "any",
|
|
55
|
+
"ignoreReadBeforeAssign": false
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"prefer-rest-params": "warn",
|
|
59
|
+
"prefer-spread": "warn"
|
|
60
|
+
}
|
|
61
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hublo/sentinel",
|
|
3
|
-
"version": "1.0.1",
|
|
3
|
+
"version": "1.1.0-alpha.1",
|
|
4
4
|
"description": "One CLI that guards code health across Hublo repos: shared lint/typescript/build/test presets, static & dynamic analysis, and architecture checks.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,15 +28,21 @@
|
|
|
28
28
|
},
|
|
29
29
|
"./tsconfig/node": {
|
|
30
30
|
"default": "./dist/tsconfig/node.json"
|
|
31
|
+
},
|
|
32
|
+
"./oxlint/nest": {
|
|
33
|
+
"default": "./oxlint/nest.json"
|
|
31
34
|
}
|
|
32
35
|
},
|
|
33
36
|
"files": [
|
|
34
37
|
"dist",
|
|
38
|
+
"oxlint",
|
|
35
39
|
"!dist/**/*.map"
|
|
36
40
|
],
|
|
37
41
|
"dependencies": {
|
|
38
42
|
"commander": "^13.0.0",
|
|
39
|
-
"jsonc-parser": "^3.3.1"
|
|
43
|
+
"jsonc-parser": "^3.3.1",
|
|
44
|
+
"oxlint": "1.77.0",
|
|
45
|
+
"oxlint-tsgolint": "7.0.2001"
|
|
40
46
|
},
|
|
41
47
|
"devDependencies": {
|
|
42
48
|
"@eslint/js": "^10.0.1",
|