From: Eduardo San Martin Morote Date: Fri, 10 Sep 2021 13:57:12 +0000 (+0200) Subject: build: use cjs and mjs extensions in dist X-Git-Tag: pinia@2.0.0-rc.9~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3b7e29d5cf9c308a97423078a16a4540db56f5ed;p=thirdparty%2Fvuejs%2Fpinia.git build: use cjs and mjs extensions in dist --- diff --git a/packages/pinia/package.json b/packages/pinia/package.json index 0af13940..edab2348 100644 --- a/packages/pinia/package.json +++ b/packages/pinia/package.json @@ -2,15 +2,15 @@ "name": "pinia", "version": "2.0.0-rc.8", "description": "Intuitive, type safe and flexible Store for Vue", - "main": "dist/pinia.cjs.js", - "module": "dist/pinia.esm-bundler.js", - "unpkg": "dist/pinia.global.js", - "jsdelivr": "dist/pinia.global.js", + "main": "dist/pinia.cjs", + "module": "dist/pinia.mjs", + "unpkg": "dist/pinia.iife.js", + "jsdelivr": "dist/pinia.iife.js", "types": "dist/pinia.d.ts", "exports": { ".": { - "import": "./dist/pinia.esm-bundler.js", - "require": "./dist/pinia.cjs.js" + "import": "./dist/pinia.mjs", + "require": "./dist/pinia.cjs" }, "./package.json": "./package.json" }, @@ -30,9 +30,9 @@ }, "files": [ "dist/*.js", + "dist/*.mjs", + "dist/*.cjs", "dist/pinia.d.ts", - "nuxt-2/*.js", - "nuxt-2/*.d.ts", "LICENSE", "README.md" ], diff --git a/rollup.config.js b/rollup.config.js index 6166e327..c6b30209 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -41,7 +41,7 @@ let hasTSChecked = false const outputConfigs = { // each file name has the format: `dist/${name}.${format}.js` // format being a key of this object - 'esm-bundler': { + mjs: { file: pkg.module, format: `es`, }, @@ -54,7 +54,7 @@ const outputConfigs = { format: `iife`, }, esm: { - file: pkg.module.replace('bundler', 'browser'), + file: pkg.module.replace('.mjs', '.browser.js'), format: `es`, }, } @@ -91,11 +91,11 @@ function createConfig(format, output, plugins = []) { '@vue/composition-api': 'vueCompositionApi', } - const isProductionBuild = /\.prod\.js$/.test(output.file) + const isProductionBuild = output.file.endsWith('.prod.js') const isGlobalBuild = format === 'global' const isRawESMBuild = format === 'esm' const isNodeBuild = format === 'cjs' - const isBundlerESMBuild = /esm-bundler/.test(format) + const isBundlerESMBuild = format === 'esm' || format === 'mjs' if (isGlobalBuild) output.name = pascalcase(pkg.name) @@ -195,9 +195,15 @@ function createReplacePlugin( }) } +function getProdFileName(format, name) { + return format === 'cjs' + ? `dist/${name}.prod.cjs` + : `dist/${name}.${format}.prod.js` +} + function createProductionConfig(format) { return createConfig(format, { - file: `dist/${name}.${format}.prod.js`, + file: getProdFileName(format, name), format: outputConfigs[format].format, }) } @@ -207,7 +213,7 @@ function createMinifiedConfig(format) { return createConfig( format, { - file: `dist/${name}.${format}.prod.js`, + file: getProdFileName(format, name), format: outputConfigs[format].format, }, [