From 008d5a501e68f4ded2e6f1710d54456585194c54 Mon Sep 17 00:00:00 2001 From: Abraham Guo Date: Mon, 19 Aug 2024 20:54:34 -0500 Subject: [PATCH 1/3] prefer-export-from --- eslint.config.mjs | 1 + packages/parser/src/parser.ts | 7 ++++--- packages/scope-manager/src/referencer/Visitor.ts | 7 +++++-- .../scope-manager/src/referencer/VisitorBase.ts | 7 +++++-- packages/scope-manager/tests/test-utils/parse.ts | 7 +++++-- packages/typescript-eslint/src/index.ts | 7 ++++--- packages/utils/src/eslint-utils/RuleCreator.ts | 4 ++-- packages/utils/src/index.ts | 13 ++++++------- 8 files changed, 32 insertions(+), 21 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index b6d0d392d19d..409fe1f079e4 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -324,6 +324,7 @@ export default tseslint.config( 'jsdoc/informative-docs': 'error', 'unicorn/no-typeof-undefined': 'error', 'unicorn/no-useless-spread': 'error', + 'unicorn/prefer-export-from': 'error', 'unicorn/prefer-node-protocol': 'error', 'unicorn/prefer-regexp-test': 'error', 'unicorn/prefer-string-replace-all': 'error', diff --git a/packages/parser/src/parser.ts b/packages/parser/src/parser.ts index 59ea3f2befe4..081c7ff9ef48 100644 --- a/packages/parser/src/parser.ts +++ b/packages/parser/src/parser.ts @@ -3,8 +3,7 @@ import type { ScopeManager, } from '@typescript-eslint/scope-manager'; import { analyze } from '@typescript-eslint/scope-manager'; -import type { Lib, TSESTree } from '@typescript-eslint/types'; -import { ParserOptions } from '@typescript-eslint/types'; +import type { Lib, ParserOptions, TSESTree } from '@typescript-eslint/types'; import type { AST, ParserServices, @@ -187,4 +186,6 @@ function parseForESLint( return { ast, services, scopeManager, visitorKeys }; } -export { parse, parseForESLint, ParserOptions }; +export { parse, parseForESLint }; + +export { ParserOptions } from '@typescript-eslint/types'; diff --git a/packages/scope-manager/src/referencer/Visitor.ts b/packages/scope-manager/src/referencer/Visitor.ts index bbcf348734df..ea70b4f84032 100644 --- a/packages/scope-manager/src/referencer/Visitor.ts +++ b/packages/scope-manager/src/referencer/Visitor.ts @@ -5,7 +5,8 @@ import type { PatternVisitorOptions, } from './PatternVisitor'; import { PatternVisitor } from './PatternVisitor'; -import { VisitorBase, VisitorOptions } from './VisitorBase'; +import type { VisitorOptions } from './VisitorBase'; +import { VisitorBase } from './VisitorBase'; interface VisitPatternOptions extends PatternVisitorOptions { processRightHandNodes?: boolean; @@ -42,4 +43,6 @@ class Visitor extends VisitorBase { } } -export { Visitor, VisitorBase, VisitorOptions }; +export { Visitor }; + +export { VisitorBase, VisitorOptions } from './VisitorBase'; diff --git a/packages/scope-manager/src/referencer/VisitorBase.ts b/packages/scope-manager/src/referencer/VisitorBase.ts index 43af065b4c6f..5e7e95f2cfa1 100644 --- a/packages/scope-manager/src/referencer/VisitorBase.ts +++ b/packages/scope-manager/src/referencer/VisitorBase.ts @@ -1,5 +1,6 @@ import type { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/types'; -import { VisitorKeys, visitorKeys } from '@typescript-eslint/visitor-keys'; +import type { VisitorKeys } from '@typescript-eslint/visitor-keys'; +import { visitorKeys } from '@typescript-eslint/visitor-keys'; interface VisitorOptions { childVisitorKeys?: VisitorKeys | null; @@ -83,4 +84,6 @@ abstract class VisitorBase { } } -export { VisitorBase, VisitorOptions, VisitorKeys }; +export { VisitorBase, VisitorOptions }; + +export { VisitorKeys } from '@typescript-eslint/visitor-keys'; diff --git a/packages/scope-manager/tests/test-utils/parse.ts b/packages/scope-manager/tests/test-utils/parse.ts index 1ba739d66ed6..eca7dad81ab6 100644 --- a/packages/scope-manager/tests/test-utils/parse.ts +++ b/packages/scope-manager/tests/test-utils/parse.ts @@ -1,6 +1,7 @@ import * as tseslint from '@typescript-eslint/typescript-estree'; -import { analyze, AnalyzeOptions } from '../../src/analyze'; +import type { AnalyzeOptions } from '../../src/analyze'; +import { analyze } from '../../src/analyze'; type SourceType = AnalyzeOptions['sourceType']; @@ -59,4 +60,6 @@ function parseAndAnalyze( return { ast, scopeManager }; } -export { parse, parseAndAnalyze, AnalyzeOptions }; +export { parse, parseAndAnalyze }; + +export { AnalyzeOptions } from '../../src/analyze'; diff --git a/packages/typescript-eslint/src/index.ts b/packages/typescript-eslint/src/index.ts index 1844a4eba1f1..d2e8c1094a4f 100644 --- a/packages/typescript-eslint/src/index.ts +++ b/packages/typescript-eslint/src/index.ts @@ -3,7 +3,6 @@ import * as parserBase from '@typescript-eslint/parser'; // see the comment in config-helper.ts for why this doesn't use /ts-eslint import type { TSESLint } from '@typescript-eslint/utils'; -import type { ConfigWithExtends } from './config-helper'; import { config } from './config-helper'; import allConfig from './configs/all'; import baseConfig from './configs/base'; @@ -136,7 +135,7 @@ const configs = { }; export type Config = TSESLint.FlatConfig.ConfigFile; -export type { ConfigWithExtends }; + /* we do both a default and named exports to allow people to use this package from both CJS and ESM in very natural ways. @@ -184,4 +183,6 @@ export default { parser, plugin, }; -export { config, configs, parser, plugin }; +export { configs, parser, plugin }; + +export { type ConfigWithExtends, config } from './config-helper'; diff --git a/packages/utils/src/eslint-utils/RuleCreator.ts b/packages/utils/src/eslint-utils/RuleCreator.ts index ff5aa998b840..cd508113742c 100644 --- a/packages/utils/src/eslint-utils/RuleCreator.ts +++ b/packages/utils/src/eslint-utils/RuleCreator.ts @@ -7,8 +7,6 @@ import type { } from '../ts-eslint/Rule'; import { applyDefault } from './applyDefault'; -export type { RuleListener, RuleModule }; - // we automatically add the url export type NamedCreateRuleMetaDocs = Omit; @@ -118,3 +116,5 @@ RuleCreator.withoutDocs = function withoutDocs< ): RuleModule { return createRule(args); }; + +export { type RuleListener, type RuleModule } from '../ts-eslint/Rule'; diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index e604617af997..06b9e48a99ef 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,8 +1,7 @@ -import * as ASTUtils from './ast-utils'; -import * as ESLintUtils from './eslint-utils'; -import * as JSONSchema from './json-schema'; -import * as TSESLint from './ts-eslint'; -import * as TSUtils from './ts-utils'; - -export { ASTUtils, ESLintUtils, JSONSchema, TSESLint, TSUtils }; export * from './ts-estree'; + +export * as ASTUtils from './ast-utils'; +export * as ESLintUtils from './eslint-utils'; +export * as JSONSchema from './json-schema'; +export * as TSESLint from './ts-eslint'; +export * as TSUtils from './ts-utils'; From b7089203bbcef3c17fb8bd31544f411ffb5bba3d Mon Sep 17 00:00:00 2001 From: Abraham Guo Date: Tue, 27 Aug 2024 07:10:38 -0500 Subject: [PATCH 2/3] sort imports --- packages/typescript-eslint/src/index.ts | 2 +- packages/utils/src/index.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/typescript-eslint/src/index.ts b/packages/typescript-eslint/src/index.ts index a8217cefc0eb..470cb1055491 100644 --- a/packages/typescript-eslint/src/index.ts +++ b/packages/typescript-eslint/src/index.ts @@ -186,4 +186,4 @@ export default { }; export { configs, parser, plugin }; -export { type ConfigWithExtends, config } from './config-helper'; +export { config, type ConfigWithExtends } from './config-helper'; diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 06b9e48a99ef..d6d907cd0ef4 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,7 +1,7 @@ -export * from './ts-estree'; - export * as ASTUtils from './ast-utils'; + export * as ESLintUtils from './eslint-utils'; export * as JSONSchema from './json-schema'; export * as TSESLint from './ts-eslint'; +export * from './ts-estree'; export * as TSUtils from './ts-utils'; From aa1c0abd79b67f23c07244e9840a61505690d17c Mon Sep 17 00:00:00 2001 From: Abraham Guo Date: Tue, 27 Aug 2024 07:14:59 -0500 Subject: [PATCH 3/3] consistent-type-exports --- eslint.config.mjs | 4 ++++ .../src/rules/naming-convention-utils/enums.ts | 14 +++++++------- .../eslint-plugin/src/rules/naming-convention.ts | 2 +- .../src/util/explicitReturnTypeUtils.ts | 4 ++-- packages/eslint-plugin/src/util/index.ts | 4 ++-- packages/eslint-plugin/src/util/misc.ts | 6 +++--- packages/parser/src/index.ts | 8 ++++---- packages/parser/src/parser.ts | 2 +- packages/scope-manager/src/analyze.ts | 2 +- .../scope-manager/src/definition/Definition.ts | 2 +- packages/scope-manager/src/index.ts | 6 +++--- .../scope-manager/src/referencer/PatternVisitor.ts | 6 +++++- packages/scope-manager/src/referencer/Reference.ts | 7 ++++++- .../scope-manager/src/referencer/Referencer.ts | 2 +- packages/scope-manager/src/referencer/Visitor.ts | 2 +- .../scope-manager/src/referencer/VisitorBase.ts | 4 ++-- packages/scope-manager/src/referencer/index.ts | 2 +- packages/scope-manager/src/scope/Scope.ts | 2 +- .../src/variable/ImplicitLibVariable.ts | 2 +- packages/scope-manager/src/variable/index.ts | 2 +- packages/scope-manager/tests/test-utils/parse.ts | 2 +- packages/types/src/lib.ts | 2 +- packages/types/src/parser-options.ts | 2 +- .../WatchCompilerHostOfConfigFile.ts | 2 +- .../typescript-estree/src/create-program/shared.ts | 8 ++++---- packages/typescript-estree/src/index.ts | 6 +++--- packages/typescript-estree/src/parser-options.ts | 2 +- packages/typescript-estree/src/parser.ts | 4 ++-- .../utils/src/eslint-utils/InferTypesFromRule.ts | 2 +- packages/utils/src/ts-eslint/AST.ts | 2 +- packages/utils/src/ts-eslint/ParserOptions.ts | 2 +- packages/utils/src/ts-eslint/RuleTester.ts | 14 +++++++------- packages/visitor-keys/src/index.ts | 2 +- packages/visitor-keys/src/visitor-keys.ts | 2 +- 34 files changed, 74 insertions(+), 61 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index c84933c2adf8..86f851ab4cd6 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -111,6 +111,10 @@ export default tseslint.config( minimumDescriptionLength: 5, }, ], + '@typescript-eslint/consistent-type-exports': [ + 'error', + { fixMixedExportsWithInlineTypeSpecifier: true }, + ], '@typescript-eslint/consistent-type-imports': [ 'error', { prefer: 'type-imports', disallowTypeAnnotations: true }, diff --git a/packages/eslint-plugin/src/rules/naming-convention-utils/enums.ts b/packages/eslint-plugin/src/rules/naming-convention-utils/enums.ts index c30029882e16..539ca50a7810 100644 --- a/packages/eslint-plugin/src/rules/naming-convention-utils/enums.ts +++ b/packages/eslint-plugin/src/rules/naming-convention-utils/enums.ts @@ -134,17 +134,17 @@ enum TypeModifiers { type TypeModifiersString = keyof typeof TypeModifiers; export { - IndividualAndMetaSelectorsString, + type IndividualAndMetaSelectorsString, MetaSelectors, - MetaSelectorsString, + type MetaSelectorsString, Modifiers, - ModifiersString, + type ModifiersString, PredefinedFormats, - PredefinedFormatsString, + type PredefinedFormatsString, Selectors, - SelectorsString, + type SelectorsString, TypeModifiers, - TypeModifiersString, + type TypeModifiersString, UnderscoreOptions, - UnderscoreOptionsString, + type UnderscoreOptionsString, }; diff --git a/packages/eslint-plugin/src/rules/naming-convention.ts b/packages/eslint-plugin/src/rules/naming-convention.ts index 262f86668071..5133126e65be 100644 --- a/packages/eslint-plugin/src/rules/naming-convention.ts +++ b/packages/eslint-plugin/src/rules/naming-convention.ts @@ -785,4 +785,4 @@ function requiresQuoting( return _requiresQuoting(name, target); } -export { MessageIds, Options }; +export type { MessageIds, Options }; diff --git a/packages/eslint-plugin/src/util/explicitReturnTypeUtils.ts b/packages/eslint-plugin/src/util/explicitReturnTypeUtils.ts index f65273a502ef..9558e4629efa 100644 --- a/packages/eslint-plugin/src/util/explicitReturnTypeUtils.ts +++ b/packages/eslint-plugin/src/util/explicitReturnTypeUtils.ts @@ -365,8 +365,8 @@ export { checkFunctionExpressionReturnType, checkFunctionReturnType, doesImmediatelyReturnFunctionExpression, - FunctionExpression, - FunctionNode, + type FunctionExpression, + type FunctionNode, isTypedFunctionExpression, isValidFunctionExpressionReturnType, ancestorHasReturnType, diff --git a/packages/eslint-plugin/src/util/index.ts b/packages/eslint-plugin/src/util/index.ts index 4ceb0b42f2ce..58f34597653b 100644 --- a/packages/eslint-plugin/src/util/index.ts +++ b/packages/eslint-plugin/src/util/index.ts @@ -42,7 +42,7 @@ export { isObjectNotArray, getParserServices, nullThrows, - InferMessageIdsTypeFromRule, - InferOptionsTypeFromRule, + type InferMessageIdsTypeFromRule, + type InferOptionsTypeFromRule, NullThrowsReasons, }; diff --git a/packages/eslint-plugin/src/util/misc.ts b/packages/eslint-plugin/src/util/misc.ts index 46ad05c3a0e1..64f23f2e81bc 100644 --- a/packages/eslint-plugin/src/util/misc.ts +++ b/packages/eslint-plugin/src/util/misc.ts @@ -235,8 +235,8 @@ function isParenlessArrowFunction( export { arrayGroupByToMap, arraysAreEqual, - Equal, - ExcludeKeys, + type Equal, + type ExcludeKeys, findFirstResult, formatWordList, getEnumNames, @@ -246,7 +246,7 @@ export { isRestParameterDeclaration, isParenlessArrowFunction, MemberNameType, - RequireKeys, + type RequireKeys, typeNodeRequiresParentheses, upperCaseFirst, findLastIndex, diff --git a/packages/parser/src/index.ts b/packages/parser/src/index.ts index b166e7bd85fb..a1af2c02cd4b 100644 --- a/packages/parser/src/index.ts +++ b/packages/parser/src/index.ts @@ -1,10 +1,10 @@ -export { parse, parseForESLint, ParserOptions } from './parser'; +export { parse, parseForESLint, type ParserOptions } from './parser'; export { clearCaches, createProgram, - ParserServices, - ParserServicesWithoutTypeInformation, - ParserServicesWithTypeInformation, + type ParserServices, + type ParserServicesWithoutTypeInformation, + type ParserServicesWithTypeInformation, withoutProjectParserOptions, } from '@typescript-eslint/typescript-estree'; diff --git a/packages/parser/src/parser.ts b/packages/parser/src/parser.ts index 990d35905622..19abb97b3a44 100644 --- a/packages/parser/src/parser.ts +++ b/packages/parser/src/parser.ts @@ -189,4 +189,4 @@ function parseForESLint( export { parse, parseForESLint }; -export { ParserOptions } from '@typescript-eslint/types'; +export type { ParserOptions } from '@typescript-eslint/types'; diff --git a/packages/scope-manager/src/analyze.ts b/packages/scope-manager/src/analyze.ts index 307adfe0905f..cf6cf0b57731 100644 --- a/packages/scope-manager/src/analyze.ts +++ b/packages/scope-manager/src/analyze.ts @@ -110,4 +110,4 @@ function analyze( return scopeManager; } -export { analyze, AnalyzeOptions }; +export { analyze, type AnalyzeOptions }; diff --git a/packages/scope-manager/src/definition/Definition.ts b/packages/scope-manager/src/definition/Definition.ts index 35b380ee6626..7d614862dca2 100644 --- a/packages/scope-manager/src/definition/Definition.ts +++ b/packages/scope-manager/src/definition/Definition.ts @@ -23,4 +23,4 @@ type Definition = | TypeDefinition | VariableDefinition; -export { Definition }; +export type { Definition }; diff --git a/packages/scope-manager/src/index.ts b/packages/scope-manager/src/index.ts index 8dc52ac4ac8c..03331783b8d5 100644 --- a/packages/scope-manager/src/index.ts +++ b/packages/scope-manager/src/index.ts @@ -1,11 +1,11 @@ -export { analyze, AnalyzeOptions } from './analyze'; +export { analyze, type AnalyzeOptions } from './analyze'; export * from './definition'; export { Reference } from './referencer/Reference'; export { Visitor } from './referencer/Visitor'; export { PatternVisitor, - PatternVisitorCallback, - PatternVisitorOptions, + type PatternVisitorCallback, + type PatternVisitorOptions, } from './referencer/PatternVisitor'; export * from './scope'; export { ScopeManager } from './ScopeManager'; diff --git a/packages/scope-manager/src/referencer/PatternVisitor.ts b/packages/scope-manager/src/referencer/PatternVisitor.ts index 51564882ef88..1b4c432b0164 100644 --- a/packages/scope-manager/src/referencer/PatternVisitor.ts +++ b/packages/scope-manager/src/referencer/PatternVisitor.ts @@ -138,4 +138,8 @@ class PatternVisitor extends VisitorBase { } } -export { PatternVisitor, PatternVisitorCallback, PatternVisitorOptions }; +export { + PatternVisitor, + type PatternVisitorCallback, + type PatternVisitorOptions, +}; diff --git a/packages/scope-manager/src/referencer/Reference.ts b/packages/scope-manager/src/referencer/Reference.ts index d74b628d8cc1..98e3bea9e5ac 100644 --- a/packages/scope-manager/src/referencer/Reference.ts +++ b/packages/scope-manager/src/referencer/Reference.ts @@ -146,4 +146,9 @@ class Reference { } } -export { Reference, ReferenceFlag, ReferenceTypeFlag, ReferenceImplicitGlobal }; +export { + Reference, + ReferenceFlag, + ReferenceTypeFlag, + type ReferenceImplicitGlobal, +}; diff --git a/packages/scope-manager/src/referencer/Referencer.ts b/packages/scope-manager/src/referencer/Referencer.ts index b7b01ee38c0f..eb2c77ca27cd 100644 --- a/packages/scope-manager/src/referencer/Referencer.ts +++ b/packages/scope-manager/src/referencer/Referencer.ts @@ -807,4 +807,4 @@ class Referencer extends Visitor { } } -export { Referencer, ReferencerOptions }; +export { Referencer, type ReferencerOptions }; diff --git a/packages/scope-manager/src/referencer/Visitor.ts b/packages/scope-manager/src/referencer/Visitor.ts index ea70b4f84032..6d799bc58097 100644 --- a/packages/scope-manager/src/referencer/Visitor.ts +++ b/packages/scope-manager/src/referencer/Visitor.ts @@ -45,4 +45,4 @@ class Visitor extends VisitorBase { export { Visitor }; -export { VisitorBase, VisitorOptions } from './VisitorBase'; +export { VisitorBase, type VisitorOptions } from './VisitorBase'; diff --git a/packages/scope-manager/src/referencer/VisitorBase.ts b/packages/scope-manager/src/referencer/VisitorBase.ts index 5e7e95f2cfa1..2d3bd2779300 100644 --- a/packages/scope-manager/src/referencer/VisitorBase.ts +++ b/packages/scope-manager/src/referencer/VisitorBase.ts @@ -84,6 +84,6 @@ abstract class VisitorBase { } } -export { VisitorBase, VisitorOptions }; +export { VisitorBase, type VisitorOptions }; -export { VisitorKeys } from '@typescript-eslint/visitor-keys'; +export type { VisitorKeys } from '@typescript-eslint/visitor-keys'; diff --git a/packages/scope-manager/src/referencer/index.ts b/packages/scope-manager/src/referencer/index.ts index 6ac29bd3e0e0..6dca338bb85c 100644 --- a/packages/scope-manager/src/referencer/index.ts +++ b/packages/scope-manager/src/referencer/index.ts @@ -1 +1 @@ -export { Referencer, ReferencerOptions } from './Referencer'; +export { Referencer, type ReferencerOptions } from './Referencer'; diff --git a/packages/scope-manager/src/scope/Scope.ts b/packages/scope-manager/src/scope/Scope.ts index 87999d4b74b3..0f5090f1919a 100644 --- a/packages/scope-manager/src/scope/Scope.ts +++ b/packages/scope-manager/src/scope/Scope.ts @@ -37,4 +37,4 @@ type Scope = | TypeScope | WithScope; -export { Scope }; +export type { Scope }; diff --git a/packages/scope-manager/src/variable/ImplicitLibVariable.ts b/packages/scope-manager/src/variable/ImplicitLibVariable.ts index 2ebb8fef0ee6..2c4575af7ef6 100644 --- a/packages/scope-manager/src/variable/ImplicitLibVariable.ts +++ b/packages/scope-manager/src/variable/ImplicitLibVariable.ts @@ -42,4 +42,4 @@ class ImplicitLibVariable extends ESLintScopeVariable implements Variable { } } -export { ImplicitLibVariable, ImplicitLibVariableOptions }; +export { ImplicitLibVariable, type ImplicitLibVariableOptions }; diff --git a/packages/scope-manager/src/variable/index.ts b/packages/scope-manager/src/variable/index.ts index 80d3d9e485af..99acd7dcd290 100644 --- a/packages/scope-manager/src/variable/index.ts +++ b/packages/scope-manager/src/variable/index.ts @@ -4,7 +4,7 @@ import type { Variable } from './Variable'; export { ESLintScopeVariable } from './ESLintScopeVariable'; export { ImplicitLibVariable, - ImplicitLibVariableOptions, + type ImplicitLibVariableOptions, } from './ImplicitLibVariable'; export { Variable } from './Variable'; diff --git a/packages/scope-manager/tests/test-utils/parse.ts b/packages/scope-manager/tests/test-utils/parse.ts index eca7dad81ab6..b3a2b6e8f644 100644 --- a/packages/scope-manager/tests/test-utils/parse.ts +++ b/packages/scope-manager/tests/test-utils/parse.ts @@ -62,4 +62,4 @@ function parseAndAnalyze( export { parse, parseAndAnalyze }; -export { AnalyzeOptions } from '../../src/analyze'; +export type { AnalyzeOptions } from '../../src/analyze'; diff --git a/packages/types/src/lib.ts b/packages/types/src/lib.ts index 71c8f4334917..3548a0db0809 100644 --- a/packages/types/src/lib.ts +++ b/packages/types/src/lib.ts @@ -100,4 +100,4 @@ type Lib = | 'webworker.importscripts' | 'webworker.iterable'; -export { Lib }; +export type { Lib }; diff --git a/packages/types/src/parser-options.ts b/packages/types/src/parser-options.ts index ab4631aa7768..59db7debd0cb 100644 --- a/packages/types/src/parser-options.ts +++ b/packages/types/src/parser-options.ts @@ -107,7 +107,7 @@ interface ParserOptions { warnOnUnsupportedTypeScriptVersion?: boolean; } -export { +export type { CacheDurationSeconds, DebugLevel, EcmaVersion, diff --git a/packages/typescript-estree/src/create-program/WatchCompilerHostOfConfigFile.ts b/packages/typescript-estree/src/create-program/WatchCompilerHostOfConfigFile.ts index 04799b89580c..21d0c24516f8 100644 --- a/packages/typescript-estree/src/create-program/WatchCompilerHostOfConfigFile.ts +++ b/packages/typescript-estree/src/create-program/WatchCompilerHostOfConfigFile.ts @@ -35,4 +35,4 @@ interface WatchCompilerHostOfConfigFile extraFileExtensions?: readonly ts.FileExtensionInfo[]; } -export { WatchCompilerHostOfConfigFile }; +export type { WatchCompilerHostOfConfigFile }; diff --git a/packages/typescript-estree/src/create-program/shared.ts b/packages/typescript-estree/src/create-program/shared.ts index 73f6e8e3588f..ca6c5f35abe9 100644 --- a/packages/typescript-estree/src/create-program/shared.ts +++ b/packages/typescript-estree/src/create-program/shared.ts @@ -128,12 +128,12 @@ function createHash(content: string): string { } export { - ASTAndDefiniteProgram, - ASTAndNoProgram, - ASTAndProgram, + type ASTAndDefiniteProgram, + type ASTAndNoProgram, + type ASTAndProgram, CORE_COMPILER_OPTIONS, canonicalDirname, - CanonicalPath, + type CanonicalPath, createDefaultCompilerOptionsFromExtra, createHash, ensureAbsolutePath, diff --git a/packages/typescript-estree/src/index.ts b/packages/typescript-estree/src/index.ts index 5f6e8768d0c4..757b50074d17 100644 --- a/packages/typescript-estree/src/index.ts +++ b/packages/typescript-estree/src/index.ts @@ -1,10 +1,10 @@ export { - AST, + type AST, parse, parseAndGenerateServices, - ParseAndGenerateServicesResult, + type ParseAndGenerateServicesResult, } from './parser'; -export { +export type { ParserServices, ParserServicesWithTypeInformation, ParserServicesWithoutTypeInformation, diff --git a/packages/typescript-estree/src/parser-options.ts b/packages/typescript-estree/src/parser-options.ts index 8aeeaa8ff049..55f4d3b05ebd 100644 --- a/packages/typescript-estree/src/parser-options.ts +++ b/packages/typescript-estree/src/parser-options.ts @@ -8,7 +8,7 @@ import type * as ts from 'typescript'; import type { TSESTree, TSESTreeToTSNode, TSNode, TSToken } from './ts-estree'; -export { ProjectServiceOptions } from '@typescript-eslint/types'; +export type { ProjectServiceOptions } from '@typescript-eslint/types'; ////////////////////////////////////////////////////////// // MAKE SURE THIS IS KEPT IN SYNC WITH THE WEBSITE DOCS // diff --git a/packages/typescript-estree/src/parser.ts b/packages/typescript-estree/src/parser.ts index 45e5a0a92b87..3f37aeed5e64 100644 --- a/packages/typescript-estree/src/parser.ts +++ b/packages/typescript-estree/src/parser.ts @@ -273,10 +273,10 @@ function parseAndGenerateServices( } export { - AST, + type AST, parse, parseAndGenerateServices, - ParseAndGenerateServicesResult, + type ParseAndGenerateServicesResult, clearDefaultProjectMatchedFiles, clearProgramCache, clearParseAndGenerateServicesCalls, diff --git a/packages/utils/src/eslint-utils/InferTypesFromRule.ts b/packages/utils/src/eslint-utils/InferTypesFromRule.ts index 76280db1d8e4..ab8a43a8b8c6 100644 --- a/packages/utils/src/eslint-utils/InferTypesFromRule.ts +++ b/packages/utils/src/eslint-utils/InferTypesFromRule.ts @@ -20,4 +20,4 @@ type InferMessageIdsTypeFromRule = ? MessageIds : unknown; -export { InferMessageIdsTypeFromRule, InferOptionsTypeFromRule }; +export type { InferMessageIdsTypeFromRule, InferOptionsTypeFromRule }; diff --git a/packages/utils/src/ts-eslint/AST.ts b/packages/utils/src/ts-eslint/AST.ts index 4cace04f13f6..a8462faa8907 100644 --- a/packages/utils/src/ts-eslint/AST.ts +++ b/packages/utils/src/ts-eslint/AST.ts @@ -12,4 +12,4 @@ namespace AST { export type Range = TSESTree.Range; } -export { AST }; +export type { AST }; diff --git a/packages/utils/src/ts-eslint/ParserOptions.ts b/packages/utils/src/ts-eslint/ParserOptions.ts index 5a64049f3351..12fa08ba635d 100644 --- a/packages/utils/src/ts-eslint/ParserOptions.ts +++ b/packages/utils/src/ts-eslint/ParserOptions.ts @@ -1,4 +1,4 @@ -export { +export type { DebugLevel, EcmaVersion, ParserOptions, diff --git a/packages/utils/src/ts-eslint/RuleTester.ts b/packages/utils/src/ts-eslint/RuleTester.ts index c2b02cfde619..a9887ad835d1 100644 --- a/packages/utils/src/ts-eslint/RuleTester.ts +++ b/packages/utils/src/ts-eslint/RuleTester.ts @@ -229,12 +229,12 @@ declare class RuleTesterBase { class RuleTester extends (ESLintRuleTester as typeof RuleTesterBase) {} export { - InvalidTestCase, + type InvalidTestCase, RuleTester, - RuleTesterConfig, - RuleTesterTestFrameworkFunction, - RunTests, - SuggestionOutput, - TestCaseError, - ValidTestCase, + type RuleTesterConfig, + type RuleTesterTestFrameworkFunction, + type RunTests, + type SuggestionOutput, + type TestCaseError, + type ValidTestCase, }; diff --git a/packages/visitor-keys/src/index.ts b/packages/visitor-keys/src/index.ts index 04aa65158635..29cb09b54586 100644 --- a/packages/visitor-keys/src/index.ts +++ b/packages/visitor-keys/src/index.ts @@ -1,2 +1,2 @@ export { getKeys } from './get-keys'; -export { visitorKeys, VisitorKeys } from './visitor-keys'; +export { visitorKeys, type VisitorKeys } from './visitor-keys'; diff --git a/packages/visitor-keys/src/visitor-keys.ts b/packages/visitor-keys/src/visitor-keys.ts index caa7671359b9..569075daa533 100644 --- a/packages/visitor-keys/src/visitor-keys.ts +++ b/packages/visitor-keys/src/visitor-keys.ts @@ -275,4 +275,4 @@ const additionalKeys: AdditionalKeys = { const visitorKeys: VisitorKeys = eslintVisitorKeys.unionWith(additionalKeys); -export { visitorKeys, VisitorKeys }; +export { visitorKeys, type VisitorKeys };