From cf23bba4a5f009f7dddd1ecc9b9f0e7f7bb512d1 Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Tue, 7 Apr 2026 17:59:32 -0700 Subject: [PATCH 1/3] fix(privacy-types): bundle CJS deps to fix ESM resolution error type-utils and internationalization are CJS packages without an "exports" field, so Node.js ESM resolution fails when privacy-types (an ESM package) re-exports them as bare specifiers. Bundle them into the output instead and move to devDependencies. --- packages/privacy-types/package.json | 4 ++-- packages/privacy-types/tsdown.config.ts | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/privacy-types/package.json b/packages/privacy-types/package.json index b5a42df8..cf48118e 100644 --- a/packages/privacy-types/package.json +++ b/packages/privacy-types/package.json @@ -34,13 +34,13 @@ "check:publint": "publint --level warning --strict --pack pnpm" }, "dependencies": { - "@transcend-io/internationalization": "catalog:", - "@transcend-io/type-utils": "^1.8.9", "fp-ts": "^2.16.1", "io-ts": "^2.2.21" }, "devDependencies": { "@arethetypeswrong/cli": "catalog:", + "@transcend-io/internationalization": "catalog:", + "@transcend-io/type-utils": "^1.8.9", "@types/node": "catalog:", "publint": "catalog:", "tsdown": "catalog:", diff --git a/packages/privacy-types/tsdown.config.ts b/packages/privacy-types/tsdown.config.ts index 7ab4ad4c..8538c8e5 100644 --- a/packages/privacy-types/tsdown.config.ts +++ b/packages/privacy-types/tsdown.config.ts @@ -5,4 +5,7 @@ import sharedConfig from '../../tsdown.config.base.ts'; export default defineConfig({ ...sharedConfig, entry: ['src/index.ts'], + deps: { + alwaysBundle: ['@transcend-io/type-utils', '@transcend-io/internationalization'], + }, }); From 51e2b26ecac11c78af7e353b3386590b3ee89151 Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Tue, 7 Apr 2026 18:03:05 -0700 Subject: [PATCH 2/3] chore: add changeset for privacy-types ESM fix --- .changeset/fix-privacy-types-esm-compat.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fix-privacy-types-esm-compat.md diff --git a/.changeset/fix-privacy-types-esm-compat.md b/.changeset/fix-privacy-types-esm-compat.md new file mode 100644 index 00000000..9ce5211f --- /dev/null +++ b/.changeset/fix-privacy-types-esm-compat.md @@ -0,0 +1,5 @@ +--- +"@transcend-io/privacy-types": patch +--- + +Bundle CJS dependencies (type-utils, internationalization) into ESM output to fix Node.js resolution errors in consuming packages From 137aeeae89a8601590f08f4fa1d31ed34310e16e Mon Sep 17 00:00:00 2001 From: Michael Farrell Date: Tue, 7 Apr 2026 19:06:18 -0700 Subject: [PATCH 3/3] fix: update pnpm-lock.yaml to match privacy-types dependency changes --- pnpm-lock.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ecfdece..b7767245 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -276,12 +276,6 @@ importers: packages/privacy-types: dependencies: - '@transcend-io/internationalization': - specifier: 'catalog:' - version: 2.3.2 - '@transcend-io/type-utils': - specifier: ^1.8.9 - version: 1.8.9 fp-ts: specifier: ^2.16.1 version: 2.16.11 @@ -292,6 +286,12 @@ importers: '@arethetypeswrong/cli': specifier: 'catalog:' version: 0.18.2 + '@transcend-io/internationalization': + specifier: 'catalog:' + version: 2.3.2 + '@transcend-io/type-utils': + specifier: ^1.8.9 + version: 1.8.9 '@types/node': specifier: 'catalog:' version: 22.19.15