refactor(ivy): ngcc - fix return type on `makeEntryPointBundle()` (#32052)

In commit 7b55ba58b (part of PR #29092), the implementation of
`makeEntryPointBundle()` was changed such that it now always return
`EntryPointBundle` (and not `null`).
However, the return type was not updated and as result we continued to
unnecessarily handle `null` as a potential return value in some places.

This commit fixes the return type to reflect the implementation and
removes the redundant code that was dealing with `null`.

PR Close #32052
This commit is contained in:
George Kalpakas 2019-08-05 23:12:58 +03:00 committed by Alex Rickabaugh
parent 961d663fbe
commit 9537b2ff84
4 changed files with 17 additions and 22 deletions

View File

@ -134,24 +134,19 @@ export function mainNgcc(
fileSystem, entryPoint, formatPath, isCore, property, format, processDts, pathMappings, fileSystem, entryPoint, formatPath, isCore, property, format, processDts, pathMappings,
true); true);
if (bundle) { logger.info(`Compiling ${entryPoint.name} : ${property} as ${format}`);
logger.info(`Compiling ${entryPoint.name} : ${property} as ${format}`); const transformedFiles = transformer.transform(bundle);
const transformedFiles = transformer.transform(bundle); fileWriter.writeBundle(entryPoint, bundle, transformedFiles);
fileWriter.writeBundle(entryPoint, bundle, transformedFiles); compiledFormats.add(formatPath);
compiledFormats.add(formatPath);
const propsToMarkAsProcessed = pathToPropsMap.get(formatPath) !; const propsToMarkAsProcessed = pathToPropsMap.get(formatPath) !;
if (processDts) { if (processDts) {
propsToMarkAsProcessed.push('typings'); propsToMarkAsProcessed.push('typings');
processDts = false; processDts = false;
}
markAsProcessed(
fileSystem, entryPointPackageJson, entryPointPackageJsonPath, propsToMarkAsProcessed);
} else {
logger.warn(
`Skipping ${entryPoint.name} : ${format} (no valid entry point file for this format).`);
} }
markAsProcessed(
fileSystem, entryPointPackageJson, entryPointPackageJsonPath, propsToMarkAsProcessed);
} }
} }

View File

@ -44,7 +44,7 @@ export interface EntryPointBundle {
export function makeEntryPointBundle( export function makeEntryPointBundle(
fs: FileSystem, entryPoint: EntryPoint, formatPath: string, isCore: boolean, fs: FileSystem, entryPoint: EntryPoint, formatPath: string, isCore: boolean,
formatProperty: EntryPointJsonProperty, format: EntryPointFormat, transformDts: boolean, formatProperty: EntryPointJsonProperty, format: EntryPointFormat, transformDts: boolean,
pathMappings?: PathMappings, mirrorDtsFromSrc: boolean = false): EntryPointBundle|null { pathMappings?: PathMappings, mirrorDtsFromSrc: boolean = false): EntryPointBundle {
// Create the TS program and necessary helpers. // Create the TS program and necessary helpers.
const options: ts.CompilerOptions = { const options: ts.CompilerOptions = {
allowJs: true, allowJs: true,
@ -88,4 +88,4 @@ function computePotentialDtsFilesFromJsFiles(
} }
} }
return additionalFiles; return additionalFiles;
} }

View File

@ -145,7 +145,7 @@ runInEachFileSystem(() => {
compiledByAngular: true, compiledByAngular: true,
}; };
const esm5bundle = const esm5bundle =
makeEntryPointBundle(fs, entryPoint, './index.js', false, 'esm5', 'esm5', true) !; makeEntryPointBundle(fs, entryPoint, './index.js', false, 'esm5', 'esm5', true);
expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName)) expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName))
.toEqual(jasmine.arrayWithExactContents([ .toEqual(jasmine.arrayWithExactContents([
@ -193,7 +193,7 @@ runInEachFileSystem(() => {
}; };
const esm5bundle = makeEntryPointBundle( const esm5bundle = makeEntryPointBundle(
fs, entryPoint, './index.js', false, 'esm5', 'esm5', /* transformDts */ true, fs, entryPoint, './index.js', false, 'esm5', 'esm5', /* transformDts */ true,
/* pathMappings */ undefined, /* mirrorDtsFromSrc */ true) !; /* pathMappings */ undefined, /* mirrorDtsFromSrc */ true);
expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName)) expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName))
.toContain(absoluteFrom('/node_modules/test/internal.js')); .toContain(absoluteFrom('/node_modules/test/internal.js'));
expect(esm5bundle.dts !.program.getSourceFiles().map(sf => sf.fileName)) expect(esm5bundle.dts !.program.getSourceFiles().map(sf => sf.fileName))
@ -214,7 +214,7 @@ runInEachFileSystem(() => {
}; };
const esm5bundle = makeEntryPointBundle( const esm5bundle = makeEntryPointBundle(
fs, entryPoint, './index.js', false, 'esm5', 'esm5', /* transformDts */ true, fs, entryPoint, './index.js', false, 'esm5', 'esm5', /* transformDts */ true,
/* pathMappings */ undefined, /* mirrorDtsFromSrc */ false) !; /* pathMappings */ undefined, /* mirrorDtsFromSrc */ false);
expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName)) expect(esm5bundle.src.program.getSourceFiles().map(sf => sf.fileName))
.toContain(absoluteFrom('/node_modules/test/internal.js')); .toContain(absoluteFrom('/node_modules/test/internal.js'));
expect(esm5bundle.dts !.program.getSourceFiles().map(sf => sf.fileName)) expect(esm5bundle.dts !.program.getSourceFiles().map(sf => sf.fileName))

View File

@ -357,6 +357,6 @@ runInEachFileSystem(() => {
format: EntryPointFormat): EntryPointBundle { format: EntryPointFormat): EntryPointBundle {
return makeEntryPointBundle( return makeEntryPointBundle(
fs, entryPoint, entryPoint.packageJson[formatProperty] !, false, formatProperty, format, fs, entryPoint, entryPoint.packageJson[formatProperty] !, false, formatProperty, format,
true) !; true);
} }
}); });