feat(ngcc): support ignoreMissingDependencies in ngcc config (#33192)

Normally, when ngcc encounters a package with missing dependencies while
attempting to determine a compilation ordering, it will ignore that package.
This commit adds a configuration for a flag to tell ngcc to compile the
package anyway, regardless of any missing dependencies.

FW-1931 #resolve

PR Close #33192
This commit is contained in:
Alex Rickabaugh
2019-10-02 10:32:57 +03:00
committed by Matias Niemelä
parent afcff73be3
commit 4da2dda647
7 changed files with 66 additions and 6 deletions

View File

@ -50,6 +50,7 @@ runInEachFileSystem(() => {
_(`/project/node_modules/some_package/valid_entry_point/valid_entry_point.d.ts`),
packageJson: loadPackageJson(fs, '/project/node_modules/some_package/valid_entry_point'),
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
@ -109,6 +110,7 @@ runInEachFileSystem(() => {
typings: _('/project/node_modules/some_package/valid_entry_point/some_other.d.ts'),
packageJson: overriddenPackageJson,
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
@ -155,6 +157,7 @@ runInEachFileSystem(() => {
'/project/node_modules/some_package/missing_package_json/missing_package_json.d.ts'),
packageJson: {name: 'some_package/missing_package_json', ...override},
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
@ -211,6 +214,7 @@ runInEachFileSystem(() => {
typings: _(`/project/node_modules/some_package/missing_typings/${typingsPath}.d.ts`),
packageJson: loadPackageJson(fs, '/project/node_modules/some_package/missing_typings'),
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
}
@ -234,6 +238,7 @@ runInEachFileSystem(() => {
typings: _(`/project/node_modules/some_package/missing_metadata/missing_metadata.d.ts`),
packageJson: loadPackageJson(fs, '/project/node_modules/some_package/missing_metadata'),
compiledByAngular: false,
ignoreMissingDependencies: false,
});
});
@ -260,6 +265,7 @@ runInEachFileSystem(() => {
typings: _('/project/node_modules/some_package/missing_metadata/missing_metadata.d.ts'),
packageJson: loadPackageJson(fs, '/project/node_modules/some_package/missing_metadata'),
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
@ -288,6 +294,7 @@ runInEachFileSystem(() => {
packageJson:
loadPackageJson(fs, '/project/node_modules/some_package/types_rather_than_typings'),
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});
@ -319,6 +326,7 @@ runInEachFileSystem(() => {
typings: _(`/project/node_modules/some_package/material_style/material_style.d.ts`),
packageJson: loadPackageJson(fs, '/project/node_modules/some_package/material_style'),
compiledByAngular: true,
ignoreMissingDependencies: false,
});
});