Skip to content

Commit 1ca9d28

Browse files
atscottkirjs
authored andcommitted
refactor: remove all deep imports in language service
Removes all deep imports, which cause problems with vitest module resolution
1 parent c3d4be4 commit 1ca9d28

38 files changed

Lines changed: 200 additions & 135 deletions

packages/compiler-cli/BUILD.bazel

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,14 +82,17 @@ ts_project(
8282
"//:node_modules/typescript",
8383
"//packages/compiler",
8484
"//packages/compiler-cli/private",
85+
"//packages/compiler-cli/src/ngtsc/annotations",
8586
"//packages/compiler-cli/src/ngtsc/core",
8687
"//packages/compiler-cli/src/ngtsc/core:api",
8788
"//packages/compiler-cli/src/ngtsc/diagnostics",
8889
"//packages/compiler-cli/src/ngtsc/docs",
8990
"//packages/compiler-cli/src/ngtsc/file_system",
91+
"//packages/compiler-cli/src/ngtsc/imports",
9092
"//packages/compiler-cli/src/ngtsc/incremental",
9193
"//packages/compiler-cli/src/ngtsc/indexer",
9294
"//packages/compiler-cli/src/ngtsc/logging",
95+
"//packages/compiler-cli/src/ngtsc/metadata",
9396
"//packages/compiler-cli/src/ngtsc/perf",
9497
"//packages/compiler-cli/src/ngtsc/program_driver",
9598
"//packages/compiler-cli/src/ngtsc/reflection",

packages/compiler-cli/index.ts

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,55 @@ export {NgTscPlugin, PluginCompilerHost} from './src/ngtsc/tsc_plugin';
3333
export {NgtscProgram} from './src/ngtsc/program';
3434
export {OptimizeFor} from './src/ngtsc/typecheck/api';
3535

36+
// Explicit exports for language service
37+
export {getAngularDecorators} from './src/ngtsc/annotations';
38+
export {
39+
NgCompiler,
40+
type NgCompilerOptions,
41+
type CompilationTicket,
42+
freshCompilationTicket,
43+
incrementalFromCompilerTicket,
44+
resourceChangeTicket,
45+
} from './src/ngtsc/core';
46+
export {type NgCompilerAdapter} from './src/ngtsc/core/api';
47+
export {Reference} from './src/ngtsc/imports';
48+
export {
49+
type DirectiveMeta,
50+
type InputMapping,
51+
isExternalResource,
52+
MetaKind,
53+
type PipeMeta,
54+
type Resource,
55+
} from './src/ngtsc/metadata';
56+
export {
57+
type DeclarationNode,
58+
isNamedClassDeclaration,
59+
type ReflectionHost,
60+
type ClassDeclaration,
61+
} from './src/ngtsc/reflection';
62+
export {isFatalDiagnosticError} from './src/ngtsc/diagnostics';
63+
export {PerfPhase} from './src/ngtsc/perf';
64+
export {type FileUpdate, type ProgramDriver} from './src/ngtsc/program_driver';
65+
export {TrackedIncrementalBuildStrategy} from './src/ngtsc/incremental';
66+
export {isShim} from './src/ngtsc/shims';
67+
export {getRootDirs} from './src/ngtsc/util/src/typescript';
68+
export * from './src/ngtsc/typecheck/api';
69+
3670
// **Note**: Explicit named exports to make this file work with CJS/ESM interop without
3771
// needing to use a default import. NodeJS will expose named CJS exports as named ESM exports.
3872
// TODO(devversion): Remove these duplicate exports once devmode&prodmode is combined/ESM.
3973
export {ConsoleLogger, Logger, LogLevel} from './src/ngtsc/logging';
4074
export {
4175
NodeJSFileSystem,
4276
absoluteFrom,
43-
FileSystem,
44-
AbsoluteFsPath,
77+
absoluteFromSourceFile,
78+
resolve,
79+
type FileStats,
80+
type PathSegment,
81+
type PathString,
82+
getSourceFileOrError,
83+
type FileSystem,
84+
type AbsoluteFsPath,
4585
NgtscCompilerHost,
4686
getFileSystem,
4787
setFileSystem,

packages/language-service/src/adapters.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,17 @@
88

99
/** @fileoverview provides adapters for communicating with the ng compiler */
1010

11-
import {ConfigurationHost} from '@angular/compiler-cli';
12-
import {NgCompilerAdapter} from '@angular/compiler-cli/src/ngtsc/core/api';
1311
import {
1412
AbsoluteFsPath,
13+
ConfigurationHost,
1514
FileStats,
15+
NgCompilerAdapter,
1616
PathSegment,
1717
PathString,
18-
} from '@angular/compiler-cli/src/ngtsc/file_system';
19-
import {isShim} from '@angular/compiler-cli/src/ngtsc/shims';
20-
import {getRootDirs} from '@angular/compiler-cli/src/ngtsc/util/src/typescript';
18+
getRootDirs,
19+
isShim,
20+
} from '@angular/compiler-cli';
21+
2122
import * as p from 'path';
2223
import ts from 'typescript';
2324

packages/language-service/src/attribute_completions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
TemplateSymbol,
2020
TemplateTypeChecker,
2121
TypeCheckableDirectiveMeta,
22-
} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
22+
} from '@angular/compiler-cli';
2323
import ts from 'typescript';
2424

