Skip to content

Commit

Permalink
feat: expose rule options
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Oct 13, 2023
1 parent f9d0829 commit 6b4063b
Show file tree
Hide file tree
Showing 8 changed files with 318 additions and 360 deletions.
146 changes: 2 additions & 144 deletions packages/eslint-plugin-js/dts/define-config-support.d.ts
Original file line number Diff line number Diff line change
@@ -1,149 +1,7 @@
import type { RuleOptions as ArrayBracketNewlineRuleOptions } from '../rules/array-bracket-newline/types'
import type { RuleOptions as ArrayBracketSpacingRuleOptions } from '../rules/array-bracket-spacing/types'
import type { RuleOptions as ArrayElementNewlineRuleOptions } from '../rules/array-element-newline/types'
import type { RuleOptions as ArrowSpacingRuleOptions } from '../rules/arrow-spacing/types'
import type { RuleOptions as BlockSpacingRuleOptions } from '../rules/block-spacing/types'
import type { RuleOptions as BraceStyleRuleOptions } from '../rules/brace-style/types'
import type { RuleOptions as CommaDangleRuleOptions } from '../rules/comma-dangle/types'
import type { RuleOptions as CommaSpacingRuleOptions } from '../rules/comma-spacing/types'
import type { RuleOptions as CommaStyleRuleOptions } from '../rules/comma-style/types'
import type { RuleOptions as ComputedPropertySpacingRuleOptions } from '../rules/computed-property-spacing/types'
import type { RuleOptions as DotLocationRuleOptions } from '../rules/dot-location/types'
import type { RuleOptions as EolLastRuleOptions } from '../rules/eol-last/types'
import type { RuleOptions as FuncCallSpacingRuleOptions } from '../rules/func-call-spacing/types'
import type { RuleOptions as FunctionCallArgumentNewlineRuleOptions } from '../rules/function-call-argument-newline/types'
import type { RuleOptions as FunctionParenNewlineRuleOptions } from '../rules/function-paren-newline/types'
import type { RuleOptions as GeneratorStarSpacingRuleOptions } from '../rules/generator-star-spacing/types'
import type { RuleOptions as ImplicitArrowLinebreakRuleOptions } from '../rules/implicit-arrow-linebreak/types'
import type { RuleOptions as IndentRuleOptions } from '../rules/indent/types'
import type { RuleOptions as JsxQuotesRuleOptions } from '../rules/jsx-quotes/types'
import type { RuleOptions as KeySpacingRuleOptions } from '../rules/key-spacing/types'
import type { RuleOptions as KeywordSpacingRuleOptions } from '../rules/keyword-spacing/types'
import type { RuleOptions as LinebreakStyleRuleOptions } from '../rules/linebreak-style/types'
import type { RuleOptions as LinesAroundCommentRuleOptions } from '../rules/lines-around-comment/types'
import type { RuleOptions as LinesAroundDirectiveRuleOptions } from '../rules/lines-around-directive/types'
import type { RuleOptions as LinesBetweenClassMembersRuleOptions } from '../rules/lines-between-class-members/types'
import type { RuleOptions as MaxLenRuleOptions } from '../rules/max-len/types'
import type { RuleOptions as MaxStatementsPerLineRuleOptions } from '../rules/max-statements-per-line/types'
import type { RuleOptions as MultilineTernaryRuleOptions } from '../rules/multiline-ternary/types'
import type { RuleOptions as NewParensRuleOptions } from '../rules/new-parens/types'
import type { RuleOptions as NewlineAfterVarRuleOptions } from '../rules/newline-after-var/types'
import type { RuleOptions as NewlineBeforeReturnRuleOptions } from '../rules/newline-before-return/types'
import type { RuleOptions as NewlinePerChainedCallRuleOptions } from '../rules/newline-per-chained-call/types'
import type { RuleOptions as NoConfusingArrowRuleOptions } from '../rules/no-confusing-arrow/types'
import type { RuleOptions as NoExtraParensRuleOptions } from '../rules/no-extra-parens/types'
import type { RuleOptions as NoExtraSemiRuleOptions } from '../rules/no-extra-semi/types'
import type { RuleOptions as NoFloatingDecimalRuleOptions } from '../rules/no-floating-decimal/types'
import type { RuleOptions as NoMixedOperatorsRuleOptions } from '../rules/no-mixed-operators/types'
import type { RuleOptions as NoMixedSpacesAndTabsRuleOptions } from '../rules/no-mixed-spaces-and-tabs/types'
import type { RuleOptions as NoMultiSpacesRuleOptions } from '../rules/no-multi-spaces/types'
import type { RuleOptions as NoMultipleEmptyLinesRuleOptions } from '../rules/no-multiple-empty-lines/types'
import type { RuleOptions as NoSpacedFuncRuleOptions } from '../rules/no-spaced-func/types'
import type { RuleOptions as NoTabsRuleOptions } from '../rules/no-tabs/types'
import type { RuleOptions as NoTrailingSpacesRuleOptions } from '../rules/no-trailing-spaces/types'
import type { RuleOptions as NoWhitespaceBeforePropertyRuleOptions } from '../rules/no-whitespace-before-property/types'
import type { RuleOptions as NonblockStatementBodyPositionRuleOptions } from '../rules/nonblock-statement-body-position/types'
import type { RuleOptions as ObjectCurlyNewlineRuleOptions } from '../rules/object-curly-newline/types'
import type { RuleOptions as ObjectCurlySpacingRuleOptions } from '../rules/object-curly-spacing/types'
import type { RuleOptions as ObjectPropertyNewlineRuleOptions } from '../rules/object-property-newline/types'
import type { RuleOptions as OneVarDeclarationPerLineRuleOptions } from '../rules/one-var-declaration-per-line/types'
import type { RuleOptions as OperatorLinebreakRuleOptions } from '../rules/operator-linebreak/types'
import type { RuleOptions as PaddedBlocksRuleOptions } from '../rules/padded-blocks/types'
import type { RuleOptions as PaddingLineBetweenStatementsRuleOptions } from '../rules/padding-line-between-statements/types'
import type { RuleOptions as QuotePropsRuleOptions } from '../rules/quote-props/types'
import type { RuleOptions as QuotesRuleOptions } from '../rules/quotes/types'
import type { RuleOptions as RestSpreadSpacingRuleOptions } from '../rules/rest-spread-spacing/types'
import type { RuleOptions as SemiSpacingRuleOptions } from '../rules/semi-spacing/types'
import type { RuleOptions as SemiStyleRuleOptions } from '../rules/semi-style/types'
import type { RuleOptions as SemiRuleOptions } from '../rules/semi/types'
import type { RuleOptions as SpaceBeforeBlocksRuleOptions } from '../rules/space-before-blocks/types'
import type { RuleOptions as SpaceBeforeFunctionParenRuleOptions } from '../rules/space-before-function-paren/types'
import type { RuleOptions as SpaceInParensRuleOptions } from '../rules/space-in-parens/types'
import type { RuleOptions as SpaceInfixOpsRuleOptions } from '../rules/space-infix-ops/types'
import type { RuleOptions as SpaceUnaryOpsRuleOptions } from '../rules/space-unary-ops/types'
import type { RuleOptions as SpacedCommentRuleOptions } from '../rules/spaced-comment/types'
import type { RuleOptions as SwitchColonSpacingRuleOptions } from '../rules/switch-colon-spacing/types'
import type { RuleOptions as TemplateCurlySpacingRuleOptions } from '../rules/template-curly-spacing/types'
import type { RuleOptions as TemplateTagSpacingRuleOptions } from '../rules/template-tag-spacing/types'
import type { RuleOptions as UtilsRuleOptions } from '../rules/utils/types'
import type { RuleOptions as WrapIifeRuleOptions } from '../rules/wrap-iife/types'
import type { RuleOptions as WrapRegexRuleOptions } from '../rules/wrap-regex/types'
import type { RuleOptions as YieldStarSpacingRuleOptions } from '../rules/yield-star-spacing/types'
import type { RuleOptions } from './rule-options'

