diff --git a/packages/ngtools/webpack/src/ngcc_processor.ts b/packages/ngtools/webpack/src/ngcc_processor.ts index b5933ab70066..241b1a2ba12c 100644 --- a/packages/ngtools/webpack/src/ngcc_processor.ts +++ b/packages/ngtools/webpack/src/ngcc_processor.ts @@ -97,10 +97,15 @@ export class NgccProcessor { */ private tryResolvePackage(moduleName: string, resolvedFileName: string): string | undefined { try { + let packageJsonPath = path.resolve(resolvedFileName, '../package.json'); + if (existsSync(packageJsonPath)) { + return packageJsonPath; + } + // This is based on the logic in the NGCC compiler // tslint:disable-next-line:max-line-length // See: https://github.com/angular/angular/blob/b93c1dffa17e4e6900b3ab1b9e554b6da92be0de/packages/compiler-cli/src/ngcc/src/packages/dependency_host.ts#L85-L121 - const packageJsonPath = require.resolve(`${moduleName}/package.json`, + packageJsonPath = require.resolve(`${moduleName}/package.json`, { paths: [resolvedFileName], }, diff --git a/tests/legacy-cli/e2e_runner.ts b/tests/legacy-cli/e2e_runner.ts index b4ad05e5d46a..ec1d980aa132 100644 --- a/tests/legacy-cli/e2e_runner.ts +++ b/tests/legacy-cli/e2e_runner.ts @@ -141,8 +141,6 @@ if (argv.ivy) { // Ivy doesn't support i18n externally at the moment. .filter(name => !name.includes('tests/i18n/')) .filter(name => !name.endsWith('tests/build/aot/aot-i18n.ts')) - // We don't have a library consumption story yet for Ivy. - .filter(name => !name.endsWith('tests/generate/library/library-consumption.ts')) // The additional lazy modules array does not work with Ivy because it's not needed. .filter(name => !name.endsWith('tests/build/dynamic-import.ts')) // We don't have a platform-server usage story yet for Ivy.