Fix: Programmatic module.exports addition for named and default exports in CJS (#1460)

* experimental export patch

patches the base index file to export the default as classic
node cjs module

* refactor

* add semi

Co-authored-by: daishi <daishi@axlight.com>
This commit is contained in:
reaper 2022-12-05 17:58:51 +05:30 committed by GitHub
parent d53f92d827
commit e3d738f385
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -75,10 +75,16 @@ function createESMConfig(input, output) {
}
}
function createCommonJSConfig(input, output) {
function createCommonJSConfig(input, output, options) {
return {
input,
output: { file: `${output}.js`, format: 'cjs' },
output: {
file: `${output}.js`,
format: 'cjs',
outro: options.addModuleExport
? 'module.exports = exports.default; Object.assign(exports.default, exports);'
: '',
},
external,
plugins: [
alias({
@ -166,7 +172,9 @@ module.exports = function (args) {
}
return [
...(c === 'index' ? [createDeclarationConfig(`src/${c}.ts`, 'dist')] : []),
createCommonJSConfig(`src/${c}.ts`, `dist/${c}`),
createCommonJSConfig(`src/${c}.ts`, `dist/${c}`, {
addModuleExport: c === 'index',
}),
createESMConfig(`src/${c}.ts`, `dist/esm/${c}.js`),
createESMConfig(`src/${c}.ts`, `dist/esm/${c}.mjs`),
createUMDConfig(`src/${c}.ts`, `dist/umd/${c}`, 'development'),