-
-
Notifications
You must be signed in to change notification settings - Fork 128
Description
Reproduction link or steps
I have a very small project with 2 ts files, total lines of code 20. I'd expect that tsdown would take max 500 ms to run and bundle it, but it reports up to 3,6 seconds. Is that expected? When I run it with --debug the times that it reports doesn't sum up to the total time that it really takes. However there's one line which reports to take 1,6 secs on my machine
tsdown:external shouldExternal: ./modules/Api.js = false +1.6s
in this stackblitz sample it totally reports 1,6 secs, the particular line above takes about 800ms and when I measure it with a stopwatch it takes about 3,5 secs
https://stackblitz.com/edit/github-4buhdkdn?file=tsdown.config.ts
here's the full log output from my machine:
`
D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js>pnpm exec tsdown D:/git/collaboration/apis.core2/src/Siemens.Collaboration.Js/ts/.ts --dts --unbundle --no-clean --debug
tsdown:debug Debugging enabled tsdown: +0ms
ℹ tsdown v0.19.0-beta.2 powered by rolldown v1.0.0-beta.58
tsdown:config inline config {
tsdown:config '--': [],
tsdown:config dts: true,
tsdown:config unbundle: true,
tsdown:config clean: false,
tsdown:config debug: true,
tsdown:config entry: [
tsdown:config 'D:/git/collaboration/apis.core2/src/Siemens.Collaboration.Js/ts/.ts'
tsdown:config ]
tsdown:config } +0ms
tsdown:config:file Using config loader: native +0ms
tsdown:config no root user config file found +53ms
tsdown:config workspace configs [
tsdown:config {
tsdown:config cwd: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js',
tsdown:config '--': [],
tsdown:config dts: true,
tsdown:config unbundle: true,
tsdown:config clean: false,
tsdown:config debug: true,
tsdown:config entry: [
tsdown:config 'D:/git/collaboration/apis.core2/src/Siemens.Collaboration.Js/ts/.ts'
tsdown:config ]
tsdown:config }
tsdown:config ] +0ms
tsdown:package Reading package.json: D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\package.json +0ms
ℹ entry: ts\Index.ts
ℹ tsconfig: tsconfig.json
tsdown:config:options Environment variables: {} +0ms
tsdown:config resolved configs [
tsdown:config {
tsdown:config cwd: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js',
tsdown:config '--': [],
tsdown:config dts: {},
tsdown:config unbundle: true,
tsdown:config clean: [],
tsdown:config debug: true,
tsdown:config entry: {
tsdown:config Index: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\ts\Index.ts'
tsdown:config },
tsdown:config alias: undefined,
tsdown:config attw: false,
tsdown:config cjsDefault: true,
tsdown:config copy: undefined,
tsdown:config css: { splitting: true, fileName: 'style.css' },
tsdown:config devtools: false,
tsdown:config env: {},
tsdown:config exports: false,
tsdown:config external: undefined,
tsdown:config fixedExtension: true,
tsdown:config globImport: true,
tsdown:config hash: true,
tsdown:config ignoreWatch: [],
tsdown:config inlineOnly: undefined,
tsdown:config logger: {
tsdown:config level: 'info',
tsdown:config info: [Function: info],
tsdown:config warn: [Function: warn],
tsdown:config warnOnce: [Function: warnOnce],
tsdown:config error: [Function: error],
tsdown:config success: [Function: success]
tsdown:config },
tsdown:config name: undefined,
tsdown:config nameLabel: undefined,
tsdown:config nodeProtocol: false,
tsdown:config noExternal: undefined,
tsdown:config outDir: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\dist',
tsdown:config pkg: {
tsdown:config name: 'siemens.collaboration.js',
tsdown:config type: 'module',
tsdown:config version: '1.0.0',
tsdown:config main: 'dist/Index.js',
tsdown:config packageJsonPath: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\package.json'
tsdown:config },
tsdown:config platform: 'node',
tsdown:config plugins: [],
tsdown:config publint: false,
tsdown:config report: {},
tsdown:config shims: false,
tsdown:config skipNodeModulesBundle: false,
tsdown:config sourcemap: false,
tsdown:config target: undefined,
tsdown:config treeshake: true,
tsdown:config tsconfig: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\tsconfig.json',
tsdown:config unused: false,
tsdown:config watch: false,
tsdown:config write: true,
tsdown:config onSuccess: undefined,
tsdown:config format: 'es'
tsdown:config }
tsdown:config ] +13ms
ℹ Build start
tsdown:rolldown rolldown config with format "es" {
tsdown:rolldown input: {
tsdown:rolldown Index: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\ts\Index.ts'
tsdown:rolldown },
tsdown:rolldown cwd: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js',
tsdown:rolldown external: undefined,
tsdown:rolldown resolve: { alias: undefined },
tsdown:rolldown tsconfig: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\tsconfig.json',
tsdown:rolldown treeshake: true,
tsdown:rolldown platform: 'node',
tsdown:rolldown transform: { target: undefined, define: {}, inject: undefined },
tsdown:rolldown plugins: [
tsdown:rolldown { name: 'tsdown:external', resolveId: [AsyncFunction: resolveId] },
tsdown:rolldown [ [Object], [Object], [Object] ],
tsdown:rolldown {
tsdown:rolldown name: 'tsdown:shebang',
tsdown:rolldown writeBundle: [AsyncFunction: writeBundle]
tsdown:rolldown },
tsdown:rolldown BuiltinPlugin {
tsdown:rolldown enforce: undefined,
tsdown:rolldown name: 'builtin:vite-import-glob',
tsdown:rolldown _options: [Object]
tsdown:rolldown },
tsdown:rolldown {
tsdown:rolldown name: 'tsdown:report',
tsdown:rolldown writeBundle: [AsyncFunction: writeBundle]
tsdown:rolldown },
tsdown:rolldown []
tsdown:rolldown ],
tsdown:rolldown moduleTypes: undefined,
tsdown:rolldown logLevel: 'info',
tsdown:rolldown onLog: [Function (anonymous)],
tsdown:rolldown devtools: undefined,
tsdown:rolldown checks: { pluginTimings: false },
tsdown:rolldown output: {
tsdown:rolldown format: 'es',
tsdown:rolldown name: undefined,
tsdown:rolldown sourcemap: false,
tsdown:rolldown dir: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\dist',
tsdown:rolldown exports: 'auto',
tsdown:rolldown minify: undefined,
tsdown:rolldown entryFileNames: '[name].mjs',
tsdown:rolldown chunkFileNames: '[name]-[hash].mjs',
tsdown:rolldown preserveModules: true,
tsdown:rolldown preserveModulesRoot: 'D:\git\collaboration\apis.core2\src\Siemens.Collaboration.Js\ts',
tsdown:rolldown postBanner: undefined,
tsdown:rolldown postFooter: undefined
tsdown:rolldown },
tsdown:rolldown write: true
tsdown:rolldown } +0ms
tsdown:rolldown Wrote debug rolldown config for "default name" (es) -> C:\Users\adfrth5\AppData\Local\Temp\tsdown-config-NH1VQU\rolldown.config.es.js +6ms
tsdown:external shouldExternal: node:module = false +0ms
tsdown:external shouldExternal: ./modules/Api.js = false +8ms
tsdown:external shouldExternal: ./modules/Api.js = false +1.6s
tsdown:report Calculating size for Index.d.mts +0ms
tsdown:report [size] Index.d.mts 56 +1ms
tsdown:report [gzip] Index.d.mts 66 +9ms
tsdown:report Calculating size for Index.mjs +1ms
tsdown:report [size] Index.mjs 57 +1ms
tsdown:report [gzip] Index.mjs 67 +3ms
tsdown:report Calculating size for modules\Api.d.mts +0ms
tsdown:report [size] modules\Api.d.mts 159 +1ms
tsdown:report [gzip] modules\Api.d.mts 150 +2ms
tsdown:report Calculating size for modules\Api.mjs +1ms
tsdown:report [size] modules\Api.mjs 211 +0ms
tsdown:report [gzip] modules\Api.mjs 185 +1ms
tsdown:report Calculating size for modules\Api.d.mts.map +1ms
tsdown:report [size] modules\Api.d.mts.map 155 +0ms
tsdown:report [gzip] modules\Api.d.mts.map 139 +1ms
tsdown:report Calculating size for modules\Api.mjs.map +0ms
tsdown:report [size] modules\Api.mjs.map 631 +0ms
tsdown:report [gzip] modules\Api.mjs.map 385 +2ms
ℹ dist\Index.mjs 0.06 kB │ gzip: 0.07 kB
ℹ dist\modules\Api.mjs.map 0.63 kB │ gzip: 0.39 kB
ℹ dist\modules\Api.mjs 0.21 kB │ gzip: 0.18 kB
ℹ dist\modules\Api.d.mts.map 0.15 kB │ gzip: 0.14 kB
ℹ dist\Index.d.mts 0.06 kB │ gzip: 0.07 kB
ℹ dist\modules\Api.d.mts 0.16 kB │ gzip: 0.15 kB
ℹ 6 files, total: 1.27 kB
✔ Build complete
What is expected?
The whole command doesn't take more than 500ms for almost nothing to bundle
What is actually happening?
it takes way longer
Any additional comments?
No response