]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
build: use cjs and mjs extensions in dist
authorEduardo San Martin Morote <posva13@gmail.com>
Fri, 10 Sep 2021 13:57:12 +0000 (15:57 +0200)
committerEduardo San Martin Morote <posva13@gmail.com>
Fri, 10 Sep 2021 13:57:12 +0000 (15:57 +0200)
packages/pinia/package.json
rollup.config.js

index 0af13940e78498da2d07f3931d53e388a1452468..edab23487b986c26041766956634b029d56e0266 100644 (file)
@@ -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"
   ],
index 6166e3278a08aa10e206f0d909be88e262a10e43..c6b30209bf74a587bac407ce8223c22a4e66b3c8 100644 (file)
@@ -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,
     },
     [