diff --git a/babel.config.js b/babel.config.js index 52e5023b97e10f51eb74d6445a66b5852d220429..bcd1b025b71b757975dc85eda2f26e9246ff9f9a 100644 --- a/babel.config.js +++ b/babel.config.js @@ -3,6 +3,11 @@ * compatible with IE11 and Edge. */ +const moduleFormatMap = { + cjs: 'commonjs', + es: false, +}; + // eslint-disable-next-line func-names module.exports = function (api) { const isDevelopmentEnv = api.env('development'); @@ -26,7 +31,7 @@ module.exports = function (api) { corejs: 3, exclude: ['transform-typeof-symbol'], forceAllTransforms: true, - modules: false, + modules: moduleFormatMap[process.env.MODULE_FORMAT] || false, useBuiltIns: 'entry', }, ], diff --git a/package.json b/package.json index 909f59f87d694f0d54c44df665f47cea63bd1391..0e3cc2c97db0b5f990be74ef31ef189f01f06e2f 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,10 @@ "test:watch": "jest -c jest.json --watch", "build": "webpack --mode=production", "build:dev": "webpack --mode=development", - "build:es": "mkdir -p dist/es && cp -r src dist/es && babel dist/es -d dist/es", + "build:es": "mkdir -p dist/es && cp -r src dist/es && MODULE_FORMAT=es babel dist/es -d dist/es", + "build:cjs": "mkdir -p dist/cjs && cp -r src dist/cjs && MODULE_FORMAT=cjs babel dist/cjs -d dist/cjs", "build:watch": "webpack --watch --mode=development", - "prepublishOnly": "npm run clean && npm run build:es && npm run build", + "prepublishOnly": "npm run clean && npm run build:es && npm run build:cjs && npm run build", "size": "bundlewatch --config bundlewatch.config.json", "start": "npm run build:dev && concurrently \"npm run build:watch\" \"npm run server -- -p 4444\"", "server:json": "node ./scripts/json-server/server.js >> ./scripts/json-server/json-server.log"