@sarj/eslint-plugin 15.14.0 → 15.15.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/dist/index.d.cts CHANGED
@@ -266,11 +266,16 @@ declare const RULES: {
266
266
  memoCallees?: readonly string[];
267
267
  minProperties?: number;
268
268
  }?], "hoistSchema">;
269
+ readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
269
270
  readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
271
+ readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
272
+ readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
270
273
  readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
271
274
  readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
272
275
  readonly "prefer-await-in-async-return": DocumentedRule<readonly [], "preferAwait">;
273
276
  readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
277
+ readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
278
+ readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
274
279
  readonly "prefer-semantic-colors": DocumentedRule<readonly [{
275
280
  requireSemanticTokens?: boolean;
276
281
  }?], "rawPalette" | "arbitraryColor" | "inlineColor">;
@@ -286,17 +291,19 @@ declare const RULES: {
286
291
  allowIn?: readonly string[];
287
292
  }?], "missingSignal">;
288
293
  readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
294
+ readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
289
295
  readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
290
296
  readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
291
297
  readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
292
298
  readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">;
293
299
  readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
300
+ readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
294
301
  readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
295
302
  };
296
303
  /** Rules registered for application-profile configs but intentionally absent from general presets. */
297
304
  declare const APPLICATION_ONLY_RULES: readonly ["no-restricted-library-load", "prefer-native-random-uuid", "prefer-shadcn-primitives"];
