@flint.fyi/ts 0.19.1 → 0.21.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/lib/plugin.d.ts +371 -346
- package/lib/plugin.js +4 -2
- package/lib/rules/accessorPairGroups.d.ts +0 -1
- package/lib/rules/accessorPairGroups.js +0 -2
- package/lib/rules/accessorPairTypes.d.ts +0 -1
- package/lib/rules/accessorPairTypes.js +0 -2
- package/lib/rules/accessorThisRecursion.d.ts +0 -1
- package/lib/rules/accessorThisRecursion.js +0 -2
- package/lib/rules/anyArguments.d.ts +0 -1
- package/lib/rules/anyArguments.js +0 -2
- package/lib/rules/anyAssignments.d.ts +0 -1
- package/lib/rules/anyAssignments.js +0 -2
- package/lib/rules/anyCalls.d.ts +0 -1
- package/lib/rules/anyCalls.js +0 -2
- package/lib/rules/anyMemberAccess.d.ts +0 -1
- package/lib/rules/anyMemberAccess.js +0 -2
- package/lib/rules/anyReturns.d.ts +0 -1
- package/lib/rules/anyReturns.js +0 -2
- package/lib/rules/arguments.d.ts +0 -1
- package/lib/rules/arguments.js +0 -2
- package/lib/rules/arrayCallbackReturns.d.ts +0 -1
- package/lib/rules/arrayCallbackReturns.js +1 -3
- package/lib/rules/arrayConstructors.d.ts +0 -1
- package/lib/rules/arrayConstructors.js +2 -4
- package/lib/rules/arrayDeleteUnnecessaryCounts.d.ts +0 -1
- package/lib/rules/arrayDeleteUnnecessaryCounts.js +0 -2
- package/lib/rules/arrayElementDeletions.d.ts +0 -1
- package/lib/rules/arrayElementDeletions.js +0 -2
- package/lib/rules/arrayEmptyCallbackSlots.d.ts +0 -1
- package/lib/rules/arrayEmptyCallbackSlots.js +4 -11
- package/lib/rules/arrayExistenceChecksConsistency.d.ts +0 -1
- package/lib/rules/arrayExistenceChecksConsistency.js +1 -3
- package/lib/rules/arrayFilteredFinds.d.ts +0 -1
- package/lib/rules/arrayFilteredFinds.js +4 -12
- package/lib/rules/arrayFinds.d.ts +0 -1
- package/lib/rules/arrayFinds.js +0 -2
- package/lib/rules/arrayFlatMapMethods.d.ts +0 -1
- package/lib/rules/arrayFlatMapMethods.js +2 -4
- package/lib/rules/arrayFlatMethods.d.ts +0 -1
- package/lib/rules/arrayFlatMethods.js +0 -2
- package/lib/rules/arrayFlatUnnecessaryDepths.d.ts +0 -1
- package/lib/rules/arrayFlatUnnecessaryDepths.js +2 -4
- package/lib/rules/arrayIncludes.d.ts +0 -1
- package/lib/rules/arrayIncludes.js +3 -11
- package/lib/rules/arrayIncludesMethods.d.ts +0 -1
- package/lib/rules/arrayIncludesMethods.js +0 -2
- package/lib/rules/arrayIndexOfMethods.d.ts +0 -1
- package/lib/rules/arrayIndexOfMethods.js +0 -2
- package/lib/rules/arrayLoops.d.ts +0 -1
- package/lib/rules/arrayLoops.js +0 -2
- package/lib/rules/arrayMapIdentities.d.ts +0 -1
- package/lib/rules/arrayMapIdentities.js +0 -2
- package/lib/rules/arrayMutableReverses.d.ts +0 -1
- package/lib/rules/arrayMutableReverses.js +0 -2
- package/lib/rules/arrayMutableSorts.d.ts +0 -1
- package/lib/rules/arrayMutableSorts.js +2 -4
- package/lib/rules/arrayReduceTypeArguments.d.ts +0 -1
- package/lib/rules/arrayReduceTypeArguments.js +0 -2
- package/lib/rules/arraySliceUnnecessaryEnd.d.ts +0 -1
- package/lib/rules/arraySliceUnnecessaryEnd.js +0 -2
- package/lib/rules/arraySomeMethods.d.ts +0 -1
- package/lib/rules/arraySomeMethods.js +0 -2
- package/lib/rules/arrayTernarySpreadingConsistency.d.ts +0 -1
- package/lib/rules/arrayTernarySpreadingConsistency.js +0 -2
- package/lib/rules/arrayTypes.d.ts +0 -1
- package/lib/rules/arrayTypes.js +4 -6
- package/lib/rules/arrayUnnecessaryLengthChecks.d.ts +0 -1
- package/lib/rules/arrayUnnecessaryLengthChecks.js +0 -2
- package/lib/rules/asConstAssertions.d.ts +0 -1
- package/lib/rules/asConstAssertions.js +0 -2
- package/lib/rules/assignmentOperatorShorthands.d.ts +0 -1
- package/lib/rules/assignmentOperatorShorthands.js +0 -2
- package/lib/rules/asyncFunctionAwaits.d.ts +9 -0
- package/lib/rules/asyncFunctionAwaits.js +53 -0
- package/lib/rules/asyncPromiseExecutors.d.ts +0 -1
- package/lib/rules/asyncPromiseExecutors.js +2 -4
- package/lib/rules/asyncUnnecessaryPromiseWrappers.d.ts +0 -1
- package/lib/rules/asyncUnnecessaryPromiseWrappers.js +0 -2
- package/lib/rules/atAccesses.d.ts +0 -1
- package/lib/rules/atAccesses.js +0 -2
- package/lib/rules/builtinCoercions.d.ts +0 -1
- package/lib/rules/builtinCoercions.js +2 -4
- package/lib/rules/builtinConstructorNews.d.ts +0 -1
- package/lib/rules/builtinConstructorNews.js +4 -6
- package/lib/rules/caseDeclarations.d.ts +0 -1
- package/lib/rules/caseDeclarations.js +0 -2
- package/lib/rules/caseDuplicates.d.ts +0 -1
- package/lib/rules/caseDuplicates.js +0 -2
- package/lib/rules/caseFallthroughs.d.ts +0 -1
- package/lib/rules/caseFallthroughs.js +0 -2
- package/lib/rules/catchCallbackTypes.d.ts +0 -1
- package/lib/rules/catchCallbackTypes.js +10 -12
- package/lib/rules/caughtVariableNames.d.ts +0 -1
- package/lib/rules/caughtVariableNames.js +0 -2
- package/lib/rules/chainedAssignments.d.ts +0 -1
- package/lib/rules/chainedAssignments.js +0 -2
- package/lib/rules/charAtComparisons.d.ts +0 -1
- package/lib/rules/charAtComparisons.js +5 -10
- package/lib/rules/classAssignments.d.ts +0 -1
- package/lib/rules/classAssignments.js +4 -9
- package/lib/rules/classFieldDeclarations.d.ts +0 -1
- package/lib/rules/classFieldDeclarations.js +0 -2
- package/lib/rules/classLiteralProperties.d.ts +0 -1
- package/lib/rules/classLiteralProperties.js +0 -2
- package/lib/rules/classMemberDuplicates.d.ts +0 -1
- package/lib/rules/classMemberDuplicates.js +0 -2
- package/lib/rules/classMethodsThis.d.ts +0 -1
- package/lib/rules/classMethodsThis.js +3 -5
- package/lib/rules/combinedPushes.d.ts +0 -1
- package/lib/rules/combinedPushes.js +0 -2
- package/lib/rules/consecutiveNonNullAssertions.d.ts +0 -1
- package/lib/rules/consecutiveNonNullAssertions.js +0 -2
- package/lib/rules/consoleCalls.d.ts +0 -1
- package/lib/rules/consoleCalls.js +2 -4
- package/lib/rules/constantAssignments.d.ts +0 -1
- package/lib/rules/constantAssignments.js +4 -9
- package/lib/rules/constructorGenericCalls.d.ts +0 -1
- package/lib/rules/constructorGenericCalls.js +3 -5
- package/lib/rules/constructorReturns.d.ts +0 -1
- package/lib/rules/constructorReturns.js +0 -2
- package/lib/rules/constructorSupers.d.ts +0 -1
- package/lib/rules/constructorSupers.js +0 -2
- package/lib/rules/dateConstructorClones.d.ts +0 -1
- package/lib/rules/dateConstructorClones.js +2 -4
- package/lib/rules/dateNowTimestamps.d.ts +0 -1
- package/lib/rules/dateNowTimestamps.js +7 -9
- package/lib/rules/debuggerStatements.d.ts +0 -1
- package/lib/rules/debuggerStatements.js +0 -2
- package/lib/rules/defaultCaseLast.d.ts +0 -1
- package/lib/rules/defaultCaseLast.js +0 -2
- package/lib/rules/defaultParameterLast.d.ts +0 -1
- package/lib/rules/defaultParameterLast.js +0 -2
- package/lib/rules/deprecated.d.ts +0 -1
- package/lib/rules/deprecated.js +0 -2
- package/lib/rules/destructuringConsistency.d.ts +0 -1
- package/lib/rules/destructuringConsistency.js +27 -35
- package/lib/rules/duplicateArguments.d.ts +0 -1
- package/lib/rules/duplicateArguments.js +0 -2
- package/lib/rules/dynamicDeletes.d.ts +0 -1
- package/lib/rules/dynamicDeletes.js +0 -2
- package/lib/rules/elseIfDuplicates.d.ts +0 -1
- package/lib/rules/elseIfDuplicates.js +0 -2
- package/lib/rules/elseReturns.d.ts +0 -1
- package/lib/rules/elseReturns.js +0 -2
- package/lib/rules/emptyBlocks.d.ts +0 -1
- package/lib/rules/emptyBlocks.js +1 -3
- package/lib/rules/emptyDestructures.d.ts +0 -1
- package/lib/rules/emptyDestructures.js +0 -2
- package/lib/rules/emptyEnums.d.ts +0 -1
- package/lib/rules/emptyEnums.js +0 -2
- package/lib/rules/emptyExports.d.ts +0 -1
- package/lib/rules/emptyExports.js +1 -3
- package/lib/rules/emptyFiles.d.ts +0 -1
- package/lib/rules/emptyFiles.js +0 -2
- package/lib/rules/emptyFunctions.d.ts +0 -1
- package/lib/rules/emptyFunctions.js +0 -2
- package/lib/rules/emptyModuleAttributes.d.ts +0 -1
- package/lib/rules/emptyModuleAttributes.js +0 -2
- package/lib/rules/emptyObjectTypes.d.ts +0 -1
- package/lib/rules/emptyObjectTypes.js +0 -2
- package/lib/rules/emptyStaticBlocks.d.ts +0 -1
- package/lib/rules/emptyStaticBlocks.js +0 -2
- package/lib/rules/emptyTypeParameterLists.d.ts +0 -1
- package/lib/rules/emptyTypeParameterLists.js +0 -2
- package/lib/rules/enumInitializers.d.ts +0 -1
- package/lib/rules/enumInitializers.js +0 -2
- package/lib/rules/enumMemberLiterals.d.ts +0 -1
- package/lib/rules/enumMemberLiterals.js +2 -4
- package/lib/rules/enumValueConsistency.d.ts +0 -1
- package/lib/rules/enumValueConsistency.js +0 -2
- package/lib/rules/enumValueDuplicates.d.ts +0 -1
- package/lib/rules/enumValueDuplicates.js +3 -20
- package/lib/rules/equalityOperatorNegations.d.ts +0 -1
- package/lib/rules/equalityOperatorNegations.js +3 -5
- package/lib/rules/equalityOperators.d.ts +0 -1
- package/lib/rules/equalityOperators.js +0 -2
- package/lib/rules/errorMessages.d.ts +0 -1
- package/lib/rules/errorMessages.js +6 -12
- package/lib/rules/errorSubclassProperties.d.ts +0 -1
- package/lib/rules/errorSubclassProperties.js +2 -4
- package/lib/rules/errorUnnecessaryCaptureStackTraces.d.ts +0 -1
- package/lib/rules/errorUnnecessaryCaptureStackTraces.js +2 -4
- package/lib/rules/escapeSequenceCasing.d.ts +0 -1
- package/lib/rules/escapeSequenceCasing.js +0 -2
- package/lib/rules/evals.d.ts +0 -1
- package/lib/rules/evals.js +2 -4
- package/lib/rules/evolvingVariableTypes.d.ts +0 -1
- package/lib/rules/evolvingVariableTypes.js +0 -2
- package/lib/rules/exceptionAssignments.d.ts +0 -1
- package/lib/rules/exceptionAssignments.js +4 -9
- package/lib/rules/explicitAnys.d.ts +0 -1
- package/lib/rules/explicitAnys.js +0 -2
- package/lib/rules/exponentiationOperators.d.ts +0 -1
- package/lib/rules/exponentiationOperators.js +2 -4
- package/lib/rules/exportFromImports.d.ts +0 -1
- package/lib/rules/exportFromImports.js +2 -4
- package/lib/rules/exportMutables.d.ts +0 -1
- package/lib/rules/exportMutables.js +0 -2
- package/lib/rules/exportUniqueNames.d.ts +0 -1
- package/lib/rules/exportUniqueNames.js +0 -2
- package/lib/rules/extraneousClasses.d.ts +0 -1
- package/lib/rules/extraneousClasses.js +5 -7
- package/lib/rules/fetchMethodBodies.d.ts +0 -1
- package/lib/rules/fetchMethodBodies.js +0 -2
- package/lib/rules/finallyStatementSafety.d.ts +0 -1
- package/lib/rules/finallyStatementSafety.js +0 -2
- package/lib/rules/forDirections.d.ts +0 -1
- package/lib/rules/forDirections.js +0 -2
- package/lib/rules/forInArrays.d.ts +0 -1
- package/lib/rules/forInArrays.js +0 -2
- package/lib/rules/forInGuards.d.ts +0 -1
- package/lib/rules/forInGuards.js +0 -2
- package/lib/rules/functionApplySpreads.d.ts +0 -1
- package/lib/rules/functionApplySpreads.js +0 -2
- package/lib/rules/functionAssignments.d.ts +0 -1
- package/lib/rules/functionAssignments.js +4 -9
- package/lib/rules/functionCurryingRedundancy.d.ts +0 -1
- package/lib/rules/functionCurryingRedundancy.js +0 -2
- package/lib/rules/functionDeclarationStyles.d.ts +0 -1
- package/lib/rules/functionDeclarationStyles.js +3 -5
- package/lib/rules/functionNameMatches.d.ts +0 -1
- package/lib/rules/functionNameMatches.js +0 -2
- package/lib/rules/functionNewCalls.d.ts +0 -1
- package/lib/rules/functionNewCalls.js +5 -7
- package/lib/rules/generatorFunctionYields.d.ts +0 -1
- package/lib/rules/generatorFunctionYields.js +0 -2
- package/lib/rules/getterReturns.d.ts +0 -1
- package/lib/rules/getterReturns.js +0 -2
- package/lib/rules/globalAssignments.d.ts +0 -1
- package/lib/rules/globalAssignments.js +6 -8
- package/lib/rules/globalObjectCalls.d.ts +0 -1
- package/lib/rules/globalObjectCalls.js +1 -3
- package/lib/rules/globalThisAliases.d.ts +0 -1
- package/lib/rules/globalThisAliases.js +8 -10
- package/lib/rules/impliedEvals.d.ts +0 -1
- package/lib/rules/impliedEvals.js +26 -28
- package/lib/rules/importEmptyBlocks.d.ts +0 -1
- package/lib/rules/importEmptyBlocks.js +0 -2
- package/lib/rules/importTypeSideEffects.d.ts +0 -1
- package/lib/rules/importTypeSideEffects.js +0 -2
- package/lib/rules/indexedObjectTypes.d.ts +0 -1
- package/lib/rules/indexedObjectTypes.js +4 -6
- package/lib/rules/instanceOfArrays.d.ts +0 -1
- package/lib/rules/instanceOfArrays.js +2 -4
- package/lib/rules/irregularWhitespaces.d.ts +0 -1
- package/lib/rules/irregularWhitespaces.js +5 -7
- package/lib/rules/isNaNComparisons.d.ts +0 -1
- package/lib/rules/isNaNComparisons.js +5 -7
- package/lib/rules/literalConstructorWrappers.d.ts +0 -1
- package/lib/rules/literalConstructorWrappers.js +10 -12
- package/lib/rules/mathMethods.d.ts +0 -1
- package/lib/rules/mathMethods.js +14 -16
- package/lib/rules/meaninglessVoidOperators.d.ts +0 -1
- package/lib/rules/meaninglessVoidOperators.js +0 -2
- package/lib/rules/misleadingVoidExpressions.d.ts +0 -1
- package/lib/rules/misleadingVoidExpressions.js +0 -2
- package/lib/rules/moduleSpecifierLists.d.ts +0 -1
- package/lib/rules/moduleSpecifierLists.js +0 -2
- package/lib/rules/multilineAmbiguities.d.ts +0 -1
- package/lib/rules/multilineAmbiguities.js +0 -2
- package/lib/rules/namedDefaultExports.d.ts +0 -1
- package/lib/rules/namedDefaultExports.js +0 -2
- package/lib/rules/namespaceDeclarations.d.ts +0 -1
- package/lib/rules/namespaceDeclarations.js +3 -5
- package/lib/rules/namespaceImplicitAmbientImports.d.ts +0 -1
- package/lib/rules/namespaceImplicitAmbientImports.js +0 -2
- package/lib/rules/namespaceKeywords.d.ts +0 -1
- package/lib/rules/namespaceKeywords.js +0 -2
- package/lib/rules/nativeObjectExtensions.d.ts +0 -1
- package/lib/rules/nativeObjectExtensions.js +4 -6
- package/lib/rules/negativeIndexLengthMethods.d.ts +0 -1
- package/lib/rules/negativeIndexLengthMethods.js +7 -9
- package/lib/rules/negativeZeroComparisons.d.ts +0 -1
- package/lib/rules/negativeZeroComparisons.js +0 -2
- package/lib/rules/nestedStandaloneIfs.d.ts +0 -1
- package/lib/rules/nestedStandaloneIfs.js +1 -3
- package/lib/rules/newDefinitions.d.ts +0 -1
- package/lib/rules/newDefinitions.js +0 -2
- package/lib/rules/newExpressions.d.ts +0 -1
- package/lib/rules/newExpressions.js +0 -2
- package/lib/rules/newNativeNonConstructors.d.ts +0 -1
- package/lib/rules/newNativeNonConstructors.js +2 -4
- package/lib/rules/nonNullAssertedNullishCoalesces.d.ts +0 -1
- package/lib/rules/nonNullAssertedNullishCoalesces.js +0 -2
- package/lib/rules/nonNullAssertedOptionalChains.d.ts +0 -1
- package/lib/rules/nonNullAssertedOptionalChains.js +0 -2
- package/lib/rules/nonNullAssertionPlacement.d.ts +0 -1
- package/lib/rules/nonNullAssertionPlacement.js +1 -3
- package/lib/rules/nonNullableTypeAssertions.d.ts +0 -1
- package/lib/rules/nonNullableTypeAssertions.js +0 -2
- package/lib/rules/nonOctalDecimalEscapes.d.ts +0 -1
- package/lib/rules/nonOctalDecimalEscapes.js +0 -2
- package/lib/rules/nullishCheckStyle.d.ts +0 -1
- package/lib/rules/nullishCheckStyle.js +3 -5
- package/lib/rules/nullishCoalescingOperators.d.ts +0 -1
- package/lib/rules/nullishCoalescingOperators.js +29 -19
- package/lib/rules/numberMethodRanges.d.ts +0 -1
- package/lib/rules/numberMethodRanges.js +1 -3
- package/lib/rules/numberStaticMethods.d.ts +0 -1
- package/lib/rules/numberStaticMethods.js +3 -5
- package/lib/rules/numericErasingOperations.d.ts +0 -1
- package/lib/rules/numericErasingOperations.js +2 -4
- package/lib/rules/numericLiteralParsing.d.ts +0 -1
- package/lib/rules/numericLiteralParsing.js +11 -22
- package/lib/rules/numericPrecision.d.ts +0 -1
- package/lib/rules/numericPrecision.js +0 -2
- package/lib/rules/numericSeparatorGroups.d.ts +0 -1
- package/lib/rules/numericSeparatorGroups.js +0 -2
- package/lib/rules/objectAssignSpreads.d.ts +0 -1
- package/lib/rules/objectAssignSpreads.js +4 -6
- package/lib/rules/objectCalls.d.ts +0 -1
- package/lib/rules/objectCalls.js +2 -4
- package/lib/rules/objectEntriesMethods.d.ts +0 -1
- package/lib/rules/objectEntriesMethods.js +13 -15
- package/lib/rules/objectHasOwns.d.ts +0 -1
- package/lib/rules/objectHasOwns.js +7 -9
- package/lib/rules/objectKeyDuplicates.d.ts +0 -1
- package/lib/rules/objectKeyDuplicates.js +0 -2
- package/lib/rules/objectProto.d.ts +0 -1
- package/lib/rules/objectProto.js +0 -2
- package/lib/rules/objectPrototypeBuiltIns.d.ts +0 -1
- package/lib/rules/objectPrototypeBuiltIns.js +1 -3
- package/lib/rules/objectShorthand.d.ts +0 -1
- package/lib/rules/objectShorthand.js +0 -2
- package/lib/rules/objectSpreadUnnecessaryFallbacks.d.ts +0 -1
- package/lib/rules/objectSpreadUnnecessaryFallbacks.js +0 -2
- package/lib/rules/objectTypeDefinitions.d.ts +0 -1
- package/lib/rules/objectTypeDefinitions.js +0 -2
- package/lib/rules/octalEscapes.d.ts +0 -1
- package/lib/rules/octalEscapes.js +0 -2
- package/lib/rules/octalNumbers.d.ts +0 -1
- package/lib/rules/octalNumbers.js +0 -2
- package/lib/rules/operatorAssignmentShorthand.d.ts +0 -1
- package/lib/rules/operatorAssignmentShorthand.js +3 -5
- package/lib/rules/overloadSignaturesAdjacent.d.ts +0 -1
- package/lib/rules/overloadSignaturesAdjacent.js +0 -2
- package/lib/rules/parameterReassignments.d.ts +0 -1
- package/lib/rules/parameterReassignments.js +18 -51
- package/lib/rules/parseIntRadixes.d.ts +0 -1
- package/lib/rules/parseIntRadixes.js +10 -15
- package/lib/rules/propertyAccessNotation.d.ts +0 -1
- package/lib/rules/propertyAccessNotation.js +3 -5
- package/lib/rules/recursionOnlyArguments.d.ts +0 -1
- package/lib/rules/recursionOnlyArguments.js +8 -17
- package/lib/rules/redundantTypeConstituents.d.ts +0 -1
- package/lib/rules/redundantTypeConstituents.js +0 -2
- package/lib/rules/regexAllGlobalFlags.d.ts +0 -1
- package/lib/rules/regexAllGlobalFlags.js +0 -2
- package/lib/rules/regexAmbiguousInvalidity.d.ts +0 -1
- package/lib/rules/regexAmbiguousInvalidity.js +2 -4
- package/lib/rules/regexCharacterClassRanges.d.ts +0 -1
- package/lib/rules/regexCharacterClassRanges.js +0 -2
- package/lib/rules/regexCharacterClassSetOperations.d.ts +0 -1
- package/lib/rules/regexCharacterClassSetOperations.js +0 -2
- package/lib/rules/regexCharacterClasses.d.ts +0 -1
- package/lib/rules/regexCharacterClasses.js +1 -3
- package/lib/rules/regexConciseCharacterClassNegations.d.ts +0 -1
- package/lib/rules/regexConciseCharacterClassNegations.js +0 -2
- package/lib/rules/regexContradictoryAssertions.d.ts +0 -1
- package/lib/rules/regexContradictoryAssertions.js +0 -2
- package/lib/rules/regexControlCharacterEscapes.d.ts +0 -1
- package/lib/rules/regexControlCharacterEscapes.js +0 -2
- package/lib/rules/regexControlCharacters.d.ts +0 -1
- package/lib/rules/regexControlCharacters.js +0 -2
- package/lib/rules/regexDigitMatchers.d.ts +0 -1
- package/lib/rules/regexDigitMatchers.js +0 -2
- package/lib/rules/regexDollarEscapes.d.ts +0 -1
- package/lib/rules/regexDollarEscapes.js +0 -2
- package/lib/rules/regexDuplicateCharacterClassCharacters.d.ts +0 -1
- package/lib/rules/regexDuplicateCharacterClassCharacters.js +0 -2
- package/lib/rules/regexEmptyAlternatives.d.ts +0 -1
- package/lib/rules/regexEmptyAlternatives.js +0 -2
- package/lib/rules/regexEmptyCapturingGroups.d.ts +0 -1
- package/lib/rules/regexEmptyCapturingGroups.js +0 -2
- package/lib/rules/regexEmptyCharacterClasses.d.ts +0 -1
- package/lib/rules/regexEmptyCharacterClasses.js +0 -2
- package/lib/rules/regexEmptyGroups.d.ts +0 -1
- package/lib/rules/regexEmptyGroups.js +0 -2
- package/lib/rules/regexEmptyLazyQuantifiers.d.ts +0 -1
- package/lib/rules/regexEmptyLazyQuantifiers.js +0 -2
- package/lib/rules/regexEmptyLookaroundsAssertions.d.ts +0 -1
- package/lib/rules/regexEmptyLookaroundsAssertions.js +0 -2
- package/lib/rules/regexEmptyStringLiterals.d.ts +0 -1
- package/lib/rules/regexEmptyStringLiterals.js +0 -2
- package/lib/rules/regexEscapeBackspaces.d.ts +0 -1
- package/lib/rules/regexEscapeBackspaces.js +0 -2
- package/lib/rules/regexExecutors.d.ts +0 -1
- package/lib/rules/regexExecutors.js +2 -4
- package/lib/rules/regexGraphemeStringLiterals.d.ts +0 -1
- package/lib/rules/regexGraphemeStringLiterals.js +0 -2
- package/lib/rules/regexHexadecimalEscapes.d.ts +0 -1
- package/lib/rules/regexHexadecimalEscapes.js +0 -2
- package/lib/rules/regexIgnoreCaseFlags.d.ts +0 -1
- package/lib/rules/regexIgnoreCaseFlags.js +0 -2
- package/lib/rules/regexInvisibleCharacters.d.ts +0 -1
- package/lib/rules/regexInvisibleCharacters.js +0 -2
- package/lib/rules/regexLetterCasing.d.ts +0 -1
- package/lib/rules/regexLetterCasing.js +0 -2
- package/lib/rules/regexLiterals.d.ts +0 -1
- package/lib/rules/regexLiterals.js +4 -9
- package/lib/rules/regexLookaroundAssertions.d.ts +0 -1
- package/lib/rules/regexLookaroundAssertions.js +0 -2
- package/lib/rules/regexLookaroundQuantifierOptimizations.d.ts +0 -1
- package/lib/rules/regexLookaroundQuantifierOptimizations.js +0 -2
- package/lib/rules/regexMatchNotation.d.ts +0 -1
- package/lib/rules/regexMatchNotation.js +0 -2
- package/lib/rules/regexMisleadingCapturingGroups.d.ts +0 -1
- package/lib/rules/regexMisleadingCapturingGroups.js +0 -2
- package/lib/rules/regexMisleadingQuantifiers.d.ts +0 -1
- package/lib/rules/regexMisleadingQuantifiers.js +0 -2
- package/lib/rules/regexMisleadingUnicodeCharacters.d.ts +0 -1
- package/lib/rules/regexMisleadingUnicodeCharacters.js +0 -2
- package/lib/rules/regexNamedBackreferences.d.ts +0 -1
- package/lib/rules/regexNamedBackreferences.js +0 -2
- package/lib/rules/regexNamedCaptureGroups.d.ts +0 -1
- package/lib/rules/regexNamedCaptureGroups.js +0 -2
- package/lib/rules/regexNamedReplacements.d.ts +0 -1
- package/lib/rules/regexNamedReplacements.js +0 -2
- package/lib/rules/regexNonStandardFlags.d.ts +0 -1
- package/lib/rules/regexNonStandardFlags.js +1 -3
- package/lib/rules/regexObscureRanges.d.ts +0 -1
- package/lib/rules/regexObscureRanges.js +0 -2
- package/lib/rules/regexOctalEscapes.d.ts +0 -1
- package/lib/rules/regexOctalEscapes.js +0 -2
- package/lib/rules/regexPlusQuantifiers.d.ts +0 -1
- package/lib/rules/regexPlusQuantifiers.js +0 -2
- package/lib/rules/regexPredefinedAssertions.d.ts +0 -1
- package/lib/rules/regexPredefinedAssertions.js +0 -2
- package/lib/rules/regexQuestionQuantifiers.d.ts +0 -1
- package/lib/rules/regexQuestionQuantifiers.js +0 -2
- package/lib/rules/regexRepeatQuantifiers.d.ts +0 -1
- package/lib/rules/regexRepeatQuantifiers.js +0 -2
- package/lib/rules/regexResultArrayGroups.d.ts +0 -1
- package/lib/rules/regexResultArrayGroups.js +0 -2
- package/lib/rules/regexSetOperationOptimizations.d.ts +0 -1
- package/lib/rules/regexSetOperationOptimizations.js +0 -2
- package/lib/rules/regexStandaloneBackslashes.d.ts +0 -1
- package/lib/rules/regexStandaloneBackslashes.js +0 -2
- package/lib/rules/regexStarQuantifiers.d.ts +0 -1
- package/lib/rules/regexStarQuantifiers.js +0 -2
- package/lib/rules/regexSuperLinearBacktracking.d.ts +0 -1
- package/lib/rules/regexSuperLinearBacktracking.js +0 -2
- package/lib/rules/regexSuperLinearMoves.d.ts +0 -1
- package/lib/rules/regexSuperLinearMoves.js +0 -2
- package/lib/rules/regexTestMethods.d.ts +0 -1
- package/lib/rules/regexTestMethods.js +0 -2
- package/lib/rules/regexUnicodeCodepointEscapes.d.ts +0 -1
- package/lib/rules/regexUnicodeCodepointEscapes.js +0 -2
- package/lib/rules/regexUnicodeEscapes.d.ts +0 -1
- package/lib/rules/regexUnicodeEscapes.js +0 -2
- package/lib/rules/regexUnicodeFlag.d.ts +0 -1
- package/lib/rules/regexUnicodeFlag.js +0 -2
- package/lib/rules/regexUnicodeProperties.d.ts +0 -1
- package/lib/rules/regexUnicodeProperties.js +0 -2
- package/lib/rules/regexUnnecessaryAssertions.d.ts +0 -1
- package/lib/rules/regexUnnecessaryAssertions.js +0 -2
- package/lib/rules/regexUnnecessaryBackreferences.d.ts +0 -1
- package/lib/rules/regexUnnecessaryBackreferences.js +0 -2
- package/lib/rules/regexUnnecessaryCharacterClasses.d.ts +0 -1
- package/lib/rules/regexUnnecessaryCharacterClasses.js +0 -2
- package/lib/rules/regexUnnecessaryCharacterRanges.d.ts +0 -1
- package/lib/rules/regexUnnecessaryCharacterRanges.js +0 -2
- package/lib/rules/regexUnnecessaryDisjunctions.d.ts +0 -1
- package/lib/rules/regexUnnecessaryDisjunctions.js +0 -2
- package/lib/rules/regexUnnecessaryDollarReplacements.d.ts +0 -1
- package/lib/rules/regexUnnecessaryDollarReplacements.js +0 -2
- package/lib/rules/regexUnnecessaryEscapes.d.ts +0 -1
- package/lib/rules/regexUnnecessaryEscapes.js +2 -4
- package/lib/rules/regexUnnecessaryLookaroundAssertions.d.ts +0 -1
- package/lib/rules/regexUnnecessaryLookaroundAssertions.js +0 -2
- package/lib/rules/regexUnnecessaryNestedAssertions.d.ts +0 -1
- package/lib/rules/regexUnnecessaryNestedAssertions.js +0 -2
- package/lib/rules/regexUnnecessaryNestedQuantifiers.d.ts +0 -1
- package/lib/rules/regexUnnecessaryNestedQuantifiers.js +0 -2
- package/lib/rules/regexUnnecessaryNonCapturingGroups.d.ts +0 -1
- package/lib/rules/regexUnnecessaryNonCapturingGroups.js +0 -2
- package/lib/rules/regexUnnecessaryNumericQuantifiers.d.ts +0 -1
- package/lib/rules/regexUnnecessaryNumericQuantifiers.js +0 -2
- package/lib/rules/regexUnnecessaryOptionalAssertions.d.ts +0 -1
- package/lib/rules/regexUnnecessaryOptionalAssertions.js +0 -2
- package/lib/rules/regexUnnecessaryReferentialBackreferences.d.ts +0 -1
- package/lib/rules/regexUnnecessaryReferentialBackreferences.js +0 -2
- package/lib/rules/regexUnnecessarySetOperands.d.ts +0 -1
- package/lib/rules/regexUnnecessarySetOperands.js +0 -2
- package/lib/rules/regexUnusedCapturingGroups.d.ts +0 -1
- package/lib/rules/regexUnusedCapturingGroups.js +0 -2
- package/lib/rules/regexUnusedFlags.d.ts +0 -1
- package/lib/rules/regexUnusedFlags.js +0 -2
- package/lib/rules/regexUnusedLazyQuantifiers.d.ts +0 -1
- package/lib/rules/regexUnusedLazyQuantifiers.js +0 -2
- package/lib/rules/regexUnusedQuantifiers.d.ts +0 -1
- package/lib/rules/regexUnusedQuantifiers.js +0 -2
- package/lib/rules/regexValidity.d.ts +0 -1
- package/lib/rules/regexValidity.js +1 -3
- package/lib/rules/regexWordMatchers.d.ts +0 -1
- package/lib/rules/regexWordMatchers.js +0 -2
- package/lib/rules/regexZeroQuantifiers.d.ts +0 -1
- package/lib/rules/regexZeroQuantifiers.js +0 -2
- package/lib/rules/requireImports.d.ts +0 -1
- package/lib/rules/requireImports.js +0 -2
- package/lib/rules/responseJsonMethods.d.ts +0 -1
- package/lib/rules/responseJsonMethods.js +0 -2
- package/lib/rules/restrictedIdentifiers.d.ts +0 -1
- package/lib/rules/restrictedIdentifiers.js +2 -4
- package/lib/rules/restrictedImports.d.ts +26 -0
- package/lib/rules/restrictedImports.js +164 -0
- package/lib/rules/returnAssignments.d.ts +0 -1
- package/lib/rules/returnAssignments.js +0 -2
- package/lib/rules/returnThisTypes.d.ts +0 -1
- package/lib/rules/returnThisTypes.js +0 -2
- package/lib/rules/ruleCreator.d.ts +0 -1
- package/lib/rules/ruleCreator.js +0 -2
- package/lib/rules/selfAssignments.d.ts +0 -1
- package/lib/rules/selfAssignments.js +0 -2
- package/lib/rules/sequences.d.ts +0 -1
- package/lib/rules/sequences.js +0 -2
- package/lib/rules/setSizeLengthChecks.d.ts +0 -1
- package/lib/rules/setSizeLengthChecks.js +13 -15
- package/lib/rules/setterReturns.d.ts +0 -1
- package/lib/rules/setterReturns.js +0 -2
- package/lib/rules/shadowedRestrictedNames.d.ts +0 -1
- package/lib/rules/shadowedRestrictedNames.js +1 -3
- package/lib/rules/singleVariableDeclarations.d.ts +0 -1
- package/lib/rules/singleVariableDeclarations.js +0 -2
- package/lib/rules/sizeComparisonOperators.d.ts +0 -1
- package/lib/rules/sizeComparisonOperators.js +5 -7
- package/lib/rules/sparseArrays.d.ts +0 -1
- package/lib/rules/sparseArrays.js +0 -2
- package/lib/rules/staticMemberOnlyClasses.d.ts +0 -1
- package/lib/rules/staticMemberOnlyClasses.js +0 -2
- package/lib/rules/stringCaseMismatches.d.ts +0 -1
- package/lib/rules/stringCaseMismatches.js +3 -8
- package/lib/rules/stringCodePoints.d.ts +0 -1
- package/lib/rules/stringCodePoints.js +2 -4
- package/lib/rules/stringSliceMethods.d.ts +0 -1
- package/lib/rules/stringSliceMethods.js +0 -2
- package/lib/rules/stringStartsEndsWith.d.ts +0 -1
- package/lib/rules/stringStartsEndsWith.js +0 -2
- package/lib/rules/structuredCloneMethods.d.ts +0 -1
- package/lib/rules/structuredCloneMethods.js +7 -9
- package/lib/rules/symbolDescriptions.d.ts +0 -1
- package/lib/rules/symbolDescriptions.js +0 -2
- package/lib/rules/thisAliases.d.ts +0 -1
- package/lib/rules/thisAliases.js +0 -2
- package/lib/rules/thisBeforeSuper.d.ts +0 -1
- package/lib/rules/thisBeforeSuper.js +0 -2
- package/lib/rules/throwErrors.d.ts +0 -1
- package/lib/rules/throwErrors.js +11 -13
- package/lib/rules/topLevelAwaits.d.ts +0 -1
- package/lib/rules/topLevelAwaits.js +0 -2
- package/lib/rules/tripleSlashReferenceValidity.d.ts +0 -1
- package/lib/rules/tripleSlashReferenceValidity.js +1 -3
- package/lib/rules/tripleSlashReferences.d.ts +0 -1
- package/lib/rules/tripleSlashReferences.js +0 -2
- package/lib/rules/tsComments.d.ts +0 -1
- package/lib/rules/tsComments.js +8 -10
- package/lib/rules/tslintComments.d.ts +0 -1
- package/lib/rules/tslintComments.js +0 -2
- package/lib/rules/typeAssertionStyles.d.ts +0 -1
- package/lib/rules/typeAssertionStyles.js +0 -2
- package/lib/rules/typeImports.d.ts +0 -1
- package/lib/rules/typeImports.js +4 -7
- package/lib/rules/typeofComparisons.d.ts +0 -1
- package/lib/rules/typeofComparisons.js +4 -9
- package/lib/rules/unassignedVariables.d.ts +0 -1
- package/lib/rules/unassignedVariables.js +2 -7
- package/lib/rules/undefinedTypeofChecks.d.ts +0 -1
- package/lib/rules/undefinedTypeofChecks.js +0 -2
- package/lib/rules/undefinedVariables.d.ts +0 -1
- package/lib/rules/undefinedVariables.js +0 -2
- package/lib/rules/unicodeBOMs.d.ts +0 -1
- package/lib/rules/unicodeBOMs.js +0 -2
- package/lib/rules/unnecessaryBinds.d.ts +0 -1
- package/lib/rules/unnecessaryBinds.js +0 -2
- package/lib/rules/unnecessaryBlocks.d.ts +0 -1
- package/lib/rules/unnecessaryBlocks.js +0 -2
- package/lib/rules/unnecessaryBooleanCasts.d.ts +0 -1
- package/lib/rules/unnecessaryBooleanCasts.js +0 -2
- package/lib/rules/unnecessaryCatches.d.ts +0 -1
- package/lib/rules/unnecessaryCatches.js +0 -2
- package/lib/rules/unnecessaryComparisons.d.ts +0 -1
- package/lib/rules/unnecessaryComparisons.js +3 -12
- package/lib/rules/unnecessaryConcatenation.d.ts +0 -1
- package/lib/rules/unnecessaryConcatenation.js +0 -2
- package/lib/rules/unnecessaryEscapes.d.ts +0 -1
- package/lib/rules/unnecessaryEscapes.js +1 -3
- package/lib/rules/unnecessaryMathClamps.d.ts +0 -1
- package/lib/rules/unnecessaryMathClamps.js +13 -21
- package/lib/rules/unnecessaryNumericFractions.d.ts +0 -1
- package/lib/rules/unnecessaryNumericFractions.js +0 -2
- package/lib/rules/unnecessaryRenames.d.ts +0 -1
- package/lib/rules/unnecessaryRenames.js +0 -2
- package/lib/rules/unnecessaryTernaries.d.ts +0 -1
- package/lib/rules/unnecessaryTernaries.js +0 -2
- package/lib/rules/unnecessaryUseStricts.d.ts +0 -1
- package/lib/rules/unnecessaryUseStricts.js +0 -2
- package/lib/rules/unsafeNegations.d.ts +0 -1
- package/lib/rules/unsafeNegations.js +1 -3
- package/lib/rules/utils/collectAccessorPairs.d.ts +1 -2
- package/lib/rules/utils/collectAccessorPairs.js +0 -2
- package/lib/rules/utils/countCommentsInRange.d.ts +0 -1
- package/lib/rules/utils/countCommentsInRange.js +0 -2
- package/lib/rules/utils/discriminateAnyType.d.ts +1 -2
- package/lib/rules/utils/discriminateAnyType.js +0 -2
- package/lib/rules/utils/equalityOperators.d.ts +1 -2
- package/lib/rules/utils/equalityOperators.js +0 -2
- package/lib/rules/utils/forEachReturnStatement.d.ts +0 -1
- package/lib/rules/utils/forEachReturnStatement.js +0 -2
- package/lib/rules/utils/formatReportedType.d.ts +1 -2
- package/lib/rules/utils/formatReportedType.js +0 -2
- package/lib/rules/utils/getConstrainedType.d.ts +0 -1
- package/lib/rules/utils/getConstrainedType.js +0 -2
- package/lib/rules/utils/getFunctionName.d.ts +0 -1
- package/lib/rules/utils/getFunctionName.js +0 -2
- package/lib/rules/utils/getRegExpConstruction.d.ts +2 -4
- package/lib/rules/utils/getRegExpConstruction.js +7 -8
- package/lib/rules/utils/getRegExpLiteralDetails.d.ts +0 -1
- package/lib/rules/utils/getRegExpLiteralDetails.js +0 -2
- package/lib/rules/utils/getThisExpression.d.ts +0 -1
- package/lib/rules/utils/getThisExpression.js +0 -2
- package/lib/rules/utils/isArrayOrTupleTypeAtLocation.d.ts +0 -1
- package/lib/rules/utils/isArrayOrTupleTypeAtLocation.js +0 -2
- package/lib/rules/utils/isBuiltinSymbolLike.d.ts +0 -1
- package/lib/rules/utils/isBuiltinSymbolLike.js +1 -3
- package/lib/rules/utils/isDirectEqualityCheck.d.ts +1 -2
- package/lib/rules/utils/isDirectEqualityCheck.js +0 -2
- package/lib/rules/utils/isErrorSubclass.d.ts +2 -2
- package/lib/rules/utils/isErrorSubclass.js +5 -7
- package/lib/rules/utils/isInBooleanContext.d.ts +0 -1
- package/lib/rules/utils/isInBooleanContext.js +0 -2
- package/lib/rules/utils/isTypeRecursive.d.ts +0 -1
- package/lib/rules/utils/isTypeRecursive.js +0 -2
- package/lib/rules/utils/isUnsafeAssignment.d.ts +1 -2
- package/lib/rules/utils/isUnsafeAssignment.js +1 -3
- package/lib/rules/utils/operators.d.ts +0 -1
- package/lib/rules/utils/operators.js +0 -2
- package/lib/rules/utils/parseRegexpAst.d.ts +0 -1
- package/lib/rules/utils/parseRegexpAst.js +0 -2
- package/lib/rules/utils/parseRegexpAstFull.d.ts +0 -1
- package/lib/rules/utils/parseRegexpAstFull.js +0 -2
- package/lib/rules/utils/skipParentheses.d.ts +0 -1
- package/lib/rules/utils/skipParentheses.js +0 -2
- package/lib/rules/variableDeletions.d.ts +0 -1
- package/lib/rules/variableDeletions.js +0 -2
- package/lib/rules/voidOperator.d.ts +0 -1
- package/lib/rules/voidOperator.js +0 -2
- package/lib/rules/withStatements.d.ts +0 -1
- package/lib/rules/withStatements.js +0 -2
- package/lib/rules/wrapperObjects.d.ts +0 -1
- package/lib/rules/wrapperObjects.js +3 -5
- package/lib/type-utils/getSpecifierNames.d.ts +2 -0
- package/lib/type-utils/getSpecifierNames.js +7 -0
- package/lib/type-utils/isDeclaredInModuleBlock.d.ts +2 -0
- package/lib/type-utils/isDeclaredInModuleBlock.js +12 -0
- package/lib/type-utils/isFromFile.d.ts +2 -0
- package/lib/type-utils/isFromFile.js +11 -0
- package/lib/type-utils/isFromPackage.d.ts +2 -0
- package/lib/type-utils/isFromPackage.js +13 -0
- package/lib/type-utils/matchesSpecifier.d.ts +3 -0
- package/lib/type-utils/matchesSpecifier.js +18 -0
- package/lib/type-utils/schemas.d.ts +14 -0
- package/lib/type-utils/schemas.js +23 -0
- package/package.json +9 -10
- package/lib/rules/utils/forEachChild.d.ts +0 -4
- package/lib/rules/utils/forEachChild.js +0 -7
package/lib/plugin.d.ts
CHANGED
|
@@ -1,226 +1,222 @@
|
|
|
1
|
-
import * as _flint_fyi_core0 from "@flint.fyi/core";
|
|
2
|
-
import * as zod_v40 from "zod/v4";
|
|
3
|
-
import * as zod_v4_core0 from "zod/v4/core";
|
|
4
|
-
|
|
5
1
|
//#region src/plugin.d.ts
|
|
6
|
-
declare const ts:
|
|
2
|
+
declare const ts: import("@flint.fyi/core").Plugin<import("@flint.fyi/core").RuleAbout<string>, "javascript" | "all" | "typescript", [import("@flint.fyi/core").Rule<{
|
|
7
3
|
readonly description: "Reports getter and setter accessors for the same property that are not adjacent.";
|
|
8
4
|
readonly id: "accessorPairGroups";
|
|
9
5
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
10
6
|
} & {
|
|
11
7
|
readonly pluginId: string;
|
|
12
8
|
readonly url: string;
|
|
13
|
-
}, "notGrouped", undefined>,
|
|
9
|
+
}, "notGrouped", undefined>, import("@flint.fyi/core").Rule<{
|
|
14
10
|
readonly description: "Reports mismatched types between getter and setter accessor pairs.";
|
|
15
11
|
readonly id: "accessorPairTypes";
|
|
16
12
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
17
13
|
} & {
|
|
18
14
|
readonly pluginId: string;
|
|
19
15
|
readonly url: string;
|
|
20
|
-
}, "mismatchedTypes", undefined>,
|
|
16
|
+
}, "mismatchedTypes", undefined>, import("@flint.fyi/core").Rule<{
|
|
21
17
|
readonly description: "Reports recursive access to this within getters and setters.";
|
|
22
18
|
readonly id: "accessorThisRecursion";
|
|
23
19
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
24
20
|
} & {
|
|
25
21
|
readonly pluginId: string;
|
|
26
22
|
readonly url: string;
|
|
27
|
-
}, "noGetterRecursion" | "noSetterRecursion", undefined>,
|
|
23
|
+
}, "noGetterRecursion" | "noSetterRecursion", undefined>, import("@flint.fyi/core").Rule<{
|
|
28
24
|
readonly description: "Reports calling a function with a value typed as `any` as an argument.";
|
|
29
25
|
readonly id: "anyArguments";
|
|
30
26
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
31
27
|
} & {
|
|
32
28
|
readonly pluginId: string;
|
|
33
29
|
readonly url: string;
|
|
34
|
-
}, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", undefined>,
|
|
30
|
+
}, "unsafeArgument" | "unsafeSpread" | "unsafeTupleSpread", undefined>, import("@flint.fyi/core").Rule<{
|
|
35
31
|
readonly description: "Reports assigning a value with type `any` to variables and properties.";
|
|
36
32
|
readonly id: "anyAssignments";
|
|
37
33
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
38
34
|
} & {
|
|
39
35
|
readonly pluginId: string;
|
|
40
36
|
readonly url: string;
|
|
41
|
-
}, "unsafeArrayDestructure" | "unsafeArrayPatternFromTuple" | "unsafeArraySpread" | "unsafeAssignment" | "unsafeAssignmentToVariable" | "unsafeObjectPattern", undefined>,
|
|
37
|
+
}, "unsafeArrayDestructure" | "unsafeArrayPatternFromTuple" | "unsafeArraySpread" | "unsafeAssignment" | "unsafeAssignmentToVariable" | "unsafeObjectPattern", undefined>, import("@flint.fyi/core").Rule<{
|
|
42
38
|
readonly description: "Reports calling a value with type `any`.";
|
|
43
39
|
readonly id: "anyCalls";
|
|
44
40
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
45
41
|
} & {
|
|
46
42
|
readonly pluginId: string;
|
|
47
43
|
readonly url: string;
|
|
48
|
-
}, "unsafeCall" | "unsafeNew" | "unsafeTemplateTag", undefined>,
|
|
44
|
+
}, "unsafeCall" | "unsafeNew" | "unsafeTemplateTag", undefined>, import("@flint.fyi/core").Rule<{
|
|
49
45
|
readonly description: "Reports member access on a value with type `any`.";
|
|
50
46
|
readonly id: "anyMemberAccess";
|
|
51
47
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
52
48
|
} & {
|
|
53
49
|
readonly pluginId: string;
|
|
54
50
|
readonly url: string;
|
|
55
|
-
}, "unsafeComputedMemberAccess" | "unsafeMemberAccess", undefined>,
|
|
51
|
+
}, "unsafeComputedMemberAccess" | "unsafeMemberAccess", undefined>, import("@flint.fyi/core").Rule<{
|
|
56
52
|
readonly description: "Reports returning a value with type `any` from a function.";
|
|
57
53
|
readonly id: "anyReturns";
|
|
58
54
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
59
55
|
} & {
|
|
60
56
|
readonly pluginId: string;
|
|
61
57
|
readonly url: string;
|
|
62
|
-
}, "unsafeReturn" | "unsafeReturnAssignment" | "unsafeReturnThis", undefined>,
|
|
58
|
+
}, "unsafeReturn" | "unsafeReturnAssignment" | "unsafeReturnThis", undefined>, import("@flint.fyi/core").Rule<{
|
|
63
59
|
readonly description: "Reports using the arguments object instead of rest parameters.";
|
|
64
60
|
readonly id: "arguments";
|
|
65
61
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
66
62
|
} & {
|
|
67
63
|
readonly pluginId: string;
|
|
68
64
|
readonly url: string;
|
|
69
|
-
}, "preferRestParameters", undefined>,
|
|
65
|
+
}, "preferRestParameters", undefined>, import("@flint.fyi/core").Rule<{
|
|
70
66
|
readonly description: "Reports missing return statements in callbacks of array methods.";
|
|
71
67
|
readonly id: "arrayCallbackReturns";
|
|
72
68
|
readonly presets: readonly ["javascript"];
|
|
73
69
|
} & {
|
|
74
70
|
readonly pluginId: string;
|
|
75
71
|
readonly url: string;
|
|
76
|
-
}, "missingReturn", undefined>,
|
|
72
|
+
}, "missingReturn", undefined>, import("@flint.fyi/core").Rule<{
|
|
77
73
|
readonly description: "Reports using the `Array` constructor to create arrays instead of array literal syntax.";
|
|
78
74
|
readonly id: "arrayConstructors";
|
|
79
75
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
80
76
|
} & {
|
|
81
77
|
readonly pluginId: string;
|
|
82
78
|
readonly url: string;
|
|
83
|
-
}, "preferLiteral", undefined>,
|
|
79
|
+
}, "preferLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
84
80
|
readonly description: "Reports using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#splice()` or `Array#toSpliced()`.";
|
|
85
81
|
readonly id: "arrayDeleteUnnecessaryCounts";
|
|
86
82
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
87
83
|
} & {
|
|
88
84
|
readonly pluginId: string;
|
|
89
85
|
readonly url: string;
|
|
90
|
-
}, "unnecessaryCount", undefined>,
|
|
86
|
+
}, "unnecessaryCount", undefined>, import("@flint.fyi/core").Rule<{
|
|
91
87
|
readonly description: "Reports using the `delete` operator on array values.";
|
|
92
88
|
readonly id: "arrayElementDeletions";
|
|
93
89
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
94
90
|
} & {
|
|
95
91
|
readonly pluginId: string;
|
|
96
92
|
readonly url: string;
|
|
97
|
-
}, "noArrayDelete", undefined>,
|
|
93
|
+
}, "noArrayDelete", undefined>, import("@flint.fyi/core").Rule<{
|
|
98
94
|
readonly description: "Reports array methods with callbacks that will never be invoked on arrays with empty slots.";
|
|
99
95
|
readonly id: "arrayEmptyCallbackSlots";
|
|
100
96
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
101
97
|
} & {
|
|
102
98
|
readonly pluginId: string;
|
|
103
99
|
readonly url: string;
|
|
104
|
-
}, "neverInvoked", undefined>,
|
|
100
|
+
}, "neverInvoked", undefined>, import("@flint.fyi/core").Rule<{
|
|
105
101
|
readonly description: "Reports inconsistent styles for checking element existence using index methods.";
|
|
106
102
|
readonly id: "arrayExistenceChecksConsistency";
|
|
107
103
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
108
104
|
} & {
|
|
109
105
|
readonly pluginId: string;
|
|
110
106
|
readonly url: string;
|
|
111
|
-
}, "preferEqualsMinusOne" | "preferNotEqualsMinusOne", undefined>,
|
|
107
|
+
}, "preferEqualsMinusOne" | "preferNotEqualsMinusOne", undefined>, import("@flint.fyi/core").Rule<{
|
|
112
108
|
readonly description: "Reports using `.filter()` when only the first or last matching element is needed.";
|
|
113
109
|
readonly id: "arrayFilteredFinds";
|
|
114
110
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
115
111
|
} & {
|
|
116
112
|
readonly pluginId: string;
|
|
117
113
|
readonly url: string;
|
|
118
|
-
}, "preferFind" | "preferFindLast", undefined>,
|
|
114
|
+
}, "preferFind" | "preferFindLast", undefined>, import("@flint.fyi/core").Rule<{
|
|
119
115
|
readonly description: "Reports using `.filter()[0]` instead of `.find()` when looking for a single element.";
|
|
120
116
|
readonly id: "arrayFinds";
|
|
121
117
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
122
118
|
} & {
|
|
123
119
|
readonly pluginId: string;
|
|
124
120
|
readonly url: string;
|
|
125
|
-
}, "preferFind", undefined>,
|
|
121
|
+
}, "preferFind", undefined>, import("@flint.fyi/core").Rule<{
|
|
126
122
|
readonly description: "Reports using `.map().flat()` when `.flatMap()` can be used.";
|
|
127
123
|
readonly id: "arrayFlatMapMethods";
|
|
128
124
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
129
125
|
} & {
|
|
130
126
|
readonly pluginId: string;
|
|
131
127
|
readonly url: string;
|
|
132
|
-
}, "preferFlatMap", undefined>,
|
|
128
|
+
}, "preferFlatMap", undefined>, import("@flint.fyi/core").Rule<{
|
|
133
129
|
readonly description: "Reports legacy techniques to flatten arrays instead of using `.flat()`.";
|
|
134
130
|
readonly id: "arrayFlatMethods";
|
|
135
131
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
136
132
|
} & {
|
|
137
133
|
readonly pluginId: string;
|
|
138
134
|
readonly url: string;
|
|
139
|
-
}, "preferFlat", undefined>,
|
|
135
|
+
}, "preferFlat", undefined>, import("@flint.fyi/core").Rule<{
|
|
140
136
|
readonly description: "Reports using `1` as the depth argument of `.flat()` since it is the default.";
|
|
141
137
|
readonly id: "arrayFlatUnnecessaryDepths";
|
|
142
138
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
143
139
|
} & {
|
|
144
140
|
readonly pluginId: string;
|
|
145
141
|
readonly url: string;
|
|
146
|
-
}, "unnecessaryDepth", undefined>,
|
|
142
|
+
}, "unnecessaryDepth", undefined>, import("@flint.fyi/core").Rule<{
|
|
147
143
|
readonly description: "Reports using `.indexOf()` comparisons that can be replaced with `.includes()`.";
|
|
148
144
|
readonly id: "arrayIncludes";
|
|
149
145
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
150
146
|
} & {
|
|
151
147
|
readonly pluginId: string;
|
|
152
148
|
readonly url: string;
|
|
153
|
-
}, "preferIncludes", undefined>,
|
|
149
|
+
}, "preferIncludes", undefined>, import("@flint.fyi/core").Rule<{
|
|
154
150
|
readonly description: "Reports using `Array#some()` with simple equality checks that can be replaced with `.includes()`.";
|
|
155
151
|
readonly id: "arrayIncludesMethods";
|
|
156
152
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
157
153
|
} & {
|
|
158
154
|
readonly pluginId: string;
|
|
159
155
|
readonly url: string;
|
|
160
|
-
}, "preferIncludes", undefined>,
|
|
156
|
+
}, "preferIncludes", undefined>, import("@flint.fyi/core").Rule<{
|
|
161
157
|
readonly description: "Reports using `.findIndex()` or `.findLastIndex()` with simple equality checks that can be replaced with `.indexOf()` or `.lastIndexOf()`.";
|
|
162
158
|
readonly id: "arrayIndexOfMethods";
|
|
163
159
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
164
160
|
} & {
|
|
165
161
|
readonly pluginId: string;
|
|
166
162
|
readonly url: string;
|
|
167
|
-
}, "preferIndexOf" | "preferLastIndexOf", undefined>,
|
|
163
|
+
}, "preferIndexOf" | "preferLastIndexOf", undefined>, import("@flint.fyi/core").Rule<{
|
|
168
164
|
readonly description: "Reports using `.forEach()` when a for-of loop can be used.";
|
|
169
165
|
readonly id: "arrayLoops";
|
|
170
166
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
171
167
|
} & {
|
|
172
168
|
readonly pluginId: string;
|
|
173
169
|
readonly url: string;
|
|
174
|
-
}, "preferForOf", undefined>,
|
|
170
|
+
}, "preferForOf", undefined>, import("@flint.fyi/core").Rule<{
|
|
175
171
|
readonly description: "Reports using `.flatMap()` with an identity function that returns its argument unchanged.";
|
|
176
172
|
readonly id: "arrayMapIdentities";
|
|
177
173
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
178
174
|
} & {
|
|
179
175
|
readonly pluginId: string;
|
|
180
176
|
readonly url: string;
|
|
181
|
-
}, "identityFlatMap", undefined>,
|
|
177
|
+
}, "identityFlatMap", undefined>, import("@flint.fyi/core").Rule<{
|
|
182
178
|
readonly description: "Reports `.reverse()` calls on arrays that mutate the original array.";
|
|
183
179
|
readonly id: "arrayMutableReverses";
|
|
184
180
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
185
181
|
} & {
|
|
186
182
|
readonly pluginId: string;
|
|
187
183
|
readonly url: string;
|
|
188
|
-
}, "preferToReversed", undefined>,
|
|
184
|
+
}, "preferToReversed", undefined>, import("@flint.fyi/core").Rule<{
|
|
189
185
|
readonly description: "Reports `.sort()` calls on arrays that mutate the original array.";
|
|
190
186
|
readonly id: "arrayMutableSorts";
|
|
191
187
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
192
188
|
} & {
|
|
193
189
|
readonly pluginId: string;
|
|
194
190
|
readonly url: string;
|
|
195
|
-
}, "preferToSorted", undefined>,
|
|
191
|
+
}, "preferToSorted", undefined>, import("@flint.fyi/core").Rule<{
|
|
196
192
|
readonly description: "Reports `Array#reduce` calls using type assertions on initial values instead of type arguments.";
|
|
197
193
|
readonly id: "arrayReduceTypeArguments";
|
|
198
194
|
readonly presets: readonly ["logicalStrict"];
|
|
199
195
|
} & {
|
|
200
196
|
readonly pluginId: string;
|
|
201
197
|
readonly url: string;
|
|
202
|
-
}, "preferTypeParameter", undefined>,
|
|
198
|
+
}, "preferTypeParameter", undefined>, import("@flint.fyi/core").Rule<{
|
|
203
199
|
readonly description: "Reports unnecessary `end` argument in `.slice()` calls when it equals the length or is `Infinity`.";
|
|
204
200
|
readonly id: "arraySliceUnnecessaryEnd";
|
|
205
201
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
206
202
|
} & {
|
|
207
203
|
readonly pluginId: string;
|
|
208
204
|
readonly url: string;
|
|
209
|
-
}, "unnecessaryEnd", undefined>,
|
|
205
|
+
}, "unnecessaryEnd", undefined>, import("@flint.fyi/core").Rule<{
|
|
210
206
|
readonly description: "Reports patterns that can be replaced with `.some()` for checking array element existence.";
|
|
211
207
|
readonly id: "arraySomeMethods";
|
|
212
208
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
213
209
|
} & {
|
|
214
210
|
readonly pluginId: string;
|
|
215
211
|
readonly url: string;
|
|
216
|
-
}, "preferSome", undefined>,
|
|
212
|
+
}, "preferSome", undefined>, import("@flint.fyi/core").Rule<{
|
|
217
213
|
readonly description: "Reports inconsistent types when spreading a ternary in an array literal.";
|
|
218
214
|
readonly id: "arrayTernarySpreadingConsistency";
|
|
219
215
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
220
216
|
} & {
|
|
221
217
|
readonly pluginId: string;
|
|
222
218
|
readonly url: string;
|
|
223
|
-
}, "inconsistentTypes", undefined>,
|
|
219
|
+
}, "inconsistentTypes", undefined>, import("@flint.fyi/core").Rule<{
|
|
224
220
|
readonly description: "Reports array type syntax that doesn't match the configured style.";
|
|
225
221
|
readonly id: "arrayTypes";
|
|
226
222
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -228,145 +224,152 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
228
224
|
readonly pluginId: string;
|
|
229
225
|
readonly url: string;
|
|
230
226
|
}, "preferArraySyntax" | "preferGenericSyntax" | "preferReadonlyArraySyntax" | "preferReadonlyGenericSyntax", {
|
|
231
|
-
style:
|
|
227
|
+
style: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
232
228
|
array: "array";
|
|
233
229
|
"array-simple": "array-simple";
|
|
234
230
|
generic: "generic";
|
|
235
231
|
}>>;
|
|
236
|
-
}>,
|
|
232
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
237
233
|
readonly description: "Reports unnecessary array length checks before `.some()` or `.every()` calls.";
|
|
238
234
|
readonly id: "arrayUnnecessaryLengthChecks";
|
|
239
235
|
readonly presets: readonly ["logical"];
|
|
240
236
|
} & {
|
|
241
237
|
readonly pluginId: string;
|
|
242
238
|
readonly url: string;
|
|
243
|
-
}, "unnecessaryLengthCheckEvery" | "unnecessaryLengthCheckSome", undefined>,
|
|
239
|
+
}, "unnecessaryLengthCheckEvery" | "unnecessaryLengthCheckSome", undefined>, import("@flint.fyi/core").Rule<{
|
|
244
240
|
readonly description: "Reports using explicit literal types when `as const` can be used.";
|
|
245
241
|
readonly id: "asConstAssertions";
|
|
246
242
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
247
243
|
} & {
|
|
248
244
|
readonly pluginId: string;
|
|
249
245
|
readonly url: string;
|
|
250
|
-
}, "preferAsConst" | "preferAsConstAnnotation", undefined>,
|
|
246
|
+
}, "preferAsConst" | "preferAsConstAnnotation", undefined>, import("@flint.fyi/core").Rule<{
|
|
251
247
|
readonly description: "Prefer logical assignment operator shorthand expressions.";
|
|
252
248
|
readonly id: "assignmentOperatorShorthands";
|
|
253
249
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
254
250
|
} & {
|
|
255
251
|
readonly pluginId: string;
|
|
256
252
|
readonly url: string;
|
|
257
|
-
}, "preferShorthand", undefined>,
|
|
253
|
+
}, "preferShorthand", undefined>, import("@flint.fyi/core").Rule<{
|
|
254
|
+
readonly description: "Reports async functions that do not use await.";
|
|
255
|
+
readonly id: "asyncFunctionAwaits";
|
|
256
|
+
readonly presets: readonly ["logicalStrict"];
|
|
257
|
+
} & {
|
|
258
|
+
readonly pluginId: string;
|
|
259
|
+
readonly url: string;
|
|
260
|
+
}, "missingAwait", undefined>, import("@flint.fyi/core").Rule<{
|
|
258
261
|
readonly description: "Reports using async functions as Promise executor functions.";
|
|
259
262
|
readonly id: "asyncPromiseExecutors";
|
|
260
263
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
261
264
|
} & {
|
|
262
265
|
readonly pluginId: string;
|
|
263
266
|
readonly url: string;
|
|
264
|
-
}, "asyncPromiseExecutor", undefined>,
|
|
267
|
+
}, "asyncPromiseExecutor", undefined>, import("@flint.fyi/core").Rule<{
|
|
265
268
|
readonly description: "Reports unnecessary `Promise.resolve()` or `Promise.reject()` in async contexts.";
|
|
266
269
|
readonly id: "asyncUnnecessaryPromiseWrappers";
|
|
267
270
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
268
271
|
} & {
|
|
269
272
|
readonly pluginId: string;
|
|
270
273
|
readonly url: string;
|
|
271
|
-
}, "unnecessaryReject" | "unnecessaryResolve", undefined>,
|
|
274
|
+
}, "unnecessaryReject" | "unnecessaryResolve", undefined>, import("@flint.fyi/core").Rule<{
|
|
272
275
|
readonly description: "Prefer using .at() for accessing elements at negative indices.";
|
|
273
276
|
readonly id: "atAccesses";
|
|
274
277
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
275
278
|
} & {
|
|
276
279
|
readonly pluginId: string;
|
|
277
280
|
readonly url: string;
|
|
278
|
-
}, "preferAt", undefined>,
|
|
281
|
+
}, "preferAt", undefined>, import("@flint.fyi/core").Rule<{
|
|
279
282
|
readonly description: "Reports functions that wrap native coercion functions like `String`, `Number`, `BigInt`, `Boolean`, or `Symbol`.";
|
|
280
283
|
readonly id: "builtinCoercions";
|
|
281
284
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
282
285
|
} & {
|
|
283
286
|
readonly pluginId: string;
|
|
284
287
|
readonly url: string;
|
|
285
|
-
}, "useBuiltin", undefined>,
|
|
288
|
+
}, "useBuiltin", undefined>, import("@flint.fyi/core").Rule<{
|
|
286
289
|
readonly description: "Enforces using new for constructors that require it, and disallows new for primitive coercion functions.";
|
|
287
290
|
readonly id: "builtinConstructorNews";
|
|
288
291
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
289
292
|
} & {
|
|
290
293
|
readonly pluginId: string;
|
|
291
294
|
readonly url: string;
|
|
292
|
-
}, "disallowedNew" | "missingNew", undefined>,
|
|
295
|
+
}, "disallowedNew" | "missingNew", undefined>, import("@flint.fyi/core").Rule<{
|
|
293
296
|
readonly description: "Reports lexical declarations in case clauses without wrapping them in blocks.";
|
|
294
297
|
readonly id: "caseDeclarations";
|
|
295
298
|
readonly presets: readonly ["javascript"];
|
|
296
299
|
} & {
|
|
297
300
|
readonly pluginId: string;
|
|
298
301
|
readonly url: string;
|
|
299
|
-
}, "unexpectedLexicalDeclaration", undefined>,
|
|
302
|
+
}, "unexpectedLexicalDeclaration", undefined>, import("@flint.fyi/core").Rule<{
|
|
300
303
|
readonly description: "Reports switch statements with duplicate case clause test expressions.";
|
|
301
304
|
readonly id: "caseDuplicates";
|
|
302
305
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
303
306
|
} & {
|
|
304
307
|
readonly pluginId: string;
|
|
305
308
|
readonly url: string;
|
|
306
|
-
}, "duplicateCase", undefined>,
|
|
309
|
+
}, "duplicateCase", undefined>, import("@flint.fyi/core").Rule<{
|
|
307
310
|
readonly description: "Reports switch case clauses that fall through unexpectedly.";
|
|
308
311
|
readonly id: "caseFallthroughs";
|
|
309
312
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
310
313
|
} & {
|
|
311
314
|
readonly pluginId: string;
|
|
312
315
|
readonly url: string;
|
|
313
|
-
}, "unexpectedFallthrough", undefined>,
|
|
316
|
+
}, "unexpectedFallthrough", undefined>, import("@flint.fyi/core").Rule<{
|
|
314
317
|
readonly description: "Reports `Promise` catch callback parameters that are not typed as unknown.";
|
|
315
318
|
readonly id: "catchCallbackTypes";
|
|
316
319
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
317
320
|
} & {
|
|
318
321
|
readonly pluginId: string;
|
|
319
322
|
readonly url: string;
|
|
320
|
-
}, "preferUnknown", undefined>,
|
|
323
|
+
}, "preferUnknown", undefined>, import("@flint.fyi/core").Rule<{
|
|
321
324
|
readonly description: "Enforces a consistent naming convention for catch clause error variables.";
|
|
322
325
|
readonly id: "caughtVariableNames";
|
|
323
326
|
readonly presets: readonly ["stylisticStrict"];
|
|
324
327
|
} & {
|
|
325
328
|
readonly pluginId: string;
|
|
326
329
|
readonly url: string;
|
|
327
|
-
}, "preferErrorName", undefined>,
|
|
330
|
+
}, "preferErrorName", undefined>, import("@flint.fyi/core").Rule<{
|
|
328
331
|
readonly description: "Reports using chained assignment expressions (e.g., a = b = c).";
|
|
329
332
|
readonly id: "chainedAssignments";
|
|
330
333
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
331
334
|
} & {
|
|
332
335
|
readonly pluginId: string;
|
|
333
336
|
readonly url: string;
|
|
334
|
-
}, "noChainedAssignment", undefined>,
|
|
337
|
+
}, "noChainedAssignment", undefined>, import("@flint.fyi/core").Rule<{
|
|
335
338
|
readonly description: "Reports comparing charAt() results with strings longer than one character.";
|
|
336
339
|
readonly id: "charAtComparisons";
|
|
337
340
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
338
341
|
} & {
|
|
339
342
|
readonly pluginId: string;
|
|
340
343
|
readonly url: string;
|
|
341
|
-
}, "invalidComparison", undefined>,
|
|
344
|
+
}, "invalidComparison", undefined>, import("@flint.fyi/core").Rule<{
|
|
342
345
|
readonly description: "Reports reassigning class declarations.";
|
|
343
346
|
readonly id: "classAssignments";
|
|
344
347
|
readonly presets: readonly ["javascript"];
|
|
345
348
|
} & {
|
|
346
349
|
readonly pluginId: string;
|
|
347
350
|
readonly url: string;
|
|
348
|
-
}, "noClassAssign", undefined>,
|
|
351
|
+
}, "noClassAssign", undefined>, import("@flint.fyi/core").Rule<{
|
|
349
352
|
readonly description: "Reports assigning literal values to `this` in constructors instead of using class field declarations.";
|
|
350
353
|
readonly id: "classFieldDeclarations";
|
|
351
354
|
readonly presets: readonly ["javascript"];
|
|
352
355
|
} & {
|
|
353
356
|
readonly pluginId: string;
|
|
354
357
|
readonly url: string;
|
|
355
|
-
}, "preferClassField", undefined>,
|
|
358
|
+
}, "preferClassField", undefined>, import("@flint.fyi/core").Rule<{
|
|
356
359
|
readonly description: "Reports getters that return literal values instead of using readonly class fields.";
|
|
357
360
|
readonly id: "classLiteralProperties";
|
|
358
361
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
359
362
|
} & {
|
|
360
363
|
readonly pluginId: string;
|
|
361
364
|
readonly url: string;
|
|
362
|
-
}, "preferField", undefined>,
|
|
365
|
+
}, "preferField", undefined>, import("@flint.fyi/core").Rule<{
|
|
363
366
|
readonly description: "Reports duplicate class member names that will be overwritten.";
|
|
364
367
|
readonly id: "classMemberDuplicates";
|
|
365
368
|
readonly presets: readonly ["javascript"];
|
|
366
369
|
} & {
|
|
367
370
|
readonly pluginId: string;
|
|
368
371
|
readonly url: string;
|
|
369
|
-
}, "duplicateMember", undefined>,
|
|
372
|
+
}, "duplicateMember", undefined>, import("@flint.fyi/core").Rule<{
|
|
370
373
|
readonly description: "Reports class methods that do not use `this`.";
|
|
371
374
|
readonly id: "classMethodsThis";
|
|
372
375
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -374,36 +377,36 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
374
377
|
readonly pluginId: string;
|
|
375
378
|
readonly url: string;
|
|
376
379
|
}, "missingThis", {
|
|
377
|
-
ignoreClassesThatImplementAnInterface:
|
|
378
|
-
ignoreOverrideMethods:
|
|
379
|
-
}>,
|
|
380
|
+
ignoreClassesThatImplementAnInterface: import("zod/v4").ZodDefault<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodBoolean, import("zod/v4").ZodLiteral<"public-fields">]>>;
|
|
381
|
+
ignoreOverrideMethods: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
382
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
380
383
|
readonly description: "Reports consecutive array.push() calls that could be combined into a single call.";
|
|
381
384
|
readonly id: "combinedPushes";
|
|
382
385
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
383
386
|
} & {
|
|
384
387
|
readonly pluginId: string;
|
|
385
388
|
readonly url: string;
|
|
386
|
-
}, "combinePushes", undefined>,
|
|
389
|
+
}, "combinePushes", undefined>, import("@flint.fyi/core").Rule<{
|
|
387
390
|
readonly description: "Reports unnecessary extra non-null assertions.";
|
|
388
391
|
readonly id: "consecutiveNonNullAssertions";
|
|
389
392
|
readonly presets: readonly ["logical"];
|
|
390
393
|
} & {
|
|
391
394
|
readonly pluginId: string;
|
|
392
395
|
readonly url: string;
|
|
393
|
-
}, "consecutiveNonNullAssertion", undefined>,
|
|
396
|
+
}, "consecutiveNonNullAssertion", undefined>, import("@flint.fyi/core").Rule<{
|
|
394
397
|
readonly description: "Reports calls to console methods.";
|
|
395
398
|
readonly id: "consoleCalls";
|
|
396
399
|
} & {
|
|
397
400
|
readonly pluginId: string;
|
|
398
401
|
readonly url: string;
|
|
399
|
-
}, "noConsole", undefined>,
|
|
402
|
+
}, "noConsole", undefined>, import("@flint.fyi/core").Rule<{
|
|
400
403
|
readonly description: "Reports attempting to reassign variables declared with const.";
|
|
401
404
|
readonly id: "constantAssignments";
|
|
402
405
|
readonly presets: readonly ["javascript"];
|
|
403
406
|
} & {
|
|
404
407
|
readonly pluginId: string;
|
|
405
408
|
readonly url: string;
|
|
406
|
-
}, "noConstAssign", undefined>,
|
|
409
|
+
}, "noConstAssign", undefined>, import("@flint.fyi/core").Rule<{
|
|
407
410
|
readonly description: "Reports inconsistent placement of type arguments in constructor calls.";
|
|
408
411
|
readonly id: "constructorGenericCalls";
|
|
409
412
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -411,297 +414,297 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
411
414
|
readonly pluginId: string;
|
|
412
415
|
readonly url: string;
|
|
413
416
|
}, "preferConstructor" | "preferTypeAnnotation", {
|
|
414
|
-
style:
|
|
417
|
+
style: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
415
418
|
constructor: "constructor";
|
|
416
419
|
"type-annotation": "type-annotation";
|
|
417
420
|
}>>;
|
|
418
|
-
}>,
|
|
421
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
419
422
|
readonly description: "Reports returning values from constructor functions.";
|
|
420
423
|
readonly id: "constructorReturns";
|
|
421
424
|
readonly presets: readonly ["javascript"];
|
|
422
425
|
} & {
|
|
423
426
|
readonly pluginId: string;
|
|
424
427
|
readonly url: string;
|
|
425
|
-
}, "noConstructorReturn", undefined>,
|
|
428
|
+
}, "noConstructorReturn", undefined>, import("@flint.fyi/core").Rule<{
|
|
426
429
|
readonly description: "Reports constructors of derived classes that do not call `super()`, and constructors of non-derived classes that call `super()`.";
|
|
427
430
|
readonly id: "constructorSupers";
|
|
428
431
|
readonly presets: readonly ["javascript"];
|
|
429
432
|
} & {
|
|
430
433
|
readonly pluginId: string;
|
|
431
434
|
readonly url: string;
|
|
432
|
-
}, "missingSuperCall" | "unexpectedSuperCall", undefined>,
|
|
435
|
+
}, "missingSuperCall" | "unexpectedSuperCall", undefined>, import("@flint.fyi/core").Rule<{
|
|
433
436
|
readonly description: "Prefer passing a `Date` directly to the `Date` constructor when cloning, rather than calling `getTime()`.";
|
|
434
437
|
readonly id: "dateConstructorClones";
|
|
435
438
|
readonly presets: readonly ["logical"];
|
|
436
439
|
} & {
|
|
437
440
|
readonly pluginId: string;
|
|
438
441
|
readonly url: string;
|
|
439
|
-
}, "unnecessaryGetTime", undefined>,
|
|
442
|
+
}, "unnecessaryGetTime", undefined>, import("@flint.fyi/core").Rule<{
|
|
440
443
|
readonly description: "Prefer the shorter `Date.now()` to get the number of milliseconds since the Unix Epoch.";
|
|
441
444
|
readonly id: "dateNowTimestamps";
|
|
442
445
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
443
446
|
} & {
|
|
444
447
|
readonly pluginId: string;
|
|
445
448
|
readonly url: string;
|
|
446
|
-
}, "preferDateNow", undefined>,
|
|
449
|
+
}, "preferDateNow", undefined>, import("@flint.fyi/core").Rule<{
|
|
447
450
|
readonly description: "Reports using debugger statements.";
|
|
448
451
|
readonly id: "debuggerStatements";
|
|
449
452
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
450
453
|
} & {
|
|
451
454
|
readonly pluginId: string;
|
|
452
455
|
readonly url: string;
|
|
453
|
-
}, "noDebugger", undefined>,
|
|
456
|
+
}, "noDebugger", undefined>, import("@flint.fyi/core").Rule<{
|
|
454
457
|
readonly description: "Reports switch statements where the default clause is not last.";
|
|
455
458
|
readonly id: "defaultCaseLast";
|
|
456
459
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
457
460
|
} & {
|
|
458
461
|
readonly pluginId: string;
|
|
459
462
|
readonly url: string;
|
|
460
|
-
}, "defaultCaseShouldBeLast", undefined>,
|
|
463
|
+
}, "defaultCaseShouldBeLast", undefined>, import("@flint.fyi/core").Rule<{
|
|
461
464
|
readonly description: "Enforce default parameters to be last.";
|
|
462
465
|
readonly id: "defaultParameterLast";
|
|
463
466
|
readonly presets: readonly ["javascript"];
|
|
464
467
|
} & {
|
|
465
468
|
readonly pluginId: string;
|
|
466
469
|
readonly url: string;
|
|
467
|
-
}, "defaultParameterLast", undefined>,
|
|
470
|
+
}, "defaultParameterLast", undefined>, import("@flint.fyi/core").Rule<{
|
|
468
471
|
readonly description: "Disallow using code marked as @deprecated.";
|
|
469
472
|
readonly id: "deprecated";
|
|
470
473
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
471
474
|
} & {
|
|
472
475
|
readonly pluginId: string;
|
|
473
476
|
readonly url: string;
|
|
474
|
-
}, "deprecated", undefined>,
|
|
477
|
+
}, "deprecated", undefined>, import("@flint.fyi/core").Rule<{
|
|
475
478
|
readonly description: "Use destructured variables over properties for consistency.";
|
|
476
479
|
readonly id: "destructuringConsistency";
|
|
477
480
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
478
481
|
} & {
|
|
479
482
|
readonly pluginId: string;
|
|
480
483
|
readonly url: string;
|
|
481
|
-
}, "useDestructured", undefined>,
|
|
484
|
+
}, "useDestructured", undefined>, import("@flint.fyi/core").Rule<{
|
|
482
485
|
readonly description: "Reports functions with duplicate parameter names in their signatures.";
|
|
483
486
|
readonly id: "duplicateArguments";
|
|
484
487
|
readonly presets: readonly ["javascript"];
|
|
485
488
|
} & {
|
|
486
489
|
readonly pluginId: string;
|
|
487
490
|
readonly url: string;
|
|
488
|
-
}, "duplicateParam", undefined>,
|
|
491
|
+
}, "duplicateParam", undefined>, import("@flint.fyi/core").Rule<{
|
|
489
492
|
readonly description: "Disallow using the delete operator on computed key expressions.";
|
|
490
493
|
readonly id: "dynamicDeletes";
|
|
491
494
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
492
495
|
} & {
|
|
493
496
|
readonly pluginId: string;
|
|
494
497
|
readonly url: string;
|
|
495
|
-
}, "dynamicDelete", undefined>,
|
|
498
|
+
}, "dynamicDelete", undefined>, import("@flint.fyi/core").Rule<{
|
|
496
499
|
readonly description: "Reports duplicate conditions in if-else-if chains that make code unreachable.";
|
|
497
500
|
readonly id: "elseIfDuplicates";
|
|
498
501
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
499
502
|
} & {
|
|
500
503
|
readonly pluginId: string;
|
|
501
504
|
readonly url: string;
|
|
502
|
-
}, "duplicateCondition", undefined>,
|
|
505
|
+
}, "duplicateCondition", undefined>, import("@flint.fyi/core").Rule<{
|
|
503
506
|
readonly description: "Reports unnecessary `else` blocks following `if` statements that always return or throw.";
|
|
504
507
|
readonly id: "elseReturns";
|
|
505
508
|
readonly presets: readonly ["stylisticStrict"];
|
|
506
509
|
} & {
|
|
507
510
|
readonly pluginId: string;
|
|
508
511
|
readonly url: string;
|
|
509
|
-
}, "unnecessaryElse", undefined>,
|
|
512
|
+
}, "unnecessaryElse", undefined>, import("@flint.fyi/core").Rule<{
|
|
510
513
|
readonly description: "Reports empty block statements that should contain code.";
|
|
511
514
|
readonly id: "emptyBlocks";
|
|
512
515
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
513
516
|
} & {
|
|
514
517
|
readonly pluginId: string;
|
|
515
518
|
readonly url: string;
|
|
516
|
-
}, "emptyBlock", undefined>,
|
|
519
|
+
}, "emptyBlock", undefined>, import("@flint.fyi/core").Rule<{
|
|
517
520
|
readonly description: "Reports using empty destructuring patterns that destructure no values.";
|
|
518
521
|
readonly id: "emptyDestructures";
|
|
519
522
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
520
523
|
} & {
|
|
521
524
|
readonly pluginId: string;
|
|
522
525
|
readonly url: string;
|
|
523
|
-
}, "emptyPattern", undefined>,
|
|
526
|
+
}, "emptyPattern", undefined>, import("@flint.fyi/core").Rule<{
|
|
524
527
|
readonly description: "Reports empty enum declarations with no members.";
|
|
525
528
|
readonly id: "emptyEnums";
|
|
526
529
|
readonly presets: readonly ["logical"];
|
|
527
530
|
} & {
|
|
528
531
|
readonly pluginId: string;
|
|
529
532
|
readonly url: string;
|
|
530
|
-
}, "emptyEnum", undefined>,
|
|
533
|
+
}, "emptyEnum", undefined>, import("@flint.fyi/core").Rule<{
|
|
531
534
|
readonly description: "Reports empty export statements that don't make a file a module.";
|
|
532
535
|
readonly id: "emptyExports";
|
|
533
536
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
534
537
|
} & {
|
|
535
538
|
readonly pluginId: string;
|
|
536
539
|
readonly url: string;
|
|
537
|
-
}, "uselessExport", undefined>,
|
|
540
|
+
}, "uselessExport", undefined>, import("@flint.fyi/core").Rule<{
|
|
538
541
|
readonly description: "Reports files that contain no meaningful code.";
|
|
539
542
|
readonly id: "emptyFiles";
|
|
540
543
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
541
544
|
} & {
|
|
542
545
|
readonly pluginId: string;
|
|
543
546
|
readonly url: string;
|
|
544
|
-
}, "emptyFile", undefined>,
|
|
547
|
+
}, "emptyFile", undefined>, import("@flint.fyi/core").Rule<{
|
|
545
548
|
readonly description: "Reports empty functions that should contain code or a comment.";
|
|
546
549
|
readonly id: "emptyFunctions";
|
|
547
550
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
548
551
|
} & {
|
|
549
552
|
readonly pluginId: string;
|
|
550
553
|
readonly url: string;
|
|
551
|
-
}, "emptyFunction", undefined>,
|
|
554
|
+
}, "emptyFunction", undefined>, import("@flint.fyi/core").Rule<{
|
|
552
555
|
readonly description: "Reports empty import/export attributes that serve no purpose.";
|
|
553
556
|
readonly id: "emptyModuleAttributes";
|
|
554
557
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
555
558
|
} & {
|
|
556
559
|
readonly pluginId: string;
|
|
557
560
|
readonly url: string;
|
|
558
|
-
}, "emptyAttributes", undefined>,
|
|
561
|
+
}, "emptyAttributes", undefined>, import("@flint.fyi/core").Rule<{
|
|
559
562
|
readonly description: "Reports empty object type literals and empty interfaces that are often used incorrectly.";
|
|
560
563
|
readonly id: "emptyObjectTypes";
|
|
561
564
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
562
565
|
} & {
|
|
563
566
|
readonly pluginId: string;
|
|
564
567
|
readonly url: string;
|
|
565
|
-
}, "emptyInterface" | "emptyObjectType", undefined>,
|
|
568
|
+
}, "emptyInterface" | "emptyObjectType", undefined>, import("@flint.fyi/core").Rule<{
|
|
566
569
|
readonly description: "Reports empty static initialization blocks within class declarations.";
|
|
567
570
|
readonly id: "emptyStaticBlocks";
|
|
568
571
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
569
572
|
} & {
|
|
570
573
|
readonly pluginId: string;
|
|
571
574
|
readonly url: string;
|
|
572
|
-
}, "emptyStaticBlock", undefined>,
|
|
575
|
+
}, "emptyStaticBlock", undefined>, import("@flint.fyi/core").Rule<{
|
|
573
576
|
readonly description: "Reports empty type parameter lists in type aliases and interfaces.";
|
|
574
577
|
readonly id: "emptyTypeParameterLists";
|
|
575
578
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
576
579
|
} & {
|
|
577
580
|
readonly pluginId: string;
|
|
578
581
|
readonly url: string;
|
|
579
|
-
}, "emptyTypeParameters", undefined>,
|
|
582
|
+
}, "emptyTypeParameters", undefined>, import("@flint.fyi/core").Rule<{
|
|
580
583
|
readonly description: "Reports enum members without explicit initial values.";
|
|
581
584
|
readonly id: "enumInitializers";
|
|
582
585
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
583
586
|
} & {
|
|
584
587
|
readonly pluginId: string;
|
|
585
588
|
readonly url: string;
|
|
586
|
-
}, "defineInitializer", undefined>,
|
|
589
|
+
}, "defineInitializer", undefined>, import("@flint.fyi/core").Rule<{
|
|
587
590
|
readonly description: "Requires all enum members to be literal values.";
|
|
588
591
|
readonly id: "enumMemberLiterals";
|
|
589
592
|
readonly presets: readonly ["logicalStrict"];
|
|
590
593
|
} & {
|
|
591
594
|
readonly pluginId: string;
|
|
592
595
|
readonly url: string;
|
|
593
|
-
}, "requireLiteral", undefined>,
|
|
596
|
+
}, "requireLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
594
597
|
readonly description: "Reports enums that contain both string and number members.";
|
|
595
598
|
readonly id: "enumValueConsistency";
|
|
596
599
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
597
600
|
} & {
|
|
598
601
|
readonly pluginId: string;
|
|
599
602
|
readonly url: string;
|
|
600
|
-
}, "mixedTypes", undefined>,
|
|
603
|
+
}, "mixedTypes", undefined>, import("@flint.fyi/core").Rule<{
|
|
601
604
|
readonly description: "Reports enum members with duplicate values.";
|
|
602
605
|
readonly id: "enumValueDuplicates";
|
|
603
606
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
604
607
|
} & {
|
|
605
608
|
readonly pluginId: string;
|
|
606
609
|
readonly url: string;
|
|
607
|
-
}, "duplicateValue", undefined>,
|
|
610
|
+
}, "duplicateValue", undefined>, import("@flint.fyi/core").Rule<{
|
|
608
611
|
readonly description: "Reports negated expressions on the left side of equality checks.";
|
|
609
612
|
readonly id: "equalityOperatorNegations";
|
|
610
613
|
} & {
|
|
611
614
|
readonly pluginId: string;
|
|
612
615
|
readonly url: string;
|
|
613
|
-
}, "negatedEquality", undefined>,
|
|
616
|
+
}, "negatedEquality", undefined>, import("@flint.fyi/core").Rule<{
|
|
614
617
|
readonly description: "Enforces consistent use of strict equality operators (=== and !==) over loose equality operators (== and !=) for non-nullish comparisons.";
|
|
615
618
|
readonly id: "equalityOperators";
|
|
616
619
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
617
620
|
} & {
|
|
618
621
|
readonly pluginId: string;
|
|
619
622
|
readonly url: string;
|
|
620
|
-
}, "preferStrictEquality", undefined>,
|
|
623
|
+
}, "preferStrictEquality", undefined>, import("@flint.fyi/core").Rule<{
|
|
621
624
|
readonly description: "Requires a message value when creating a built-in error.";
|
|
622
625
|
readonly id: "errorMessages";
|
|
623
626
|
readonly presets: readonly ["logicalStrict"];
|
|
624
627
|
} & {
|
|
625
628
|
readonly pluginId: string;
|
|
626
629
|
readonly url: string;
|
|
627
|
-
}, "missingMessage", undefined>,
|
|
630
|
+
}, "missingMessage", undefined>, import("@flint.fyi/core").Rule<{
|
|
628
631
|
readonly description: "Reports incorrect Error subclass definitions that don't follow best practices.";
|
|
629
632
|
readonly id: "errorSubclassProperties";
|
|
630
633
|
readonly presets: readonly ["logicalStrict"];
|
|
631
634
|
} & {
|
|
632
635
|
readonly pluginId: string;
|
|
633
636
|
readonly url: string;
|
|
634
|
-
}, "invalidClassName" | "missingName" | "redundantMessage" | "useConstructorName" | "wrongName", undefined>,
|
|
637
|
+
}, "invalidClassName" | "missingName" | "redundantMessage" | "useConstructorName" | "wrongName", undefined>, import("@flint.fyi/core").Rule<{
|
|
635
638
|
readonly description: "Reports unnecessary Error.captureStackTrace() calls in Error subclass constructors.";
|
|
636
639
|
readonly id: "errorUnnecessaryCaptureStackTraces";
|
|
637
640
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
638
641
|
} & {
|
|
639
642
|
readonly pluginId: string;
|
|
640
643
|
readonly url: string;
|
|
641
|
-
}, "unnecessaryCaptureStackTrace", undefined>,
|
|
644
|
+
}, "unnecessaryCaptureStackTrace", undefined>, import("@flint.fyi/core").Rule<{
|
|
642
645
|
readonly description: "Reports escape sequences with lowercase hexadecimal characters.";
|
|
643
646
|
readonly id: "escapeSequenceCasing";
|
|
644
647
|
readonly presets: readonly ["stylisticStrict"];
|
|
645
648
|
} & {
|
|
646
649
|
readonly pluginId: string;
|
|
647
650
|
readonly url: string;
|
|
648
|
-
}, "useUppercase", undefined>,
|
|
651
|
+
}, "useUppercase", undefined>, import("@flint.fyi/core").Rule<{
|
|
649
652
|
readonly description: "Reports uses of the eval function.";
|
|
650
653
|
readonly id: "evals";
|
|
651
654
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
652
655
|
} & {
|
|
653
656
|
readonly pluginId: string;
|
|
654
657
|
readonly url: string;
|
|
655
|
-
}, "noEval", undefined>,
|
|
658
|
+
}, "noEval", undefined>, import("@flint.fyi/core").Rule<{
|
|
656
659
|
readonly description: "Reports variables declared without type annotation or initializer.";
|
|
657
660
|
readonly id: "evolvingVariableTypes";
|
|
658
661
|
readonly presets: readonly ["stylisticStrict"];
|
|
659
662
|
} & {
|
|
660
663
|
readonly pluginId: string;
|
|
661
664
|
readonly url: string;
|
|
662
|
-
}, "implicitAny", undefined>,
|
|
665
|
+
}, "implicitAny", undefined>, import("@flint.fyi/core").Rule<{
|
|
663
666
|
readonly description: "Reports reassigning exception parameters in catch clauses.";
|
|
664
667
|
readonly id: "exceptionAssignments";
|
|
665
668
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
666
669
|
} & {
|
|
667
670
|
readonly pluginId: string;
|
|
668
671
|
readonly url: string;
|
|
669
|
-
}, "noExAssign", undefined>,
|
|
672
|
+
}, "noExAssign", undefined>, import("@flint.fyi/core").Rule<{
|
|
670
673
|
readonly description: "Reports explicit uses of the any type.";
|
|
671
674
|
readonly id: "explicitAnys";
|
|
672
675
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
673
676
|
} & {
|
|
674
677
|
readonly pluginId: string;
|
|
675
678
|
readonly url: string;
|
|
676
|
-
}, "noExplicitAny", undefined>,
|
|
679
|
+
}, "noExplicitAny", undefined>, import("@flint.fyi/core").Rule<{
|
|
677
680
|
readonly description: "Prefers the ** operator over Math.pow().";
|
|
678
681
|
readonly id: "exponentiationOperators";
|
|
679
682
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
680
683
|
} & {
|
|
681
684
|
readonly pluginId: string;
|
|
682
685
|
readonly url: string;
|
|
683
|
-
}, "preferOperator", undefined>,
|
|
686
|
+
}, "preferOperator", undefined>, import("@flint.fyi/core").Rule<{
|
|
684
687
|
readonly description: "Reports imports that are re-exported and could use export...from syntax instead.";
|
|
685
688
|
readonly id: "exportFromImports";
|
|
686
689
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
687
690
|
} & {
|
|
688
691
|
readonly pluginId: string;
|
|
689
692
|
readonly url: string;
|
|
690
|
-
}, "preferExportDefaultFrom" | "preferExportFrom" | "preferExportNamespaceFrom", undefined>,
|
|
693
|
+
}, "preferExportDefaultFrom" | "preferExportFrom" | "preferExportNamespaceFrom", undefined>, import("@flint.fyi/core").Rule<{
|
|
691
694
|
readonly description: "Reports exporting mutable bindings (let or var).";
|
|
692
695
|
readonly id: "exportMutables";
|
|
693
696
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
694
697
|
} & {
|
|
695
698
|
readonly pluginId: string;
|
|
696
699
|
readonly url: string;
|
|
697
|
-
}, "noMutableExport", undefined>,
|
|
700
|
+
}, "noMutableExport", undefined>, import("@flint.fyi/core").Rule<{
|
|
698
701
|
readonly description: "Reports duplicate export names in a module.";
|
|
699
702
|
readonly id: "exportUniqueNames";
|
|
700
703
|
readonly presets: readonly ["javascript"];
|
|
701
704
|
} & {
|
|
702
705
|
readonly pluginId: string;
|
|
703
706
|
readonly url: string;
|
|
704
|
-
}, "duplicateExport", undefined>,
|
|
707
|
+
}, "duplicateExport", undefined>, import("@flint.fyi/core").Rule<{
|
|
705
708
|
readonly description: "Reports classes used as static namespaces.";
|
|
706
709
|
readonly id: "extraneousClasses";
|
|
707
710
|
readonly presets: readonly ["logicalStrict"];
|
|
@@ -709,148 +712,148 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
709
712
|
readonly pluginId: string;
|
|
710
713
|
readonly url: string;
|
|
711
714
|
}, "empty" | "onlyConstructor" | "onlyStatic", {
|
|
712
|
-
allowConstructorOnly:
|
|
713
|
-
allowEmpty:
|
|
714
|
-
allowStaticOnly:
|
|
715
|
-
allowWithDecorator:
|
|
716
|
-
}>,
|
|
715
|
+
allowConstructorOnly: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
716
|
+
allowEmpty: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
717
|
+
allowStaticOnly: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
718
|
+
allowWithDecorator: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
719
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
717
720
|
readonly description: "Disallow providing a body with GET or HEAD fetch requests.";
|
|
718
721
|
readonly id: "fetchMethodBodies";
|
|
719
722
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
720
723
|
} & {
|
|
721
724
|
readonly pluginId: string;
|
|
722
725
|
readonly url: string;
|
|
723
|
-
}, "noBody", undefined>,
|
|
726
|
+
}, "noBody", undefined>, import("@flint.fyi/core").Rule<{
|
|
724
727
|
readonly description: "Reports control flow statements in `finally` blocks that can override control flow in `try`/`catch` blocks.";
|
|
725
728
|
readonly id: "finallyStatementSafety";
|
|
726
729
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
727
730
|
} & {
|
|
728
731
|
readonly pluginId: string;
|
|
729
732
|
readonly url: string;
|
|
730
|
-
}, "unsafeFinally", undefined>,
|
|
733
|
+
}, "unsafeFinally", undefined>, import("@flint.fyi/core").Rule<{
|
|
731
734
|
readonly description: "Reports for loops with counter variables that move in the wrong direction.";
|
|
732
735
|
readonly id: "forDirections";
|
|
733
736
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
734
737
|
} & {
|
|
735
738
|
readonly pluginId: string;
|
|
736
739
|
readonly url: string;
|
|
737
|
-
}, "wrongDirection", undefined>,
|
|
740
|
+
}, "wrongDirection", undefined>, import("@flint.fyi/core").Rule<{
|
|
738
741
|
readonly description: "Reports iterating over an array with a for-in loop.";
|
|
739
742
|
readonly id: "forInArrays";
|
|
740
743
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
741
744
|
} & {
|
|
742
745
|
readonly pluginId: string;
|
|
743
746
|
readonly url: string;
|
|
744
|
-
}, "forIn", undefined>,
|
|
747
|
+
}, "forIn", undefined>, import("@flint.fyi/core").Rule<{
|
|
745
748
|
readonly description: "Reports for-in loops without an if statement to filter inherited properties.";
|
|
746
749
|
readonly id: "forInGuards";
|
|
747
750
|
} & {
|
|
748
751
|
readonly pluginId: string;
|
|
749
752
|
readonly url: string;
|
|
750
|
-
}, "missingGuard", undefined>,
|
|
753
|
+
}, "missingGuard", undefined>, import("@flint.fyi/core").Rule<{
|
|
751
754
|
readonly description: "Prefer the spread operator over `.apply()` calls.";
|
|
752
755
|
readonly id: "functionApplySpreads";
|
|
753
756
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
754
757
|
} & {
|
|
755
758
|
readonly pluginId: string;
|
|
756
759
|
readonly url: string;
|
|
757
|
-
}, "preferSpread", undefined>,
|
|
760
|
+
}, "preferSpread", undefined>, import("@flint.fyi/core").Rule<{
|
|
758
761
|
readonly description: "Reports reassigning variables declared with function declarations.";
|
|
759
762
|
readonly id: "functionAssignments";
|
|
760
763
|
readonly presets: readonly ["javascript"];
|
|
761
764
|
} & {
|
|
762
765
|
readonly pluginId: string;
|
|
763
766
|
readonly url: string;
|
|
764
|
-
}, "noFunctionAssignment", undefined>,
|
|
767
|
+
}, "noFunctionAssignment", undefined>, import("@flint.fyi/core").Rule<{
|
|
765
768
|
readonly description: "Reports using `.apply()` or `.call()` or when the context (`this` value) provides no benefit.";
|
|
766
769
|
readonly id: "functionCurryingRedundancy";
|
|
767
770
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
768
771
|
} & {
|
|
769
772
|
readonly pluginId: string;
|
|
770
773
|
readonly url: string;
|
|
771
|
-
}, "unnecessaryCall", undefined>,
|
|
774
|
+
}, "unnecessaryCall", undefined>, import("@flint.fyi/core").Rule<{
|
|
772
775
|
readonly description: "Reports functions that don't match the configured style (declaration vs expression).";
|
|
773
776
|
readonly id: "functionDeclarationStyles";
|
|
774
777
|
} & {
|
|
775
778
|
readonly pluginId: string;
|
|
776
779
|
readonly url: string;
|
|
777
780
|
}, "preferDeclaration" | "preferExpression", {
|
|
778
|
-
allowArrowFunctions:
|
|
779
|
-
style:
|
|
781
|
+
allowArrowFunctions: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
782
|
+
style: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
780
783
|
expression: "expression";
|
|
781
784
|
declaration: "declaration";
|
|
782
785
|
}>>;
|
|
783
|
-
}>,
|
|
786
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
784
787
|
readonly description: "Reports function names that don't match the variable or property they're assigned to.";
|
|
785
788
|
readonly id: "functionNameMatches";
|
|
786
789
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
787
790
|
} & {
|
|
788
791
|
readonly pluginId: string;
|
|
789
792
|
readonly url: string;
|
|
790
|
-
}, "mismatch", undefined>,
|
|
793
|
+
}, "mismatch", undefined>, import("@flint.fyi/core").Rule<{
|
|
791
794
|
readonly description: "Reports using the Function constructor to create functions from strings.";
|
|
792
795
|
readonly id: "functionNewCalls";
|
|
793
796
|
readonly presets: readonly ["logical"];
|
|
794
797
|
} & {
|
|
795
798
|
readonly pluginId: string;
|
|
796
799
|
readonly url: string;
|
|
797
|
-
}, "noFunctionConstructor", undefined>,
|
|
800
|
+
}, "noFunctionConstructor", undefined>, import("@flint.fyi/core").Rule<{
|
|
798
801
|
readonly description: "Reports generator functions that do not yield values.";
|
|
799
802
|
readonly id: "generatorFunctionYields";
|
|
800
803
|
readonly presets: readonly ["logical"];
|
|
801
804
|
} & {
|
|
802
805
|
readonly pluginId: string;
|
|
803
806
|
readonly url: string;
|
|
804
|
-
}, "missingYield", undefined>,
|
|
807
|
+
}, "missingYield", undefined>, import("@flint.fyi/core").Rule<{
|
|
805
808
|
readonly description: "Reports getter functions that do not return values.";
|
|
806
809
|
readonly id: "getterReturns";
|
|
807
810
|
readonly presets: readonly ["javascript"];
|
|
808
811
|
} & {
|
|
809
812
|
readonly pluginId: string;
|
|
810
813
|
readonly url: string;
|
|
811
|
-
}, "missingReturn", undefined>,
|
|
814
|
+
}, "missingReturn", undefined>, import("@flint.fyi/core").Rule<{
|
|
812
815
|
readonly description: "Reports attempting to assign to read-only global variables such as undefined, NaN, Infinity, Object, etc.";
|
|
813
816
|
readonly id: "globalAssignments";
|
|
814
817
|
readonly presets: readonly ["javascript"];
|
|
815
818
|
} & {
|
|
816
819
|
readonly pluginId: string;
|
|
817
820
|
readonly url: string;
|
|
818
|
-
}, "noGlobalAssign", undefined>,
|
|
821
|
+
}, "noGlobalAssign", undefined>, import("@flint.fyi/core").Rule<{
|
|
819
822
|
readonly description: "Reports calling global objects like Math, JSON, or Reflect as functions.";
|
|
820
823
|
readonly id: "globalObjectCalls";
|
|
821
824
|
readonly presets: readonly ["javascript"];
|
|
822
825
|
} & {
|
|
823
826
|
readonly pluginId: string;
|
|
824
827
|
readonly url: string;
|
|
825
|
-
}, "noGlobalObjectCall", undefined>,
|
|
828
|
+
}, "noGlobalObjectCall", undefined>, import("@flint.fyi/core").Rule<{
|
|
826
829
|
readonly description: "Reports using window, self, or global instead of globalThis.";
|
|
827
830
|
readonly id: "globalThisAliases";
|
|
828
831
|
readonly presets: readonly ["stylisticStrict"];
|
|
829
832
|
} & {
|
|
830
833
|
readonly pluginId: string;
|
|
831
834
|
readonly url: string;
|
|
832
|
-
}, "preferGlobalThis", undefined>,
|
|
835
|
+
}, "preferGlobalThis", undefined>, import("@flint.fyi/core").Rule<{
|
|
833
836
|
readonly description: "Reports using string arguments in setTimeout, setInterval, setImmediate, execScript, or the Function constructor.";
|
|
834
837
|
readonly id: "impliedEvals";
|
|
835
838
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
836
839
|
} & {
|
|
837
840
|
readonly pluginId: string;
|
|
838
841
|
readonly url: string;
|
|
839
|
-
}, "functionConstructor" | "impliedEval", undefined>,
|
|
842
|
+
}, "functionConstructor" | "impliedEval", undefined>, import("@flint.fyi/core").Rule<{
|
|
840
843
|
readonly description: "Reports empty named import blocks.";
|
|
841
844
|
readonly id: "importEmptyBlocks";
|
|
842
845
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
843
846
|
} & {
|
|
844
847
|
readonly pluginId: string;
|
|
845
848
|
readonly url: string;
|
|
846
|
-
}, "noEmptyNamedBlocksOnly" | "noEmptyNamedBlocksWithOther", undefined>,
|
|
849
|
+
}, "noEmptyNamedBlocksOnly" | "noEmptyNamedBlocksWithOther", undefined>, import("@flint.fyi/core").Rule<{
|
|
847
850
|
readonly description: "Reports imports that use inline type qualifiers on all specifiers when a top-level type qualifier should be used instead.";
|
|
848
851
|
readonly id: "importTypeSideEffects";
|
|
849
852
|
readonly presets: readonly ["logical"];
|
|
850
853
|
} & {
|
|
851
854
|
readonly pluginId: string;
|
|
852
855
|
readonly url: string;
|
|
853
|
-
}, "useTopLevelQualifier", undefined>,
|
|
856
|
+
}, "useTopLevelQualifier", undefined>, import("@flint.fyi/core").Rule<{
|
|
854
857
|
readonly description: "Reports indexed object types that don't match the configured style.";
|
|
855
858
|
readonly id: "indexedObjectTypes";
|
|
856
859
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -858,18 +861,18 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
858
861
|
readonly pluginId: string;
|
|
859
862
|
readonly url: string;
|
|
860
863
|
}, "preferIndexSignature" | "preferRecord", {
|
|
861
|
-
style:
|
|
864
|
+
style: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
862
865
|
record: "record";
|
|
863
866
|
"index-signature": "index-signature";
|
|
864
867
|
}>>;
|
|
865
|
-
}>,
|
|
868
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
866
869
|
readonly description: "Reports using `instanceof Array` instead of `Array.isArray()`.";
|
|
867
870
|
readonly id: "instanceOfArrays";
|
|
868
871
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
869
872
|
} & {
|
|
870
873
|
readonly pluginId: string;
|
|
871
874
|
readonly url: string;
|
|
872
|
-
}, "useArrayIsArray", undefined>,
|
|
875
|
+
}, "useArrayIsArray", undefined>, import("@flint.fyi/core").Rule<{
|
|
873
876
|
readonly description: "Reports irregular whitespace characters that can cause issues with code parsing and display.";
|
|
874
877
|
readonly id: "irregularWhitespaces";
|
|
875
878
|
readonly presets: readonly ["logical"];
|
|
@@ -877,67 +880,67 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
877
880
|
readonly pluginId: string;
|
|
878
881
|
readonly url: string;
|
|
879
882
|
}, "irregularWhitespace", {
|
|
880
|
-
skipComments:
|
|
881
|
-
skipJSXText:
|
|
882
|
-
skipRegularExpressions:
|
|
883
|
-
skipTemplates:
|
|
884
|
-
}>,
|
|
883
|
+
skipComments: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
884
|
+
skipJSXText: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
885
|
+
skipRegularExpressions: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
886
|
+
skipTemplates: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
887
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
885
888
|
readonly description: "Reports comparisons with NaN, which should use Number.isNaN() instead.";
|
|
886
889
|
readonly id: "isNaNComparisons";
|
|
887
890
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
888
891
|
} & {
|
|
889
892
|
readonly pluginId: string;
|
|
890
893
|
readonly url: string;
|
|
891
|
-
}, "useIsNaN", undefined>,
|
|
894
|
+
}, "useIsNaN", undefined>, import("@flint.fyi/core").Rule<{
|
|
892
895
|
readonly description: "Prefers literal syntax over constructor function calls for primitive values.";
|
|
893
896
|
readonly id: "literalConstructorWrappers";
|
|
894
897
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
895
898
|
} & {
|
|
896
899
|
readonly pluginId: string;
|
|
897
900
|
readonly url: string;
|
|
898
|
-
}, "preferLiteral", undefined>,
|
|
901
|
+
}, "preferLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
899
902
|
readonly description: "Prefer modern Math methods over legacy patterns.";
|
|
900
903
|
readonly id: "mathMethods";
|
|
901
904
|
readonly presets: readonly ["stylisticStrict"];
|
|
902
905
|
} & {
|
|
903
906
|
readonly pluginId: string;
|
|
904
907
|
readonly url: string;
|
|
905
|
-
}, "preferModernMath", undefined>,
|
|
908
|
+
}, "preferModernMath", undefined>, import("@flint.fyi/core").Rule<{
|
|
906
909
|
readonly description: "Reports using the void operator on expressions that are already void or undefined.";
|
|
907
910
|
readonly id: "meaninglessVoidOperators";
|
|
908
911
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
909
912
|
} & {
|
|
910
913
|
readonly pluginId: string;
|
|
911
914
|
readonly url: string;
|
|
912
|
-
}, "meaninglessVoid", undefined>,
|
|
915
|
+
}, "meaninglessVoid", undefined>, import("@flint.fyi/core").Rule<{
|
|
913
916
|
readonly description: "Require expressions of type void to appear in statement position.";
|
|
914
917
|
readonly id: "misleadingVoidExpressions";
|
|
915
918
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
916
919
|
} & {
|
|
917
920
|
readonly pluginId: string;
|
|
918
921
|
readonly url: string;
|
|
919
|
-
}, "voidExpressionArrow" | "voidExpressionReturn" | "voidExpressionValue", undefined>,
|
|
922
|
+
}, "voidExpressionArrow" | "voidExpressionReturn" | "voidExpressionValue", undefined>, import("@flint.fyi/core").Rule<{
|
|
920
923
|
readonly description: "Require non-empty specifier lists in import and export statements.";
|
|
921
924
|
readonly id: "moduleSpecifierLists";
|
|
922
925
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
923
926
|
} & {
|
|
924
927
|
readonly pluginId: string;
|
|
925
928
|
readonly url: string;
|
|
926
|
-
}, "emptyExportSpecifiers" | "emptyImportSpecifiers", undefined>,
|
|
929
|
+
}, "emptyExportSpecifiers" | "emptyImportSpecifiers", undefined>, import("@flint.fyi/core").Rule<{
|
|
927
930
|
readonly description: "Reports ambiguous multiline expressions that could be misinterpreted.";
|
|
928
931
|
readonly id: "multilineAmbiguities";
|
|
929
932
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
930
933
|
} & {
|
|
931
934
|
readonly pluginId: string;
|
|
932
935
|
readonly url: string;
|
|
933
|
-
}, "ambiguity", undefined>,
|
|
936
|
+
}, "ambiguity", undefined>, import("@flint.fyi/core").Rule<{
|
|
934
937
|
readonly description: "Reports anonymous functions and classes as the default export.";
|
|
935
938
|
readonly id: "namedDefaultExports";
|
|
936
939
|
readonly presets: readonly ["stylisticStrict"];
|
|
937
940
|
} & {
|
|
938
941
|
readonly pluginId: string;
|
|
939
942
|
readonly url: string;
|
|
940
|
-
}, "anonymousClass" | "anonymousFunction", undefined>,
|
|
943
|
+
}, "anonymousClass" | "anonymousFunction", undefined>, import("@flint.fyi/core").Rule<{
|
|
941
944
|
readonly description: "Reports using legacy `namespace` declarations.";
|
|
942
945
|
readonly id: "namespaceDeclarations";
|
|
943
946
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
@@ -945,124 +948,124 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
945
948
|
readonly pluginId: string;
|
|
946
949
|
readonly url: string;
|
|
947
950
|
}, "preferModules", {
|
|
948
|
-
allowDeclarations:
|
|
949
|
-
allowDefinitionFiles:
|
|
950
|
-
}>,
|
|
951
|
+
allowDeclarations: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
952
|
+
allowDefinitionFiles: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
953
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
951
954
|
readonly description: "Reports declared namespaces that implicitly export all members.";
|
|
952
955
|
readonly id: "namespaceImplicitAmbientImports";
|
|
953
956
|
readonly presets: readonly ["stylisticStrict"];
|
|
954
957
|
} & {
|
|
955
958
|
readonly pluginId: string;
|
|
956
959
|
readonly url: string;
|
|
957
|
-
}, "implicitExports", undefined>,
|
|
960
|
+
}, "implicitExports", undefined>, import("@flint.fyi/core").Rule<{
|
|
958
961
|
readonly description: "Reports using `module` keyword instead of `namespace` for TypeScript namespaces.";
|
|
959
962
|
readonly id: "namespaceKeywords";
|
|
960
963
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
961
964
|
} & {
|
|
962
965
|
readonly pluginId: string;
|
|
963
966
|
readonly url: string;
|
|
964
|
-
}, "preferNamespace", undefined>,
|
|
967
|
+
}, "preferNamespace", undefined>, import("@flint.fyi/core").Rule<{
|
|
965
968
|
readonly description: "Reports extending the prototype of native JavaScript objects.";
|
|
966
969
|
readonly id: "nativeObjectExtensions";
|
|
967
970
|
readonly presets: readonly ["javascript"];
|
|
968
971
|
} & {
|
|
969
972
|
readonly pluginId: string;
|
|
970
973
|
readonly url: string;
|
|
971
|
-
}, "noExtendNative", undefined>,
|
|
974
|
+
}, "noExtendNative", undefined>, import("@flint.fyi/core").Rule<{
|
|
972
975
|
readonly description: "Prefer negative index over `.length - index` for `at`, `slice`, `splice`, and similar methods.";
|
|
973
976
|
readonly id: "negativeIndexLengthMethods";
|
|
974
977
|
readonly presets: readonly ["stylisticStrict"];
|
|
975
978
|
} & {
|
|
976
979
|
readonly pluginId: string;
|
|
977
980
|
readonly url: string;
|
|
978
|
-
}, "preferNegativeIndex", undefined>,
|
|
981
|
+
}, "preferNegativeIndex", undefined>, import("@flint.fyi/core").Rule<{
|
|
979
982
|
readonly description: "Reports comparisons with -0 that may not behave as expected.";
|
|
980
983
|
readonly id: "negativeZeroComparisons";
|
|
981
984
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
982
985
|
} & {
|
|
983
986
|
readonly pluginId: string;
|
|
984
987
|
readonly url: string;
|
|
985
|
-
}, "unexpectedNegativeZeroComparison", undefined>,
|
|
988
|
+
}, "unexpectedNegativeZeroComparison", undefined>, import("@flint.fyi/core").Rule<{
|
|
986
989
|
readonly description: "Reports `if` statements that are the only statement inside an `else` block or inside another `if` without an `else`.";
|
|
987
990
|
readonly id: "nestedStandaloneIfs";
|
|
988
991
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
989
992
|
} & {
|
|
990
993
|
readonly pluginId: string;
|
|
991
994
|
readonly url: string;
|
|
992
|
-
}, "lonelyIfInElse" | "lonelyIfInIf", undefined>,
|
|
995
|
+
}, "lonelyIfInElse" | "lonelyIfInIf", undefined>, import("@flint.fyi/core").Rule<{
|
|
993
996
|
readonly description: "Reports misleading constructor and `new` definitions in interfaces and classes.";
|
|
994
997
|
readonly id: "newDefinitions";
|
|
995
998
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
996
999
|
} & {
|
|
997
1000
|
readonly pluginId: string;
|
|
998
1001
|
readonly url: string;
|
|
999
|
-
}, "classMethodNamedNew" | "interfaceConstructSignature" | "interfaceMethodNamedConstructor", undefined>,
|
|
1002
|
+
}, "classMethodNamedNew" | "interfaceConstructSignature" | "interfaceMethodNamedConstructor", undefined>, import("@flint.fyi/core").Rule<{
|
|
1000
1003
|
readonly description: "Reports standalone new expressions that don't use the constructed object.";
|
|
1001
1004
|
readonly id: "newExpressions";
|
|
1002
1005
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1003
1006
|
} & {
|
|
1004
1007
|
readonly pluginId: string;
|
|
1005
1008
|
readonly url: string;
|
|
1006
|
-
}, "noStandaloneNew", undefined>,
|
|
1009
|
+
}, "noStandaloneNew", undefined>, import("@flint.fyi/core").Rule<{
|
|
1007
1010
|
readonly description: "Disallows using `new` with global non-constructor functions like Symbol and BigInt.";
|
|
1008
1011
|
readonly id: "newNativeNonConstructors";
|
|
1009
1012
|
readonly presets: readonly ["javascript"];
|
|
1010
1013
|
} & {
|
|
1011
1014
|
readonly pluginId: string;
|
|
1012
1015
|
readonly url: string;
|
|
1013
|
-
}, "noNewNonConstructor", undefined>,
|
|
1016
|
+
}, "noNewNonConstructor", undefined>, import("@flint.fyi/core").Rule<{
|
|
1014
1017
|
readonly description: "Reports type assertions that can be replaced with non-null assertions.";
|
|
1015
1018
|
readonly id: "nonNullableTypeAssertions";
|
|
1016
1019
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1017
1020
|
} & {
|
|
1018
1021
|
readonly pluginId: string;
|
|
1019
1022
|
readonly url: string;
|
|
1020
|
-
}, "preferNonNullAssertion", undefined>,
|
|
1023
|
+
}, "preferNonNullAssertion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1021
1024
|
readonly description: "Reports non-null assertions on the left side of nullish coalescing operators.";
|
|
1022
1025
|
readonly id: "nonNullAssertedNullishCoalesces";
|
|
1023
1026
|
readonly presets: readonly ["logicalStrict"];
|
|
1024
1027
|
} & {
|
|
1025
1028
|
readonly pluginId: string;
|
|
1026
1029
|
readonly url: string;
|
|
1027
|
-
}, "unnecessaryNonNullAssertion", undefined>,
|
|
1030
|
+
}, "unnecessaryNonNullAssertion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1028
1031
|
readonly description: "Reports non-null assertions on optional chain expressions.";
|
|
1029
1032
|
readonly id: "nonNullAssertedOptionalChains";
|
|
1030
1033
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1031
1034
|
} & {
|
|
1032
1035
|
readonly pluginId: string;
|
|
1033
1036
|
readonly url: string;
|
|
1034
|
-
}, "nonNullOptionalChain", undefined>,
|
|
1037
|
+
}, "nonNullOptionalChain", undefined>, import("@flint.fyi/core").Rule<{
|
|
1035
1038
|
readonly description: "Reports confusing placement of non-null assertions next to comparison or assignment operators.";
|
|
1036
1039
|
readonly id: "nonNullAssertionPlacement";
|
|
1037
1040
|
readonly presets: readonly ["stylisticStrict"];
|
|
1038
1041
|
} & {
|
|
1039
1042
|
readonly pluginId: string;
|
|
1040
1043
|
readonly url: string;
|
|
1041
|
-
}, "confusingAssign" | "confusingEqual" | "confusingOperator", undefined>,
|
|
1044
|
+
}, "confusingAssign" | "confusingEqual" | "confusingOperator", undefined>, import("@flint.fyi/core").Rule<{
|
|
1042
1045
|
readonly description: "Reports non-octal decimal escape sequences (\\8 and \\9) in string literals.";
|
|
1043
1046
|
readonly id: "nonOctalDecimalEscapes";
|
|
1044
1047
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1045
1048
|
} & {
|
|
1046
1049
|
readonly pluginId: string;
|
|
1047
1050
|
readonly url: string;
|
|
1048
|
-
}, "unexpectedEscape", undefined>,
|
|
1051
|
+
}, "unexpectedEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1049
1052
|
readonly description: "Enforces consistent equality operator usage when comparing with null or undefined.";
|
|
1050
1053
|
readonly id: "nullishCheckStyle";
|
|
1051
1054
|
} & {
|
|
1052
1055
|
readonly pluginId: string;
|
|
1053
1056
|
readonly url: string;
|
|
1054
1057
|
}, "preferLooseNull" | "preferLooseNullish" | "preferLooseUndefined" | "preferStrictNullish", {
|
|
1055
|
-
looseNullishComparisonStyle:
|
|
1058
|
+
looseNullishComparisonStyle: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
1056
1059
|
"prefer-null": "prefer-null";
|
|
1057
1060
|
"prefer-undefined": "prefer-undefined";
|
|
1058
1061
|
ignore: "ignore";
|
|
1059
1062
|
}>>;
|
|
1060
|
-
nullishComparisonStrictness:
|
|
1063
|
+
nullishComparisonStrictness: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
1061
1064
|
ignore: "ignore";
|
|
1062
1065
|
"double-equals": "double-equals";
|
|
1063
1066
|
"triple-equals": "triple-equals";
|
|
1064
1067
|
}>>;
|
|
1065
|
-
}>,
|
|
1068
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1066
1069
|
readonly description: "Prefer nullish coalescing operator (??) over logical OR (||) for nullish values.";
|
|
1067
1070
|
readonly id: "nullishCoalescingOperators";
|
|
1068
1071
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -1070,171 +1073,171 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
1070
1073
|
readonly pluginId: string;
|
|
1071
1074
|
readonly url: string;
|
|
1072
1075
|
}, "preferNullish" | "preferNullishAssignment" | "preferNullishTernary", {
|
|
1073
|
-
ignoreConditionalTests:
|
|
1074
|
-
ignoreIfStatements:
|
|
1075
|
-
ignoreMixedLogicalExpressions:
|
|
1076
|
-
ignorePrimitives:
|
|
1076
|
+
ignoreConditionalTests: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
1077
|
+
ignoreIfStatements: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
1078
|
+
ignoreMixedLogicalExpressions: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
1079
|
+
ignorePrimitives: import("zod/v4").ZodDefault<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodBoolean, import("zod/v4").ZodRecord<import("zod/v4").ZodEnum<{
|
|
1077
1080
|
string: "string";
|
|
1078
1081
|
number: "number";
|
|
1079
1082
|
bigint: "bigint";
|
|
1080
1083
|
boolean: "boolean";
|
|
1081
|
-
}>,
|
|
1082
|
-
ignoreTernaryTests:
|
|
1083
|
-
}>,
|
|
1084
|
+
}>, import("zod/v4").ZodBoolean>]>>;
|
|
1085
|
+
ignoreTernaryTests: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
1086
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1084
1087
|
readonly description: "Reports when number method arguments are outside their valid range.";
|
|
1085
1088
|
readonly id: "numberMethodRanges";
|
|
1086
1089
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1087
1090
|
} & {
|
|
1088
1091
|
readonly pluginId: string;
|
|
1089
1092
|
readonly url: string;
|
|
1090
|
-
}, "outOfRange", undefined>,
|
|
1093
|
+
}, "outOfRange", undefined>, import("@flint.fyi/core").Rule<{
|
|
1091
1094
|
readonly description: "Reports using legacy global functions instead of `Number` static methods.";
|
|
1092
1095
|
readonly id: "numberStaticMethods";
|
|
1093
1096
|
readonly presets: readonly ["logicalStrict"];
|
|
1094
1097
|
} & {
|
|
1095
1098
|
readonly pluginId: string;
|
|
1096
1099
|
readonly url: string;
|
|
1097
|
-
}, "preferNumberMethod", undefined>,
|
|
1100
|
+
}, "preferNumberMethod", undefined>, import("@flint.fyi/core").Rule<{
|
|
1098
1101
|
readonly description: "Reports operations that always result in zero, such as multiplication by zero.";
|
|
1099
1102
|
readonly id: "numericErasingOperations";
|
|
1100
1103
|
readonly presets: readonly ["logicalStrict"];
|
|
1101
1104
|
} & {
|
|
1102
1105
|
readonly pluginId: string;
|
|
1103
1106
|
readonly url: string;
|
|
1104
|
-
}, "erasingOperation", undefined>,
|
|
1107
|
+
}, "erasingOperation", undefined>, import("@flint.fyi/core").Rule<{
|
|
1105
1108
|
readonly description: "Reports parseInt calls with binary, hexadecimal, or octal strings that can be replaced with numeric literals.";
|
|
1106
1109
|
readonly id: "numericLiteralParsing";
|
|
1107
1110
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1108
1111
|
} & {
|
|
1109
1112
|
readonly pluginId: string;
|
|
1110
1113
|
readonly url: string;
|
|
1111
|
-
}, "preferLiteral", undefined>,
|
|
1114
|
+
}, "preferLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
1112
1115
|
readonly description: "Reports numeric literals that lose precision when converted to JavaScript numbers.";
|
|
1113
1116
|
readonly id: "numericPrecision";
|
|
1114
1117
|
readonly presets: readonly ["logicalStrict"];
|
|
1115
1118
|
} & {
|
|
1116
1119
|
readonly pluginId: string;
|
|
1117
1120
|
readonly url: string;
|
|
1118
|
-
}, "lossOfPrecision", undefined>,
|
|
1121
|
+
}, "lossOfPrecision", undefined>, import("@flint.fyi/core").Rule<{
|
|
1119
1122
|
readonly description: "Reports numeric literals with inconsistent separator grouping.";
|
|
1120
1123
|
readonly id: "numericSeparatorGroups";
|
|
1121
1124
|
readonly presets: readonly ["stylisticStrict"];
|
|
1122
1125
|
} & {
|
|
1123
1126
|
readonly pluginId: string;
|
|
1124
1127
|
readonly url: string;
|
|
1125
|
-
}, "invalidGrouping", undefined>,
|
|
1128
|
+
}, "invalidGrouping", undefined>, import("@flint.fyi/core").Rule<{
|
|
1126
1129
|
readonly description: "Prefer object spread syntax over `Object.assign()` when the first argument is an object literal.";
|
|
1127
1130
|
readonly id: "objectAssignSpreads";
|
|
1128
1131
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1129
1132
|
} & {
|
|
1130
1133
|
readonly pluginId: string;
|
|
1131
1134
|
readonly url: string;
|
|
1132
|
-
}, "preferObjectLiteral" | "preferObjectSpread", undefined>,
|
|
1135
|
+
}, "preferObjectLiteral" | "preferObjectSpread", undefined>, import("@flint.fyi/core").Rule<{
|
|
1133
1136
|
readonly description: "Prefer `{}` object literal notation or `Object.create` instead of calling or constructing `Object`.";
|
|
1134
1137
|
readonly id: "objectCalls";
|
|
1135
1138
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1136
1139
|
} & {
|
|
1137
1140
|
readonly pluginId: string;
|
|
1138
1141
|
readonly url: string;
|
|
1139
|
-
}, "preferObjectLiteral", undefined>,
|
|
1142
|
+
}, "preferObjectLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
1140
1143
|
readonly description: "Prefer Object.fromEntries() over reduce patterns that build objects from key-value pairs.";
|
|
1141
1144
|
readonly id: "objectEntriesMethods";
|
|
1142
1145
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1143
1146
|
} & {
|
|
1144
1147
|
readonly pluginId: string;
|
|
1145
1148
|
readonly url: string;
|
|
1146
|
-
}, "preferFromEntries", undefined>,
|
|
1149
|
+
}, "preferFromEntries", undefined>, import("@flint.fyi/core").Rule<{
|
|
1147
1150
|
readonly description: "Prefer Object.hasOwn() over Object.prototype.hasOwnProperty.call() for checking own properties.";
|
|
1148
1151
|
readonly id: "objectHasOwns";
|
|
1149
1152
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1150
1153
|
} & {
|
|
1151
1154
|
readonly pluginId: string;
|
|
1152
1155
|
readonly url: string;
|
|
1153
|
-
}, "preferHasOwn", undefined>,
|
|
1156
|
+
}, "preferHasOwn", undefined>, import("@flint.fyi/core").Rule<{
|
|
1154
1157
|
readonly description: "Reports unnecessary duplicate keys that override previous values.";
|
|
1155
1158
|
readonly id: "objectKeyDuplicates";
|
|
1156
1159
|
readonly presets: readonly ["javascript"];
|
|
1157
1160
|
} & {
|
|
1158
1161
|
readonly pluginId: string;
|
|
1159
1162
|
readonly url: string;
|
|
1160
|
-
}, "duplicateKey", undefined>,
|
|
1163
|
+
}, "duplicateKey", undefined>, import("@flint.fyi/core").Rule<{
|
|
1161
1164
|
readonly description: "Reports using the deprecated __proto__ property to access or modify an object's prototype.";
|
|
1162
1165
|
readonly id: "objectProto";
|
|
1163
1166
|
readonly presets: readonly ["javascript"];
|
|
1164
1167
|
} & {
|
|
1165
1168
|
readonly pluginId: string;
|
|
1166
1169
|
readonly url: string;
|
|
1167
|
-
}, "noProto", undefined>,
|
|
1170
|
+
}, "noProto", undefined>, import("@flint.fyi/core").Rule<{
|
|
1168
1171
|
readonly description: "Reports direct calls to Object.prototype methods on object instances.";
|
|
1169
1172
|
readonly id: "objectPrototypeBuiltIns";
|
|
1170
1173
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1171
1174
|
} & {
|
|
1172
1175
|
readonly pluginId: string;
|
|
1173
1176
|
readonly url: string;
|
|
1174
|
-
}, "prototypeBuiltIn", undefined>,
|
|
1177
|
+
}, "prototypeBuiltIn", undefined>, import("@flint.fyi/core").Rule<{
|
|
1175
1178
|
readonly description: "Object property and method definitions can use shorthand syntax when the key matches the value identifier or when a function expression is assigned.";
|
|
1176
1179
|
readonly id: "objectShorthand";
|
|
1177
1180
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1178
1181
|
} & {
|
|
1179
1182
|
readonly pluginId: string;
|
|
1180
1183
|
readonly url: string;
|
|
1181
|
-
}, "expectedMethodShorthand" | "expectedPropertyShorthand", undefined>,
|
|
1184
|
+
}, "expectedMethodShorthand" | "expectedPropertyShorthand", undefined>, import("@flint.fyi/core").Rule<{
|
|
1182
1185
|
readonly description: "Reports empty object fallbacks in object spread expressions that have no effect.";
|
|
1183
1186
|
readonly id: "objectSpreadUnnecessaryFallbacks";
|
|
1184
1187
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1185
1188
|
} & {
|
|
1186
1189
|
readonly pluginId: string;
|
|
1187
1190
|
readonly url: string;
|
|
1188
|
-
}, "unnecessaryFallback", undefined>,
|
|
1191
|
+
}, "unnecessaryFallback", undefined>, import("@flint.fyi/core").Rule<{
|
|
1189
1192
|
readonly description: "Prefer interface declarations over type aliases for object types.";
|
|
1190
1193
|
readonly id: "objectTypeDefinitions";
|
|
1191
1194
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1192
1195
|
} & {
|
|
1193
1196
|
readonly pluginId: string;
|
|
1194
1197
|
readonly url: string;
|
|
1195
|
-
}, "preferInterface", undefined>,
|
|
1198
|
+
}, "preferInterface", undefined>, import("@flint.fyi/core").Rule<{
|
|
1196
1199
|
readonly description: "Reports using octal escape sequences in string literals.";
|
|
1197
1200
|
readonly id: "octalEscapes";
|
|
1198
1201
|
readonly presets: readonly ["javascript"];
|
|
1199
1202
|
} & {
|
|
1200
1203
|
readonly pluginId: string;
|
|
1201
1204
|
readonly url: string;
|
|
1202
|
-
}, "noOctalEscape", undefined>,
|
|
1205
|
+
}, "noOctalEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1203
1206
|
readonly description: "Reports using legacy octal numeric literals.";
|
|
1204
1207
|
readonly id: "octalNumbers";
|
|
1205
1208
|
readonly presets: readonly ["javascript"];
|
|
1206
1209
|
} & {
|
|
1207
1210
|
readonly pluginId: string;
|
|
1208
1211
|
readonly url: string;
|
|
1209
|
-
}, "noOctalNumber", undefined>,
|
|
1212
|
+
}, "noOctalNumber", undefined>, import("@flint.fyi/core").Rule<{
|
|
1210
1213
|
readonly description: "Prefer assignment operator shorthand where possible.";
|
|
1211
1214
|
readonly id: "operatorAssignmentShorthand";
|
|
1212
1215
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1213
1216
|
} & {
|
|
1214
1217
|
readonly pluginId: string;
|
|
1215
1218
|
readonly url: string;
|
|
1216
|
-
}, "preferShorthand", undefined>,
|
|
1219
|
+
}, "preferShorthand", undefined>, import("@flint.fyi/core").Rule<{
|
|
1217
1220
|
readonly description: "Require that function overload signatures be consecutive.";
|
|
1218
1221
|
readonly id: "overloadSignaturesAdjacent";
|
|
1219
1222
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1220
1223
|
} & {
|
|
1221
1224
|
readonly pluginId: string;
|
|
1222
1225
|
readonly url: string;
|
|
1223
|
-
}, "overloadSignatureSeparated", undefined>,
|
|
1226
|
+
}, "overloadSignatureSeparated", undefined>, import("@flint.fyi/core").Rule<{
|
|
1224
1227
|
readonly description: "Disallow reassignment of function parameters.";
|
|
1225
1228
|
readonly id: "parameterReassignments";
|
|
1226
1229
|
readonly presets: readonly ["logical"];
|
|
1227
1230
|
} & {
|
|
1228
1231
|
readonly pluginId: string;
|
|
1229
1232
|
readonly url: string;
|
|
1230
|
-
}, "parameterReassignment", undefined>,
|
|
1233
|
+
}, "parameterReassignment", undefined>, import("@flint.fyi/core").Rule<{
|
|
1231
1234
|
readonly description: "Reports parseInt calls that are missing or have an invalid radix parameter.";
|
|
1232
1235
|
readonly id: "parseIntRadixes";
|
|
1233
1236
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1234
1237
|
} & {
|
|
1235
1238
|
readonly pluginId: string;
|
|
1236
1239
|
readonly url: string;
|
|
1237
|
-
}, "invalidRadix" | "missingRadix", undefined>,
|
|
1240
|
+
}, "invalidRadix" | "missingRadix", undefined>, import("@flint.fyi/core").Rule<{
|
|
1238
1241
|
readonly description: "Reports bracket notation property access when dot notation can be used.";
|
|
1239
1242
|
readonly id: "propertyAccessNotation";
|
|
1240
1243
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
@@ -1242,572 +1245,572 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
1242
1245
|
readonly pluginId: string;
|
|
1243
1246
|
readonly url: string;
|
|
1244
1247
|
}, "preferDotNotation", {
|
|
1245
|
-
allowIndexSignaturePropertyAccess:
|
|
1246
|
-
}>,
|
|
1248
|
+
allowIndexSignaturePropertyAccess: import("zod/v4").ZodDefault<import("zod/v4").ZodBoolean>;
|
|
1249
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1247
1250
|
readonly description: "Reports function parameters that are only used in recursive calls.";
|
|
1248
1251
|
readonly id: "recursionOnlyArguments";
|
|
1249
1252
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1250
1253
|
} & {
|
|
1251
1254
|
readonly pluginId: string;
|
|
1252
1255
|
readonly url: string;
|
|
1253
|
-
}, "onlyUsedInRecursion", undefined>,
|
|
1256
|
+
}, "onlyUsedInRecursion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1254
1257
|
readonly description: "Reports union and intersection type constituents that are redundant or override other types.";
|
|
1255
1258
|
readonly id: "redundantTypeConstituents";
|
|
1256
1259
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1257
1260
|
} & {
|
|
1258
1261
|
readonly pluginId: string;
|
|
1259
1262
|
readonly url: string;
|
|
1260
|
-
}, "errorTypeOverrides" | "literalOverridden" | "overridden" | "overrides" | "primitiveOverridden", undefined>,
|
|
1263
|
+
}, "errorTypeOverrides" | "literalOverridden" | "overridden" | "overrides" | "primitiveOverridden", undefined>, import("@flint.fyi/core").Rule<{
|
|
1261
1264
|
readonly description: "Reports `matchAll()` and `replaceAll()` calls with regex arguments missing the global flag.";
|
|
1262
1265
|
readonly id: "regexAllGlobalFlags";
|
|
1263
1266
|
readonly presets: readonly ["logical"];
|
|
1264
1267
|
} & {
|
|
1265
1268
|
readonly pluginId: string;
|
|
1266
1269
|
readonly url: string;
|
|
1267
|
-
}, "missingGlobalFlag", undefined>,
|
|
1270
|
+
}, "missingGlobalFlag", undefined>, import("@flint.fyi/core").Rule<{
|
|
1268
1271
|
readonly description: "Reports regex patterns that use ambiguous or invalid syntax from Annex B.";
|
|
1269
1272
|
readonly id: "regexAmbiguousInvalidity";
|
|
1270
1273
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1271
1274
|
} & {
|
|
1272
1275
|
readonly pluginId: string;
|
|
1273
1276
|
readonly url: string;
|
|
1274
|
-
}, "incompleteBackreference" | "incompleteEscapeSequence" | "invalidControlEscape" | "invalidPropertyEscape" | "invalidRange" | "octalEscape" | "quantifiedAssertion" | "regexMessage" | "unescapedSourceCharacter" | "uselessEscape", undefined>,
|
|
1277
|
+
}, "incompleteBackreference" | "incompleteEscapeSequence" | "invalidControlEscape" | "invalidPropertyEscape" | "invalidRange" | "octalEscape" | "quantifiedAssertion" | "regexMessage" | "unescapedSourceCharacter" | "uselessEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1275
1278
|
readonly description: "Reports regex alternations that can be simplified to character classes.";
|
|
1276
1279
|
readonly id: "regexCharacterClasses";
|
|
1277
1280
|
readonly presets: readonly ["stylisticStrict"];
|
|
1278
1281
|
} & {
|
|
1279
1282
|
readonly pluginId: string;
|
|
1280
1283
|
readonly url: string;
|
|
1281
|
-
}, "preferCharacterClass", undefined>,
|
|
1284
|
+
}, "preferCharacterClass", undefined>, import("@flint.fyi/core").Rule<{
|
|
1282
1285
|
readonly description: "Reports character class elements that can be simplified to ranges.";
|
|
1283
1286
|
readonly id: "regexCharacterClassRanges";
|
|
1284
1287
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1285
1288
|
} & {
|
|
1286
1289
|
readonly pluginId: string;
|
|
1287
1290
|
readonly url: string;
|
|
1288
|
-
}, "preferRange", undefined>,
|
|
1291
|
+
}, "preferRange", undefined>, import("@flint.fyi/core").Rule<{
|
|
1289
1292
|
readonly description: "Reports lookarounds that can be replaced with character class set operations.";
|
|
1290
1293
|
readonly id: "regexCharacterClassSetOperations";
|
|
1291
1294
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1292
1295
|
} & {
|
|
1293
1296
|
readonly pluginId: string;
|
|
1294
1297
|
readonly url: string;
|
|
1295
|
-
}, "preferSetOperation", undefined>,
|
|
1298
|
+
}, "preferSetOperation", undefined>, import("@flint.fyi/core").Rule<{
|
|
1296
1299
|
readonly description: "Reports negated character classes that can use shorthand escapes.";
|
|
1297
1300
|
readonly id: "regexConciseCharacterClassNegations";
|
|
1298
1301
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1299
1302
|
} & {
|
|
1300
1303
|
readonly pluginId: string;
|
|
1301
1304
|
readonly url: string;
|
|
1302
|
-
}, "preferNegatedEscape", undefined>,
|
|
1305
|
+
}, "preferNegatedEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1303
1306
|
readonly description: "Reports elements in regular expressions that contradict assertions.";
|
|
1304
1307
|
readonly id: "regexContradictoryAssertions";
|
|
1305
1308
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1306
1309
|
} & {
|
|
1307
1310
|
readonly pluginId: string;
|
|
1308
1311
|
readonly url: string;
|
|
1309
|
-
}, "alwaysEnter" | "cannotEnter", undefined>,
|
|
1312
|
+
}, "alwaysEnter" | "cannotEnter", undefined>, import("@flint.fyi/core").Rule<{
|
|
1310
1313
|
readonly description: "Reports control characters that are not escaped using standard escape sequences.";
|
|
1311
1314
|
readonly id: "regexControlCharacterEscapes";
|
|
1312
1315
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1313
1316
|
} & {
|
|
1314
1317
|
readonly pluginId: string;
|
|
1315
1318
|
readonly url: string;
|
|
1316
|
-
}, "preferStandardEscape", undefined>,
|
|
1319
|
+
}, "preferStandardEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1317
1320
|
readonly description: "Reports control characters in regular expressions.";
|
|
1318
1321
|
readonly id: "regexControlCharacters";
|
|
1319
1322
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1320
1323
|
} & {
|
|
1321
1324
|
readonly pluginId: string;
|
|
1322
1325
|
readonly url: string;
|
|
1323
|
-
}, "unexpectedControlChar", undefined>,
|
|
1326
|
+
}, "unexpectedControlChar", undefined>, import("@flint.fyi/core").Rule<{
|
|
1324
1327
|
readonly description: "Reports character classes with multiple adjacent characters that could use a range instead.";
|
|
1325
1328
|
readonly id: "regexDigitMatchers";
|
|
1326
1329
|
readonly presets: readonly ["stylisticStrict"];
|
|
1327
1330
|
} & {
|
|
1328
1331
|
readonly pluginId: string;
|
|
1329
1332
|
readonly url: string;
|
|
1330
|
-
}, "preferRange", undefined>,
|
|
1333
|
+
}, "preferRange", undefined>, import("@flint.fyi/core").Rule<{
|
|
1331
1334
|
readonly description: "Reports replacement strings with unescaped `$` that should use `$$`.";
|
|
1332
1335
|
readonly id: "regexDollarEscapes";
|
|
1333
1336
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1334
1337
|
} & {
|
|
1335
1338
|
readonly pluginId: string;
|
|
1336
1339
|
readonly url: string;
|
|
1337
|
-
}, "unescapedDollar", undefined>,
|
|
1340
|
+
}, "unescapedDollar", undefined>, import("@flint.fyi/core").Rule<{
|
|
1338
1341
|
readonly description: "Reports duplicate characters in regular expression character classes.";
|
|
1339
1342
|
readonly id: "regexDuplicateCharacterClassCharacters";
|
|
1340
1343
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1341
1344
|
} & {
|
|
1342
1345
|
readonly pluginId: string;
|
|
1343
1346
|
readonly url: string;
|
|
1344
|
-
}, "duplicate" | "includedInRange", undefined>,
|
|
1347
|
+
}, "duplicate" | "includedInRange", undefined>, import("@flint.fyi/core").Rule<{
|
|
1345
1348
|
readonly description: "Reports empty alternatives in regular expressions that may indicate a mistake.";
|
|
1346
1349
|
readonly id: "regexEmptyAlternatives";
|
|
1347
1350
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1348
1351
|
} & {
|
|
1349
1352
|
readonly pluginId: string;
|
|
1350
1353
|
readonly url: string;
|
|
1351
|
-
}, "emptyAlternative", undefined>,
|
|
1354
|
+
}, "emptyAlternative", undefined>, import("@flint.fyi/core").Rule<{
|
|
1352
1355
|
readonly description: "Reports capturing groups that only capture empty strings.";
|
|
1353
1356
|
readonly id: "regexEmptyCapturingGroups";
|
|
1354
1357
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1355
1358
|
} & {
|
|
1356
1359
|
readonly pluginId: string;
|
|
1357
1360
|
readonly url: string;
|
|
1358
|
-
}, "emptyCapture", undefined>,
|
|
1361
|
+
}, "emptyCapture", undefined>, import("@flint.fyi/core").Rule<{
|
|
1359
1362
|
readonly description: "Reports character classes that match no characters.";
|
|
1360
1363
|
readonly id: "regexEmptyCharacterClasses";
|
|
1361
1364
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1362
1365
|
} & {
|
|
1363
1366
|
readonly pluginId: string;
|
|
1364
1367
|
readonly url: string;
|
|
1365
|
-
}, "empty", undefined>,
|
|
1368
|
+
}, "empty", undefined>, import("@flint.fyi/core").Rule<{
|
|
1366
1369
|
readonly description: "Reports empty groups in regular expressions.";
|
|
1367
1370
|
readonly id: "regexEmptyGroups";
|
|
1368
1371
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1369
1372
|
} & {
|
|
1370
1373
|
readonly pluginId: string;
|
|
1371
1374
|
readonly url: string;
|
|
1372
|
-
}, "emptyGroup", undefined>,
|
|
1375
|
+
}, "emptyGroup", undefined>, import("@flint.fyi/core").Rule<{
|
|
1373
1376
|
readonly description: "Reports lazy quantifiers at the end of regular expressions.";
|
|
1374
1377
|
readonly id: "regexEmptyLazyQuantifiers";
|
|
1375
1378
|
readonly presets: readonly ["logical"];
|
|
1376
1379
|
} & {
|
|
1377
1380
|
readonly pluginId: string;
|
|
1378
1381
|
readonly url: string;
|
|
1379
|
-
}, "uselessElement" | "uselessQuantifier" | "uselessRange", undefined>,
|
|
1382
|
+
}, "uselessElement" | "uselessQuantifier" | "uselessRange", undefined>, import("@flint.fyi/core").Rule<{
|
|
1380
1383
|
readonly description: "Reports empty lookahead and lookbehind assertions in regular expressions.";
|
|
1381
1384
|
readonly id: "regexEmptyLookaroundsAssertions";
|
|
1382
1385
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1383
1386
|
} & {
|
|
1384
1387
|
readonly pluginId: string;
|
|
1385
1388
|
readonly url: string;
|
|
1386
|
-
}, "emptyLookaround", undefined>,
|
|
1389
|
+
}, "emptyLookaround", undefined>, import("@flint.fyi/core").Rule<{
|
|
1387
1390
|
readonly description: "Reports empty string literals in character classes.";
|
|
1388
1391
|
readonly id: "regexEmptyStringLiterals";
|
|
1389
1392
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1390
1393
|
} & {
|
|
1391
1394
|
readonly pluginId: string;
|
|
1392
1395
|
readonly url: string;
|
|
1393
|
-
}, "emptyStringLiteral", undefined>,
|
|
1396
|
+
}, "emptyStringLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
1394
1397
|
readonly description: "Reports escape backspace (`[\\b]`) in character classes.";
|
|
1395
1398
|
readonly id: "regexEscapeBackspaces";
|
|
1396
1399
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1397
1400
|
} & {
|
|
1398
1401
|
readonly pluginId: string;
|
|
1399
1402
|
readonly url: string;
|
|
1400
|
-
}, "escapeBackspace", undefined>,
|
|
1403
|
+
}, "escapeBackspace", undefined>, import("@flint.fyi/core").Rule<{
|
|
1401
1404
|
readonly description: "Reports String.prototype.match calls that can be replaced with RegExp.prototype.exec.";
|
|
1402
1405
|
readonly id: "regexExecutors";
|
|
1403
1406
|
readonly presets: readonly ["stylisticStrict"];
|
|
1404
1407
|
} & {
|
|
1405
1408
|
readonly pluginId: string;
|
|
1406
1409
|
readonly url: string;
|
|
1407
|
-
}, "preferExec", undefined>,
|
|
1410
|
+
}, "preferExec", undefined>, import("@flint.fyi/core").Rule<{
|
|
1408
1411
|
readonly description: "Reports string literals inside character classes with the `v` flag that contain multiple graphemes.";
|
|
1409
1412
|
readonly id: "regexGraphemeStringLiterals";
|
|
1410
1413
|
readonly presets: readonly ["stylisticStrict"];
|
|
1411
1414
|
} & {
|
|
1412
1415
|
readonly pluginId: string;
|
|
1413
1416
|
readonly url: string;
|
|
1414
|
-
}, "multipleGraphemes", undefined>,
|
|
1417
|
+
}, "multipleGraphemes", undefined>, import("@flint.fyi/core").Rule<{
|
|
1415
1418
|
readonly description: "Reports regex character escapes that can be expressed more consistently using hexadecimal escapes.";
|
|
1416
1419
|
readonly id: "regexHexadecimalEscapes";
|
|
1417
1420
|
readonly presets: readonly ["stylisticStrict"];
|
|
1418
1421
|
} & {
|
|
1419
1422
|
readonly pluginId: string;
|
|
1420
1423
|
readonly url: string;
|
|
1421
|
-
}, "preferHexEscape", undefined>,
|
|
1424
|
+
}, "preferHexEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1422
1425
|
readonly description: "Reports regex patterns that can be simplified by using the i (ignore case) flag.";
|
|
1423
1426
|
readonly id: "regexIgnoreCaseFlags";
|
|
1424
1427
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1425
1428
|
} & {
|
|
1426
1429
|
readonly pluginId: string;
|
|
1427
1430
|
readonly url: string;
|
|
1428
|
-
}, "useIgnoreCase", undefined>,
|
|
1431
|
+
}, "useIgnoreCase", undefined>, import("@flint.fyi/core").Rule<{
|
|
1429
1432
|
readonly description: "Reports invisible characters in regex patterns that should use escape sequences instead.";
|
|
1430
1433
|
readonly id: "regexInvisibleCharacters";
|
|
1431
1434
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1432
1435
|
} & {
|
|
1433
1436
|
readonly pluginId: string;
|
|
1434
1437
|
readonly url: string;
|
|
1435
|
-
}, "unexpectedInvisible", undefined>,
|
|
1438
|
+
}, "unexpectedInvisible", undefined>, import("@flint.fyi/core").Rule<{
|
|
1436
1439
|
readonly description: "Reports inconsistent letter casing in regex sequences.";
|
|
1437
1440
|
readonly id: "regexLetterCasing";
|
|
1438
1441
|
readonly presets: readonly ["stylisticStrict"];
|
|
1439
1442
|
} & {
|
|
1440
1443
|
readonly pluginId: string;
|
|
1441
1444
|
readonly url: string;
|
|
1442
|
-
}, "unexpectedCase", undefined>,
|
|
1445
|
+
}, "unexpectedCase", undefined>, import("@flint.fyi/core").Rule<{
|
|
1443
1446
|
readonly description: "Use a regular expression literal when the pattern is static.";
|
|
1444
1447
|
readonly id: "regexLiterals";
|
|
1445
1448
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1446
1449
|
} & {
|
|
1447
1450
|
readonly pluginId: string;
|
|
1448
1451
|
readonly url: string;
|
|
1449
|
-
}, "preferLiteral", undefined>,
|
|
1452
|
+
}, "preferLiteral", undefined>, import("@flint.fyi/core").Rule<{
|
|
1450
1453
|
readonly description: "Reports capturing groups at pattern boundaries that can be replaced with lookaround assertions.";
|
|
1451
1454
|
readonly id: "regexLookaroundAssertions";
|
|
1452
1455
|
readonly presets: readonly ["stylisticStrict"];
|
|
1453
1456
|
} & {
|
|
1454
1457
|
readonly pluginId: string;
|
|
1455
1458
|
readonly url: string;
|
|
1456
|
-
}, "preferLookaround", undefined>,
|
|
1459
|
+
}, "preferLookaround", undefined>, import("@flint.fyi/core").Rule<{
|
|
1457
1460
|
readonly description: "Reports non-constant quantifiers in lookaround assertions that could be simplified.";
|
|
1458
1461
|
readonly id: "regexLookaroundQuantifierOptimizations";
|
|
1459
1462
|
readonly presets: readonly ["logical"];
|
|
1460
1463
|
} & {
|
|
1461
1464
|
readonly pluginId: string;
|
|
1462
1465
|
readonly url: string;
|
|
1463
|
-
}, "replace" | "remove", undefined>,
|
|
1466
|
+
}, "replace" | "remove", undefined>, import("@flint.fyi/core").Rule<{
|
|
1464
1467
|
readonly description: "Reports inconsistent notations for matching any character in regular expressions.";
|
|
1465
1468
|
readonly id: "regexMatchNotation";
|
|
1466
1469
|
readonly presets: readonly ["stylisticStrict"];
|
|
1467
1470
|
} & {
|
|
1468
1471
|
readonly pluginId: string;
|
|
1469
1472
|
readonly url: string;
|
|
1470
|
-
}, "unexpected", undefined>,
|
|
1473
|
+
}, "unexpected", undefined>, import("@flint.fyi/core").Rule<{
|
|
1471
1474
|
readonly description: "Reports capturing groups that capture less text than their pattern suggests.";
|
|
1472
1475
|
readonly id: "regexMisleadingCapturingGroups";
|
|
1473
1476
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1474
1477
|
} & {
|
|
1475
1478
|
readonly pluginId: string;
|
|
1476
1479
|
readonly url: string;
|
|
1477
|
-
}, "misleadingEnd" | "misleadingStart", undefined>,
|
|
1480
|
+
}, "misleadingEnd" | "misleadingStart", undefined>, import("@flint.fyi/core").Rule<{
|
|
1478
1481
|
readonly description: "Reports quantifiers whose minimum implies they must match but whose element can match empty.";
|
|
1479
1482
|
readonly id: "regexMisleadingQuantifiers";
|
|
1480
1483
|
readonly presets: readonly ["logical"];
|
|
1481
1484
|
} & {
|
|
1482
1485
|
readonly pluginId: string;
|
|
1483
1486
|
readonly url: string;
|
|
1484
|
-
}, "confusing", undefined>,
|
|
1487
|
+
}, "confusing", undefined>, import("@flint.fyi/core").Rule<{
|
|
1485
1488
|
readonly description: "Reports characters in regex character classes that appear as single visual characters but are made of multiple code points.";
|
|
1486
1489
|
readonly id: "regexMisleadingUnicodeCharacters";
|
|
1487
1490
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1488
1491
|
} & {
|
|
1489
1492
|
readonly pluginId: string;
|
|
1490
1493
|
readonly url: string;
|
|
1491
|
-
}, "combiningClass" | "emojiModifier" | "regionalIndicatorSymbol" | "surrogatePair" | "surrogatePairWithoutUFlag" | "zwj", undefined>,
|
|
1494
|
+
}, "combiningClass" | "emojiModifier" | "regionalIndicatorSymbol" | "surrogatePair" | "surrogatePairWithoutUFlag" | "zwj", undefined>, import("@flint.fyi/core").Rule<{
|
|
1492
1495
|
readonly description: "Reports backreferences that do not use the name of their referenced capturing group.";
|
|
1493
1496
|
readonly id: "regexNamedBackreferences";
|
|
1494
1497
|
readonly presets: readonly ["stylisticStrict"];
|
|
1495
1498
|
} & {
|
|
1496
1499
|
readonly pluginId: string;
|
|
1497
1500
|
readonly url: string;
|
|
1498
|
-
}, "preferNamed", undefined>,
|
|
1501
|
+
}, "preferNamed", undefined>, import("@flint.fyi/core").Rule<{
|
|
1499
1502
|
readonly description: "Reports capturing groups in regular expressions that do not have a name.";
|
|
1500
1503
|
readonly id: "regexNamedCaptureGroups";
|
|
1501
1504
|
} & {
|
|
1502
1505
|
readonly pluginId: string;
|
|
1503
1506
|
readonly url: string;
|
|
1504
|
-
}, "preferNamed", undefined>,
|
|
1507
|
+
}, "preferNamed", undefined>, import("@flint.fyi/core").Rule<{
|
|
1505
1508
|
readonly description: "Reports indexed references in replacement strings that should use named references.";
|
|
1506
1509
|
readonly id: "regexNamedReplacements";
|
|
1507
1510
|
readonly presets: readonly ["stylisticStrict"];
|
|
1508
1511
|
} & {
|
|
1509
1512
|
readonly pluginId: string;
|
|
1510
1513
|
readonly url: string;
|
|
1511
|
-
}, "preferNamed", undefined>,
|
|
1514
|
+
}, "preferNamed", undefined>, import("@flint.fyi/core").Rule<{
|
|
1512
1515
|
readonly description: "Reports non-standard regular expression flags.";
|
|
1513
1516
|
readonly id: "regexNonStandardFlags";
|
|
1514
1517
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1515
1518
|
} & {
|
|
1516
1519
|
readonly pluginId: string;
|
|
1517
1520
|
readonly url: string;
|
|
1518
|
-
}, "unexpected", undefined>,
|
|
1521
|
+
}, "unexpected", undefined>, import("@flint.fyi/core").Rule<{
|
|
1519
1522
|
readonly description: "Reports obscure character ranges in regular expressions.";
|
|
1520
1523
|
readonly id: "regexObscureRanges";
|
|
1521
1524
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1522
1525
|
} & {
|
|
1523
1526
|
readonly pluginId: string;
|
|
1524
1527
|
readonly url: string;
|
|
1525
|
-
}, "obscure", undefined>,
|
|
1528
|
+
}, "obscure", undefined>, import("@flint.fyi/core").Rule<{
|
|
1526
1529
|
readonly description: "Reports octal escape sequences in regular expressions.";
|
|
1527
1530
|
readonly id: "regexOctalEscapes";
|
|
1528
1531
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1529
1532
|
} & {
|
|
1530
1533
|
readonly pluginId: string;
|
|
1531
1534
|
readonly url: string;
|
|
1532
|
-
}, "unexpected", undefined>,
|
|
1535
|
+
}, "unexpected", undefined>, import("@flint.fyi/core").Rule<{
|
|
1533
1536
|
readonly description: "Reports quantifiers `{1,}` in regular expressions that should use `+` instead.";
|
|
1534
1537
|
readonly id: "regexPlusQuantifiers";
|
|
1535
1538
|
readonly presets: readonly ["stylisticStrict"];
|
|
1536
1539
|
} & {
|
|
1537
1540
|
readonly pluginId: string;
|
|
1538
1541
|
readonly url: string;
|
|
1539
|
-
}, "preferPlus", undefined>,
|
|
1542
|
+
}, "preferPlus", undefined>, import("@flint.fyi/core").Rule<{
|
|
1540
1543
|
readonly description: "Reports regex lookarounds that can be replaced with predefined assertions.";
|
|
1541
1544
|
readonly id: "regexPredefinedAssertions";
|
|
1542
1545
|
readonly presets: readonly ["stylistic"];
|
|
1543
1546
|
} & {
|
|
1544
1547
|
readonly pluginId: string;
|
|
1545
1548
|
readonly url: string;
|
|
1546
|
-
}, "preferPredefinedAssertion", undefined>,
|
|
1549
|
+
}, "preferPredefinedAssertion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1547
1550
|
readonly description: "Reports quantifiers `{0,1}` in regular expressions that should use `?` instead.";
|
|
1548
1551
|
readonly id: "regexQuestionQuantifiers";
|
|
1549
1552
|
readonly presets: readonly ["stylisticStrict"];
|
|
1550
1553
|
} & {
|
|
1551
1554
|
readonly pluginId: string;
|
|
1552
1555
|
readonly url: string;
|
|
1553
|
-
}, "preferOptionalGroup" | "preferQuestion", undefined>,
|
|
1556
|
+
}, "preferOptionalGroup" | "preferQuestion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1554
1557
|
readonly description: "Reports consecutive identical elements in regular expressions that should use quantifiers.";
|
|
1555
1558
|
readonly id: "regexRepeatQuantifiers";
|
|
1556
1559
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1557
1560
|
} & {
|
|
1558
1561
|
readonly pluginId: string;
|
|
1559
1562
|
readonly url: string;
|
|
1560
|
-
}, "preferQuantifier", undefined>,
|
|
1563
|
+
}, "preferQuantifier", undefined>, import("@flint.fyi/core").Rule<{
|
|
1561
1564
|
readonly description: "Reports indexed access on regex result arrays when named capturing groups should be used.";
|
|
1562
1565
|
readonly id: "regexResultArrayGroups";
|
|
1563
1566
|
readonly presets: readonly ["stylisticStrict"];
|
|
1564
1567
|
} & {
|
|
1565
1568
|
readonly pluginId: string;
|
|
1566
1569
|
readonly url: string;
|
|
1567
|
-
}, "preferGroups", undefined>,
|
|
1570
|
+
}, "preferGroups", undefined>, import("@flint.fyi/core").Rule<{
|
|
1568
1571
|
readonly description: "Reports set operations in regular expressions that can be simplified.";
|
|
1569
1572
|
readonly id: "regexSetOperationOptimizations";
|
|
1570
1573
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1571
1574
|
} & {
|
|
1572
1575
|
readonly pluginId: string;
|
|
1573
1576
|
readonly url: string;
|
|
1574
|
-
}, "toIntersection" | "toNegationOfConjunction" | "toNegationOfDisjunction" | "toSubtraction", undefined>,
|
|
1577
|
+
}, "toIntersection" | "toNegationOfConjunction" | "toNegationOfDisjunction" | "toSubtraction", undefined>, import("@flint.fyi/core").Rule<{
|
|
1575
1578
|
readonly description: "Reports standalone backslashes in regex patterns that look like incomplete escape sequences.";
|
|
1576
1579
|
readonly id: "regexStandaloneBackslashes";
|
|
1577
1580
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1578
1581
|
} & {
|
|
1579
1582
|
readonly pluginId: string;
|
|
1580
1583
|
readonly url: string;
|
|
1581
|
-
}, "standaloneBackslash", undefined>,
|
|
1584
|
+
}, "standaloneBackslash", undefined>, import("@flint.fyi/core").Rule<{
|
|
1582
1585
|
readonly description: "Reports quantifiers `{0,}` in regular expressions that should use `*` instead.";
|
|
1583
1586
|
readonly id: "regexStarQuantifiers";
|
|
1584
1587
|
readonly presets: readonly ["stylisticStrict"];
|
|
1585
1588
|
} & {
|
|
1586
1589
|
readonly pluginId: string;
|
|
1587
1590
|
readonly url: string;
|
|
1588
|
-
}, "preferStar", undefined>,
|
|
1591
|
+
}, "preferStar", undefined>, import("@flint.fyi/core").Rule<{
|
|
1589
1592
|
readonly description: "Reports regular expressions with exponential or polynomial backtracking.";
|
|
1590
1593
|
readonly id: "regexSuperLinearBacktracking";
|
|
1591
1594
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1592
1595
|
} & {
|
|
1593
1596
|
readonly pluginId: string;
|
|
1594
1597
|
readonly url: string;
|
|
1595
|
-
}, "self" | "trade", undefined>,
|
|
1598
|
+
}, "self" | "trade", undefined>, import("@flint.fyi/core").Rule<{
|
|
1596
1599
|
readonly description: "Reports quantifiers that can cause quadratic regex matching time.";
|
|
1597
1600
|
readonly id: "regexSuperLinearMoves";
|
|
1598
1601
|
readonly presets: readonly ["logical"];
|
|
1599
1602
|
} & {
|
|
1600
1603
|
readonly pluginId: string;
|
|
1601
1604
|
readonly url: string;
|
|
1602
|
-
}, "superLinear", undefined>,
|
|
1605
|
+
}, "superLinear", undefined>, import("@flint.fyi/core").Rule<{
|
|
1603
1606
|
readonly description: "Reports match() and exec() calls that should use RegExp.prototype.test() for boolean checks.";
|
|
1604
1607
|
readonly id: "regexTestMethods";
|
|
1605
1608
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1606
1609
|
} & {
|
|
1607
1610
|
readonly pluginId: string;
|
|
1608
1611
|
readonly url: string;
|
|
1609
|
-
}, "preferTest", undefined>,
|
|
1612
|
+
}, "preferTest", undefined>, import("@flint.fyi/core").Rule<{
|
|
1610
1613
|
readonly description: "Reports surrogate pair escapes in regular expressions that can be replaced with Unicode codepoint escapes.";
|
|
1611
1614
|
readonly id: "regexUnicodeCodepointEscapes";
|
|
1612
1615
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1613
1616
|
} & {
|
|
1614
1617
|
readonly pluginId: string;
|
|
1615
1618
|
readonly url: string;
|
|
1616
|
-
}, "useSurrogatePair", undefined>,
|
|
1619
|
+
}, "useSurrogatePair", undefined>, import("@flint.fyi/core").Rule<{
|
|
1617
1620
|
readonly description: "Enforces consistent Unicode escape style in regex patterns by preferring codepoint escapes.";
|
|
1618
1621
|
readonly id: "regexUnicodeEscapes";
|
|
1619
1622
|
} & {
|
|
1620
1623
|
readonly pluginId: string;
|
|
1621
1624
|
readonly url: string;
|
|
1622
|
-
}, "preferCodepointEscape", undefined>,
|
|
1625
|
+
}, "preferCodepointEscape", undefined>, import("@flint.fyi/core").Rule<{
|
|
1623
1626
|
readonly description: "Require regex patterns to have the unicode ('u') or unicodeSets ('v') flag for proper Unicode character handling.";
|
|
1624
1627
|
readonly id: "regexUnicodeFlag";
|
|
1625
1628
|
} & {
|
|
1626
1629
|
readonly pluginId: string;
|
|
1627
1630
|
readonly url: string;
|
|
1628
|
-
}, "missing", undefined>,
|
|
1631
|
+
}, "missing", undefined>, import("@flint.fyi/core").Rule<{
|
|
1629
1632
|
readonly description: "Reports inconsistent Unicode property names in regular expressions.";
|
|
1630
1633
|
readonly id: "regexUnicodeProperties";
|
|
1631
1634
|
readonly presets: readonly ["stylistic"];
|
|
1632
1635
|
} & {
|
|
1633
1636
|
readonly pluginId: string;
|
|
1634
1637
|
readonly url: string;
|
|
1635
|
-
}, "preferLongScript" | "unnecessaryPrefix", undefined>,
|
|
1638
|
+
}, "preferLongScript" | "unnecessaryPrefix", undefined>, import("@flint.fyi/core").Rule<{
|
|
1636
1639
|
readonly description: "Reports assertions in regular expressions that always reject.";
|
|
1637
1640
|
readonly id: "regexUnnecessaryAssertions";
|
|
1638
1641
|
readonly presets: readonly ["logical"];
|
|
1639
1642
|
} & {
|
|
1640
1643
|
readonly pluginId: string;
|
|
1641
1644
|
readonly url: string;
|
|
1642
|
-
}, "endAnchor" | "negatedWordBoundary" | "startAnchor" | "wordBoundary", undefined>,
|
|
1645
|
+
}, "endAnchor" | "negatedWordBoundary" | "startAnchor" | "wordBoundary", undefined>, import("@flint.fyi/core").Rule<{
|
|
1643
1646
|
readonly description: "Reports backreferences in regular expressions that will always match empty or fail.";
|
|
1644
1647
|
readonly id: "regexUnnecessaryBackreferences";
|
|
1645
1648
|
readonly presets: readonly ["logical"];
|
|
1646
1649
|
} & {
|
|
1647
1650
|
readonly pluginId: string;
|
|
1648
1651
|
readonly url: string;
|
|
1649
|
-
}, "nested" | "disjunctive" | "intoNegativeLookaround" | "forward" | "backward", undefined>,
|
|
1652
|
+
}, "nested" | "disjunctive" | "intoNegativeLookaround" | "forward" | "backward", undefined>, import("@flint.fyi/core").Rule<{
|
|
1650
1653
|
readonly description: "Reports character classes that wrap a single element that does not require brackets.";
|
|
1651
1654
|
readonly id: "regexUnnecessaryCharacterClasses";
|
|
1652
1655
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1653
1656
|
} & {
|
|
1654
1657
|
readonly pluginId: string;
|
|
1655
1658
|
readonly url: string;
|
|
1656
|
-
}, "unnecessary", undefined>,
|
|
1659
|
+
}, "unnecessary", undefined>, import("@flint.fyi/core").Rule<{
|
|
1657
1660
|
readonly description: "Reports character class ranges that span only one or two characters.";
|
|
1658
1661
|
readonly id: "regexUnnecessaryCharacterRanges";
|
|
1659
1662
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1660
1663
|
} & {
|
|
1661
1664
|
readonly pluginId: string;
|
|
1662
1665
|
readonly url: string;
|
|
1663
|
-
}, "adjacent" | "identity", undefined>,
|
|
1666
|
+
}, "adjacent" | "identity", undefined>, import("@flint.fyi/core").Rule<{
|
|
1664
1667
|
readonly description: "Reports single-character alternatives in string disjunctions.";
|
|
1665
1668
|
readonly id: "regexUnnecessaryDisjunctions";
|
|
1666
1669
|
readonly presets: readonly ["logical"];
|
|
1667
1670
|
} & {
|
|
1668
1671
|
readonly pluginId: string;
|
|
1669
1672
|
readonly url: string;
|
|
1670
|
-
}, "unnecessary", undefined>,
|
|
1673
|
+
}, "unnecessary", undefined>, import("@flint.fyi/core").Rule<{
|
|
1671
1674
|
readonly description: "Reports replacement string references to capturing groups that do not exist in the pattern.";
|
|
1672
1675
|
readonly id: "regexUnnecessaryDollarReplacements";
|
|
1673
1676
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1674
1677
|
} & {
|
|
1675
1678
|
readonly pluginId: string;
|
|
1676
1679
|
readonly url: string;
|
|
1677
|
-
}, "namedNotFound" | "numericNotFound", undefined>,
|
|
1680
|
+
}, "namedNotFound" | "numericNotFound", undefined>, import("@flint.fyi/core").Rule<{
|
|
1678
1681
|
readonly description: "Reports unnecessary escape sequences in regular expressions.";
|
|
1679
1682
|
readonly id: "regexUnnecessaryEscapes";
|
|
1680
1683
|
readonly presets: readonly ["stylistic"];
|
|
1681
1684
|
} & {
|
|
1682
1685
|
readonly pluginId: string;
|
|
1683
1686
|
readonly url: string;
|
|
1684
|
-
}, "unnecessary", undefined>,
|
|
1687
|
+
}, "unnecessary", undefined>, import("@flint.fyi/core").Rule<{
|
|
1685
1688
|
readonly description: "Reports unnecessary nested lookaround assertions in regular expressions.";
|
|
1686
1689
|
readonly id: "regexUnnecessaryLookaroundAssertions";
|
|
1687
1690
|
readonly presets: readonly ["logical"];
|
|
1688
1691
|
} & {
|
|
1689
1692
|
readonly pluginId: string;
|
|
1690
1693
|
readonly url: string;
|
|
1691
|
-
}, "lookahead" | "lookbehind", undefined>,
|
|
1694
|
+
}, "lookahead" | "lookbehind", undefined>, import("@flint.fyi/core").Rule<{
|
|
1692
1695
|
readonly description: "Reports trivially nested assertions in regular expressions that can be simplified.";
|
|
1693
1696
|
readonly id: "regexUnnecessaryNestedAssertions";
|
|
1694
1697
|
readonly presets: readonly ["logical"];
|
|
1695
1698
|
} & {
|
|
1696
1699
|
readonly pluginId: string;
|
|
1697
1700
|
readonly url: string;
|
|
1698
|
-
}, "unnecessaryNesting", undefined>,
|
|
1701
|
+
}, "unnecessaryNesting", undefined>, import("@flint.fyi/core").Rule<{
|
|
1699
1702
|
readonly description: "Reports trivially nested quantifiers in regular expressions that can be simplified.";
|
|
1700
1703
|
readonly id: "regexUnnecessaryNestedQuantifiers";
|
|
1701
1704
|
readonly presets: readonly ["logical"];
|
|
1702
1705
|
} & {
|
|
1703
1706
|
readonly pluginId: string;
|
|
1704
1707
|
readonly url: string;
|
|
1705
|
-
}, "unnecessaryNestedQuantifiers", undefined>,
|
|
1708
|
+
}, "unnecessaryNestedQuantifiers", undefined>, import("@flint.fyi/core").Rule<{
|
|
1706
1709
|
readonly description: "Reports non-capturing groups that can be removed without changing the meaning of the regex.";
|
|
1707
1710
|
readonly id: "regexUnnecessaryNonCapturingGroups";
|
|
1708
1711
|
readonly presets: readonly ["stylistic"];
|
|
1709
1712
|
} & {
|
|
1710
1713
|
readonly pluginId: string;
|
|
1711
1714
|
readonly url: string;
|
|
1712
|
-
}, "unnecessaryGroup", undefined>,
|
|
1715
|
+
}, "unnecessaryGroup", undefined>, import("@flint.fyi/core").Rule<{
|
|
1713
1716
|
readonly description: "Reports numeric quantifiers like '{n,n}' that can be simplified to '{n}'.";
|
|
1714
1717
|
readonly id: "regexUnnecessaryNumericQuantifiers";
|
|
1715
1718
|
readonly presets: readonly ["logical"];
|
|
1716
1719
|
} & {
|
|
1717
1720
|
readonly pluginId: string;
|
|
1718
1721
|
readonly url: string;
|
|
1719
|
-
}, "unnecessaryNumericQuantifier", undefined>,
|
|
1722
|
+
}, "unnecessaryNumericQuantifier", undefined>, import("@flint.fyi/core").Rule<{
|
|
1720
1723
|
readonly description: "Reports assertions inside optional quantifiers that have no effect.";
|
|
1721
1724
|
readonly id: "regexUnnecessaryOptionalAssertions";
|
|
1722
1725
|
readonly presets: readonly ["logical"];
|
|
1723
1726
|
} & {
|
|
1724
1727
|
readonly pluginId: string;
|
|
1725
1728
|
readonly url: string;
|
|
1726
|
-
}, "unnecessaryOptionalAssertion", undefined>,
|
|
1729
|
+
}, "unnecessaryOptionalAssertion", undefined>, import("@flint.fyi/core").Rule<{
|
|
1727
1730
|
readonly description: "Reports backreferences that may reference a capturing group that was not matched.";
|
|
1728
1731
|
readonly id: "regexUnnecessaryReferentialBackreferences";
|
|
1729
1732
|
readonly presets: readonly ["logical"];
|
|
1730
1733
|
} & {
|
|
1731
1734
|
readonly pluginId: string;
|
|
1732
1735
|
readonly url: string;
|
|
1733
|
-
}, "potentiallyUselessBackref", undefined>,
|
|
1736
|
+
}, "potentiallyUselessBackref", undefined>, import("@flint.fyi/core").Rule<{
|
|
1734
1737
|
readonly description: "Reports unnecessary operands in regular expression character class set operations.";
|
|
1735
1738
|
readonly id: "regexUnnecessarySetOperands";
|
|
1736
1739
|
readonly presets: readonly ["logical"];
|
|
1737
1740
|
} & {
|
|
1738
1741
|
readonly pluginId: string;
|
|
1739
1742
|
readonly url: string;
|
|
1740
|
-
}, "intersectionDisjoint" | "intersectionSubset" | "subtractionDisjoint" | "subtractionSubset", undefined>,
|
|
1743
|
+
}, "intersectionDisjoint" | "intersectionSubset" | "subtractionDisjoint" | "subtractionSubset", undefined>, import("@flint.fyi/core").Rule<{
|
|
1741
1744
|
readonly description: "Reports capturing groups in regular expressions that are never referenced.";
|
|
1742
1745
|
readonly id: "regexUnusedCapturingGroups";
|
|
1743
1746
|
readonly presets: readonly ["logical"];
|
|
1744
1747
|
} & {
|
|
1745
1748
|
readonly pluginId: string;
|
|
1746
1749
|
readonly url: string;
|
|
1747
|
-
}, "unusedCapture", undefined>,
|
|
1750
|
+
}, "unusedCapture", undefined>, import("@flint.fyi/core").Rule<{
|
|
1748
1751
|
readonly description: "Reports regular expression flags that have no effect on the pattern.";
|
|
1749
1752
|
readonly id: "regexUnusedFlags";
|
|
1750
1753
|
readonly presets: readonly ["logical"];
|
|
1751
1754
|
} & {
|
|
1752
1755
|
readonly pluginId: string;
|
|
1753
1756
|
readonly url: string;
|
|
1754
|
-
}, "unusedDotAll" | "unusedIgnoreCase" | "unusedMultiline", undefined>,
|
|
1757
|
+
}, "unusedDotAll" | "unusedIgnoreCase" | "unusedMultiline", undefined>, import("@flint.fyi/core").Rule<{
|
|
1755
1758
|
readonly description: "Reports lazy quantifiers that have no effect because the quantifier is constant.";
|
|
1756
1759
|
readonly id: "regexUnusedLazyQuantifiers";
|
|
1757
1760
|
readonly presets: readonly ["logical"];
|
|
1758
1761
|
} & {
|
|
1759
1762
|
readonly pluginId: string;
|
|
1760
1763
|
readonly url: string;
|
|
1761
|
-
}, "uselessLazy", undefined>,
|
|
1764
|
+
}, "uselessLazy", undefined>, import("@flint.fyi/core").Rule<{
|
|
1762
1765
|
readonly description: "Reports quantifiers that match exactly once, making them unnecessary.";
|
|
1763
1766
|
readonly id: "regexUnusedQuantifiers";
|
|
1764
1767
|
readonly presets: readonly ["logical"];
|
|
1765
1768
|
} & {
|
|
1766
1769
|
readonly pluginId: string;
|
|
1767
1770
|
readonly url: string;
|
|
1768
|
-
}, "uselessQuantifier", undefined>,
|
|
1771
|
+
}, "uselessQuantifier", undefined>, import("@flint.fyi/core").Rule<{
|
|
1769
1772
|
readonly description: "Reports invalid regular expressions.";
|
|
1770
1773
|
readonly id: "regexValidity";
|
|
1771
1774
|
readonly presets: readonly ["logical"];
|
|
1772
1775
|
} & {
|
|
1773
1776
|
readonly pluginId: string;
|
|
1774
1777
|
readonly url: string;
|
|
1775
|
-
}, "conflictingFlags" | "duplicateFlag" | "invalidFlag" | "invalidPattern", undefined>,
|
|
1778
|
+
}, "conflictingFlags" | "duplicateFlag" | "invalidFlag" | "invalidPattern", undefined>, import("@flint.fyi/core").Rule<{
|
|
1776
1779
|
readonly description: "Reports character classes that match word characters and could use \\w or \\W instead.";
|
|
1777
1780
|
readonly id: "regexWordMatchers";
|
|
1778
1781
|
readonly presets: readonly ["stylisticStrict"];
|
|
1779
1782
|
} & {
|
|
1780
1783
|
readonly pluginId: string;
|
|
1781
1784
|
readonly url: string;
|
|
1782
|
-
}, "preferWord", undefined>,
|
|
1785
|
+
}, "preferWord", undefined>, import("@flint.fyi/core").Rule<{
|
|
1783
1786
|
readonly description: "Reports quantifiers with a maximum of zero, which are useless.";
|
|
1784
1787
|
readonly id: "regexZeroQuantifiers";
|
|
1785
1788
|
readonly presets: readonly ["logical"];
|
|
1786
1789
|
} & {
|
|
1787
1790
|
readonly pluginId: string;
|
|
1788
1791
|
readonly url: string;
|
|
1789
|
-
}, "uselessZero", undefined>,
|
|
1792
|
+
}, "uselessZero", undefined>, import("@flint.fyi/core").Rule<{
|
|
1790
1793
|
readonly description: "Reports CommonJS require() imports in favor of ES module imports.";
|
|
1791
1794
|
readonly id: "requireImports";
|
|
1792
1795
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1793
1796
|
} & {
|
|
1794
1797
|
readonly pluginId: string;
|
|
1795
1798
|
readonly url: string;
|
|
1796
|
-
}, "noRequireImports", undefined>,
|
|
1799
|
+
}, "noRequireImports", undefined>, import("@flint.fyi/core").Rule<{
|
|
1797
1800
|
readonly description: "Reports CommonJS require() imports in favor of ES module imports.";
|
|
1798
1801
|
readonly id: "requireImports";
|
|
1799
1802
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1800
1803
|
} & {
|
|
1801
1804
|
readonly pluginId: string;
|
|
1802
1805
|
readonly url: string;
|
|
1803
|
-
}, "noRequireImports", undefined>,
|
|
1806
|
+
}, "noRequireImports", undefined>, import("@flint.fyi/core").Rule<{
|
|
1804
1807
|
readonly description: "Prefer `Response.json()` over `new Response(JSON.stringify(...))` for JSON responses.";
|
|
1805
1808
|
readonly id: "responseJsonMethods";
|
|
1806
1809
|
readonly presets: readonly ["stylistic"];
|
|
1807
1810
|
} & {
|
|
1808
1811
|
readonly pluginId: string;
|
|
1809
1812
|
readonly url: string;
|
|
1810
|
-
}, "preferResponseJson", undefined>,
|
|
1813
|
+
}, "preferResponseJson", undefined>, import("@flint.fyi/core").Rule<{
|
|
1811
1814
|
readonly description: "Disallows specific identifier names in binding positions.";
|
|
1812
1815
|
readonly id: "restrictedIdentifiers";
|
|
1813
1816
|
readonly presets: readonly ["stylisticStrict"];
|
|
@@ -1815,64 +1818,87 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
1815
1818
|
readonly pluginId: string;
|
|
1816
1819
|
readonly url: string;
|
|
1817
1820
|
}, "restricted", {
|
|
1818
|
-
deny:
|
|
1819
|
-
}>,
|
|
1821
|
+
deny: import("zod/v4").ZodOptional<import("zod/v4").ZodArray<import("zod/v4").ZodString>>;
|
|
1822
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1823
|
+
readonly description: "Restricts specified modules from being imported.";
|
|
1824
|
+
readonly id: "restrictedImports";
|
|
1825
|
+
} & {
|
|
1826
|
+
readonly pluginId: string;
|
|
1827
|
+
readonly url: string;
|
|
1828
|
+
}, "restricted" | "moduleRestricted" | "moduleRestrictedWithMessage" | "namespaceRestricted" | "namespaceRestrictedWithMessage" | "restrictedWithMessage", {
|
|
1829
|
+
restrictions: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
1830
|
+
allowTypeImports: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
|
|
1831
|
+
message: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
1832
|
+
specifier: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodObject<{
|
|
1833
|
+
from: import("zod/v4").ZodLiteral<"file">;
|
|
1834
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodArray<import("zod/v4").ZodString>]>>;
|
|
1835
|
+
path: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
1836
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
|
|
1837
|
+
from: import("zod/v4").ZodLiteral<"lib">;
|
|
1838
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodArray<import("zod/v4").ZodString>]>>;
|
|
1839
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
|
|
1840
|
+
from: import("zod/v4").ZodLiteral<"package">;
|
|
1841
|
+
name: import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodArray<import("zod/v4").ZodString>]>>;
|
|
1842
|
+
package: import("zod/v4").ZodString;
|
|
1843
|
+
}, import("zod/v4/core").$strip>]>;
|
|
1844
|
+
}, import("zod/v4/core").$strip>>>;
|
|
1845
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1820
1846
|
readonly description: "Reports using assignment expressions in return statements.";
|
|
1821
1847
|
readonly id: "returnAssignments";
|
|
1822
1848
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1823
1849
|
} & {
|
|
1824
1850
|
readonly pluginId: string;
|
|
1825
1851
|
readonly url: string;
|
|
1826
|
-
}, "noReturnAssign", undefined>,
|
|
1852
|
+
}, "noReturnAssign", undefined>, import("@flint.fyi/core").Rule<{
|
|
1827
1853
|
readonly description: "Enforce that `this` is used when only `this` type is returned.";
|
|
1828
1854
|
readonly id: "returnThisTypes";
|
|
1829
1855
|
readonly presets: readonly ["logical"];
|
|
1830
1856
|
} & {
|
|
1831
1857
|
readonly pluginId: string;
|
|
1832
1858
|
readonly url: string;
|
|
1833
|
-
}, "preferThis", undefined>,
|
|
1859
|
+
}, "preferThis", undefined>, import("@flint.fyi/core").Rule<{
|
|
1834
1860
|
readonly description: "Reports self-assignments which have no effect and are likely errors.";
|
|
1835
1861
|
readonly id: "selfAssignments";
|
|
1836
1862
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1837
1863
|
} & {
|
|
1838
1864
|
readonly pluginId: string;
|
|
1839
1865
|
readonly url: string;
|
|
1840
|
-
}, "selfAssignment", undefined>,
|
|
1866
|
+
}, "selfAssignment", undefined>, import("@flint.fyi/core").Rule<{
|
|
1841
1867
|
readonly description: "Reports using the comma operator in expressions.";
|
|
1842
1868
|
readonly id: "sequences";
|
|
1843
1869
|
readonly presets: readonly ["javascript"];
|
|
1844
1870
|
} & {
|
|
1845
1871
|
readonly pluginId: string;
|
|
1846
1872
|
readonly url: string;
|
|
1847
|
-
}, "noSequences", undefined>,
|
|
1873
|
+
}, "noSequences", undefined>, import("@flint.fyi/core").Rule<{
|
|
1848
1874
|
readonly description: "Prefer `Set.size` over spreading into an array and accessing `.length`.";
|
|
1849
1875
|
readonly id: "setSizeLengthChecks";
|
|
1850
1876
|
readonly presets: readonly ["logical"];
|
|
1851
1877
|
} & {
|
|
1852
1878
|
readonly pluginId: string;
|
|
1853
1879
|
readonly url: string;
|
|
1854
|
-
}, "preferSize", undefined>,
|
|
1880
|
+
}, "preferSize", undefined>, import("@flint.fyi/core").Rule<{
|
|
1855
1881
|
readonly description: "Reports return statements with values inside setters.";
|
|
1856
1882
|
readonly id: "setterReturns";
|
|
1857
1883
|
readonly presets: readonly ["javascript"];
|
|
1858
1884
|
} & {
|
|
1859
1885
|
readonly pluginId: string;
|
|
1860
1886
|
readonly url: string;
|
|
1861
|
-
}, "noSetterReturn", undefined>,
|
|
1887
|
+
}, "noSetterReturn", undefined>, import("@flint.fyi/core").Rule<{
|
|
1862
1888
|
readonly description: "Reports variable declarations that shadow JavaScript's restricted names.";
|
|
1863
1889
|
readonly id: "shadowedRestrictedNames";
|
|
1864
1890
|
readonly presets: readonly ["javascript"];
|
|
1865
1891
|
} & {
|
|
1866
1892
|
readonly pluginId: string;
|
|
1867
1893
|
readonly url: string;
|
|
1868
|
-
}, "shadowedRestrictedName", undefined>,
|
|
1894
|
+
}, "shadowedRestrictedName", undefined>, import("@flint.fyi/core").Rule<{
|
|
1869
1895
|
readonly description: "Enforces one variable per declaration statement.";
|
|
1870
1896
|
readonly id: "singleVariableDeclarations";
|
|
1871
1897
|
readonly presets: readonly ["logical"];
|
|
1872
1898
|
} & {
|
|
1873
1899
|
readonly pluginId: string;
|
|
1874
1900
|
readonly url: string;
|
|
1875
|
-
}, "singleVariable", undefined>,
|
|
1901
|
+
}, "singleVariable", undefined>, import("@flint.fyi/core").Rule<{
|
|
1876
1902
|
readonly description: "Enforce consistent style for `.length` and `.size` checks.";
|
|
1877
1903
|
readonly id: "sizeComparisonOperators";
|
|
1878
1904
|
readonly presets: readonly ["stylisticStrict"];
|
|
@@ -1880,109 +1906,109 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
1880
1906
|
readonly pluginId: string;
|
|
1881
1907
|
readonly url: string;
|
|
1882
1908
|
}, "coercionNonZeroCheck" | "coercionZeroCheck" | "explicitNonZeroCheck" | "explicitZeroCheck", {
|
|
1883
|
-
style:
|
|
1909
|
+
style: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
1884
1910
|
coercion: "coercion";
|
|
1885
1911
|
explicit: "explicit";
|
|
1886
1912
|
}>>;
|
|
1887
|
-
}>,
|
|
1913
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
1888
1914
|
readonly description: "Reports array literals with holes (sparse arrays).";
|
|
1889
1915
|
readonly id: "sparseArrays";
|
|
1890
1916
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
1891
1917
|
} & {
|
|
1892
1918
|
readonly pluginId: string;
|
|
1893
1919
|
readonly url: string;
|
|
1894
|
-
}, "noSparseArray", undefined>,
|
|
1920
|
+
}, "noSparseArray", undefined>, import("@flint.fyi/core").Rule<{
|
|
1895
1921
|
readonly description: "Reports classes that only contain static members.";
|
|
1896
1922
|
readonly id: "staticMemberOnlyClasses";
|
|
1897
1923
|
readonly presets: readonly ["logicalStrict"];
|
|
1898
1924
|
} & {
|
|
1899
1925
|
readonly pluginId: string;
|
|
1900
1926
|
readonly url: string;
|
|
1901
|
-
}, "noStaticOnlyClass", undefined>,
|
|
1927
|
+
}, "noStaticOnlyClass", undefined>, import("@flint.fyi/core").Rule<{
|
|
1902
1928
|
readonly description: "Reports string case method calls compared against literals with mismatched casing.";
|
|
1903
1929
|
readonly id: "stringCaseMismatches";
|
|
1904
1930
|
readonly presets: readonly ["logical"];
|
|
1905
1931
|
} & {
|
|
1906
1932
|
readonly pluginId: string;
|
|
1907
1933
|
readonly url: string;
|
|
1908
|
-
}, "mismatch", undefined>,
|
|
1934
|
+
}, "mismatch", undefined>, import("@flint.fyi/core").Rule<{
|
|
1909
1935
|
readonly description: "Reports usage of charCodeAt and fromCharCode instead of their codePoint equivalents.";
|
|
1910
1936
|
readonly id: "stringCodePoints";
|
|
1911
1937
|
readonly presets: readonly ["logical"];
|
|
1912
1938
|
} & {
|
|
1913
1939
|
readonly pluginId: string;
|
|
1914
1940
|
readonly url: string;
|
|
1915
|
-
}, "preferCodePointAt" | "preferFromCodePoint", undefined>,
|
|
1941
|
+
}, "preferCodePointAt" | "preferFromCodePoint", undefined>, import("@flint.fyi/core").Rule<{
|
|
1916
1942
|
readonly description: "Reports usage of `substring` instead of slice for string operations.";
|
|
1917
1943
|
readonly id: "stringSliceMethods";
|
|
1918
1944
|
readonly presets: readonly ["logical"];
|
|
1919
1945
|
} & {
|
|
1920
1946
|
readonly pluginId: string;
|
|
1921
1947
|
readonly url: string;
|
|
1922
|
-
}, "preferSliceOverSubstring", undefined>,
|
|
1948
|
+
}, "preferSliceOverSubstring", undefined>, import("@flint.fyi/core").Rule<{
|
|
1923
1949
|
readonly description: "Reports regex patterns that can be replaced with `endsWith` or `startsWith`.";
|
|
1924
1950
|
readonly id: "stringStartsEndsWith";
|
|
1925
1951
|
readonly presets: readonly ["stylistic"];
|
|
1926
1952
|
} & {
|
|
1927
1953
|
readonly pluginId: string;
|
|
1928
1954
|
readonly url: string;
|
|
1929
|
-
}, "preferEndsWith" | "preferStartsWith", undefined>,
|
|
1955
|
+
}, "preferEndsWith" | "preferStartsWith", undefined>, import("@flint.fyi/core").Rule<{
|
|
1930
1956
|
readonly description: "Reports JSON.parse(JSON.stringify()) patterns that can use structuredClone.";
|
|
1931
1957
|
readonly id: "structuredCloneMethods";
|
|
1932
1958
|
readonly presets: readonly ["logical"];
|
|
1933
1959
|
} & {
|
|
1934
1960
|
readonly pluginId: string;
|
|
1935
1961
|
readonly url: string;
|
|
1936
|
-
}, "preferStructuredClone", undefined>,
|
|
1962
|
+
}, "preferStructuredClone", undefined>, import("@flint.fyi/core").Rule<{
|
|
1937
1963
|
readonly description: "Reports Symbol() calls without description arguments.";
|
|
1938
1964
|
readonly id: "symbolDescriptions";
|
|
1939
1965
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
1940
1966
|
} & {
|
|
1941
1967
|
readonly pluginId: string;
|
|
1942
1968
|
readonly url: string;
|
|
1943
|
-
}, "missingDescription", undefined>,
|
|
1969
|
+
}, "missingDescription", undefined>, import("@flint.fyi/core").Rule<{
|
|
1944
1970
|
readonly description: "Reports assigning `this` to a variable.";
|
|
1945
1971
|
readonly id: "thisAliases";
|
|
1946
1972
|
readonly presets: readonly ["logical"];
|
|
1947
1973
|
} & {
|
|
1948
1974
|
readonly pluginId: string;
|
|
1949
1975
|
readonly url: string;
|
|
1950
|
-
}, "noThisAlias", undefined>,
|
|
1976
|
+
}, "noThisAlias", undefined>, import("@flint.fyi/core").Rule<{
|
|
1951
1977
|
readonly description: "Reports using `this` or `super` before calling `super()` in derived class constructors.";
|
|
1952
1978
|
readonly id: "thisBeforeSuper";
|
|
1953
1979
|
readonly presets: readonly ["javascript"];
|
|
1954
1980
|
} & {
|
|
1955
1981
|
readonly pluginId: string;
|
|
1956
1982
|
readonly url: string;
|
|
1957
|
-
}, "thisBeforeSuper" | "superBeforeSuper", undefined>,
|
|
1983
|
+
}, "thisBeforeSuper" | "superBeforeSuper", undefined>, import("@flint.fyi/core").Rule<{
|
|
1958
1984
|
readonly description: "Reports throwing values that are not `Error` objects.";
|
|
1959
1985
|
readonly id: "throwErrors";
|
|
1960
1986
|
readonly presets: readonly ["logical"];
|
|
1961
1987
|
} & {
|
|
1962
1988
|
readonly pluginId: string;
|
|
1963
1989
|
readonly url: string;
|
|
1964
|
-
}, "throwError" | "throwUndefined", undefined>,
|
|
1990
|
+
}, "throwError" | "throwUndefined", undefined>, import("@flint.fyi/core").Rule<{
|
|
1965
1991
|
readonly description: "Reports top-level await expressions in files that export values.";
|
|
1966
1992
|
readonly id: "topLevelAwaits";
|
|
1967
1993
|
readonly presets: readonly ["logicalStrict"];
|
|
1968
1994
|
} & {
|
|
1969
1995
|
readonly pluginId: string;
|
|
1970
1996
|
readonly url: string;
|
|
1971
|
-
}, "topLevelAwait", undefined>,
|
|
1997
|
+
}, "topLevelAwait", undefined>, import("@flint.fyi/core").Rule<{
|
|
1972
1998
|
readonly description: "Reports triple-slash reference directives.";
|
|
1973
1999
|
readonly id: "tripleSlashReferences";
|
|
1974
2000
|
readonly presets: readonly ["logical"];
|
|
1975
2001
|
} & {
|
|
1976
2002
|
readonly pluginId: string;
|
|
1977
2003
|
readonly url: string;
|
|
1978
|
-
}, "noTripleSlashReference", undefined>,
|
|
2004
|
+
}, "noTripleSlashReference", undefined>, import("@flint.fyi/core").Rule<{
|
|
1979
2005
|
readonly description: "Reports invalid triple-slash reference directives.";
|
|
1980
2006
|
readonly id: "tripleSlashReferenceValidity";
|
|
1981
2007
|
readonly presets: readonly ["logical"];
|
|
1982
2008
|
} & {
|
|
1983
2009
|
readonly pluginId: string;
|
|
1984
2010
|
readonly url: string;
|
|
1985
|
-
}, "invalidDirective", undefined>,
|
|
2011
|
+
}, "invalidDirective", undefined>, import("@flint.fyi/core").Rule<{
|
|
1986
2012
|
readonly description: "Reports problematic TypeScript comment directives or requires descriptions after directives.";
|
|
1987
2013
|
readonly id: "tsComments";
|
|
1988
2014
|
readonly presets: readonly ["logical"];
|
|
@@ -1990,31 +2016,31 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
1990
2016
|
readonly pluginId: string;
|
|
1991
2017
|
readonly url: string;
|
|
1992
2018
|
}, "descriptionNotMatchPattern" | "directiveComment" | "preferExpectError" | "requiresDescription", {
|
|
1993
|
-
allowTsExpectError:
|
|
1994
|
-
descriptionFormat:
|
|
1995
|
-
},
|
|
1996
|
-
allowTsIgnore:
|
|
1997
|
-
descriptionFormat:
|
|
1998
|
-
},
|
|
1999
|
-
allowTsNocheck:
|
|
2000
|
-
descriptionFormat:
|
|
2001
|
-
},
|
|
2002
|
-
minimumDescriptionLength:
|
|
2003
|
-
}>,
|
|
2019
|
+
allowTsExpectError: import("zod/v4").ZodDefault<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<true>, import("zod/v4").ZodLiteral<false>, import("zod/v4").ZodLiteral<"allow-with-description">, import("zod/v4").ZodObject<{
|
|
2020
|
+
descriptionFormat: import("zod/v4").ZodString;
|
|
2021
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
2022
|
+
allowTsIgnore: import("zod/v4").ZodDefault<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<true>, import("zod/v4").ZodLiteral<false>, import("zod/v4").ZodLiteral<"allow-with-description">, import("zod/v4").ZodObject<{
|
|
2023
|
+
descriptionFormat: import("zod/v4").ZodString;
|
|
2024
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
2025
|
+
allowTsNocheck: import("zod/v4").ZodDefault<import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodLiteral<true>, import("zod/v4").ZodLiteral<false>, import("zod/v4").ZodLiteral<"allow-with-description">, import("zod/v4").ZodObject<{
|
|
2026
|
+
descriptionFormat: import("zod/v4").ZodString;
|
|
2027
|
+
}, import("zod/v4/core").$strip>]>>;
|
|
2028
|
+
minimumDescriptionLength: import("zod/v4").ZodDefault<import("zod/v4").ZodNumber>;
|
|
2029
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
2004
2030
|
readonly description: "Reports TSLint disable/enable comments.";
|
|
2005
2031
|
readonly id: "tslintComments";
|
|
2006
2032
|
readonly presets: readonly ["logical"];
|
|
2007
2033
|
} & {
|
|
2008
2034
|
readonly pluginId: string;
|
|
2009
2035
|
readonly url: string;
|
|
2010
|
-
}, "tslintComment", undefined>,
|
|
2036
|
+
}, "tslintComment", undefined>, import("@flint.fyi/core").Rule<{
|
|
2011
2037
|
readonly description: "Reports angle-bracket type assertions.";
|
|
2012
2038
|
readonly id: "typeAssertionStyles";
|
|
2013
2039
|
readonly presets: readonly ["stylistic"];
|
|
2014
2040
|
} & {
|
|
2015
2041
|
readonly pluginId: string;
|
|
2016
2042
|
readonly url: string;
|
|
2017
|
-
}, "preferAs", undefined>,
|
|
2043
|
+
}, "preferAs", undefined>, import("@flint.fyi/core").Rule<{
|
|
2018
2044
|
readonly description: "Reports imports that do not match the configured type import style.";
|
|
2019
2045
|
readonly id: "typeImports";
|
|
2020
2046
|
readonly presets: readonly ["stylistic"];
|
|
@@ -2022,162 +2048,162 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
2022
2048
|
readonly pluginId: string;
|
|
2023
2049
|
readonly url: string;
|
|
2024
2050
|
}, "avoidImportType" | "someImportsAreOnlyTypes" | "typeOverValue", {
|
|
2025
|
-
fixStyle:
|
|
2051
|
+
fixStyle: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
2026
2052
|
"inline-type-imports": "inline-type-imports";
|
|
2027
2053
|
"separate-type-imports": "separate-type-imports";
|
|
2028
2054
|
}>>;
|
|
2029
|
-
prefer:
|
|
2055
|
+
prefer: import("zod/v4").ZodDefault<import("zod/v4").ZodEnum<{
|
|
2030
2056
|
"no-type-imports": "no-type-imports";
|
|
2031
2057
|
"type-imports": "type-imports";
|
|
2032
2058
|
}>>;
|
|
2033
|
-
}>,
|
|
2059
|
+
}>, import("@flint.fyi/core").Rule<{
|
|
2034
2060
|
readonly description: "Reports typeof expressions that compare impossible string literals.";
|
|
2035
2061
|
readonly id: "typeofComparisons";
|
|
2036
2062
|
readonly presets: readonly ["javascript"];
|
|
2037
2063
|
} & {
|
|
2038
2064
|
readonly pluginId: string;
|
|
2039
2065
|
readonly url: string;
|
|
2040
|
-
}, "invalidValue", undefined>,
|
|
2066
|
+
}, "invalidValue", undefined>, import("@flint.fyi/core").Rule<{
|
|
2041
2067
|
readonly description: "Reports variables that are declared but never assigned a value.";
|
|
2042
2068
|
readonly id: "unassignedVariables";
|
|
2043
2069
|
readonly presets: readonly ["javascript"];
|
|
2044
2070
|
} & {
|
|
2045
2071
|
readonly pluginId: string;
|
|
2046
2072
|
readonly url: string;
|
|
2047
|
-
}, "noUnassigned", undefined>,
|
|
2073
|
+
}, "noUnassigned", undefined>, import("@flint.fyi/core").Rule<{
|
|
2048
2074
|
readonly description: "Reports typeof undefined checks.";
|
|
2049
2075
|
readonly id: "undefinedTypeofChecks";
|
|
2050
2076
|
readonly presets: readonly ["stylistic"];
|
|
2051
2077
|
} & {
|
|
2052
2078
|
readonly pluginId: string;
|
|
2053
2079
|
readonly url: string;
|
|
2054
|
-
}, "directComparison", undefined>,
|
|
2080
|
+
}, "directComparison", undefined>, import("@flint.fyi/core").Rule<{
|
|
2055
2081
|
readonly description: "Reports using variables that are not defined.";
|
|
2056
2082
|
readonly id: "undefinedVariables";
|
|
2057
2083
|
readonly presets: readonly ["javascript"];
|
|
2058
2084
|
} & {
|
|
2059
2085
|
readonly pluginId: string;
|
|
2060
2086
|
readonly url: string;
|
|
2061
|
-
}, "undefinedVariable", undefined>,
|
|
2087
|
+
}, "undefinedVariable", undefined>, import("@flint.fyi/core").Rule<{
|
|
2062
2088
|
readonly description: "Reports files with Unicode Byte Order Marks (BOMs).";
|
|
2063
2089
|
readonly id: "unicodeBOMs";
|
|
2064
2090
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
2065
2091
|
} & {
|
|
2066
2092
|
readonly pluginId: string;
|
|
2067
2093
|
readonly url: string;
|
|
2068
|
-
}, "noBOM", undefined>,
|
|
2094
|
+
}, "noBOM", undefined>, import("@flint.fyi/core").Rule<{
|
|
2069
2095
|
readonly description: "Reports unnecessary `.bind()` calls.";
|
|
2070
2096
|
readonly id: "unnecessaryBinds";
|
|
2071
2097
|
readonly presets: readonly ["logical"];
|
|
2072
2098
|
} & {
|
|
2073
2099
|
readonly pluginId: string;
|
|
2074
2100
|
readonly url: string;
|
|
2075
|
-
}, "unnecessaryBinds" | "arrowBind", undefined>,
|
|
2101
|
+
}, "unnecessaryBinds" | "arrowBind", undefined>, import("@flint.fyi/core").Rule<{
|
|
2076
2102
|
readonly description: "Reports standalone block statements that don't create a meaningful scope.";
|
|
2077
2103
|
readonly id: "unnecessaryBlocks";
|
|
2078
2104
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
2079
2105
|
} & {
|
|
2080
2106
|
readonly pluginId: string;
|
|
2081
2107
|
readonly url: string;
|
|
2082
|
-
}, "unnecessaryBlock", undefined>,
|
|
2108
|
+
}, "unnecessaryBlock", undefined>, import("@flint.fyi/core").Rule<{
|
|
2083
2109
|
readonly description: "Reports unnecessary boolean casts.";
|
|
2084
2110
|
readonly id: "unnecessaryBooleanCasts";
|
|
2085
2111
|
readonly presets: readonly ["logical"];
|
|
2086
2112
|
} & {
|
|
2087
2113
|
readonly pluginId: string;
|
|
2088
2114
|
readonly url: string;
|
|
2089
|
-
}, "unnecessary", undefined>,
|
|
2115
|
+
}, "unnecessary", undefined>, import("@flint.fyi/core").Rule<{
|
|
2090
2116
|
readonly description: "Reports catch clauses that only rethrow the caught error without modification.";
|
|
2091
2117
|
readonly id: "unnecessaryCatches";
|
|
2092
2118
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
2093
2119
|
} & {
|
|
2094
2120
|
readonly pluginId: string;
|
|
2095
2121
|
readonly url: string;
|
|
2096
|
-
}, "unnecessaryCatch", undefined>,
|
|
2122
|
+
}, "unnecessaryCatch", undefined>, import("@flint.fyi/core").Rule<{
|
|
2097
2123
|
readonly description: "Reports comparisons that are always true, always false, or can be simplified.";
|
|
2098
2124
|
readonly id: "unnecessaryComparisons";
|
|
2099
2125
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
2100
2126
|
} & {
|
|
2101
2127
|
readonly pluginId: string;
|
|
2102
2128
|
readonly url: string;
|
|
2103
|
-
}, "impossibleRange" | "ineffectiveCheck" | "redundantComparison" | "selfComparison", undefined>,
|
|
2129
|
+
}, "impossibleRange" | "ineffectiveCheck" | "redundantComparison" | "selfComparison", undefined>, import("@flint.fyi/core").Rule<{
|
|
2104
2130
|
readonly description: "Reports string concatenation using the + operator when both operands are string literals.";
|
|
2105
2131
|
readonly id: "unnecessaryConcatenation";
|
|
2106
2132
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
2107
2133
|
} & {
|
|
2108
2134
|
readonly pluginId: string;
|
|
2109
2135
|
readonly url: string;
|
|
2110
|
-
}, "unnecessaryConcatenation", undefined>,
|
|
2136
|
+
}, "unnecessaryConcatenation", undefined>, import("@flint.fyi/core").Rule<{
|
|
2111
2137
|
readonly description: "Reports unnecessary escape sequences in string literals and template strings.";
|
|
2112
2138
|
readonly id: "unnecessaryEscapes";
|
|
2113
2139
|
readonly presets: readonly ["stylistic"];
|
|
2114
2140
|
} & {
|
|
2115
2141
|
readonly pluginId: string;
|
|
2116
2142
|
readonly url: string;
|
|
2117
|
-
}, "unnecessary", undefined>,
|
|
2143
|
+
}, "unnecessary", undefined>, import("@flint.fyi/core").Rule<{
|
|
2118
2144
|
readonly description: "Reports unnecessary Math.min and Math.max calls with constant arguments or incorrect clamping patterns.";
|
|
2119
2145
|
readonly id: "unnecessaryMathClamps";
|
|
2120
2146
|
readonly presets: readonly ["logical"];
|
|
2121
2147
|
} & {
|
|
2122
2148
|
readonly pluginId: string;
|
|
2123
2149
|
readonly url: string;
|
|
2124
|
-
}, "constantArguments" | "incorrectClampOrder", undefined>,
|
|
2150
|
+
}, "constantArguments" | "incorrectClampOrder", undefined>, import("@flint.fyi/core").Rule<{
|
|
2125
2151
|
readonly description: "Reports numeric literals with unnecessary zero fractions or dangling dots.";
|
|
2126
2152
|
readonly id: "unnecessaryNumericFractions";
|
|
2127
2153
|
readonly presets: readonly ["stylistic"];
|
|
2128
2154
|
} & {
|
|
2129
2155
|
readonly pluginId: string;
|
|
2130
2156
|
readonly url: string;
|
|
2131
|
-
}, "danglingDot" | "zeroFraction", undefined>,
|
|
2157
|
+
}, "danglingDot" | "zeroFraction", undefined>, import("@flint.fyi/core").Rule<{
|
|
2132
2158
|
readonly description: "Renames that don't change the identifier name are unnecessary.";
|
|
2133
2159
|
readonly id: "unnecessaryRenames";
|
|
2134
2160
|
readonly presets: readonly ["stylistic"];
|
|
2135
2161
|
} & {
|
|
2136
2162
|
readonly pluginId: string;
|
|
2137
2163
|
readonly url: string;
|
|
2138
|
-
}, "unnecessaryRename", undefined>,
|
|
2164
|
+
}, "unnecessaryRename", undefined>, import("@flint.fyi/core").Rule<{
|
|
2139
2165
|
readonly description: "Reports ternary expressions that can be simplified to boolean expressions or logical operators";
|
|
2140
2166
|
readonly id: "unnecessaryTernaries";
|
|
2141
2167
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
2142
2168
|
} & {
|
|
2143
2169
|
readonly pluginId: string;
|
|
2144
2170
|
readonly url: string;
|
|
2145
|
-
}, "unnecessaryBooleanTernary" | "unnecessaryLogicalTernary", undefined>,
|
|
2171
|
+
}, "unnecessaryBooleanTernary" | "unnecessaryLogicalTernary", undefined>, import("@flint.fyi/core").Rule<{
|
|
2146
2172
|
readonly description: "Reports unnecessary \"use strict\" directives in ES modules and classes.";
|
|
2147
2173
|
readonly id: "unnecessaryUseStricts";
|
|
2148
2174
|
readonly presets: readonly ["logical"];
|
|
2149
2175
|
} & {
|
|
2150
2176
|
readonly pluginId: string;
|
|
2151
2177
|
readonly url: string;
|
|
2152
|
-
}, "unnecessaryUseStrict", undefined>,
|
|
2178
|
+
}, "unnecessaryUseStrict", undefined>, import("@flint.fyi/core").Rule<{
|
|
2153
2179
|
readonly description: "Reports negating the left operand of `in` or `instanceof` relations.";
|
|
2154
2180
|
readonly id: "unsafeNegations";
|
|
2155
2181
|
readonly presets: readonly ["javascript"];
|
|
2156
2182
|
} & {
|
|
2157
2183
|
readonly pluginId: string;
|
|
2158
2184
|
readonly url: string;
|
|
2159
|
-
}, "preferNegatingRelation", undefined>,
|
|
2185
|
+
}, "preferNegatingRelation", undefined>, import("@flint.fyi/core").Rule<{
|
|
2160
2186
|
readonly description: "Reports attempting to delete variables with the delete operator.";
|
|
2161
2187
|
readonly id: "variableDeletions";
|
|
2162
2188
|
readonly presets: readonly ["javascript"];
|
|
2163
2189
|
} & {
|
|
2164
2190
|
readonly pluginId: string;
|
|
2165
2191
|
readonly url: string;
|
|
2166
|
-
}, "noDeleteVar", undefined>,
|
|
2192
|
+
}, "noDeleteVar", undefined>, import("@flint.fyi/core").Rule<{
|
|
2167
2193
|
readonly description: "Reports using the void operator.";
|
|
2168
2194
|
readonly id: "voidOperator";
|
|
2169
2195
|
readonly presets: readonly ["stylistic", "stylisticStrict"];
|
|
2170
2196
|
} & {
|
|
2171
2197
|
readonly pluginId: string;
|
|
2172
2198
|
readonly url: string;
|
|
2173
|
-
}, "noVoid", undefined>,
|
|
2199
|
+
}, "noVoid", undefined>, import("@flint.fyi/core").Rule<{
|
|
2174
2200
|
readonly description: "Reports using with statements";
|
|
2175
2201
|
readonly id: "withStatements";
|
|
2176
2202
|
readonly presets: readonly ["javascript"];
|
|
2177
2203
|
} & {
|
|
2178
2204
|
readonly pluginId: string;
|
|
2179
2205
|
readonly url: string;
|
|
2180
|
-
}, "withStatement", undefined>,
|
|
2206
|
+
}, "withStatement", undefined>, import("@flint.fyi/core").Rule<{
|
|
2181
2207
|
readonly description: "Flags using `new` with `Boolean`, `Number`, or `String`, which creates wrapper objects instead of primitives.";
|
|
2182
2208
|
readonly id: "wrapperObjects";
|
|
2183
2209
|
readonly presets: readonly ["logical", "logicalStrict"];
|
|
@@ -2186,5 +2212,4 @@ declare const ts: _flint_fyi_core0.Plugin<_flint_fyi_core0.RuleAbout<string>, "j
|
|
|
2186
2212
|
readonly url: string;
|
|
2187
2213
|
}, "wrapperObject", undefined>]>;
|
|
2188
2214
|
//#endregion
|
|
2189
|
-
export { ts };
|
|
2190
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
2215
|
+
export { ts };
|