@sarj/eslint-plugin 16.38.54 → 16.39.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/{_docs-IZjowAEc.d.cts → _docs-_eXGTNOq.d.cts} +1 -1
- package/dist/{_docs-IZjowAEc.d.ts → _docs-_eXGTNOq.d.ts} +1 -1
- package/dist/index.cjs +565 -472
- package/dist/index.d.cts +34 -215
- package/dist/index.d.ts +34 -215
- package/dist/index.js +550 -457
- package/dist/rule-examples.cjs +6 -3
- package/dist/rule-examples.d.cts +5 -1
- package/dist/rule-examples.d.ts +5 -1
- package/dist/rule-examples.js +6 -3
- package/package.json +2 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import { D as DocumentedRule } from './_docs-
|
|
2
|
-
export { p as publicDocumentation } from './_docs-
|
|
1
|
+
import { D as DocumentedRule } from './_docs-_eXGTNOq.cjs';
|
|
2
|
+
export { p as publicDocumentation } from './_docs-_eXGTNOq.cjs';
|
|
3
3
|
import '@typescript-eslint/utils';
|
|
4
4
|
|
|
5
|
-
/** @fileoverview _retired-rules — burned rule names and their migration action. */
|
|
6
|
-
/** Why a name was withdrawn, and in which release. */
|
|
7
|
-
interface RetiredRule {
|
|
8
|
-
/** The plugin version whose release removed the rule. */
|
|
9
|
-
readonly removedIn: string;
|
|
10
|
-
/** One line a consumer can act on: why it went, and what (if anything) replaced it. */
|
|
11
|
-
readonly reason: string;
|
|
12
|
-
}
|
|
13
|
-
declare const RETIRED_RULES: Readonly<Record<string, RetiredRule>>;
|
|
14
|
-
|
|
15
5
|
interface RuleOptions$5 {
|
|
16
6
|
readonly basePath?: string;
|
|
17
7
|
}
|
|
@@ -125,6 +115,16 @@ declare const RENAMED_RULES: {
|
|
|
125
115
|
readonly "trailing-value-narration": "no-trailing-value-narration";
|
|
126
116
|
};
|
|
127
117
|
|
|
118
|
+
/** @fileoverview _retired-rules — burned rule names and their migration action. */
|
|
119
|
+
/** Why a name was withdrawn, and in which release. */
|
|
120
|
+
interface RetiredRule {
|
|
121
|
+
/** The plugin version whose release removed the rule. */
|
|
122
|
+
readonly removedIn: string;
|
|
123
|
+
/** One line a consumer can act on: why it went, and what (if anything) replaced it. */
|
|
124
|
+
readonly reason: string;
|
|
125
|
+
}
|
|
126
|
+
declare const RETIRED_RULES: Readonly<Record<string, RetiredRule>>;
|
|
127
|
+
|
|
128
128
|
declare const RULES: {
|
|
129
129
|
readonly "no-mutating-input-with-result": DocumentedRule<[], "inputWrite">;
|
|
130
130
|
readonly "no-negative-only-http-status-assertion": DocumentedRule<[], "expectedStatus">;
|
|
@@ -318,6 +318,10 @@ declare const RULES: {
|
|
|
318
318
|
readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
|
|
319
319
|
readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
|
|
320
320
|
};
|
|
321
|
+
declare const meta: {
|
|
322
|
+
readonly name: "@sarj/eslint-plugin";
|
|
323
|
+
readonly version: string;
|
|
324
|
+
};
|
|
321
325
|
/** @deprecated All repositories use one policy; retained for import compatibility. */
|
|
322
326
|
declare const APPLICATION_ONLY_RULES: readonly [];
|
|
323
327
|
type PresetMembership = "both" | "strict";
|
|
@@ -670,222 +674,37 @@ type RuleSetting<Row extends PolicyRow> = Row extends readonly ["shared", "both"
|
|
|
670
674
|
type PresetRules<Preset extends "recommended" | "strict"> = {
|
|
671
675
|
readonly [Name in PolicyName as Preset extends "recommended" ? (typeof RULE_POLICY)[Name][1] extends "both" ? Name : never : Name]: RuleSetting<(typeof RULE_POLICY)[Name]>;
|
|
672
676
|
};
|
|
677
|
+
type FlatRuleSetting<Setting> = Setting extends readonly unknown[] ? [...Setting] : Setting;
|
|
678
|
+
type FlatPresetRules<Preset extends "recommended" | "strict"> = {
|
|
679
|
+
readonly [Name in keyof PresetRules<Preset>]: FlatRuleSetting<PresetRules<Preset>[Name]>;
|
|
680
|
+
};
|
|
673
681
|
type AdvisoryRuleName = {
|
|
674
682
|
[Name in PolicyName]: (typeof RULE_POLICY)[Name][0] extends "warn" ? Name : never;
|
|
675
683
|
}[PolicyName];
|
|
676
684
|
/** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
|
|
677
685
|
declare const ADVISORY_RULES: readonly AdvisoryRuleName[];
|
|
686
|
+
declare const FLAT_RECOMMENDED_RULES: FlatPresetRules<"recommended">;
|
|
687
|
+
declare const FLAT_STRICT_RULES: FlatPresetRules<"strict">;
|
|
678
688
|
declare const RECOMMENDED_RULES: PresetRules<"recommended">;
|
|
679
689
|
declare const STRICT_RULES: PresetRules<"strict">;
|
|
680
690
|
type FlatPreset<Settings> = {
|
|
681
691
|
readonly name: string;
|
|
682
|
-
readonly plugins:
|
|
692
|
+
readonly plugins: {
|
|
693
|
+
readonly "@sarj": PluginDefinition;
|
|
694
|
+
};
|
|
683
695
|
readonly rules: Settings;
|
|
684
696
|
};
|
|
685
|
-
|
|
686
|
-
readonly meta:
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
readonly rules: {
|
|
691
|
-
readonly "no-mutating-input-with-result": DocumentedRule<[], "inputWrite">;
|
|
692
|
-
readonly "no-negative-only-http-status-assertion": DocumentedRule<[], "expectedStatus">;
|
|
693
|
-
readonly "production-derived-test-cases": DocumentedRule<[], "independentCases">;
|
|
694
|
-
readonly "prefer-test-fixture-reuse": DocumentedRule<[], "reuseFixture">;
|
|
695
|
-
readonly "no-return-disposed-resource": DocumentedRule<[], "disposedReturn">;
|
|
696
|
-
readonly "require-constrained-schema-integer": DocumentedRule<[], "constrainInteger">;
|
|
697
|
-
readonly "no-discarded-validation-result": DocumentedRule<[], "discarded">;
|
|
698
|
-
readonly "require-jwt-lifetime": DocumentedRule<[], "lifetime">;
|
|
699
|
-
readonly "prefer-dependency-interface": DocumentedRule<[], "interface">;
|
|
700
|
-
readonly "no-generic-json-parser": DocumentedRule<[], "genericParser">;
|
|
701
|
-
readonly "no-redundant-local-alias": DocumentedRule<[], "redundantAlias">;
|
|
702
|
-
readonly "no-test-comments": DocumentedRule<[], "testComment">;
|
|
703
|
-
readonly "no-mutating-container-transform": DocumentedRule<[], "borrowedMutation">;
|
|
704
|
-
readonly "no-redundant-consumer-union": DocumentedRule<[], "redundant">;
|
|
705
|
-
readonly "prefer-minimal-parameter-contract": DocumentedRule<[], "minimal">;
|
|
706
|
-
readonly "no-excess-jsx-props": DocumentedRule<[], "excess">;
|
|
707
|
-
readonly "prefer-native-fetch-in-server-actions": DocumentedRule<readonly [], "preferNativeFetchInServerActions">;
|
|
708
|
-
readonly "no-credential-in-browser-storage": DocumentedRule<readonly [], "noCredentialInBrowserStorage">;
|
|
709
|
-
readonly "no-numeric-search-param-coercion": DocumentedRule<readonly [], "noNumericSearchParamCoercion">;
|
|
710
|
-
readonly "require-explicit-contract-implementation": DocumentedRule<readonly [], "declareActualContract">;
|
|
711
|
-
readonly "require-explicit-service-contract": DocumentedRule<readonly [], "requireExplicitServiceContract">;
|
|
712
|
-
readonly "no-conditional-empty-object-spread": DocumentedRule<[], "avoid">;
|
|
713
|
-
readonly "prefer-typed-reflection": DocumentedRule<[], "avoid">;
|
|
714
|
-
readonly "no-broad-return-type": DocumentedRule<[], "avoid">;
|
|
715
|
-
readonly "no-reduce-accumulator-copy": DocumentedRule<[], "copy">;
|
|
716
|
-
readonly "no-known-value-widening": DocumentedRule<[], "widening">;
|
|
717
|
-
readonly "no-invalid-typed-mutation": DocumentedRule<readonly [], "incompatibleWrite">;
|
|
718
|
-
readonly "no-contradictory-type-predicate": DocumentedRule<readonly [], "contradictoryPredicate" | "closedLiteralPredicate" | "nullAccepted" | "uncheckedArrayElements" | "uncheckedRecordFields">;
|
|
719
|
-
readonly "no-partial-type-predicate": DocumentedRule<readonly [], "partialPredicate">;
|
|
720
|
-
readonly "no-boolean-selector-parameter": DocumentedRule<readonly [], "booleanSelector">;
|
|
721
|
-
readonly "no-invalid-zod-custom-parse": DocumentedRule<[], "incompatibleCustomParse">;
|
|
722
|
-
readonly "no-contradictory-overload-return": DocumentedRule<readonly [], "contradictoryReturn">;
|
|
723
|
-
readonly "require-button-accessible-name": DocumentedRule<readonly [{
|
|
724
|
-
readonly components?: readonly ComponentImport[];
|
|
725
|
-
readonly iconModules?: readonly string[];
|
|
726
|
-
}?], "missingName">;
|
|
727
|
-
readonly "require-camelcase-properties": DocumentedRule<readonly [], "requireCamelcaseProperty">;
|
|
728
|
-
readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
|
|
729
|
-
readonly "prefer-logical-tailwind-utilities": DocumentedRule<readonly [{
|
|
730
|
-
readonly enabled?: boolean;
|
|
731
|
-
readonly checkInsets?: boolean;
|
|
732
|
-
readonly allowUtilities?: readonly string[];
|
|
733
|
-
}?], "physicalUtility">;
|
|
734
|
-
readonly "no-unlocalized-toast": DocumentedRule<readonly [(LocalizationOptions & {
|
|
735
|
-
readonly functions?: readonly ComponentImport[];
|
|
736
|
-
readonly methods?: readonly string[];
|
|
737
|
-
})?], "unlocalized">;
|
|
738
|
-
readonly "no-unlocalized-jsx-attributes": DocumentedRule<readonly [(LocalizationOptions & {
|
|
739
|
-
readonly attributes?: readonly string[];
|
|
740
|
-
})?], "unlocalized">;
|
|
741
|
-
readonly "no-unlocalized-jsx-text": DocumentedRule<readonly [LocalizationOptions?], "unlocalized">;
|
|
742
|
-
readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
|
|
743
|
-
readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
|
|
744
|
-
readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
|
|
745
|
-
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
746
|
-
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
747
|
-
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
748
|
-
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
749
|
-
readonly "no-duplicate-lifecycle-refresh-listeners": DocumentedRule<readonly [], "duplicateLifecycleRefresh">;
|
|
750
|
-
readonly "no-dangerously-allow-svg": DocumentedRule<readonly [], "noDangerouslyAllowSvg">;
|
|
751
|
-
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql" | "dynamicFragment">;
|
|
752
|
-
readonly "no-enum": DocumentedRule<readonly [{
|
|
753
|
-
ignoreFiles?: readonly string[];
|
|
754
|
-
}?], "noEnum">;
|
|
755
|
-
readonly "no-excessive-cognitive-complexity": DocumentedRule<[], "excessiveComplexity">;
|
|
756
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
757
|
-
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
758
|
-
allowIn?: readonly string[];
|
|
759
|
-
checkClientModules?: boolean;
|
|
760
|
-
}?], "handRolledSleep" | "handRolledTimeoutRace">;
|
|
761
|
-
readonly "no-hand-rolled-spinner": DocumentedRule<readonly [], "handRolledSpinner">;
|
|
762
|
-
readonly "no-insecure-random-id": DocumentedRule<readonly [], "insecureRandomId">;
|
|
763
|
-
readonly "no-detached-global-fetch": DocumentedRule<readonly [], "detachedGlobalFetch">;
|
|
764
|
-
readonly "no-exception-text-in-5xx-response": DocumentedRule<readonly [], "exceptionText" | "serverActionExceptionText">;
|
|
765
|
-
readonly "no-json-stringify-error": DocumentedRule<readonly [], "noJsonStringifyError">;
|
|
766
|
-
readonly "no-json-stringify-object-equality": DocumentedRule<readonly [], "serializedObjectEquality">;
|
|
767
|
-
readonly "no-impossible-zod-literal-bounds": DocumentedRule<readonly [{
|
|
768
|
-
readonly delegateRealContradictions?: boolean;
|
|
769
|
-
}?], "impossibleBounds">;
|
|
770
|
-
readonly "no-in-operator-on-built-in-collections": DocumentedRule<readonly [], "ambiguousCollectionIn">;
|
|
771
|
-
readonly "no-redundant-optional-array-default": DocumentedRule<readonly [], "redundantOptionalArrayDefault">;
|
|
772
|
-
readonly "interface-contract-members-private": DocumentedRule<readonly [], "nonContractMemberMustBePrivate">;
|
|
773
|
-
readonly "no-log-only-catch": DocumentedRule<readonly [LoggingOptions?], "noLogOnlyCatch" | "emptyCatch">;
|
|
774
|
-
readonly "no-bare-return-from-test-catch": DocumentedRule<readonly [], "bareReturnFromTestCatch">;
|
|
775
|
-
readonly "no-bespoke-api-case-conversion": DocumentedRule<readonly [], "noBespokeApiCaseConversion">;
|
|
776
|
-
readonly "no-long-comment": DocumentedRule<readonly [], "tooLong">;
|
|
777
|
-
readonly "no-vague-suppression-description": DocumentedRule<readonly [], "vagueDescription">;
|
|
778
|
-
readonly "no-generic-single-export-module": DocumentedRule<[], "genericSingleExport">;
|
|
779
|
-
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
780
|
-
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
781
|
-
readonly "no-production-browser-source-maps": DocumentedRule<readonly [], "noProductionBrowserSourceMaps">;
|
|
782
|
-
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
783
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
784
|
-
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
785
|
-
libraries: readonly RestrictedLibrary[];
|
|
786
|
-
}], "restrictedLibraryLoad">;
|
|
787
|
-
readonly "no-router-refresh-polling": DocumentedRule<readonly [], "routerRefreshPolling">;
|
|
788
|
-
readonly "no-repeated-string-literal": DocumentedRule<readonly [], "noRepeatedStringLiteral">;
|
|
789
|
-
readonly "no-restated-comment": DocumentedRule<readonly [], "deleteComment" | "restatesLineBelow">;
|
|
790
|
-
readonly "no-restated-jsdoc": DocumentedRule<readonly [], "restatesSignature" | "deleteBlock">;
|
|
791
|
-
readonly "no-secret-in-log": DocumentedRule<readonly [LoggingOptions?], "noSecretInLog" | "noRawBodyInLog">;
|
|
792
|
-
readonly "no-server-env-in-client-component": DocumentedRule<readonly [], "noServerEnvInClientComponent">;
|
|
793
|
-
readonly "no-select-star": DocumentedRule<readonly [], "noSelectStar">;
|
|
794
|
-
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
795
|
-
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
796
|
-
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
797
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
798
|
-
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop" | "noStringReduce">;
|
|
799
|
-
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
800
|
-
readonly "no-duplicate-test-case": DocumentedRule<readonly [], "duplicateCase">;
|
|
801
|
-
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
802
|
-
readonly "no-trailing-value-narration": DocumentedRule<readonly [], "deleteNarration" | "narratesValue" | "removeNarration">;
|
|
803
|
-
readonly "no-declaration-comment-wall": DocumentedRule<readonly [Partial<WallOptions>?], "commentWall">;
|
|
804
|
-
readonly "no-union-in-comment": DocumentedRule<readonly [], "unionInComment">;
|
|
805
|
-
readonly "no-type-member-comment-wall": DocumentedRule<readonly [Partial<WallOptions>?], "commentWall">;
|
|
806
|
-
readonly "no-unnecessary-use-client": DocumentedRule<readonly [], "unnecessaryUseClient">;
|
|
807
|
-
readonly "no-unsafe-mock-casting": DocumentedRule<[], "unsafeMockCast">;
|
|
808
|
-
readonly "no-unsafe-test-double-cast": DocumentedRule<[], "noUnsafeTestDoubleCast">;
|
|
809
|
-
readonly "no-first-party-module-mock": DocumentedRule<readonly [{
|
|
810
|
-
additionalModulePrefixes?: readonly string[];
|
|
811
|
-
}], "noFirstPartyModuleMock">;
|
|
812
|
-
readonly "no-zod-native-enum": DocumentedRule<readonly [], "nativeEnum" | "enumOfTsEnum">;
|
|
813
|
-
readonly "require-use-form-default-values": DocumentedRule<readonly [], "requireUseFormDefaultValues">;
|
|
814
|
-
readonly "require-use-server-in-actions-file": DocumentedRule<readonly [], "requireUseServerInActionsFile">;
|
|
815
|
-
readonly "test-loops-over-literal-cases": DocumentedRule<readonly [], "literalCaseLoop">;
|
|
816
|
-
readonly "test-phase-label-comment": DocumentedRule<readonly [], "removeLabel">;
|
|
817
|
-
readonly "prefer-constant-time-secret-compare": DocumentedRule<readonly [], "preferConstantTimeSecretCompare">;
|
|
818
|
-
readonly "prefer-ecmascript-private-members": DocumentedRule<readonly [], "preferEcmascriptPrivate">;
|
|
819
|
-
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion" | "preferProducedVariants">;
|
|
820
|
-
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
821
|
-
readonly "prefer-millisecond-control-duration-schema": DocumentedRule<readonly [], "preferMilliseconds">;
|
|
822
|
-
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
823
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
824
|
-
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
825
|
-
minElements?: number;
|
|
826
|
-
checkRegex?: boolean;
|
|
827
|
-
ignoreTestFiles?: boolean;
|
|
828
|
-
}?], "hoistCollection" | "hoistRegex">;
|
|
829
|
-
readonly "prefer-module-level-schema": DocumentedRule<readonly [{
|
|
830
|
-
factories?: readonly string[];
|
|
831
|
-
ignoreTestFiles?: boolean;
|
|
832
|
-
memoCallees?: readonly string[];
|
|
833
|
-
minProperties?: number;
|
|
834
|
-
}?], "hoistSchema">;
|
|
835
|
-
readonly "prefer-module-level-refined-schema": DocumentedRule<[], "hoistRefinedSchema">;
|
|
836
|
-
readonly "prefer-multi-value-zod-literal": DocumentedRule<readonly [{
|
|
837
|
-
zodMajorVersion?: 4;
|
|
838
|
-
}], "useMultiValueLiteral">;
|
|
839
|
-
readonly "prefer-named-callback-domain": DocumentedRule<[], "nameCallbackDomain">;
|
|
840
|
-
readonly "prefer-nominal-id-types": DocumentedRule<[], "preferNominalIds">;
|
|
841
|
-
readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
|
|
842
|
-
readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
|
|
843
|
-
readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
|
|
844
|
-
readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
|
|
845
|
-
readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
|
|
846
|
-
readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
|
|
847
|
-
readonly "prefer-await-in-async-return": DocumentedRule<readonly [{
|
|
848
|
-
readonly scope: "async-return" | "all-promise-calls";
|
|
849
|
-
}], "preferAwait" | "preferAwaitCall">;
|
|
850
|
-
readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
|
|
851
|
-
readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
|
|
852
|
-
readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
|
|
853
|
-
readonly "prefer-semantic-colors": DocumentedRule<readonly [{
|
|
854
|
-
opaqueForegroundPairs?: boolean;
|
|
855
|
-
requireSemanticTokens?: boolean;
|
|
856
|
-
}?], "rawPalette" | "arbitraryColor" | "inlineColor" | "opaqueForegroundPair">;
|
|
857
|
-
readonly "prefer-server-actions": DocumentedRule<readonly [RuleOptions$5?], "preferServerAction">;
|
|
858
|
-
readonly "prefer-whole-object-assertion": DocumentedRule<readonly [], "combineAssertions" | "assertArrayOnce">;
|
|
859
|
-
readonly "repeated-static-call-cases": DocumentedRule<readonly [], "repeatedStaticCallCases">;
|
|
860
|
-
readonly "prefer-zod-infer": DocumentedRule<readonly [{
|
|
861
|
-
ignoreTypeNames?: readonly string[];
|
|
862
|
-
requireIdenticalShape?: boolean;
|
|
863
|
-
}?], "handWrittenTwin" | "repeatedEnumUnion">;
|
|
864
|
-
readonly "named-child-schema-type": DocumentedRule<readonly [], "namedChildType">;
|
|
865
|
-
readonly "prefer-zod-parse-output-type": DocumentedRule<readonly [], "handWrittenParsedOutput">;
|
|
866
|
-
readonly "require-assert-never": DocumentedRule<readonly [], "missingAssertNever">;
|
|
867
|
-
readonly "require-fetch-timeout": DocumentedRule<readonly [{
|
|
868
|
-
allowIn?: readonly string[];
|
|
869
|
-
}?], "missingSignal">;
|
|
870
|
-
readonly "require-interface-for-exported-class": DocumentedRule<[], "requireContract">;
|
|
871
|
-
readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
|
|
872
|
-
readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
|
|
873
|
-
readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
|
|
874
|
-
readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
|
|
875
|
-
readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
|
|
876
|
-
readonly stepdown: DocumentedRule<[{
|
|
877
|
-
readonly privateBandOnly?: boolean;
|
|
878
|
-
}], "helperAboveOnlyCaller">;
|
|
879
|
-
readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
|
|
880
|
-
readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
|
|
881
|
-
readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
|
|
882
|
-
};
|
|
883
|
-
readonly retiredRules: Readonly<Record<string, RetiredRule>>;
|
|
697
|
+
interface PluginDefinition {
|
|
698
|
+
readonly meta: typeof meta;
|
|
699
|
+
readonly rules: typeof RULES;
|
|
700
|
+
readonly retiredRules: typeof RETIRED_RULES;
|
|
701
|
+
/** TSESLint.ESLint accepts these typed callbacks while running the native ESLint engine. */
|
|
884
702
|
readonly configs: {
|
|
885
|
-
readonly recommended: FlatPreset<typeof
|
|
886
|
-
readonly strict: FlatPreset<typeof
|
|
703
|
+
readonly recommended: FlatPreset<typeof FLAT_RECOMMENDED_RULES>;
|
|
704
|
+
readonly strict: FlatPreset<typeof FLAT_STRICT_RULES>;
|
|
887
705
|
};
|
|
888
|
-
}
|
|
706
|
+
}
|
|
707
|
+
declare const PLUGIN: PluginDefinition;
|
|
889
708
|
|
|
890
709
|
export { ADVISORY_RULES, APPLICATION_ONLY_RULES, DocumentedRule, RECOMMENDED_RULES, RENAMED_RULES, RETIRED_RULES, RULES, STRICT_RULES, ADVISORY_RULES as advisoryRules, APPLICATION_ONLY_RULES as applicationOnlyRules, PLUGIN as default, RECOMMENDED_RULES as recommendedRules, RENAMED_RULES as renamedRules, RETIRED_RULES as retiredRules, RULES as rules, STRICT_RULES as strictRules };
|
|
891
710
|
export type { RetiredRule };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
import { D as DocumentedRule } from './_docs-
|
|
2
|
-
export { p as publicDocumentation } from './_docs-
|
|
1
|
+
import { D as DocumentedRule } from './_docs-_eXGTNOq.js';
|
|
2
|
+
export { p as publicDocumentation } from './_docs-_eXGTNOq.js';
|
|
3
3
|
import '@typescript-eslint/utils';
|
|
4
4
|
|
|
5
|
-
/** @fileoverview _retired-rules — burned rule names and their migration action. */
|
|
6
|
-
/** Why a name was withdrawn, and in which release. */
|
|
7
|
-
interface RetiredRule {
|
|
8
|
-
/** The plugin version whose release removed the rule. */
|
|
9
|
-
readonly removedIn: string;
|
|
10
|
-
/** One line a consumer can act on: why it went, and what (if anything) replaced it. */
|
|
11
|
-
readonly reason: string;
|
|
12
|
-
}
|
|
13
|
-
declare const RETIRED_RULES: Readonly<Record<string, RetiredRule>>;
|
|
14
|
-
|
|
15
5
|
interface RuleOptions$5 {
|
|
16
6
|
readonly basePath?: string;
|
|
17
7
|
}
|
|
@@ -125,6 +115,16 @@ declare const RENAMED_RULES: {
|
|
|
125
115
|
readonly "trailing-value-narration": "no-trailing-value-narration";
|
|
126
116
|
};
|
|
127
117
|
|
|
118
|
+
/** @fileoverview _retired-rules — burned rule names and their migration action. */
|
|
119
|
+
/** Why a name was withdrawn, and in which release. */
|
|
120
|
+
interface RetiredRule {
|
|
121
|
+
/** The plugin version whose release removed the rule. */
|
|
122
|
+
readonly removedIn: string;
|
|
123
|
+
/** One line a consumer can act on: why it went, and what (if anything) replaced it. */
|
|
124
|
+
readonly reason: string;
|
|
125
|
+
}
|
|
126
|
+
declare const RETIRED_RULES: Readonly<Record<string, RetiredRule>>;
|
|
127
|
+
|
|
128
128
|
declare const RULES: {
|
|
129
129
|
readonly "no-mutating-input-with-result": DocumentedRule<[], "inputWrite">;
|
|
130
130
|
readonly "no-negative-only-http-status-assertion": DocumentedRule<[], "expectedStatus">;
|
|
@@ -318,6 +318,10 @@ declare const RULES: {
|
|
|
318
318
|
readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
|
|
319
319
|
readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
|
|
320
320
|
};
|
|
321
|
+
declare const meta: {
|
|
322
|
+
readonly name: "@sarj/eslint-plugin";
|
|
323
|
+
readonly version: string;
|
|
324
|
+
};
|
|
321
325
|
/** @deprecated All repositories use one policy; retained for import compatibility. */
|
|
322
326
|
declare const APPLICATION_ONLY_RULES: readonly [];
|
|
323
327
|
type PresetMembership = "both" | "strict";
|
|
@@ -670,222 +674,37 @@ type RuleSetting<Row extends PolicyRow> = Row extends readonly ["shared", "both"
|
|
|
670
674
|
type PresetRules<Preset extends "recommended" | "strict"> = {
|
|
671
675
|
readonly [Name in PolicyName as Preset extends "recommended" ? (typeof RULE_POLICY)[Name][1] extends "both" ? Name : never : Name]: RuleSetting<(typeof RULE_POLICY)[Name]>;
|
|
672
676
|
};
|
|
677
|
+
type FlatRuleSetting<Setting> = Setting extends readonly unknown[] ? [...Setting] : Setting;
|
|
678
|
+
type FlatPresetRules<Preset extends "recommended" | "strict"> = {
|
|
679
|
+
readonly [Name in keyof PresetRules<Preset>]: FlatRuleSetting<PresetRules<Preset>[Name]>;
|
|
680
|
+
};
|
|
673
681
|
type AdvisoryRuleName = {
|
|
674
682
|
[Name in PolicyName]: (typeof RULE_POLICY)[Name][0] extends "warn" ? Name : never;
|
|
675
683
|
}[PolicyName];
|
|
676
684
|
/** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
|
|
677
685
|
declare const ADVISORY_RULES: readonly AdvisoryRuleName[];
|
|
686
|
+
declare const FLAT_RECOMMENDED_RULES: FlatPresetRules<"recommended">;
|
|
687
|
+
declare const FLAT_STRICT_RULES: FlatPresetRules<"strict">;
|
|
678
688
|
declare const RECOMMENDED_RULES: PresetRules<"recommended">;
|
|
679
689
|
declare const STRICT_RULES: PresetRules<"strict">;
|
|
680
690
|
type FlatPreset<Settings> = {
|
|
681
691
|
readonly name: string;
|
|
682
|
-
readonly plugins:
|
|
692
|
+
readonly plugins: {
|
|
693
|
+
readonly "@sarj": PluginDefinition;
|
|
694
|
+
};
|
|
683
695
|
readonly rules: Settings;
|
|
684
696
|
};
|
|
685
|
-
|
|
686
|
-
readonly meta:
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
readonly rules: {
|
|
691
|
-
readonly "no-mutating-input-with-result": DocumentedRule<[], "inputWrite">;
|
|
692
|
-
readonly "no-negative-only-http-status-assertion": DocumentedRule<[], "expectedStatus">;
|
|
693
|
-
readonly "production-derived-test-cases": DocumentedRule<[], "independentCases">;
|
|
694
|
-
readonly "prefer-test-fixture-reuse": DocumentedRule<[], "reuseFixture">;
|
|
695
|
-
readonly "no-return-disposed-resource": DocumentedRule<[], "disposedReturn">;
|
|
696
|
-
readonly "require-constrained-schema-integer": DocumentedRule<[], "constrainInteger">;
|
|
697
|
-
readonly "no-discarded-validation-result": DocumentedRule<[], "discarded">;
|
|
698
|
-
readonly "require-jwt-lifetime": DocumentedRule<[], "lifetime">;
|
|
699
|
-
readonly "prefer-dependency-interface": DocumentedRule<[], "interface">;
|
|
700
|
-
readonly "no-generic-json-parser": DocumentedRule<[], "genericParser">;
|
|
701
|
-
readonly "no-redundant-local-alias": DocumentedRule<[], "redundantAlias">;
|
|
702
|
-
readonly "no-test-comments": DocumentedRule<[], "testComment">;
|
|
703
|
-
readonly "no-mutating-container-transform": DocumentedRule<[], "borrowedMutation">;
|
|
704
|
-
readonly "no-redundant-consumer-union": DocumentedRule<[], "redundant">;
|
|
705
|
-
readonly "prefer-minimal-parameter-contract": DocumentedRule<[], "minimal">;
|
|
706
|
-
readonly "no-excess-jsx-props": DocumentedRule<[], "excess">;
|
|
707
|
-
readonly "prefer-native-fetch-in-server-actions": DocumentedRule<readonly [], "preferNativeFetchInServerActions">;
|
|
708
|
-
readonly "no-credential-in-browser-storage": DocumentedRule<readonly [], "noCredentialInBrowserStorage">;
|
|
709
|
-
readonly "no-numeric-search-param-coercion": DocumentedRule<readonly [], "noNumericSearchParamCoercion">;
|
|
710
|
-
readonly "require-explicit-contract-implementation": DocumentedRule<readonly [], "declareActualContract">;
|
|
711
|
-
readonly "require-explicit-service-contract": DocumentedRule<readonly [], "requireExplicitServiceContract">;
|
|
712
|
-
readonly "no-conditional-empty-object-spread": DocumentedRule<[], "avoid">;
|
|
713
|
-
readonly "prefer-typed-reflection": DocumentedRule<[], "avoid">;
|
|
714
|
-
readonly "no-broad-return-type": DocumentedRule<[], "avoid">;
|
|
715
|
-
readonly "no-reduce-accumulator-copy": DocumentedRule<[], "copy">;
|
|
716
|
-
readonly "no-known-value-widening": DocumentedRule<[], "widening">;
|
|
717
|
-
readonly "no-invalid-typed-mutation": DocumentedRule<readonly [], "incompatibleWrite">;
|
|
718
|
-
readonly "no-contradictory-type-predicate": DocumentedRule<readonly [], "contradictoryPredicate" | "closedLiteralPredicate" | "nullAccepted" | "uncheckedArrayElements" | "uncheckedRecordFields">;
|
|
719
|
-
readonly "no-partial-type-predicate": DocumentedRule<readonly [], "partialPredicate">;
|
|
720
|
-
readonly "no-boolean-selector-parameter": DocumentedRule<readonly [], "booleanSelector">;
|
|
721
|
-
readonly "no-invalid-zod-custom-parse": DocumentedRule<[], "incompatibleCustomParse">;
|
|
722
|
-
readonly "no-contradictory-overload-return": DocumentedRule<readonly [], "contradictoryReturn">;
|
|
723
|
-
readonly "require-button-accessible-name": DocumentedRule<readonly [{
|
|
724
|
-
readonly components?: readonly ComponentImport[];
|
|
725
|
-
readonly iconModules?: readonly string[];
|
|
726
|
-
}?], "missingName">;
|
|
727
|
-
readonly "require-camelcase-properties": DocumentedRule<readonly [], "requireCamelcaseProperty">;
|
|
728
|
-
readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
|
|
729
|
-
readonly "prefer-logical-tailwind-utilities": DocumentedRule<readonly [{
|
|
730
|
-
readonly enabled?: boolean;
|
|
731
|
-
readonly checkInsets?: boolean;
|
|
732
|
-
readonly allowUtilities?: readonly string[];
|
|
733
|
-
}?], "physicalUtility">;
|
|
734
|
-
readonly "no-unlocalized-toast": DocumentedRule<readonly [(LocalizationOptions & {
|
|
735
|
-
readonly functions?: readonly ComponentImport[];
|
|
736
|
-
readonly methods?: readonly string[];
|
|
737
|
-
})?], "unlocalized">;
|
|
738
|
-
readonly "no-unlocalized-jsx-attributes": DocumentedRule<readonly [(LocalizationOptions & {
|
|
739
|
-
readonly attributes?: readonly string[];
|
|
740
|
-
})?], "unlocalized">;
|
|
741
|
-
readonly "no-unlocalized-jsx-text": DocumentedRule<readonly [LocalizationOptions?], "unlocalized">;
|
|
742
|
-
readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
|
|
743
|
-
readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
|
|
744
|
-
readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
|
|
745
|
-
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
746
|
-
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
747
|
-
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
748
|
-
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
749
|
-
readonly "no-duplicate-lifecycle-refresh-listeners": DocumentedRule<readonly [], "duplicateLifecycleRefresh">;
|
|
750
|
-
readonly "no-dangerously-allow-svg": DocumentedRule<readonly [], "noDangerouslyAllowSvg">;
|
|
751
|
-
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql" | "dynamicFragment">;
|
|
752
|
-
readonly "no-enum": DocumentedRule<readonly [{
|
|
753
|
-
ignoreFiles?: readonly string[];
|
|
754
|
-
}?], "noEnum">;
|
|
755
|
-
readonly "no-excessive-cognitive-complexity": DocumentedRule<[], "excessiveComplexity">;
|
|
756
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
757
|
-
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
758
|
-
allowIn?: readonly string[];
|
|
759
|
-
checkClientModules?: boolean;
|
|
760
|
-
}?], "handRolledSleep" | "handRolledTimeoutRace">;
|
|
761
|
-
readonly "no-hand-rolled-spinner": DocumentedRule<readonly [], "handRolledSpinner">;
|
|
762
|
-
readonly "no-insecure-random-id": DocumentedRule<readonly [], "insecureRandomId">;
|
|
763
|
-
readonly "no-detached-global-fetch": DocumentedRule<readonly [], "detachedGlobalFetch">;
|
|
764
|
-
readonly "no-exception-text-in-5xx-response": DocumentedRule<readonly [], "exceptionText" | "serverActionExceptionText">;
|
|
765
|
-
readonly "no-json-stringify-error": DocumentedRule<readonly [], "noJsonStringifyError">;
|
|
766
|
-
readonly "no-json-stringify-object-equality": DocumentedRule<readonly [], "serializedObjectEquality">;
|
|
767
|
-
readonly "no-impossible-zod-literal-bounds": DocumentedRule<readonly [{
|
|
768
|
-
readonly delegateRealContradictions?: boolean;
|
|
769
|
-
}?], "impossibleBounds">;
|
|
770
|
-
readonly "no-in-operator-on-built-in-collections": DocumentedRule<readonly [], "ambiguousCollectionIn">;
|
|
771
|
-
readonly "no-redundant-optional-array-default": DocumentedRule<readonly [], "redundantOptionalArrayDefault">;
|
|
772
|
-
readonly "interface-contract-members-private": DocumentedRule<readonly [], "nonContractMemberMustBePrivate">;
|
|
773
|
-
readonly "no-log-only-catch": DocumentedRule<readonly [LoggingOptions?], "noLogOnlyCatch" | "emptyCatch">;
|
|
774
|
-
readonly "no-bare-return-from-test-catch": DocumentedRule<readonly [], "bareReturnFromTestCatch">;
|
|
775
|
-
readonly "no-bespoke-api-case-conversion": DocumentedRule<readonly [], "noBespokeApiCaseConversion">;
|
|
776
|
-
readonly "no-long-comment": DocumentedRule<readonly [], "tooLong">;
|
|
777
|
-
readonly "no-vague-suppression-description": DocumentedRule<readonly [], "vagueDescription">;
|
|
778
|
-
readonly "no-generic-single-export-module": DocumentedRule<[], "genericSingleExport">;
|
|
779
|
-
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
780
|
-
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
781
|
-
readonly "no-production-browser-source-maps": DocumentedRule<readonly [], "noProductionBrowserSourceMaps">;
|
|
782
|
-
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
783
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
784
|
-
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
785
|
-
libraries: readonly RestrictedLibrary[];
|
|
786
|
-
}], "restrictedLibraryLoad">;
|
|
787
|
-
readonly "no-router-refresh-polling": DocumentedRule<readonly [], "routerRefreshPolling">;
|
|
788
|
-
readonly "no-repeated-string-literal": DocumentedRule<readonly [], "noRepeatedStringLiteral">;
|
|
789
|
-
readonly "no-restated-comment": DocumentedRule<readonly [], "deleteComment" | "restatesLineBelow">;
|
|
790
|
-
readonly "no-restated-jsdoc": DocumentedRule<readonly [], "restatesSignature" | "deleteBlock">;
|
|
791
|
-
readonly "no-secret-in-log": DocumentedRule<readonly [LoggingOptions?], "noSecretInLog" | "noRawBodyInLog">;
|
|
792
|
-
readonly "no-server-env-in-client-component": DocumentedRule<readonly [], "noServerEnvInClientComponent">;
|
|
793
|
-
readonly "no-select-star": DocumentedRule<readonly [], "noSelectStar">;
|
|
794
|
-
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
795
|
-
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
796
|
-
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
797
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
798
|
-
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop" | "noStringReduce">;
|
|
799
|
-
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
800
|
-
readonly "no-duplicate-test-case": DocumentedRule<readonly [], "duplicateCase">;
|
|
801
|
-
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
802
|
-
readonly "no-trailing-value-narration": DocumentedRule<readonly [], "deleteNarration" | "narratesValue" | "removeNarration">;
|
|
803
|
-
readonly "no-declaration-comment-wall": DocumentedRule<readonly [Partial<WallOptions>?], "commentWall">;
|
|
804
|
-
readonly "no-union-in-comment": DocumentedRule<readonly [], "unionInComment">;
|
|
805
|
-
readonly "no-type-member-comment-wall": DocumentedRule<readonly [Partial<WallOptions>?], "commentWall">;
|
|
806
|
-
readonly "no-unnecessary-use-client": DocumentedRule<readonly [], "unnecessaryUseClient">;
|
|
807
|
-
readonly "no-unsafe-mock-casting": DocumentedRule<[], "unsafeMockCast">;
|
|
808
|
-
readonly "no-unsafe-test-double-cast": DocumentedRule<[], "noUnsafeTestDoubleCast">;
|
|
809
|
-
readonly "no-first-party-module-mock": DocumentedRule<readonly [{
|
|
810
|
-
additionalModulePrefixes?: readonly string[];
|
|
811
|
-
}], "noFirstPartyModuleMock">;
|
|
812
|
-
readonly "no-zod-native-enum": DocumentedRule<readonly [], "nativeEnum" | "enumOfTsEnum">;
|
|
813
|
-
readonly "require-use-form-default-values": DocumentedRule<readonly [], "requireUseFormDefaultValues">;
|
|
814
|
-
readonly "require-use-server-in-actions-file": DocumentedRule<readonly [], "requireUseServerInActionsFile">;
|
|
815
|
-
readonly "test-loops-over-literal-cases": DocumentedRule<readonly [], "literalCaseLoop">;
|
|
816
|
-
readonly "test-phase-label-comment": DocumentedRule<readonly [], "removeLabel">;
|
|
817
|
-
readonly "prefer-constant-time-secret-compare": DocumentedRule<readonly [], "preferConstantTimeSecretCompare">;
|
|
818
|
-
readonly "prefer-ecmascript-private-members": DocumentedRule<readonly [], "preferEcmascriptPrivate">;
|
|
819
|
-
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion" | "preferProducedVariants">;
|
|
820
|
-
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
821
|
-
readonly "prefer-millisecond-control-duration-schema": DocumentedRule<readonly [], "preferMilliseconds">;
|
|
822
|
-
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
823
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
824
|
-
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
825
|
-
minElements?: number;
|
|
826
|
-
checkRegex?: boolean;
|
|
827
|
-
ignoreTestFiles?: boolean;
|
|
828
|
-
}?], "hoistCollection" | "hoistRegex">;
|
|
829
|
-
readonly "prefer-module-level-schema": DocumentedRule<readonly [{
|
|
830
|
-
factories?: readonly string[];
|
|
831
|
-
ignoreTestFiles?: boolean;
|
|
832
|
-
memoCallees?: readonly string[];
|
|
833
|
-
minProperties?: number;
|
|
834
|
-
}?], "hoistSchema">;
|
|
835
|
-
readonly "prefer-module-level-refined-schema": DocumentedRule<[], "hoistRefinedSchema">;
|
|
836
|
-
readonly "prefer-multi-value-zod-literal": DocumentedRule<readonly [{
|
|
837
|
-
zodMajorVersion?: 4;
|
|
838
|
-
}], "useMultiValueLiteral">;
|
|
839
|
-
readonly "prefer-named-callback-domain": DocumentedRule<[], "nameCallbackDomain">;
|
|
840
|
-
readonly "prefer-nominal-id-types": DocumentedRule<[], "preferNominalIds">;
|
|
841
|
-
readonly "prefer-named-complex-return-type": DocumentedRule<[], "nameComplexReturnType">;
|
|
842
|
-
readonly "prefer-native-random-uuid": DocumentedRule<readonly [], "preferNative" | "replaceWithNative">;
|
|
843
|
-
readonly "prefer-node-crypto-hash": DocumentedRule<readonly [], "preferNodeCryptoHash">;
|
|
844
|
-
readonly "prefer-node-fs-promises": DocumentedRule<[], "preferAsyncFs">;
|
|
845
|
-
readonly "prefer-non-nullable-collection": DocumentedRule<readonly [], "preferNonNullableCollection">;
|
|
846
|
-
readonly "prefer-nullish-filter-predicate": DocumentedRule<readonly [], "preferNullishPredicate" | "replaceBoolean">;
|
|
847
|
-
readonly "prefer-await-in-async-return": DocumentedRule<readonly [{
|
|
848
|
-
readonly scope: "async-return" | "all-promise-calls";
|
|
849
|
-
}], "preferAwait" | "preferAwaitCall">;
|
|
850
|
-
readonly "prefer-schema-for-api-payload": DocumentedRule<readonly [], "unparsedJsonAccess">;
|
|
851
|
-
readonly "prefer-shared-zod-enum": DocumentedRule<[], "shareEnumDomain">;
|
|
852
|
-
readonly "prefer-switch-for-repeated-equality": DocumentedRule<[], "preferSwitch">;
|
|
853
|
-
readonly "prefer-semantic-colors": DocumentedRule<readonly [{
|
|
854
|
-
opaqueForegroundPairs?: boolean;
|
|
855
|
-
requireSemanticTokens?: boolean;
|
|
856
|
-
}?], "rawPalette" | "arbitraryColor" | "inlineColor" | "opaqueForegroundPair">;
|
|
857
|
-
readonly "prefer-server-actions": DocumentedRule<readonly [RuleOptions$5?], "preferServerAction">;
|
|
858
|
-
readonly "prefer-whole-object-assertion": DocumentedRule<readonly [], "combineAssertions" | "assertArrayOnce">;
|
|
859
|
-
readonly "repeated-static-call-cases": DocumentedRule<readonly [], "repeatedStaticCallCases">;
|
|
860
|
-
readonly "prefer-zod-infer": DocumentedRule<readonly [{
|
|
861
|
-
ignoreTypeNames?: readonly string[];
|
|
862
|
-
requireIdenticalShape?: boolean;
|
|
863
|
-
}?], "handWrittenTwin" | "repeatedEnumUnion">;
|
|
864
|
-
readonly "named-child-schema-type": DocumentedRule<readonly [], "namedChildType">;
|
|
865
|
-
readonly "prefer-zod-parse-output-type": DocumentedRule<readonly [], "handWrittenParsedOutput">;
|
|
866
|
-
readonly "require-assert-never": DocumentedRule<readonly [], "missingAssertNever">;
|
|
867
|
-
readonly "require-fetch-timeout": DocumentedRule<readonly [{
|
|
868
|
-
allowIn?: readonly string[];
|
|
869
|
-
}?], "missingSignal">;
|
|
870
|
-
readonly "require-interface-for-exported-class": DocumentedRule<[], "requireContract">;
|
|
871
|
-
readonly "require-port-for-service": DocumentedRule<readonly [], "requireInterface">;
|
|
872
|
-
readonly "require-sql-access-class": DocumentedRule<[], "moveSqlIntoClass">;
|
|
873
|
-
readonly "require-static-next-matcher": DocumentedRule<readonly [], "dynamicMatcher">;
|
|
874
|
-
readonly "require-zod-form-validation": DocumentedRule<readonly [], "missingZodValidation">;
|
|
875
|
-
readonly "store-insert-requires-on-conflict": DocumentedRule<readonly [], "storeInsertRequiresOnConflict">;
|
|
876
|
-
readonly stepdown: DocumentedRule<[{
|
|
877
|
-
readonly privateBandOnly?: boolean;
|
|
878
|
-
}], "helperAboveOnlyCaller">;
|
|
879
|
-
readonly "source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
|
|
880
|
-
readonly "sole-export-matches-filename": DocumentedRule<[], "matchSoleExport">;
|
|
881
|
-
readonly "require-pascal-case-zod-schema-name": DocumentedRule<readonly [], "requirePascalSchema">;
|
|
882
|
-
};
|
|
883
|
-
readonly retiredRules: Readonly<Record<string, RetiredRule>>;
|
|
697
|
+
interface PluginDefinition {
|
|
698
|
+
readonly meta: typeof meta;
|
|
699
|
+
readonly rules: typeof RULES;
|
|
700
|
+
readonly retiredRules: typeof RETIRED_RULES;
|
|
701
|
+
/** TSESLint.ESLint accepts these typed callbacks while running the native ESLint engine. */
|
|
884
702
|
readonly configs: {
|
|
885
|
-
readonly recommended: FlatPreset<typeof
|
|
886
|
-
readonly strict: FlatPreset<typeof
|
|
703
|
+
readonly recommended: FlatPreset<typeof FLAT_RECOMMENDED_RULES>;
|
|
704
|
+
readonly strict: FlatPreset<typeof FLAT_STRICT_RULES>;
|
|
887
705
|
};
|
|
888
|
-
}
|
|
706
|
+
}
|
|
707
|
+
declare const PLUGIN: PluginDefinition;
|
|
889
708
|
|
|
890
709
|
export { ADVISORY_RULES, APPLICATION_ONLY_RULES, DocumentedRule, RECOMMENDED_RULES, RENAMED_RULES, RETIRED_RULES, RULES, STRICT_RULES, ADVISORY_RULES as advisoryRules, APPLICATION_ONLY_RULES as applicationOnlyRules, PLUGIN as default, RECOMMENDED_RULES as recommendedRules, RENAMED_RULES as renamedRules, RETIRED_RULES as retiredRules, RULES as rules, STRICT_RULES as strictRules };
|
|
891
710
|
export type { RetiredRule };
|