@sarj/eslint-plugin 5.1.0 → 6.0.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
@@ -438,10 +438,141 @@ declare const rules: {
438
438
  name: string;
439
439
  };
440
440
  };
441
+ declare const recommendedRules: {
442
+ readonly "@sarj/zod-naming-convention": "warn";
443
+ readonly "@sarj/require-assert-never": "error";
444
+ readonly "@sarj/require-zod-form-validation": "error";
445
+ readonly "@sarj/enforce-file-structure": "warn";
446
+ readonly "@sarj/no-client-side-data-fetching": "warn";
447
+ readonly "@sarj/prefer-server-actions": "warn";
448
+ readonly "@sarj/no-unnecessary-use-client": "warn";
449
+ readonly "@sarj/prefer-schema-for-api-payload": "warn";
450
+ readonly "@sarj/no-sentinel-return-on-catch": "warn";
451
+ readonly "@sarj/no-log-only-catch": "warn";
452
+ readonly "@sarj/no-insecure-random-id": "warn";
453
+ readonly "@sarj/no-json-stringify-error": "warn";
454
+ readonly "@sarj/no-string-concat-in-loop": "warn";
455
+ readonly "@sarj/prefer-discriminated-union": "warn";
456
+ readonly "@sarj/no-comment-cruft": "warn";
457
+ readonly "@sarj/prefer-semantic-colors": readonly ["warn", {
458
+ readonly requireSemanticTokens: true;
459
+ }];
460
+ readonly "@sarj/no-fat-try-blocks": "warn";
461
+ readonly "@sarj/no-cors-wildcard-with-credentials": "warn";
462
+ readonly "@sarj/no-secret-in-log": "warn";
463
+ readonly "@sarj/no-unsafe-mock-casting": "warn";
464
+ readonly "@sarj/prefer-string-literal-union": "warn";
465
+ readonly "@sarj/prefer-zod-enum": "warn";
466
+ readonly "@sarj/prefer-zod-infer": "warn";
467
+ readonly "@sarj/require-fetch-timeout": "warn";
468
+ readonly "@sarj/no-silent-promise-catch": "warn";
469
+ readonly "@sarj/prefer-constant-time-secret-compare": "error";
470
+ readonly "@sarj/store-insert-requires-on-conflict": "warn";
471
+ readonly "@sarj/no-offset-pagination": "warn";
472
+ readonly "@sarj/no-select-star": "warn";
473
+ readonly "@sarj/no-hand-rolled-sleep": "warn";
474
+ readonly "@sarj/no-sleep-in-test-body": "warn";
475
+ readonly "@sarj/no-conditional-in-test": "warn";
476
+ readonly "@sarj/no-repeated-string-literal": "warn";
477
+ readonly "@sarj/no-positional-tuple-return": "warn";
478
+ readonly "@sarj/no-dynamic-sql": "warn";
479
+ readonly "@sarj/no-zod-native-enum": "warn";
480
+ readonly "@sarj/prefer-module-level-constant": "warn";
481
+ readonly "@sarj/no-restated-comment": "warn";
482
+ readonly "@sarj/jsdoc-restates-signature": "warn";
483
+ readonly "@sarj/trailing-value-narration": "warn";
484
+ readonly "@sarj/no-type-member-comment-wall": "warn";
485
+ readonly "@sarj/no-tautological-expect": "warn";
486
+ readonly "@sarj/require-interface-for-injected-service": "warn";
487
+ readonly "@sarj/prefer-non-nullable-collection": "warn";
488
+ readonly "@sarj/no-async-callback-in-waitfor": "warn";
489
+ readonly "@sarj/strict-test-assertions": "warn";
490
+ };
491
+ declare const strictRules: {
492
+ readonly "@sarj/zod-naming-convention": "error";
493
+ readonly "@sarj/require-assert-never": "error";
494
+ readonly "@sarj/require-zod-form-validation": "error";
495
+ readonly "@sarj/enforce-file-structure": "error";
496
+ readonly "@sarj/no-raw-env": "error";
497
+ readonly "@sarj/no-enum": "error";
498
+ readonly "@sarj/no-client-side-data-fetching": "error";
499
+ readonly "@sarj/prefer-server-actions": "error";
500
+ readonly "@sarj/no-unnecessary-use-client": "error";
501
+ readonly "@sarj/prefer-schema-for-api-payload": "error";
502
+ readonly "@sarj/no-sentinel-return-on-catch": "error";
503
+ readonly "@sarj/no-log-only-catch": "error";
504
+ readonly "@sarj/no-insecure-random-id": "error";
505
+ readonly "@sarj/no-json-stringify-error": "error";
506
+ readonly "@sarj/no-string-concat-in-loop": "error";
507
+ readonly "@sarj/prefer-discriminated-union": "error";
508
+ readonly "@sarj/no-comment-cruft": "error";
509
+ readonly "@sarj/prefer-semantic-colors": readonly ["error", {
510
+ readonly requireSemanticTokens: true;
511
+ }];
512
+ readonly "@sarj/no-fat-try-blocks": "error";
513
+ readonly "@sarj/no-cors-wildcard-with-credentials": "error";
514
+ readonly "@sarj/no-secret-in-log": "error";
515
+ readonly "@sarj/no-unsafe-mock-casting": "error";
516
+ readonly "@sarj/prefer-string-literal-union": "error";
517
+ readonly "@sarj/prefer-zod-enum": "error";
518
+ readonly "@sarj/prefer-zod-infer": "error";
519
+ readonly "@sarj/require-fetch-timeout": "error";
520
+ readonly "@sarj/no-silent-promise-catch": "error";
521
+ readonly "@sarj/prefer-constant-time-secret-compare": "error";
522
+ readonly "@sarj/store-insert-requires-on-conflict": "error";
523
+ readonly "@sarj/no-offset-pagination": "error";
524
+ readonly "@sarj/no-select-star": "error";
525
+ readonly "@sarj/no-hand-rolled-sleep": "error";
526
+ readonly "@sarj/no-sleep-in-test-body": "error";
527
+ readonly "@sarj/no-conditional-in-test": "error";
528
+ readonly "@sarj/no-repeated-string-literal": "error";
529
+ readonly "@sarj/no-positional-tuple-return": "error";
530
+ readonly "@sarj/no-dynamic-sql": "error";
531
+ readonly "@sarj/no-raw-fetch-outside-clients": "error";
532
+ readonly "@sarj/no-storage-in-stateless-modules": "error";
533
+ readonly "@sarj/no-zod-native-enum": "error";
534
+ readonly "@sarj/prefer-module-level-constant": "error";
535
+ readonly "@sarj/no-restated-comment": "error";
536
+ readonly "@sarj/jsdoc-restates-signature": "error";
537
+ readonly "@sarj/trailing-value-narration": "error";
538
+ readonly "@sarj/no-type-member-comment-wall": "error";
539
+ readonly "@sarj/no-tautological-expect": "error";
540
+ readonly "@sarj/require-interface-for-injected-service": "error";
541
+ readonly "@sarj/prefer-non-nullable-collection": "error";
542
+ readonly "@sarj/no-async-callback-in-waitfor": "error";
543
+ readonly "@sarj/strict-test-assertions": "error";
544
+ };
545
+ type FlatPreset = {
546
+ readonly name: string;
547
+ readonly plugins: Record<string, unknown>;
548
+ readonly rules: Record<string, unknown>;
549
+ };
550
+ /**
551
+ * The presets, as FLAT config objects.
552
+ *
553
+ * Both used to declare `plugins: ["@sarj"]` -- eslintrc syntax -- and ESLint
554
+ * rejects that outright:
555
+ *
556
+ * Config (unnamed): Key "plugins": This appears to be in eslintrc format
557
+ * (array of strings) rather than flat config format (object).
558
+ *
559
+ * So `sarj.configs.strict`, the "just extend the plugin, do not copy the file"
560
+ * path, threw for anyone who tried it, and copying `eslint.strict.mjs` and
561
+ * editing the copy was the only thing that worked -- exactly the vendoring
562
+ * these presets exist to prevent. `plugins` is now the object form flat config
563
+ * wants, so both presets go straight into an `eslint.config.mjs` array (no
564
+ * spread):
565
+ *
566
+ * import sarj from "@sarj/eslint-plugin";
567
+ * export default [sarj.configs.strict];
568
+ *
569
+ * Neither preset sets `files` or a parser. They carry rules and nothing else,
570
+ * so they compose with whatever a repo already has rather than narrowing it.
571
+ */
441
572
  declare const plugin: {
442
573
  meta: {
443
- name: string;
444
- version: string;
574
+ readonly name: "@sarj/eslint-plugin";
575
+ readonly version: "6.0.0";
445
576
  };
446
577
  rules: {
447
578
  "enforce-file-structure": _typescript_eslint_utils_ts_eslint.RuleModule<"importsFirst" | "useServerDirective", readonly [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener> & {
@@ -616,115 +747,9 @@ declare const plugin: {
616
747
  };
617
748
  };
618
749
  configs: {
619
- recommended: {
620
- plugins: string[];
621
- rules: {
622
- "@sarj/zod-naming-convention": string;
623
- "@sarj/require-assert-never": string;
624
- "@sarj/require-zod-form-validation": string;
625
- "@sarj/enforce-file-structure": string;
626
- "@sarj/no-client-side-data-fetching": string;
627
- "@sarj/prefer-server-actions": string;
628
- "@sarj/no-unnecessary-use-client": string;
629
- "@sarj/prefer-schema-for-api-payload": string;
630
- "@sarj/no-sentinel-return-on-catch": string;
631
- "@sarj/no-log-only-catch": string;
632
- "@sarj/no-insecure-random-id": string;
633
- "@sarj/no-json-stringify-error": string;
634
- "@sarj/no-string-concat-in-loop": string;
635
- "@sarj/prefer-discriminated-union": string;
636
- "@sarj/no-comment-cruft": string;
637
- "@sarj/prefer-semantic-colors": (string | {
638
- requireSemanticTokens: boolean;
639
- })[];
640
- "@sarj/no-fat-try-blocks": string;
641
- "@sarj/no-cors-wildcard-with-credentials": string;
642
- "@sarj/no-secret-in-log": string;
643
- "@sarj/no-unsafe-mock-casting": string;
644
- "@sarj/prefer-string-literal-union": string;
645
- "@sarj/prefer-zod-enum": string;
646
- "@sarj/prefer-zod-infer": string;
647
- "@sarj/require-fetch-timeout": string;
648
- "@sarj/no-silent-promise-catch": string;
649
- "@sarj/prefer-constant-time-secret-compare": string;
650
- "@sarj/store-insert-requires-on-conflict": string;
651
- "@sarj/no-offset-pagination": string;
652
- "@sarj/no-select-star": string;
653
- "@sarj/no-hand-rolled-sleep": string;
654
- "@sarj/no-sleep-in-test-body": string;
655
- "@sarj/no-conditional-in-test": string;
656
- "@sarj/no-repeated-string-literal": string;
657
- "@sarj/no-positional-tuple-return": string;
658
- "@sarj/no-dynamic-sql": string;
659
- "@sarj/no-zod-native-enum": string;
660
- "@sarj/prefer-module-level-constant": string;
661
- "@sarj/no-restated-comment": string;
662
- "@sarj/jsdoc-restates-signature": string;
663
- "@sarj/trailing-value-narration": string;
664
- "@sarj/no-type-member-comment-wall": string;
665
- "@sarj/no-tautological-expect": string;
666
- "@sarj/require-interface-for-injected-service": string;
667
- "@sarj/prefer-non-nullable-collection": string;
668
- "@sarj/no-async-callback-in-waitfor": string;
669
- };
670
- };
671
- strict: {
672
- plugins: string[];
673
- rules: {
674
- "@sarj/zod-naming-convention": string;
675
- "@sarj/require-assert-never": string;
676
- "@sarj/require-zod-form-validation": string;
677
- "@sarj/enforce-file-structure": string;
678
- "@sarj/no-raw-env": string;
679
- "@sarj/no-enum": string;
680
- "@sarj/no-client-side-data-fetching": string;
681
- "@sarj/prefer-server-actions": string;
682
- "@sarj/no-unnecessary-use-client": string;
683
- "@sarj/prefer-schema-for-api-payload": string;
684
- "@sarj/no-sentinel-return-on-catch": string;
685
- "@sarj/no-log-only-catch": string;
686
- "@sarj/no-insecure-random-id": string;
687
- "@sarj/no-json-stringify-error": string;
688
- "@sarj/no-string-concat-in-loop": string;
689
- "@sarj/prefer-discriminated-union": string;
690
- "@sarj/no-comment-cruft": string;
691
- "@sarj/prefer-semantic-colors": (string | {
692
- requireSemanticTokens: boolean;
693
- })[];
694
- "@sarj/no-fat-try-blocks": string;
695
- "@sarj/no-cors-wildcard-with-credentials": string;
696
- "@sarj/no-secret-in-log": string;
697
- "@sarj/no-unsafe-mock-casting": string;
698
- "@sarj/prefer-string-literal-union": string;
699
- "@sarj/prefer-zod-enum": string;
700
- "@sarj/prefer-zod-infer": string;
701
- "@sarj/require-fetch-timeout": string;
702
- "@sarj/no-silent-promise-catch": string;
703
- "@sarj/prefer-constant-time-secret-compare": string;
704
- "@sarj/store-insert-requires-on-conflict": string;
705
- "@sarj/no-offset-pagination": string;
706
- "@sarj/no-select-star": string;
707
- "@sarj/no-hand-rolled-sleep": string;
708
- "@sarj/no-sleep-in-test-body": string;
709
- "@sarj/no-conditional-in-test": string;
710
- "@sarj/no-repeated-string-literal": string;
711
- "@sarj/no-positional-tuple-return": string;
712
- "@sarj/no-dynamic-sql": string;
713
- "@sarj/no-raw-fetch-outside-clients": string;
714
- "@sarj/no-storage-in-stateless-modules": string;
715
- "@sarj/no-zod-native-enum": string;
716
- "@sarj/prefer-module-level-constant": string;
717
- "@sarj/no-restated-comment": string;
718
- "@sarj/jsdoc-restates-signature": string;
719
- "@sarj/trailing-value-narration": string;
720
- "@sarj/no-type-member-comment-wall": string;
721
- "@sarj/no-tautological-expect": string;
722
- "@sarj/require-interface-for-injected-service": string;
723
- "@sarj/prefer-non-nullable-collection": string;
724
- "@sarj/no-async-callback-in-waitfor": string;
725
- };
726
- };
750
+ recommended: FlatPreset;
751
+ strict: FlatPreset;
727
752
  };
728
753
  };
729
754
 
730
- export { plugin as default, rules };
755
+ export { plugin as default, recommendedRules, rules, strictRules };
package/dist/index.d.ts CHANGED
@@ -438,10 +438,141 @@ declare const rules: {
438
438
  name: string;
439
439
  };
440
440
  };
441
+ declare const recommendedRules: {
442
+ readonly "@sarj/zod-naming-convention": "warn";
443
+ readonly "@sarj/require-assert-never": "error";
444
+ readonly "@sarj/require-zod-form-validation": "error";
445
+ readonly "@sarj/enforce-file-structure": "warn";
446
+ readonly "@sarj/no-client-side-data-fetching": "warn";
447
+ readonly "@sarj/prefer-server-actions": "warn";
448
+ readonly "@sarj/no-unnecessary-use-client": "warn";
449
+ readonly "@sarj/prefer-schema-for-api-payload": "warn";
450
+ readonly "@sarj/no-sentinel-return-on-catch": "warn";
451
+ readonly "@sarj/no-log-only-catch": "warn";
452
+ readonly "@sarj/no-insecure-random-id": "warn";
453
+ readonly "@sarj/no-json-stringify-error": "warn";
454
+ readonly "@sarj/no-string-concat-in-loop": "warn";
455
+ readonly "@sarj/prefer-discriminated-union": "warn";
456
+ readonly "@sarj/no-comment-cruft": "warn";
457
+ readonly "@sarj/prefer-semantic-colors": readonly ["warn", {
458
+ readonly requireSemanticTokens: true;
459
+ }];
460
+ readonly "@sarj/no-fat-try-blocks": "warn";
461
+ readonly "@sarj/no-cors-wildcard-with-credentials": "warn";
462
+ readonly "@sarj/no-secret-in-log": "warn";
463
+ readonly "@sarj/no-unsafe-mock-casting": "warn";
464
+ readonly "@sarj/prefer-string-literal-union": "warn";
465
+ readonly "@sarj/prefer-zod-enum": "warn";
466
+ readonly "@sarj/prefer-zod-infer": "warn";
467
+ readonly "@sarj/require-fetch-timeout": "warn";
468
+ readonly "@sarj/no-silent-promise-catch": "warn";
469
+ readonly "@sarj/prefer-constant-time-secret-compare": "error";
470
+ readonly "@sarj/store-insert-requires-on-conflict": "warn";
471
+ readonly "@sarj/no-offset-pagination": "warn";
472
+ readonly "@sarj/no-select-star": "warn";
473
+ readonly "@sarj/no-hand-rolled-sleep": "warn";
474
+ readonly "@sarj/no-sleep-in-test-body": "warn";
475
+ readonly "@sarj/no-conditional-in-test": "warn";
476
+ readonly "@sarj/no-repeated-string-literal": "warn";
477
+ readonly "@sarj/no-positional-tuple-return": "warn";
478
+ readonly "@sarj/no-dynamic-sql": "warn";
479
+ readonly "@sarj/no-zod-native-enum": "warn";
480
+ readonly "@sarj/prefer-module-level-constant": "warn";
481
+ readonly "@sarj/no-restated-comment": "warn";
482
+ readonly "@sarj/jsdoc-restates-signature": "warn";
483
+ readonly "@sarj/trailing-value-narration": "warn";
484
+ readonly "@sarj/no-type-member-comment-wall": "warn";
485
+ readonly "@sarj/no-tautological-expect": "warn";
486
+ readonly "@sarj/require-interface-for-injected-service": "warn";
487
+ readonly "@sarj/prefer-non-nullable-collection": "warn";
488
+ readonly "@sarj/no-async-callback-in-waitfor": "warn";
489
+ readonly "@sarj/strict-test-assertions": "warn";
490
+ };
491
+ declare const strictRules: {
492
+ readonly "@sarj/zod-naming-convention": "error";
493
+ readonly "@sarj/require-assert-never": "error";
494
+ readonly "@sarj/require-zod-form-validation": "error";
495
+ readonly "@sarj/enforce-file-structure": "error";
496
+ readonly "@sarj/no-raw-env": "error";
497
+ readonly "@sarj/no-enum": "error";
498
+ readonly "@sarj/no-client-side-data-fetching": "error";
499
+ readonly "@sarj/prefer-server-actions": "error";
500
+ readonly "@sarj/no-unnecessary-use-client": "error";
501
+ readonly "@sarj/prefer-schema-for-api-payload": "error";
502
+ readonly "@sarj/no-sentinel-return-on-catch": "error";
503
+ readonly "@sarj/no-log-only-catch": "error";
504
+ readonly "@sarj/no-insecure-random-id": "error";
505
+ readonly "@sarj/no-json-stringify-error": "error";
506
+ readonly "@sarj/no-string-concat-in-loop": "error";
507
+ readonly "@sarj/prefer-discriminated-union": "error";
508
+ readonly "@sarj/no-comment-cruft": "error";
509
+ readonly "@sarj/prefer-semantic-colors": readonly ["error", {
510
+ readonly requireSemanticTokens: true;
511
+ }];
512
+ readonly "@sarj/no-fat-try-blocks": "error";
513
+ readonly "@sarj/no-cors-wildcard-with-credentials": "error";
514
+ readonly "@sarj/no-secret-in-log": "error";
515
+ readonly "@sarj/no-unsafe-mock-casting": "error";
516
+ readonly "@sarj/prefer-string-literal-union": "error";
517
+ readonly "@sarj/prefer-zod-enum": "error";
518
+ readonly "@sarj/prefer-zod-infer": "error";
519
+ readonly "@sarj/require-fetch-timeout": "error";
520
+ readonly "@sarj/no-silent-promise-catch": "error";
521
+ readonly "@sarj/prefer-constant-time-secret-compare": "error";
522
+ readonly "@sarj/store-insert-requires-on-conflict": "error";
523
+ readonly "@sarj/no-offset-pagination": "error";
524
+ readonly "@sarj/no-select-star": "error";
525
+ readonly "@sarj/no-hand-rolled-sleep": "error";
526
+ readonly "@sarj/no-sleep-in-test-body": "error";
527
+ readonly "@sarj/no-conditional-in-test": "error";
528
+ readonly "@sarj/no-repeated-string-literal": "error";
529
+ readonly "@sarj/no-positional-tuple-return": "error";
530
+ readonly "@sarj/no-dynamic-sql": "error";
531
+ readonly "@sarj/no-raw-fetch-outside-clients": "error";
532
+ readonly "@sarj/no-storage-in-stateless-modules": "error";
533
+ readonly "@sarj/no-zod-native-enum": "error";
534
+ readonly "@sarj/prefer-module-level-constant": "error";
535
+ readonly "@sarj/no-restated-comment": "error";
536
+ readonly "@sarj/jsdoc-restates-signature": "error";
537
+ readonly "@sarj/trailing-value-narration": "error";
538
+ readonly "@sarj/no-type-member-comment-wall": "error";
539
+ readonly "@sarj/no-tautological-expect": "error";
540
+ readonly "@sarj/require-interface-for-injected-service": "error";
541
+ readonly "@sarj/prefer-non-nullable-collection": "error";
542
+ readonly "@sarj/no-async-callback-in-waitfor": "error";
543
+ readonly "@sarj/strict-test-assertions": "error";
544
+ };
545
+ type FlatPreset = {
546
+ readonly name: string;
547
+ readonly plugins: Record<string, unknown>;
548
+ readonly rules: Record<string, unknown>;
549
+ };
550
+ /**
551
+ * The presets, as FLAT config objects.
552
+ *
553
+ * Both used to declare `plugins: ["@sarj"]` -- eslintrc syntax -- and ESLint
554
+ * rejects that outright:
555
+ *
556
+ * Config (unnamed): Key "plugins": This appears to be in eslintrc format
557
+ * (array of strings) rather than flat config format (object).
558
+ *
559
+ * So `sarj.configs.strict`, the "just extend the plugin, do not copy the file"
560
+ * path, threw for anyone who tried it, and copying `eslint.strict.mjs` and
561
+ * editing the copy was the only thing that worked -- exactly the vendoring
562
+ * these presets exist to prevent. `plugins` is now the object form flat config
563
+ * wants, so both presets go straight into an `eslint.config.mjs` array (no
564
+ * spread):
565
+ *
566
+ * import sarj from "@sarj/eslint-plugin";
567
+ * export default [sarj.configs.strict];
568
+ *
569
+ * Neither preset sets `files` or a parser. They carry rules and nothing else,
570
+ * so they compose with whatever a repo already has rather than narrowing it.
571
+ */
441
572
  declare const plugin: {
442
573
  meta: {
443
- name: string;
444
- version: string;
574
+ readonly name: "@sarj/eslint-plugin";
575
+ readonly version: "6.0.0";
445
576
  };
446
577
  rules: {
447
578
  "enforce-file-structure": _typescript_eslint_utils_ts_eslint.RuleModule<"importsFirst" | "useServerDirective", readonly [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener> & {
@@ -616,115 +747,9 @@ declare const plugin: {
616
747
  };
617
748
  };
618
749
  configs: {
619
- recommended: {
620
- plugins: string[];
621
- rules: {
622
- "@sarj/zod-naming-convention": string;
623
- "@sarj/require-assert-never": string;
624
- "@sarj/require-zod-form-validation": string;
625
- "@sarj/enforce-file-structure": string;
626
- "@sarj/no-client-side-data-fetching": string;
627
- "@sarj/prefer-server-actions": string;
628
- "@sarj/no-unnecessary-use-client": string;
629
- "@sarj/prefer-schema-for-api-payload": string;
630
- "@sarj/no-sentinel-return-on-catch": string;
631
- "@sarj/no-log-only-catch": string;
632
- "@sarj/no-insecure-random-id": string;
633
- "@sarj/no-json-stringify-error": string;
634
- "@sarj/no-string-concat-in-loop": string;
635
- "@sarj/prefer-discriminated-union": string;
636
- "@sarj/no-comment-cruft": string;
637
- "@sarj/prefer-semantic-colors": (string | {
638
- requireSemanticTokens: boolean;
639
- })[];
640
- "@sarj/no-fat-try-blocks": string;
641
- "@sarj/no-cors-wildcard-with-credentials": string;
642
- "@sarj/no-secret-in-log": string;
643
- "@sarj/no-unsafe-mock-casting": string;
644
- "@sarj/prefer-string-literal-union": string;
645
- "@sarj/prefer-zod-enum": string;
646
- "@sarj/prefer-zod-infer": string;
647
- "@sarj/require-fetch-timeout": string;
648
- "@sarj/no-silent-promise-catch": string;
649
- "@sarj/prefer-constant-time-secret-compare": string;
650
- "@sarj/store-insert-requires-on-conflict": string;
651
- "@sarj/no-offset-pagination": string;
652
- "@sarj/no-select-star": string;
653
- "@sarj/no-hand-rolled-sleep": string;
654
- "@sarj/no-sleep-in-test-body": string;
655
- "@sarj/no-conditional-in-test": string;
656
- "@sarj/no-repeated-string-literal": string;
657
- "@sarj/no-positional-tuple-return": string;
658
- "@sarj/no-dynamic-sql": string;
659
- "@sarj/no-zod-native-enum": string;
660
- "@sarj/prefer-module-level-constant": string;
661
- "@sarj/no-restated-comment": string;
662
- "@sarj/jsdoc-restates-signature": string;
663
- "@sarj/trailing-value-narration": string;
664
- "@sarj/no-type-member-comment-wall": string;
665
- "@sarj/no-tautological-expect": string;
666
- "@sarj/require-interface-for-injected-service": string;
667
- "@sarj/prefer-non-nullable-collection": string;
668
- "@sarj/no-async-callback-in-waitfor": string;
669
- };
670
- };
671
- strict: {
672
- plugins: string[];
673
- rules: {
674
- "@sarj/zod-naming-convention": string;
675
- "@sarj/require-assert-never": string;
676
- "@sarj/require-zod-form-validation": string;
677
- "@sarj/enforce-file-structure": string;
678
- "@sarj/no-raw-env": string;
679
- "@sarj/no-enum": string;
680
- "@sarj/no-client-side-data-fetching": string;
681
- "@sarj/prefer-server-actions": string;
682
- "@sarj/no-unnecessary-use-client": string;
683
- "@sarj/prefer-schema-for-api-payload": string;
684
- "@sarj/no-sentinel-return-on-catch": string;
685
- "@sarj/no-log-only-catch": string;
686
- "@sarj/no-insecure-random-id": string;
687
- "@sarj/no-json-stringify-error": string;
688
- "@sarj/no-string-concat-in-loop": string;
689
- "@sarj/prefer-discriminated-union": string;
690
- "@sarj/no-comment-cruft": string;
691
- "@sarj/prefer-semantic-colors": (string | {
692
- requireSemanticTokens: boolean;
693
- })[];
694
- "@sarj/no-fat-try-blocks": string;
695
- "@sarj/no-cors-wildcard-with-credentials": string;
696
- "@sarj/no-secret-in-log": string;
697
- "@sarj/no-unsafe-mock-casting": string;
698
- "@sarj/prefer-string-literal-union": string;
699
- "@sarj/prefer-zod-enum": string;
700
- "@sarj/prefer-zod-infer": string;
701
- "@sarj/require-fetch-timeout": string;
702
- "@sarj/no-silent-promise-catch": string;
703
- "@sarj/prefer-constant-time-secret-compare": string;
704
- "@sarj/store-insert-requires-on-conflict": string;
705
- "@sarj/no-offset-pagination": string;
706
- "@sarj/no-select-star": string;
707
- "@sarj/no-hand-rolled-sleep": string;
708
- "@sarj/no-sleep-in-test-body": string;
709
- "@sarj/no-conditional-in-test": string;
710
- "@sarj/no-repeated-string-literal": string;
711
- "@sarj/no-positional-tuple-return": string;
712
- "@sarj/no-dynamic-sql": string;
713
- "@sarj/no-raw-fetch-outside-clients": string;
714
- "@sarj/no-storage-in-stateless-modules": string;
715
- "@sarj/no-zod-native-enum": string;
716
- "@sarj/prefer-module-level-constant": string;
717
- "@sarj/no-restated-comment": string;
718
- "@sarj/jsdoc-restates-signature": string;
719
- "@sarj/trailing-value-narration": string;
720
- "@sarj/no-type-member-comment-wall": string;
721
- "@sarj/no-tautological-expect": string;
722
- "@sarj/require-interface-for-injected-service": string;
723
- "@sarj/prefer-non-nullable-collection": string;
724
- "@sarj/no-async-callback-in-waitfor": string;
725
- };
726
- };
750
+ recommended: FlatPreset;
751
+ strict: FlatPreset;
727
752
  };
728
753
  };
729
754
 
730
- export { plugin as default, rules };
755
+ export { plugin as default, recommendedRules, rules, strictRules };