feat(ngcc): support for new APF where module
points to esm2015 output (#36944)
As of version 10, libraries following the APF will no longer contain ESM5 output. Hence, tests in ngcc need to be updated as they currently rely on the release output of `@angular/core`. Additionally, we'd need to support in ngcc that the `module` property of entry-points no longer necessarily refers to `esm5` output, but instead can also target `esm2015`. We currently achieve this by checking the path the `module` property points to. We can do this because as per APF, the folder name is known for the esm2015 output. Long-term for more coverage, we want to sniff the format by looking for known ES2015 constructs in the file `module` refers to. PR Close #36944
This commit is contained in:

committed by
Alex Rickabaugh

parent
d5293d2aa3
commit
c98a4d6ddd
@ -429,6 +429,12 @@ runInEachFileSystem(() => {
|
||||
expect(getEntryPointFormat(fs, entryPoint, 'module')).toBe('esm5');
|
||||
});
|
||||
|
||||
it('should return `esm2015` format for `module` property if it points to esm2015 output',
|
||||
() => {
|
||||
entryPoint.packageJson['module'] = '../fesm2015/valid-entry-point.js';
|
||||
expect(getEntryPointFormat(fs, entryPoint, 'module')).toBe('esm2015');
|
||||
});
|
||||
|
||||
(['browser', 'main'] as EntryPointJsonProperty[]).forEach(browserOrMain => {
|
||||
it('should return `esm5` for `' + browserOrMain +
|
||||
'` if the file contains import or export statements',
|
||||
|
Reference in New Issue
Block a user