Fix ES module/CommonJS mismatch in shared package

- Rename CommonJS build output from .js to .cjs extensions
- Add .js extensions to ESM imports (required by Node.js)
- Add .cjs extensions to CommonJS requires
- Add post-build scripts for both ESM and CommonJS builds
- Update package.json exports to reference .cjs files for require()

Fixes: ReferenceError: exports is not defined in ES module scope

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-07-08 15:23:06 +02:00
co-authored by Copilot
parent 018a7aefc7
commit d486655f54
3 changed files with 62 additions and 3 deletions
+3 -3
View File
@@ -5,8 +5,8 @@
"type": "module",
"scripts": {
"prebuild": "barrelsby --directory src --delete --single",
"build:esm": "tsc -p tsconfig.esm.json",
"build:cjs": "tsc -p tsconfig.cjs.json",
"build:esm": "tsc -p tsconfig.esm.json && node scripts/postbuild-esm.cjs",
"build:cjs": "tsc -p tsconfig.cjs.json && find dist/cjs -name \"*.js\" -type f -exec sh -c 'mv \"$1\" \"${1%.js}.cjs\"' _ {} \\; && node scripts/postbuild.cjs",
"build": "npm run prebuild && npm run build:esm && npm run build:cjs",
"lint": "eslint ."
},
@@ -14,7 +14,7 @@
".": {
"types": "./dist/types/index.d.ts",
"import": "./dist/esm/index.js",
"require": "./dist/cjs/index.js"
"require": "./dist/cjs/index.cjs"
}
},
"types": "./dist/types/index.d.ts",