diff --git a/packages/api/tsdown.config.mjs b/packages/api/tsdown.config.mjs index 67a8c12136..3a4202e9ec 100644 --- a/packages/api/tsdown.config.mjs +++ b/packages/api/tsdown.config.mjs @@ -1,3 +1,4 @@ +import path from 'node:path'; import { defineConfig } from 'tsdown'; export default defineConfig({ @@ -15,6 +16,6 @@ export default defineConfig({ // only first-party code: relative imports and the `~/*` tsconfig alias (-> src). // `neverBundle` is the 0.22 replacement for the deprecated `external` option. deps: { - neverBundle: (id) => !id.startsWith('.') && !id.startsWith('~') && !id.startsWith('/'), + neverBundle: (id) => !id.startsWith('.') && !id.startsWith('~') && !path.isAbsolute(id), }, }); diff --git a/packages/client/tsdown.config.mjs b/packages/client/tsdown.config.mjs index cbb178a929..a027189ce6 100644 --- a/packages/client/tsdown.config.mjs +++ b/packages/client/tsdown.config.mjs @@ -1,3 +1,4 @@ +import path from 'node:path'; import { defineConfig } from 'tsdown'; // Mirror the prior Rollup `@rollup/plugin-replace` substitutions: only these three are @@ -26,7 +27,7 @@ export default defineConfig({ // Externalize every third-party import (consumers provide the peers + react/jsx-runtime); // bundle only relative, `~`-aliased, and absolute sources. deps: { - neverBundle: (id) => !id.startsWith('.') && !id.startsWith('~') && !id.startsWith('/'), + neverBundle: (id) => !id.startsWith('.') && !id.startsWith('~') && !path.isAbsolute(id), onlyBundle: false, }, }); diff --git a/packages/data-provider/tsdown.config.mjs b/packages/data-provider/tsdown.config.mjs index 91c1497a15..a870e0aa43 100644 --- a/packages/data-provider/tsdown.config.mjs +++ b/packages/data-provider/tsdown.config.mjs @@ -1,3 +1,4 @@ +import path from 'node:path'; import { createRequire } from 'node:module'; import replace from '@rollup/plugin-replace'; import { defineConfig } from 'tsdown'; @@ -20,7 +21,7 @@ export default defineConfig({ // Match the prior Rollup build: bundle nothing third-party. Externalize every // bare import (deps, peers, and node built-ins like `crypto`); bundle only the // package's own relative/aliased modules. - neverBundle: (id) => !id.startsWith('.') && !id.startsWith('/') && !id.startsWith('src/'), + neverBundle: (id) => !id.startsWith('.') && !path.isAbsolute(id) && !id.startsWith('src/'), onlyBundle: false, }, plugins: [ diff --git a/packages/data-schemas/tsdown.config.mjs b/packages/data-schemas/tsdown.config.mjs index 0159c4ab94..1b6923ce66 100644 --- a/packages/data-schemas/tsdown.config.mjs +++ b/packages/data-schemas/tsdown.config.mjs @@ -1,3 +1,4 @@ +import path from 'node:path'; import { defineConfig } from 'tsdown'; export default defineConfig({ @@ -16,7 +17,7 @@ export default defineConfig({ !id.startsWith('dotenv/') && !id.startsWith('.') && !id.startsWith('~') && - !id.startsWith('/'), + !path.isAbsolute(id), // dotenv is bundled on purpose, so silence the "detected dependencies in bundle" hint. onlyBundle: false, },