Skip to content

Commit 731f43f

Browse files
authoredNov 20, 2023
fix(experimental-dts): only include exported declarations (#1039)
1 parent d8a203c commit 731f43f

File tree

3 files changed

+55
-65
lines changed

3 files changed

+55
-65
lines changed
 

‎src/api-extractor.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,14 @@ async function rollupDtsFiles(
123123
sourceFileName = toAbsolutePath(sourceFileName)
124124
const outFileName = path.join(outDir, out + dtsExtension)
125125

126+
// Find all declarations that are exported from the current source file
127+
const currentExports = exports.filter(
128+
(declaration) => declaration.sourceFileName === sourceFileName
129+
)
130+
126131
writeFileSync(
127132
outFileName,
128-
formatDistributionExports(exports, outFileName, dtsOutputFilePath)
133+
formatDistributionExports(currentExports, outFileName, dtsOutputFilePath)
129134
)
130135
}
131136
}

‎test/__snapshots__/index.test.ts.snap

+14-64
Original file line numberDiff line numberDiff line change
@@ -340,44 +340,22 @@ export { }
340340
// dist/index.d.mts
341341
//////////////////////////////////////////////////////////////////////
342342
343-
export { render } from './_tsup-dts-rollup';
344-
export { ClientRenderOptions } from './_tsup-dts-rollup';
345-
export { sharedFunction } from './_tsup-dts-rollup';
346-
export { sharedType } from './_tsup-dts-rollup';
347343
export { VERSION } from './_tsup-dts-rollup';
348-
export { default_alias as default } from './_tsup-dts-rollup';
349-
export { ServerRenderOptions } from './_tsup-dts-rollup';
350-
export { serverConstant } from './_tsup-dts-rollup';
351-
export { serverConstantAlias } from './_tsup-dts-rollup';
352-
export { ServerClass } from './_tsup-dts-rollup';
353-
export { ServerThirdPartyNamespace } from './_tsup-dts-rollup';
354-
export { renderToString } from './_tsup-dts-rollup';
355-
export { renderToNodeStream } from './_tsup-dts-rollup';
356-
export { renderToStaticMarkup } from './_tsup-dts-rollup';
357-
export { renderToStaticNodeStream } from './_tsup-dts-rollup';
358-
export { version } from './_tsup-dts-rollup';
344+
export { render_alias_1 as render } from './_tsup-dts-rollup';
345+
export { ClientRenderOptions_alias_1 as ClientRenderOptions } from './_tsup-dts-rollup';
346+
export { sharedFunction_alias_1 as sharedFunction } from './_tsup-dts-rollup';
347+
export { sharedType_alias_1 as sharedType } from './_tsup-dts-rollup';
359348
360349
361350
//////////////////////////////////////////////////////////////////////
362351
// dist/index.d.ts
363352
//////////////////////////////////////////////////////////////////////
364353
365-
export { render } from './_tsup-dts-rollup';
366-
export { ClientRenderOptions } from './_tsup-dts-rollup';
367-
export { sharedFunction } from './_tsup-dts-rollup';
368-
export { sharedType } from './_tsup-dts-rollup';
369354
export { VERSION } from './_tsup-dts-rollup';
370-
export { default_alias as default } from './_tsup-dts-rollup';
371-
export { ServerRenderOptions } from './_tsup-dts-rollup';
372-
export { serverConstant } from './_tsup-dts-rollup';
373-
export { serverConstantAlias } from './_tsup-dts-rollup';
374-
export { ServerClass } from './_tsup-dts-rollup';
375-
export { ServerThirdPartyNamespace } from './_tsup-dts-rollup';
376-
export { renderToString } from './_tsup-dts-rollup';
377-
export { renderToNodeStream } from './_tsup-dts-rollup';
378-
export { renderToStaticMarkup } from './_tsup-dts-rollup';
379-
export { renderToStaticNodeStream } from './_tsup-dts-rollup';
380-
export { version } from './_tsup-dts-rollup';
355+
export { render_alias_1 as render } from './_tsup-dts-rollup';
356+
export { ClientRenderOptions_alias_1 as ClientRenderOptions } from './_tsup-dts-rollup';
357+
export { sharedFunction_alias_1 as sharedFunction } from './_tsup-dts-rollup';
358+
export { sharedType_alias_1 as sharedType } from './_tsup-dts-rollup';
381359
382360
383361
//////////////////////////////////////////////////////////////////////
@@ -388,18 +366,6 @@ export { render } from './_tsup-dts-rollup';
388366
export { ClientRenderOptions } from './_tsup-dts-rollup';
389367
export { sharedFunction } from './_tsup-dts-rollup';
390368
export { sharedType } from './_tsup-dts-rollup';
391-
export { VERSION } from './_tsup-dts-rollup';
392-
export { default_alias as default } from './_tsup-dts-rollup';
393-
export { ServerRenderOptions } from './_tsup-dts-rollup';
394-
export { serverConstant } from './_tsup-dts-rollup';
395-
export { serverConstantAlias } from './_tsup-dts-rollup';
396-
export { ServerClass } from './_tsup-dts-rollup';
397-
export { ServerThirdPartyNamespace } from './_tsup-dts-rollup';
398-
export { renderToString } from './_tsup-dts-rollup';
399-
export { renderToNodeStream } from './_tsup-dts-rollup';
400-
export { renderToStaticMarkup } from './_tsup-dts-rollup';
401-
export { renderToStaticNodeStream } from './_tsup-dts-rollup';
402-
export { version } from './_tsup-dts-rollup';
403369
404370
405371
//////////////////////////////////////////////////////////////////////
@@ -410,35 +376,21 @@ export { render } from './_tsup-dts-rollup';
410376
export { ClientRenderOptions } from './_tsup-dts-rollup';
411377
export { sharedFunction } from './_tsup-dts-rollup';
412378
export { sharedType } from './_tsup-dts-rollup';
413-
export { VERSION } from './_tsup-dts-rollup';
414-
export { default_alias as default } from './_tsup-dts-rollup';
415-
export { ServerRenderOptions } from './_tsup-dts-rollup';
416-
export { serverConstant } from './_tsup-dts-rollup';
417-
export { serverConstantAlias } from './_tsup-dts-rollup';
418-
export { ServerClass } from './_tsup-dts-rollup';
419-
export { ServerThirdPartyNamespace } from './_tsup-dts-rollup';
420-
export { renderToString } from './_tsup-dts-rollup';
421-
export { renderToNodeStream } from './_tsup-dts-rollup';
422-
export { renderToStaticMarkup } from './_tsup-dts-rollup';
423-
export { renderToStaticNodeStream } from './_tsup-dts-rollup';
424-
export { version } from './_tsup-dts-rollup';
425379
426380
427381
//////////////////////////////////////////////////////////////////////
428382
// dist/server/index.d.mts
429383
//////////////////////////////////////////////////////////////////////
430384
431-
export { render } from '../_tsup-dts-rollup';
432-
export { ClientRenderOptions } from '../_tsup-dts-rollup';
433-
export { sharedFunction } from '../_tsup-dts-rollup';
434-
export { sharedType } from '../_tsup-dts-rollup';
435-
export { VERSION } from '../_tsup-dts-rollup';
385+
export { render_alias_2 as render } from '../_tsup-dts-rollup';
436386
export { default_alias as default } from '../_tsup-dts-rollup';
437387
export { ServerRenderOptions } from '../_tsup-dts-rollup';
438388
export { serverConstant } from '../_tsup-dts-rollup';
439389
export { serverConstantAlias } from '../_tsup-dts-rollup';
440390
export { ServerClass } from '../_tsup-dts-rollup';
441391
export { ServerThirdPartyNamespace } from '../_tsup-dts-rollup';
392+
export { sharedFunction_alias_2 as sharedFunction } from '../_tsup-dts-rollup';
393+
export { sharedType_alias_2 as sharedType } from '../_tsup-dts-rollup';
442394
export { renderToString } from '../_tsup-dts-rollup';
443395
export { renderToNodeStream } from '../_tsup-dts-rollup';
444396
export { renderToStaticMarkup } from '../_tsup-dts-rollup';
@@ -450,17 +402,15 @@ export { version } from '../_tsup-dts-rollup';
450402
// dist/server/index.d.ts
451403
//////////////////////////////////////////////////////////////////////
452404
453-
export { render } from '../_tsup-dts-rollup';
454-
export { ClientRenderOptions } from '../_tsup-dts-rollup';
455-
export { sharedFunction } from '../_tsup-dts-rollup';
456-
export { sharedType } from '../_tsup-dts-rollup';
457-
export { VERSION } from '../_tsup-dts-rollup';
405+
export { render_alias_2 as render } from '../_tsup-dts-rollup';
458406
export { default_alias as default } from '../_tsup-dts-rollup';
459407
export { ServerRenderOptions } from '../_tsup-dts-rollup';
460408
export { serverConstant } from '../_tsup-dts-rollup';
461409
export { serverConstantAlias } from '../_tsup-dts-rollup';
462410
export { ServerClass } from '../_tsup-dts-rollup';
463411
export { ServerThirdPartyNamespace } from '../_tsup-dts-rollup';
412+
export { sharedFunction_alias_2 as sharedFunction } from '../_tsup-dts-rollup';
413+
export { sharedType_alias_2 as sharedType } from '../_tsup-dts-rollup';
464414
export { renderToString } from '../_tsup-dts-rollup';
465415
export { renderToNodeStream } from '../_tsup-dts-rollup';
466416
export { renderToStaticMarkup } from '../_tsup-dts-rollup';

