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