2525
import {DisplayInfoKind, unsafeCastDisplayInfoKindToScriptElementKind} from './utils/display_parts';

packages/language-service/src/codefixes/code_fixes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {NgCompiler} from '@angular/compiler-cli/src/ngtsc/core';
9+
import {NgCompiler} from '@angular/compiler-cli';
1010
import type ts from 'typescript';
1111

1212
import {TypeCheckInfo} from '../utils';

packages/language-service/src/codefixes/fix_invalid_banana_in_box.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {TmplAstBoundEvent} from '@angular/compiler';
10-
import {ErrorCode, ngErrorCode} from '@angular/compiler-cli/src/ngtsc/diagnostics';
10+
import {ErrorCode, ngErrorCode} from '@angular/compiler-cli';
1111
import type ts from 'typescript';
1212

1313
import {getTargetAtPosition, TargetNodeKind} from '../template_target';

packages/language-service/src/codefixes/fix_missing_import.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@
77
*/
88

99
import {ASTWithName, TmplAstElement} from '@angular/compiler';
10-
import {ErrorCode as NgCompilerErrorCode, ngErrorCode} from '@angular/compiler-cli';
11-
import {PotentialDirective, PotentialPipe} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
10+
import {
11+
ErrorCode as NgCompilerErrorCode,
12+
ngErrorCode,
13+
PotentialDirective,
14+
PotentialPipe,
15+
} from '@angular/compiler-cli';
16+
1217
import type ts from 'typescript';
1318

1419
import {getTargetAtPosition, TargetNodeKind} from '../template_target';

packages/language-service/src/codefixes/fix_missing_required_inputs.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@ import {
1414
TmplAstTemplate,
1515
TmplAstTextAttribute,
1616
} from '@angular/compiler';
17-
import {ErrorCode, ngErrorCode} from '@angular/compiler-cli/src/ngtsc/diagnostics';
18-
import {TypeCheckableDirectiveMeta} from '@angular/compiler-cli/src/ngtsc/typecheck/api';
17+
import {
18+
ErrorCode,
19+
InputMapping,
20+
ngErrorCode,
21+
TypeCheckableDirectiveMeta,
22+
} from '@angular/compiler-cli';
23+
1924
import ts from 'typescript';
2025

2126
import {getTargetAtPosition, TargetNodeKind} from '../template_target';
@@ -168,7 +173,7 @@ function getBoundAttributes(
168173
if (inputs !== null) {
169174
boundInputs.push({
170175
attribute: attr,
171-
inputs: inputs.map((input) => ({
176+
inputs: inputs.map((input: InputMapping) => ({
172177
fieldName: input.classPropertyName,
173178
required: input.required,
174179
})),

packages/language-service/src/codefixes/fix_unused_standalone_imports.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {ErrorCode, ngErrorCode} from '@angular/compiler-cli/src/ngtsc/diagnostics';
9+
import {ErrorCode, ngErrorCode} from '@angular/compiler-cli';
1010
import tss from 'typescript';
1111

1212
import {CodeActionMeta, FixIdForCodeFixesAll} from './utils';

packages/language-service/src/codefixes/utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9-
import {absoluteFrom} from '@angular/compiler-cli';
10-
import {NgCompiler} from '@angular/compiler-cli/src/ngtsc/core';
9+
import {NgCompiler, absoluteFrom} from '@angular/compiler-cli';
10+
1111
import type ts from 'typescript';
1212

1313
import {TypeCheckInfo} from '../utils';

0 commit comments

Comments
 (0)