Skip to content

Commit a770aa2

Browse files
petebacondarwinmatsko
authored andcommitted
refactor(ivy): move ngcc into a higher level folder (angular#29092)
PR Close angular#29092
1 parent cf4718c commit a770aa2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+108
-95
lines changed

Diff for: packages/common/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ ng_package(
3434
visibility = [
3535
"//packages/bazel/test/ng_package:__pkg__",
3636
"//packages/compiler-cli/integrationtest:__pkg__",
37+
"//packages/compiler-cli/ngcc/test:__pkg__",
3738
"//packages/compiler-cli/test:__pkg__",
3839
"//packages/compiler-cli/test/diagnostics:__pkg__",
39-
"//packages/compiler-cli/test/ngcc:__pkg__",
4040
"//packages/compiler-cli/test/transformers:__pkg__",
4141
"//packages/compiler/test:__pkg__",
4242
"//packages/language-service/test:__pkg__",

Diff for: packages/compiler-cli/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ npm_package(
6060
],
6161
deps = [
6262
":compiler-cli",
63-
"//packages/compiler-cli/src/ngcc",
63+
"//packages/compiler-cli/ngcc",
6464
],
6565
)
File renamed without changes.

Diff for: packages/compiler-cli/src/ngcc/README.md renamed to packages/compiler-cli/ngcc/README.md

+3-3
File renamed without changes.

Diff for: packages/compiler-cli/src/ngcc/src/analysis/decoration_analyzer.ts renamed to packages/compiler-cli/ngcc/src/analysis/decoration_analyzer.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import * as path from 'canonical-path';
1010
import * as fs from 'fs';
1111
import * as ts from 'typescript';
1212

13-
import {BaseDefDecoratorHandler, ComponentDecoratorHandler, DirectiveDecoratorHandler, InjectableDecoratorHandler, NgModuleDecoratorHandler, PipeDecoratorHandler, ReferencesRegistry, ResourceLoader} from '../../../ngtsc/annotations';
14-
import {CycleAnalyzer, ImportGraph} from '../../../ngtsc/cycles';
15-
import {AbsoluteModuleStrategy, LocalIdentifierStrategy, LogicalProjectStrategy, ModuleResolver, NOOP_DEFAULT_IMPORT_RECORDER, ReferenceEmitter} from '../../../ngtsc/imports';
16-
import {PartialEvaluator} from '../../../ngtsc/partial_evaluator';
17-
import {AbsoluteFsPath, LogicalFileSystem} from '../../../ngtsc/path';
18-
import {LocalModuleScopeRegistry, MetadataDtsModuleScopeResolver} from '../../../ngtsc/scope';
19-
import {CompileResult, DecoratorHandler, DetectResult, HandlerPrecedence} from '../../../ngtsc/transform';
13+
import {BaseDefDecoratorHandler, ComponentDecoratorHandler, DirectiveDecoratorHandler, InjectableDecoratorHandler, NgModuleDecoratorHandler, PipeDecoratorHandler, ReferencesRegistry, ResourceLoader} from '../../../src/ngtsc/annotations';
14+
import {CycleAnalyzer, ImportGraph} from '../../../src/ngtsc/cycles';
15+
import {AbsoluteModuleStrategy, LocalIdentifierStrategy, LogicalProjectStrategy, ModuleResolver, NOOP_DEFAULT_IMPORT_RECORDER, ReferenceEmitter} from '../../../src/ngtsc/imports';
16+
import {PartialEvaluator} from '../../../src/ngtsc/partial_evaluator';
17+
import {AbsoluteFsPath, LogicalFileSystem} from '../../../src/ngtsc/path';
18+
import {LocalModuleScopeRegistry, MetadataDtsModuleScopeResolver} from '../../../src/ngtsc/scope';
19+
import {CompileResult, DecoratorHandler, DetectResult, HandlerPrecedence} from '../../../src/ngtsc/transform';
2020
import {DecoratedClass} from '../host/decorated_class';
2121
import {NgccReflectionHost} from '../host/ngcc_host';
2222
import {isDefined} from '../utils';

Diff for: packages/compiler-cli/src/ngcc/src/analysis/module_with_providers_analyzer.ts renamed to packages/compiler-cli/ngcc/src/analysis/module_with_providers_analyzer.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
*/
88
import * as ts from 'typescript';
99

10-
import {ReferencesRegistry} from '../../../ngtsc/annotations';
11-
import {Reference} from '../../../ngtsc/imports';
12-
import {Declaration} from '../../../ngtsc/reflection';
10+
import {ReferencesRegistry} from '../../../src/ngtsc/annotations';
11+
import {Reference} from '../../../src/ngtsc/imports';
12+
import {Declaration} from '../../../src/ngtsc/reflection';
1313
import {NgccReflectionHost} from '../host/ngcc_host';
1414
import {isDefined} from '../utils';
1515

Diff for: packages/compiler-cli/src/ngcc/src/analysis/ngcc_references_registry.ts renamed to packages/compiler-cli/ngcc/src/analysis/ngcc_references_registry.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
*/
88

99
import * as ts from 'typescript';
10-
import {ReferencesRegistry} from '../../../ngtsc/annotations';
11-
import {Reference} from '../../../ngtsc/imports';
12-
import {Declaration, ReflectionHost} from '../../../ngtsc/reflection';
10+
import {ReferencesRegistry} from '../../../src/ngtsc/annotations';
11+
import {Reference} from '../../../src/ngtsc/imports';
12+
import {Declaration, ReflectionHost} from '../../../src/ngtsc/reflection';
1313
import {hasNameIdentifier} from '../utils';
1414

1515
/**

Diff for: packages/compiler-cli/src/ngcc/src/analysis/private_declarations_analyzer.ts renamed to packages/compiler-cli/ngcc/src/analysis/private_declarations_analyzer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88
import * as ts from 'typescript';
99

10-
import {Declaration} from '../../../ngtsc/reflection';
10+
import {Declaration} from '../../../src/ngtsc/reflection';
1111
import {NgccReflectionHost} from '../host/ngcc_host';
1212
import {hasNameIdentifier, isDefined} from '../utils';
1313
import {NgccReferencesRegistry} from './ngcc_references_registry';

Diff for: packages/compiler-cli/src/ngcc/src/host/decorated_class.ts renamed to packages/compiler-cli/ngcc/src/host/decorated_class.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import * as ts from 'typescript';
10-
import {Decorator} from '../../../ngtsc/reflection';
10+
import {Decorator} from '../../../src/ngtsc/reflection';
1111

1212
/**
1313
* A simple container that holds the details of a decorated class that has been

Diff for: packages/compiler-cli/src/ngcc/src/host/esm2015_host.ts renamed to packages/compiler-cli/ngcc/src/host/esm2015_host.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMember, ClassMemberKind, CtorParameter, Decorator, Import, TypeScriptReflectionHost, reflectObjectLiteral} from '../../../ngtsc/reflection';
11+
import {ClassMember, ClassMemberKind, CtorParameter, Decorator, Import, TypeScriptReflectionHost, reflectObjectLiteral} from '../../../src/ngtsc/reflection';
1212
import {BundleProgram} from '../packages/bundle_program';
1313
import {findAll, getNameText, isDefined} from '../utils';
1414

Diff for: packages/compiler-cli/src/ngcc/src/host/esm5_host.ts renamed to packages/compiler-cli/ngcc/src/host/esm5_host.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMember, ClassMemberKind, Declaration, Decorator, FunctionDefinition, Parameter, reflectObjectLiteral} from '../../../ngtsc/reflection';
11+
import {ClassMember, ClassMemberKind, Declaration, Decorator, FunctionDefinition, Parameter, reflectObjectLiteral} from '../../../src/ngtsc/reflection';
1212
import {getNameText, hasNameIdentifier} from '../utils';
1313

1414
import {Esm2015ReflectionHost, ParamInfo, getPropertyValueFromSymbol, isAssignmentStatement} from './esm2015_host';

Diff for: packages/compiler-cli/src/ngcc/src/host/ngcc_host.ts renamed to packages/compiler-cli/ngcc/src/host/ngcc_host.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88
import * as ts from 'typescript';
9-
import {ReflectionHost} from '../../../ngtsc/reflection';
9+
import {ReflectionHost} from '../../../src/ngtsc/reflection';
1010
import {DecoratedClass} from './decorated_class';
1111

1212
export const PRE_R3_MARKER = '__PRE_R3__';
File renamed without changes.

Diff for: packages/compiler-cli/src/ngcc/src/packages/entry_point_bundle.ts renamed to packages/compiler-cli/ngcc/src/packages/entry_point_bundle.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88
import * as ts from 'typescript';
99

10-
import {AbsoluteFsPath} from '../../../ngtsc/path';
10+
import {AbsoluteFsPath} from '../../../src/ngtsc/path';
1111

1212
import {BundleProgram, makeBundleProgram} from './bundle_program';
1313
import {EntryPoint, EntryPointFormat} from './entry_point';

Diff for: packages/compiler-cli/src/ngcc/src/rendering/esm_renderer.ts renamed to packages/compiler-cli/ngcc/src/rendering/esm_renderer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {CompiledClass} from '../analysis/decoration_analyzer';
1313
import {RedundantDecoratorMap, Renderer, stripExtension} from './renderer';
1414
import {EntryPointBundle} from '../packages/entry_point_bundle';
1515
import {ExportInfo} from '../analysis/private_declarations_analyzer';
16-
import {isDtsPath} from '../../../ngtsc/util/src/typescript';
16+
import {isDtsPath} from '../../../src/ngtsc/util/src/typescript';
1717

1818
export class EsmRenderer extends Renderer {
1919
constructor(

Diff for: packages/compiler-cli/src/ngcc/src/rendering/ngcc_import_rewriter.ts renamed to packages/compiler-cli/ngcc/src/rendering/ngcc_import_rewriter.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* found in the LICENSE file at https://angular.io/license
88
*/
99

10-
import {ImportRewriter, validateAndRewriteCoreSymbol} from '../../../ngtsc/imports';
10+
import {ImportRewriter, validateAndRewriteCoreSymbol} from '../../../src/ngtsc/imports';
1111

1212
export class NgccFlatImportRewriter implements ImportRewriter {
1313
shouldImportSymbol(symbol: string, specifier: string): boolean {

Diff for: packages/compiler-cli/src/ngcc/src/rendering/renderer.ts renamed to packages/compiler-cli/ngcc/src/rendering/renderer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import * as ts from 'typescript';
1515

1616
import {NoopImportRewriter, ImportRewriter, R3SymbolsImportRewriter, NOOP_DEFAULT_IMPORT_RECORDER} from '@angular/compiler-cli/src/ngtsc/imports';
1717
import {CompileResult} from '@angular/compiler-cli/src/ngtsc/transform';
18-
import {translateStatement, translateType, ImportManager} from '../../../ngtsc/translator';
18+
import {translateStatement, translateType, ImportManager} from '../../../src/ngtsc/translator';
1919
import {NgccFlatImportRewriter} from './ngcc_import_rewriter';
2020
import {CompiledClass, CompiledFile, DecorationAnalyses} from '../analysis/decoration_analyzer';
2121
import {ModuleWithProvidersInfo, ModuleWithProvidersAnalyses} from '../analysis/module_with_providers_analyzer';

Diff for: packages/compiler-cli/src/ngcc/test/BUILD.bazel renamed to packages/compiler-cli/ngcc/test/BUILD.bazel

+37-4
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@ package(default_visibility = ["//visibility:public"])
55
ts_library(
66
name = "test_lib",
77
testonly = True,
8-
srcs = glob([
9-
"**/*.ts",
10-
]),
8+
srcs = glob(
9+
["**/*.ts"],
10+
exclude = ["integration/**/*.ts"],
11+
),
1112
deps = [
12-
"//packages/compiler-cli/src/ngcc",
13+
"//packages/compiler-cli/ngcc",
1314
"//packages/compiler-cli/src/ngtsc/imports",
1415
"//packages/compiler-cli/src/ngtsc/partial_evaluator",
1516
"//packages/compiler-cli/src/ngtsc/path",
1617
"//packages/compiler-cli/src/ngtsc/reflection",
1718
"//packages/compiler-cli/src/ngtsc/testing",
1819
"//packages/compiler-cli/src/ngtsc/transform",
20+
"//packages/compiler-cli/test:test_utils",
1921
"@npm//@types/convert-source-map",
2022
"@npm//@types/mock-fs",
2123
"@npm//canonical-path",
@@ -34,3 +36,34 @@ jasmine_node_test(
3436
"@npm//convert-source-map",
3537
],
3638
)
39+
40+
ts_library(
41+
name = "integration_lib",
42+
testonly = True,
43+
srcs = glob(
44+
["integration/**/*.ts"],
45+
),
46+
deps = [
47+
"//packages/compiler-cli/ngcc",
48+
"//packages/compiler-cli/test:test_utils",
49+
"@npm//@types/mock-fs",
50+
],
51+
)
52+
53+
jasmine_node_test(
54+
name = "integration",
55+
bootstrap = ["angular/tools/testing/init_node_no_angular_spec.js"],
56+
data = [
57+
"//packages/common:npm_package",
58+
"//packages/core:npm_package",
59+
"@npm//rxjs",
60+
],
61+
deps = [
62+
":integration_lib",
63+
"//packages/common",
64+
"//tools/testing:node_no_angular",
65+
"@npm//canonical-path",
66+
"@npm//convert-source-map",
67+
"@npm//shelljs",
68+
],
69+
)

Diff for: packages/compiler-cli/src/ngcc/test/analysis/decoration_analyzer_spec.ts renamed to packages/compiler-cli/ngcc/test/analysis/decoration_analyzer_spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
*/
88
import * as ts from 'typescript';
99

10-
import {AbsoluteFsPath} from '../../../ngtsc/path';
11-
import {Decorator} from '../../../ngtsc/reflection';
12-
import {DecoratorHandler, DetectResult} from '../../../ngtsc/transform';
10+
import {AbsoluteFsPath} from '../../../src/ngtsc/path';
11+
import {Decorator} from '../../../src/ngtsc/reflection';
12+
import {DecoratorHandler, DetectResult} from '../../../src/ngtsc/transform';
1313
import {CompiledClass, DecorationAnalyses, DecorationAnalyzer} from '../../src/analysis/decoration_analyzer';
1414
import {NgccReferencesRegistry} from '../../src/analysis/ngcc_references_registry';
1515
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';

Diff for: packages/compiler-cli/src/ngcc/test/analysis/private_declarations_analyzer_spec.ts renamed to packages/compiler-cli/ngcc/test/analysis/private_declarations_analyzer_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {Reference} from '../../../ngtsc/imports';
11+
import {Reference} from '../../../src/ngtsc/imports';
1212
import {NgccReferencesRegistry} from '../../src/analysis/ngcc_references_registry';
1313
import {PrivateDeclarationsAnalyzer} from '../../src/analysis/private_declarations_analyzer';
1414
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';

Diff for: packages/compiler-cli/src/ngcc/test/analysis/references_registry_spec.ts renamed to packages/compiler-cli/ngcc/test/analysis/references_registry_spec.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
import * as ts from 'typescript';
1010

11-
import {Reference} from '../../../ngtsc/imports';
12-
import {PartialEvaluator} from '../../../ngtsc/partial_evaluator';
13-
import {TypeScriptReflectionHost} from '../../../ngtsc/reflection';
14-
import {getDeclaration, makeProgram} from '../../../ngtsc/testing/in_memory_typescript';
11+
import {Reference} from '../../../src/ngtsc/imports';
12+
import {PartialEvaluator} from '../../../src/ngtsc/partial_evaluator';
13+
import {TypeScriptReflectionHost} from '../../../src/ngtsc/reflection';
14+
import {getDeclaration, makeProgram} from '../../../src/ngtsc/testing/in_memory_typescript';
1515
import {NgccReferencesRegistry} from '../../src/analysis/ngcc_references_registry';
1616

1717
describe('NgccReferencesRegistry', () => {

Diff for: packages/compiler-cli/src/ngcc/test/helpers/utils.ts renamed to packages/compiler-cli/ngcc/test/helpers/utils.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
*/
88
import * as ts from 'typescript';
99

10-
import {AbsoluteFsPath} from '../../../ngtsc/path';
11-
import {makeProgram} from '../../../ngtsc/testing/in_memory_typescript';
10+
import {AbsoluteFsPath} from '../../../src/ngtsc/path';
11+
import {makeProgram} from '../../../src/ngtsc/testing/in_memory_typescript';
1212
import {BundleProgram} from '../../src/packages/bundle_program';
1313
import {EntryPointFormat} from '../../src/packages/entry_point';
1414
import {EntryPointBundle} from '../../src/packages/entry_point_bundle';
1515

16-
export {getDeclaration} from '../../../ngtsc/testing/in_memory_typescript';
16+
export {getDeclaration} from '../../../src/ngtsc/testing/in_memory_typescript';
1717

1818

1919

Diff for: packages/compiler-cli/src/ngcc/test/host/esm2015_host_import_helper_spec.ts renamed to packages/compiler-cli/ngcc/test/host/esm2015_host_import_helper_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMemberKind, Import} from '../../../ngtsc/reflection';
11+
import {ClassMemberKind, Import} from '../../../src/ngtsc/reflection';
1212
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';
1313
import {convertToDirectTsLibImport, getDeclaration, makeTestProgram} from '../helpers/utils';
1414

Diff for: packages/compiler-cli/src/ngcc/test/host/esm2015_host_spec.ts renamed to packages/compiler-cli/ngcc/test/host/esm2015_host_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMemberKind, Import} from '../../../ngtsc/reflection';
11+
import {ClassMemberKind, Import} from '../../../src/ngtsc/reflection';
1212
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';
1313
import {getDeclaration, makeTestBundleProgram, makeTestProgram} from '../helpers/utils';
1414

Diff for: packages/compiler-cli/src/ngcc/test/host/esm5_host_import_helper_spec.ts renamed to packages/compiler-cli/ngcc/test/host/esm5_host_import_helper_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMemberKind, Import} from '../../../ngtsc/reflection';
11+
import {ClassMemberKind, Import} from '../../../src/ngtsc/reflection';
1212
import {Esm5ReflectionHost} from '../../src/host/esm5_host';
1313
import {convertToDirectTsLibImport, getDeclaration, makeTestProgram} from '../helpers/utils';
1414

Diff for: packages/compiler-cli/src/ngcc/test/host/esm5_host_spec.ts renamed to packages/compiler-cli/ngcc/test/host/esm5_host_spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import * as ts from 'typescript';
1010

11-
import {ClassMemberKind, Import} from '../../../ngtsc/reflection';
11+
import {ClassMemberKind, Import} from '../../../src/ngtsc/reflection';
1212
import {Esm2015ReflectionHost} from '../../src/host/esm2015_host';
1313
import {Esm5ReflectionHost} from '../../src/host/esm5_host';
1414
import {getDeclaration, makeTestBundleProgram, makeTestProgram} from '../helpers/utils';

Diff for: packages/compiler-cli/src/ngcc/test/host/util.ts renamed to packages/compiler-cli/ngcc/test/host/util.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import * as ts from 'typescript';
1111

12-
import {CtorParameter} from '../../../ngtsc/reflection';
12+
import {CtorParameter} from '../../../src/ngtsc/reflection';
1313

1414
/**
1515
* Check that a given list of `CtorParameter`s has `typeValueReference`s of specific `ts.Identifier`

Diff for: packages/compiler-cli/test/ngcc/ngcc_spec.ts renamed to packages/compiler-cli/ngcc/test/integration/ngcc_spec.ts

+23-11
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import * as mockFs from 'mock-fs';
1111
import {join} from 'path';
1212
const Module = require('module');
1313

14-
import {mainNgcc} from '../../src/ngcc/src/main';
15-
import {getAngularPackagesFromRunfiles} from '../runfile_helpers';
14+
import {mainNgcc} from '../../src/main';
15+
import {getAngularPackagesFromRunfiles, resolveNpmTreeArtifact} from '../../../test/runfile_helpers';
1616

1717
describe('ngcc main()', () => {
1818
beforeEach(createMockFileSystem);
@@ -41,7 +41,10 @@ describe('ngcc main()', () => {
4141

4242

4343
function createMockFileSystem() {
44-
mockFs({'/node_modules/@angular': loadAngularPackages()});
44+
mockFs({
45+
'/node_modules/@angular': loadAngularPackages(),
46+
'/node_modules/rxjs': loadDirectory(resolveNpmTreeArtifact('rxjs', 'index.js')),
47+
});
4548
spyOn(Module, '_resolveFilename').and.callFake(mockResolve);
4649
}
4750

@@ -84,22 +87,31 @@ interface Directory {
8487
[pathSegment: string]: string|Directory;
8588
}
8689

87-
function mockResolve(p: string): string|null {
88-
if (existsSync(p)) {
89-
const stat = statSync(p);
90+
function mockResolve(request: string): string|null {
91+
if (existsSync(request)) {
92+
const stat = statSync(request);
9093
if (stat.isFile()) {
91-
return p;
94+
return request;
9295
} else if (stat.isDirectory()) {
93-
const pIndex = mockResolve(p + '/index');
96+
const pIndex = mockResolve(request + '/index');
9497
if (pIndex && existsSync(pIndex)) {
9598
return pIndex;
9699
}
97100
}
98101
}
99102
for (const ext of ['.js', '.d.ts']) {
100-
if (existsSync(p + ext)) {
101-
return p + ext;
103+
if (existsSync(request + ext)) {
104+
return request + ext;
102105
}
103106
}
104-
return null;
107+
if (request.indexOf('/node_modules') === 0) {
108+
// We already tried adding node_modules so give up.
109+
return null;
110+
} else {
111+
return mockResolve(join('/node_modules', request));
112+
}
105113
}
114+
115+
function loadPackage(packageName: string) {
116+
return JSON.parse(readFileSync(`/node_modules/${packageName}/package.json`, 'utf8'));
117+
}

0 commit comments

Comments
 (0)