‎test/index.test.ts

+35
Original file line numberDiff line numberDiff line change
@@ -1633,3 +1633,38 @@ test('should emit declaration files with experimentalDts', async () => {
16331633
)
16341634
expect(snapshots.sort().join('\n')).toMatchSnapshot()
16351635
})
1636+
1637+
test('should only include exported declarations with experimentalDts', async () => {
1638+
const files = {
1639+
'package.json': `{ "name": "tsup-playground", "private": true }`,
1640+
'tsconfig.json': `{ "compilerOptions": { "skipLibCheck": true } }`,
1641+
'tsup.config.ts': `
1642+
export default {
1643+
entry: ['./src/entry1.ts', './src/entry2.ts']
1644+
}
1645+
`,
1646+
'src/shared.ts': `
1647+
export const declare1 = 'declare1'
1648+
export const declare2 = 'declare2'
1649+
`,
1650+
'src/entry1.ts': `
1651+
export { declare1 } from './shared'
1652+
`,
1653+
'src/entry2.ts': `
1654+
export { declare2 } from './shared'
1655+
`,
1656+
}
1657+
const { getFileContent } = await run(getTestName(), files, {
1658+
entry: [],
1659+
flags: ['--experimental-dts'],
1660+
})
1661+
1662+
let entry1dts = await getFileContent('dist/entry1.d.ts')
1663+
let entry2dts = await getFileContent('dist/entry2.d.ts')
1664+
1665+
expect(entry1dts).toContain('declare1')
1666+
expect(entry1dts).not.toContain('declare2')
1667+
1668+
expect(entry2dts).toContain('declare2')
1669+
expect(entry2dts).not.toContain('declare1')
1670+
})

0 commit comments

Comments
 (0)
Please sign in to comment.