@hublo/sentinel 1.0.2 → 1.1.0-alpha.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.
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,
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  registerAdapters,
8
8
  resolve,
9
9
  setDefaultRunner
10
- } from "./chunk-SK6E5EM4.js";
10
+ } from "./chunk-EZCRU6XE.js";
11
11
  export {
12
12
  BaseAdapter,
13
13
  all,
@@ -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
+ }
@@ -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
+ }