298
- /** No active rule remains advisory; retained as a public compatibility export. */
299
- declare const ADVISORY_RULES: readonly ["@sarj/require-pascal-case-zod-schema-name"];
305
+ /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
306
+ declare const ADVISORY_RULES: readonly ["@sarj/prefer-named-complex-return-type", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-switch-for-repeated-equality", "@sarj/require-pascal-case-zod-schema-name", "@sarj/require-sql-access-class", "@sarj/sole-export-matches-filename"];
300
307
  declare const RECOMMENDED_RULES: {
301
308
  readonly "@sarj/interface-contract-members-private": "error";
302
309
  readonly "@sarj/iac-source-coupled-test": "error";
@@ -352,10 +359,15 @@ declare const RECOMMENDED_RULES: {
352
359
  readonly "@sarj/prefer-immutable-module-constant": "error";
353
360
  readonly "@sarj/prefer-module-level-constant": "error";
354
361
  readonly "@sarj/prefer-module-level-schema": "error";
362
+ readonly "@sarj/prefer-named-complex-return-type": "warn";
363
+ readonly "@sarj/prefer-node-crypto-hash": "warn";
364
+ readonly "@sarj/prefer-node-fs-promises": "error";
355
365
  readonly "@sarj/prefer-non-nullable-collection": "error";
356
366
  readonly "@sarj/prefer-nullish-filter-predicate": "error";
357
367
  readonly "@sarj/prefer-await-in-async-return": "error";
358
368
  readonly "@sarj/prefer-schema-for-api-payload": "error";
369
+ readonly "@sarj/prefer-shared-zod-enum": "warn";
370
+ readonly "@sarj/prefer-switch-for-repeated-equality": "warn";
359
371
  readonly "@sarj/prefer-semantic-colors": readonly ["error", {
360
372
  readonly requireSemanticTokens: true;
361
373
  }];
@@ -366,6 +378,7 @@ declare const RECOMMENDED_RULES: {
366
378
  readonly "@sarj/require-assert-never": "error";
367
379
  readonly "@sarj/require-fetch-timeout": "error";
368
380
  readonly "@sarj/require-port-for-service": "error";
381
+ readonly "@sarj/require-sql-access-class": "warn";
369
382
  readonly "@sarj/require-static-next-matcher": "error";
370
383
  readonly "@sarj/require-use-form-default-values": "error";
371
384
  readonly "@sarj/require-use-server-in-actions-file": "error";
@@ -373,6 +386,7 @@ declare const RECOMMENDED_RULES: {
373
386
  readonly "@sarj/store-insert-requires-on-conflict": "error";
374
387
  readonly "@sarj/stepdown": "error";
375
388
  readonly "@sarj/source-coupled-test": "error";
389
+ readonly "@sarj/sole-export-matches-filename": "warn";
376
390
  readonly "@sarj/test-phase-label-comment": "error";
377
391
  readonly "@sarj/require-pascal-case-zod-schema-name": "warn";
378
392
  };
@@ -435,10 +449,15 @@ declare const STRICT_RULES: {
435
449
  readonly "@sarj/prefer-immutable-module-constant": "error";
436
450
  readonly "@sarj/prefer-module-level-constant": "error";
437
451
  readonly "@sarj/prefer-module-level-schema": "error";
452
+ readonly "@sarj/prefer-named-complex-return-type": "warn";
453
+ readonly "@sarj/prefer-node-crypto-hash": "warn";
454
+ readonly "@sarj/prefer-node-fs-promises": "error";
438
455
  readonly "@sarj/prefer-non-nullable-collection": "error";
439
456
  readonly "@sarj/prefer-nullish-filter-predicate": "error";
440
457
  readonly "@sarj/prefer-await-in-async-return": "error";
441
458
  readonly "@sarj/prefer-schema-for-api-payload": "error";
459
+ readonly "@sarj/prefer-shared-zod-enum": "warn";
460
+ readonly "@sarj/prefer-switch-for-repeated-equality": "warn";
442
461
  readonly "@sarj/prefer-semantic-colors": readonly ["error", {
443
462
  readonly requireSemanticTokens: true;
444
463
  }];
@@ -449,6 +468,7 @@ declare const STRICT_RULES: {
449
468
  readonly "@sarj/require-assert-never": "error";
450
469
  readonly "@sarj/require-fetch-timeout": "error";
451
470
  readonly "@sarj/require-port-for-service": "error";
471
+ readonly "@sarj/require-sql-access-class": "warn";
452
472
  readonly "@sarj/require-static-next-matcher": "error";
453
473
  readonly "@sarj/require-use-form-default-values": "error";
454
474
  readonly "@sarj/require-use-server-in-actions-file": "error";
@@ -456,6 +476,7 @@ declare const STRICT_RULES: {
456
476
  readonly "@sarj/store-insert-requires-on-conflict": "error";
457
477
  readonly "@sarj/stepdown": "error";
458
478
  readonly "@sarj/source-coupled-test": "error";
479
+ readonly "@sarj/sole-export-matches-filename": "warn";
459
480
  readonly "@sarj/test-phase-label-comment": "error";
460
481
  readonly "@sarj/require-pascal-case-zod-schema-name": "warn";
461
482
  };
@@ -467,7 +488,7 @@ type FlatPreset = {
467
488
  declare const PLUGIN: {
468
489
  readonly meta: {
469
490
  readonly name: "@sarj/eslint-plugin";
470
- readonly version: "15.14.0";
491
+ readonly version: "15.15.0";
471
492
  };
472
493
  readonly rules: {
473
494
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
@@ -547,11 +568,16 @@ declare const PLUGIN: {
547
568
  memoCallees?: readonly string[];
548
569
  minProperties?: number;
549
570
  }?], "hoistSchema">;
571
+ readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
550
572
  readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
573
+ readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
574
+ readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
551
575
  readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
552
576
  readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
553
577
  readonly "prefer-await-in-async-return": DocumentedRule<readonly [], "preferAwait">;
554
578
  readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
579
+ readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
580
+ readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
555
581
  readonly "prefer-semantic-colors": DocumentedRule<readonly [{
556
582
  requireSemanticTokens?: boolean;
557
583
  }?], "rawPalette" | "arbitraryColor" | "inlineColor">;
@@ -567,11 +593,13 @@ declare const PLUGIN: {
567
593
  allowIn?: readonly string[];
568
594
  }?], "missingSignal">;
569
595
  readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
596
+ readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
570
597
  readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
571
598
  readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
572
599
  readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
573
600
  readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">;
574
601
  readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
602
+ readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
575
603
  readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
576
604
  };
577
605
  readonly retiredRules: Readonly<Record<string, RetiredRule>>;
package/dist/index.d.ts CHANGED
@@ -266,11 +266,16 @@ declare const RULES: {
266
266
  memoCallees?: readonly string[];
267
267
  minProperties?: number;
268
268
  }?], "hoistSchema">;
269
+ readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
269
270
  readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
271
+ readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
272
+ readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
270
273
  readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
271
274
  readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
272
275
  readonly "prefer-await-in-async-return": DocumentedRule<readonly [], "preferAwait">;
273
276
  readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
277
+ readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
278
+ readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
274
279
  readonly "prefer-semantic-colors": DocumentedRule<readonly [{
275
280
  requireSemanticTokens?: boolean;
276
281
  }?], "rawPalette" | "arbitraryColor" | "inlineColor">;
@@ -286,17 +291,19 @@ declare const RULES: {
286
291
  allowIn?: readonly string[];
287
292
  }?], "missingSignal">;
288
293
  readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
294
+ readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
289
295
  readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
290
296
  readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
291
297
  readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
292
298
  readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">;
293
299
  readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
300
+ readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
294
301
  readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
295
302
  };
296
303
  /** Rules registered for application-profile configs but intentionally absent from general presets. */
297
304
  declare const APPLICATION_ONLY_RULES: readonly ["no-restricted-library-load", "prefer-native-random-uuid", "prefer-shadcn-primitives"];
298
- /** No active rule remains advisory; retained as a public compatibility export. */
299
- declare const ADVISORY_RULES: readonly ["@sarj/require-pascal-case-zod-schema-name"];
305
+ /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
306
+ declare const ADVISORY_RULES: readonly ["@sarj/prefer-named-complex-return-type", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-switch-for-repeated-equality", "@sarj/require-pascal-case-zod-schema-name", "@sarj/require-sql-access-class", "@sarj/sole-export-matches-filename"];
300
307
  declare const RECOMMENDED_RULES: {
301
308
  readonly "@sarj/interface-contract-members-private": "error";
302
309
  readonly "@sarj/iac-source-coupled-test": "error";
@@ -352,10 +359,15 @@ declare const RECOMMENDED_RULES: {
352
359
  readonly "@sarj/prefer-immutable-module-constant": "error";
353
360
  readonly "@sarj/prefer-module-level-constant": "error";
354
361
  readonly "@sarj/prefer-module-level-schema": "error";
362
+ readonly "@sarj/prefer-named-complex-return-type": "warn";
363
+ readonly "@sarj/prefer-node-crypto-hash": "warn";
364
+ readonly "@sarj/prefer-node-fs-promises": "error";
355
365
  readonly "@sarj/prefer-non-nullable-collection": "error";
356
366
  readonly "@sarj/prefer-nullish-filter-predicate": "error";
357
367
  readonly "@sarj/prefer-await-in-async-return": "error";
358
368
  readonly "@sarj/prefer-schema-for-api-payload": "error";
369
+ readonly "@sarj/prefer-shared-zod-enum": "warn";
370
+ readonly "@sarj/prefer-switch-for-repeated-equality": "warn";
359
371
  readonly "@sarj/prefer-semantic-colors": readonly ["error", {
360
372
  readonly requireSemanticTokens: true;
361
373
  }];
@@ -366,6 +378,7 @@ declare const RECOMMENDED_RULES: {
366
378
  readonly "@sarj/require-assert-never": "error";
367
379
  readonly "@sarj/require-fetch-timeout": "error";
368
380
  readonly "@sarj/require-port-for-service": "error";
381
+ readonly "@sarj/require-sql-access-class": "warn";
369
382
  readonly "@sarj/require-static-next-matcher": "error";
370
383
  readonly "@sarj/require-use-form-default-values": "error";
371
384
  readonly "@sarj/require-use-server-in-actions-file": "error";
@@ -373,6 +386,7 @@ declare const RECOMMENDED_RULES: {
373
386
  readonly "@sarj/store-insert-requires-on-conflict": "error";
374
387
  readonly "@sarj/stepdown": "error";
375
388
  readonly "@sarj/source-coupled-test": "error";
389
+ readonly "@sarj/sole-export-matches-filename": "warn";
376
390
  readonly "@sarj/test-phase-label-comment": "error";
377
391
  readonly "@sarj/require-pascal-case-zod-schema-name": "warn";
378
392
  };
@@ -435,10 +449,15 @@ declare const STRICT_RULES: {
435
449
  readonly "@sarj/prefer-immutable-module-constant": "error";
436
450
  readonly "@sarj/prefer-module-level-constant": "error";
437
451
  readonly "@sarj/prefer-module-level-schema": "error";
452
+ readonly "@sarj/prefer-named-complex-return-type": "warn";
453
+ readonly "@sarj/prefer-node-crypto-hash": "warn";
454
+ readonly "@sarj/prefer-node-fs-promises": "error";
438
455
  readonly "@sarj/prefer-non-nullable-collection": "error";
439
456
  readonly "@sarj/prefer-nullish-filter-predicate": "error";
440
457
  readonly "@sarj/prefer-await-in-async-return": "error";
441
458
  readonly "@sarj/prefer-schema-for-api-payload": "error";
459
+ readonly "@sarj/prefer-shared-zod-enum": "warn";
460
+ readonly "@sarj/prefer-switch-for-repeated-equality": "warn";
442
461
  readonly "@sarj/prefer-semantic-colors": readonly ["error", {
443
462
  readonly requireSemanticTokens: true;
444
463
  }];
@@ -449,6 +468,7 @@ declare const STRICT_RULES: {
449
468
  readonly "@sarj/require-assert-never": "error";
450
469
  readonly "@sarj/require-fetch-timeout": "error";
451
470
  readonly "@sarj/require-port-for-service": "error";
471
+ readonly "@sarj/require-sql-access-class": "warn";
452
472
  readonly "@sarj/require-static-next-matcher": "error";
453
473
  readonly "@sarj/require-use-form-default-values": "error";
454
474
  readonly "@sarj/require-use-server-in-actions-file": "error";
@@ -456,6 +476,7 @@ declare const STRICT_RULES: {
456
476
  readonly "@sarj/store-insert-requires-on-conflict": "error";
457
477
  readonly "@sarj/stepdown": "error";
458
478
  readonly "@sarj/source-coupled-test": "error";
479
+ readonly "@sarj/sole-export-matches-filename": "warn";
459
480
  readonly "@sarj/test-phase-label-comment": "error";
460
481
  readonly "@sarj/require-pascal-case-zod-schema-name": "warn";
461
482
  };
@@ -467,7 +488,7 @@ type FlatPreset = {
467
488
  declare const PLUGIN: {
468
489
  readonly meta: {
469
490
  readonly name: "@sarj/eslint-plugin";
470
- readonly version: "15.14.0";
491
+ readonly version: "15.15.0";
471
492
  };
472
493
  readonly rules: {
473
494
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
@@ -547,11 +568,16 @@ declare const PLUGIN: {
547
568
  memoCallees?: readonly string[];
548
569
  minProperties?: number;
549
570
  }?], "hoistSchema">;
571
+ readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
550
572
  readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
573
+ readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
574
+ readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
551
575
  readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
552
576
  readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
553
577
  readonly "prefer-await-in-async-return": DocumentedRule<readonly [], "preferAwait">;
554
578
  readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
579
+ readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
580
+ readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
555
581
  readonly "prefer-semantic-colors": DocumentedRule<readonly [{
556
582
  requireSemanticTokens?: boolean;
557
583
  }?], "rawPalette" | "arbitraryColor" | "inlineColor">;
@@ -567,11 +593,13 @@ declare const PLUGIN: {
567
593
  allowIn?: readonly string[];
568
594
  }?], "missingSignal">;
569
595
  readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
596
+ readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
570
597
  readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
571
598
  readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
572
599
  readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
573
600
  readonly stepdown: DocumentedRule<[], "helperAboveOnlyCaller">;
574
601
  readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
602
+ readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
575
603
  readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
576
604
  };
577
605
  readonly retiredRules: Readonly<Record<string, RetiredRule>>;