declare module 'eslint-define-config' {
export interface CustomRuleOptions {
'@stylistic/js/array-bracket-newline': ArrayBracketNewlineRuleOptions
'@stylistic/js/array-bracket-spacing': ArrayBracketSpacingRuleOptions
'@stylistic/js/array-element-newline': ArrayElementNewlineRuleOptions
'@stylistic/js/arrow-spacing': ArrowSpacingRuleOptions
'@stylistic/js/block-spacing': BlockSpacingRuleOptions
'@stylistic/js/brace-style': BraceStyleRuleOptions
'@stylistic/js/comma-dangle': CommaDangleRuleOptions
'@stylistic/js/comma-spacing': CommaSpacingRuleOptions
'@stylistic/js/comma-style': CommaStyleRuleOptions
'@stylistic/js/computed-property-spacing': ComputedPropertySpacingRuleOptions
'@stylistic/js/dot-location': DotLocationRuleOptions
'@stylistic/js/eol-last': EolLastRuleOptions
'@stylistic/js/func-call-spacing': FuncCallSpacingRuleOptions
'@stylistic/js/function-call-argument-newline': FunctionCallArgumentNewlineRuleOptions
'@stylistic/js/function-paren-newline': FunctionParenNewlineRuleOptions
'@stylistic/js/generator-star-spacing': GeneratorStarSpacingRuleOptions
'@stylistic/js/implicit-arrow-linebreak': ImplicitArrowLinebreakRuleOptions
'@stylistic/js/indent': IndentRuleOptions
'@stylistic/js/jsx-quotes': JsxQuotesRuleOptions
'@stylistic/js/key-spacing': KeySpacingRuleOptions
'@stylistic/js/keyword-spacing': KeywordSpacingRuleOptions
'@stylistic/js/linebreak-style': LinebreakStyleRuleOptions
'@stylistic/js/lines-around-comment': LinesAroundCommentRuleOptions
'@stylistic/js/lines-around-directive': LinesAroundDirectiveRuleOptions
'@stylistic/js/lines-between-class-members': LinesBetweenClassMembersRuleOptions
'@stylistic/js/max-len': MaxLenRuleOptions
'@stylistic/js/max-statements-per-line': MaxStatementsPerLineRuleOptions
'@stylistic/js/multiline-ternary': MultilineTernaryRuleOptions
'@stylistic/js/new-parens': NewParensRuleOptions
'@stylistic/js/newline-after-var': NewlineAfterVarRuleOptions
'@stylistic/js/newline-before-return': NewlineBeforeReturnRuleOptions
'@stylistic/js/newline-per-chained-call': NewlinePerChainedCallRuleOptions
'@stylistic/js/no-confusing-arrow': NoConfusingArrowRuleOptions
'@stylistic/js/no-extra-parens': NoExtraParensRuleOptions
'@stylistic/js/no-extra-semi': NoExtraSemiRuleOptions
'@stylistic/js/no-floating-decimal': NoFloatingDecimalRuleOptions
'@stylistic/js/no-mixed-operators': NoMixedOperatorsRuleOptions
'@stylistic/js/no-mixed-spaces-and-tabs': NoMixedSpacesAndTabsRuleOptions
'@stylistic/js/no-multi-spaces': NoMultiSpacesRuleOptions
'@stylistic/js/no-multiple-empty-lines': NoMultipleEmptyLinesRuleOptions
'@stylistic/js/no-spaced-func': NoSpacedFuncRuleOptions
'@stylistic/js/no-tabs': NoTabsRuleOptions
'@stylistic/js/no-trailing-spaces': NoTrailingSpacesRuleOptions
'@stylistic/js/no-whitespace-before-property': NoWhitespaceBeforePropertyRuleOptions
'@stylistic/js/nonblock-statement-body-position': NonblockStatementBodyPositionRuleOptions
'@stylistic/js/object-curly-newline': ObjectCurlyNewlineRuleOptions
'@stylistic/js/object-curly-spacing': ObjectCurlySpacingRuleOptions
'@stylistic/js/object-property-newline': ObjectPropertyNewlineRuleOptions
'@stylistic/js/one-var-declaration-per-line': OneVarDeclarationPerLineRuleOptions
'@stylistic/js/operator-linebreak': OperatorLinebreakRuleOptions
'@stylistic/js/padded-blocks': PaddedBlocksRuleOptions
'@stylistic/js/padding-line-between-statements': PaddingLineBetweenStatementsRuleOptions
'@stylistic/js/quote-props': QuotePropsRuleOptions
'@stylistic/js/quotes': QuotesRuleOptions
'@stylistic/js/rest-spread-spacing': RestSpreadSpacingRuleOptions
'@stylistic/js/semi-spacing': SemiSpacingRuleOptions
'@stylistic/js/semi-style': SemiStyleRuleOptions
'@stylistic/js/semi': SemiRuleOptions
'@stylistic/js/space-before-blocks': SpaceBeforeBlocksRuleOptions
'@stylistic/js/space-before-function-paren': SpaceBeforeFunctionParenRuleOptions
'@stylistic/js/space-in-parens': SpaceInParensRuleOptions
'@stylistic/js/space-infix-ops': SpaceInfixOpsRuleOptions
'@stylistic/js/space-unary-ops': SpaceUnaryOpsRuleOptions
'@stylistic/js/spaced-comment': SpacedCommentRuleOptions
'@stylistic/js/switch-colon-spacing': SwitchColonSpacingRuleOptions
'@stylistic/js/template-curly-spacing': TemplateCurlySpacingRuleOptions
'@stylistic/js/template-tag-spacing': TemplateTagSpacingRuleOptions
'@stylistic/js/utils': UtilsRuleOptions
'@stylistic/js/wrap-iife': WrapIifeRuleOptions
'@stylistic/js/wrap-regex': WrapRegexRuleOptions
'@stylistic/js/yield-star-spacing': YieldStarSpacingRuleOptions
}
export interface CustomRuleOptions extends RuleOptions {}
}

export {}

0 comments on commit 6b4063b

Please sign in to comment.