fix(compiler): collect non exported symbols in d.ts files (#19301)
TS treats all symbols in d.ts files as exported, whether they have an `export` keyword or not. PR Close #19301
This commit is contained in:
@ -30,6 +30,7 @@ describe('Collector', () => {
|
||||
'/unsupported-2.ts',
|
||||
'/unsupported-3.ts',
|
||||
'class-arity.ts',
|
||||
'declarations.d.ts',
|
||||
'import-star.ts',
|
||||
'exported-classes.ts',
|
||||
'exported-functions.ts',
|
||||
@ -67,6 +68,19 @@ describe('Collector', () => {
|
||||
expect(metadata).toBeUndefined();
|
||||
});
|
||||
|
||||
it('should treat all symbols of .d.ts files as exported', () => {
|
||||
const sourceFile = program.getSourceFile('declarations.d.ts');
|
||||
const metadata = collector.getMetadata(sourceFile);
|
||||
expect(metadata).toEqual({
|
||||
__symbolic: 'module',
|
||||
version: 3,
|
||||
metadata: {
|
||||
DeclaredClass: {__symbolic: 'class'},
|
||||
declaredFn: {__symbolic: 'function'},
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('should return an interface reference for types', () => {
|
||||
const sourceFile = program.getSourceFile('/exported-type.ts');
|
||||
const metadata = collector.getMetadata(sourceFile);
|
||||
@ -1237,6 +1251,10 @@ const FILES: Directory = {
|
||||
constructor(private f: common.NgFor) {}
|
||||
}
|
||||
`,
|
||||
'declarations.d.ts': `
|
||||
declare class DeclaredClass {}
|
||||
declare function declaredFn();
|
||||
`,
|
||||
'exported-classes.ts': `
|
||||
export class SimpleClass {}
|
||||
export abstract class AbstractClass {}
|
||||
|
Reference in New Issue
Block a user