diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index a1a0aafa5..c6feedd06 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -103,11 +103,6 @@ By default, each package will be built in multiple distribution formats as speci
- This means you **must** import everything from this file and this file only to ensure you are getting the same instance of code.
- Hard-coded prod/dev branches, and the prod build is pre-minified (you will have to use different paths/aliases for dev/prod)
-- **`cjs`**
-
- - For use in Node.js server-side rendering via `require()`.
- - The dev/prod files are pre-built, but are dynamically required based on `process.env.NODE_ENV` in `index.js`, which is the default entry when you do `require('vue-i18n')`.
-
For example, to build `compiler` with the global build only:
```bash
@@ -117,7 +112,7 @@ pnpm build -- message-compiler -f global
Multiple formats can be specified as a comma-separated list:
```bash
-pnpm build -- message-compiler -f esm-browser,cjs
+pnpm build -- message-compiler -f esm-browser,global
```
#### Build with Source Maps
diff --git a/docs/guide/extra/dist.md b/docs/guide/extra/dist.md
index 1b8376078..be30b95ee 100644
--- a/docs/guide/extra/dist.md
+++ b/docs/guide/extra/dist.md
@@ -40,24 +40,10 @@ If you use `vue-i18n.runtime.esm-bundler.js`, you will need to precompile all lo
## For Node.js (Server-Side)
-- **`vue-i18n.cjs(.prod).js`**:
- - For CommonJS usage in Node.js
- - For use in Node.js via `require()`
- - If you bundle your app with webpack with `target: 'node'` and properly externalize `vue-i18n`, this is the build that will be loaded
- - The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env``.NODE_ENV`
-
-:::tip Support Version
-:new: 9.3+
-:::
-
-- **`vue-i18n(.runtime).node.mjs`**:
+- **`vue-i18n(.runtime).node.js`**:
- For ES Modules usage in Node.js
- For use in Node.js via `import`
- The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env``.NODE_ENV`
- - This module is proxy module of `vue-i18n(.runtime).mjs`
- - **`vue-i18n.runtime.node.mjs`**: is runtime only.
- - **`vue-i18n.node.mjs`**: includes the runtime compiler.
-
-:::tip NOTE
-ES Modules will be the future of the Node.js module system. The `vue-i18n.cjs(.prod).js` will be deprecated in the future. We recommend you would use `vue-i18n(.runtime).node.mjs`.
-:::
+ - This module is proxy module of `vue-i18n(.runtime).js`
+ - **`vue-i18n.runtime.node.js`**: is runtime only.
+ - **`vue-i18n.node.js`**: includes the runtime compiler.
diff --git a/eslint.config.mjs b/eslint.config.mjs
index add504a49..66f6631d4 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -51,7 +51,7 @@ export default [
}
},
{
- files: ['**/*.js', '**/*.cjs', '**/*.mjs'],
+ files: ['**/*.js', '**/*.mjs'],
...ts.configs.disableTypeChecked
},
@@ -95,7 +95,6 @@ export default [
'shim.d.ts',
'temp/**',
'.eslintcache',
- '.eslintrc.cjs',
'packages/*/vite.config.ts',
'packages/*/index.js',
'packages/vue-i18n-core/petite.js',
diff --git a/packages/core-base/index.js b/packages/core-base/index.js
deleted file mode 100644
index 9a6a8be0a..000000000
--- a/packages/core-base/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/core-base.prod.cjs')
-} else {
- module.exports = require('./dist/core-base.cjs')
-}
diff --git a/packages/core-base/package.json b/packages/core-base/package.json
index 1bfc37639..a38568f6b 100644
--- a/packages/core-base/package.json
+++ b/packages/core-base/package.json
@@ -24,11 +24,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/core-base.mjs",
+ "module": "dist/core-base.js",
"unpkg": "dist/core-base.global.js",
"jsdelivr": "dist/core-base.global.js",
"types": "dist/core-base.d.ts",
@@ -47,25 +45,19 @@
"formats": [
"mjs",
"browser",
- "cjs",
"global"
]
},
"exports": {
".": {
"types": "./dist/core-base.d.ts",
- "import": "./dist/core-base.mjs",
+ "import": "./dist/core-base.js",
"browser": "./dist/core-base.esm-browser.js",
"node": {
"import": {
- "production": "./dist/core-base.prod.cjs",
- "development": "./dist/core-base.mjs",
- "default": "./dist/core-base.mjs"
- },
- "require": {
- "production": "./dist/core-base.prod.cjs",
- "development": "./dist/core-base.cjs",
- "default": "./index.js"
+ "production": "./dist/core-base.prod.js",
+ "development": "./dist/core-base.js",
+ "default": "./dist/core-base.js"
}
}
},
diff --git a/packages/core/README.md b/packages/core/README.md
index cbaff2059..70975b72b 100644
--- a/packages/core/README.md
+++ b/packages/core/README.md
@@ -36,22 +36,13 @@ The intlify core module for i18n
### For Node.js (Server-Side)
-- **`core.cjs(.prod).js`**:
- - For CommonJS usage in Node.js
- - For use in Node.js via `require()`
- - If you bundle your app with webpack with `target: 'node'` and properly externalize `@intlify/core`, this is the build that will be loaded
- - The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`
-
-- **`core(.runtime).node.mjs`**:
- - For ES Moudles usage in Node.js
+- **`core(.runtime).node.js`**:
+ - For ES Modules usage in Node.js
- For use in Node.js via `import`
- The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`
- - This module is proxy module of `core(.runtime).mjs`
- - **`core.runtime.node.mjs`**: is runtime only. proxy `core.runtime.mjs`
- - **`core.node.mjs`**: includes the runtime compiler. proxy `core.mjs`
-
-> NOTE: ES Modules will be the future of the Node.js module system. The `core.cjs(.prod).js` will be deprecated in the future. We recommend you would use `core(.runtime).node.mjs`. 9.3+
-
+ - This module is proxy module of `core(.runtime).js`
+ - **`core.runtime.node.js`**: is runtime only. proxy `core.runtime.js`
+ - **`core.node.js`**: includes the runtime compiler. proxy `core.js`
## :copyright: License
diff --git a/packages/core/index.js b/packages/core/index.js
deleted file mode 100644
index e4e67ff60..000000000
--- a/packages/core/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/core.prod.cjs')
-} else {
- module.exports = require('./dist/core.cjs')
-}
diff --git a/packages/core/package.json b/packages/core/package.json
index e95d19732..cf03d284a 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -24,11 +24,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/core.mjs",
+ "module": "dist/core.js",
"unpkg": "dist/core.global.js",
"jsdelivr": "dist/core.global.js",
"types": "dist/core.d.ts",
@@ -48,7 +46,6 @@
"mjs-node-runtime",
"browser",
"browser-runtime",
- "cjs",
"global",
"global-runtime"
]
@@ -56,18 +53,13 @@
"exports": {
".": {
"types": "./dist/core.d.ts",
- "import": "./dist/core.mjs",
+ "import": "./dist/core.js",
"browser": "./dist/core.esm-browser.js",
"node": {
"import": {
- "production": "./dist/core.prod.node.mjs",
- "development": "./dist/core.node.mjs",
- "default": "./dist/core.node.mjs"
- },
- "require": {
- "production": "./dist/core.prod.cjs",
- "development": "./dist/core.cjs",
- "default": "./index.js"
+ "production": "./dist/core.prod.node.js",
+ "development": "./dist/core.node.js",
+ "default": "./dist/core.node.js"
}
}
},
diff --git a/packages/devtools-types/index.js b/packages/devtools-types/index.js
deleted file mode 100644
index d64c0e375..000000000
--- a/packages/devtools-types/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/devtools-types.prod.cjs')
-} else {
- module.exports = require('./dist/devtools-types.cjs')
-}
diff --git a/packages/devtools-types/package.json b/packages/devtools-types/package.json
index fd9821ae9..dc4f6dcc3 100644
--- a/packages/devtools-types/package.json
+++ b/packages/devtools-types/package.json
@@ -23,11 +23,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/devtools-types.mjs",
+ "module": "dist/devtools-types.js",
"types": "dist/devtools-types.d.ts",
"dependencies": {
"@intlify/core-base": "workspace:*",
@@ -39,24 +37,18 @@
"buildOptions": {
"name": "IntlifyDevToolsTypes",
"formats": [
- "mjs",
- "cjs"
+ "mjs"
]
},
"exports": {
".": {
"types": "./dist/devtools-types.d.ts",
- "import": "./dist/devtools-types.mjs",
+ "import": "./dist/devtools-types.js",
"node": {
"import": {
- "production": "./dist/devtools-types.prod.cjs",
- "development": "./dist/devtools-types.mjs",
- "default": "./dist/devtools-types.mjs"
- },
- "require": {
- "production": "./dist/devtools-types.prod.cjs",
- "development": "./dist/devtools-types.cjs",
- "default": "./index.js"
+ "production": "./dist/devtools-types.prod.js",
+ "development": "./dist/devtools-types.js",
+ "default": "./dist/devtools-types.js"
}
}
},
diff --git a/packages/message-compiler/index.js b/packages/message-compiler/index.js
deleted file mode 100644
index 5109c761e..000000000
--- a/packages/message-compiler/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/message-compiler.prod.cjs')
-} else {
- module.exports = require('./dist/message-compiler.cjs')
-}
diff --git a/packages/message-compiler/package.json b/packages/message-compiler/package.json
index d94c560a0..60b444345 100644
--- a/packages/message-compiler/package.json
+++ b/packages/message-compiler/package.json
@@ -24,11 +24,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/message-compiler.mjs",
+ "module": "dist/message-compiler.js",
"unpkg": "dist/message-compiler.global.js",
"jsdelivr": "dist/message-compiler.global.js",
"types": "dist/message-compiler.d.ts",
@@ -45,7 +43,6 @@
"mjs",
"mjs-node",
"browser",
- "cjs",
"global"
],
"enableFullBundleForEsmBrowser": true
@@ -53,18 +50,13 @@
"exports": {
".": {
"types": "./dist/message-compiler.d.ts",
- "import": "./dist/message-compiler.mjs",
+ "import": "./dist/message-compiler.js",
"browser": "./dist/message-compiler.esm-browser.js",
"node": {
"import": {
- "production": "./dist/message-compiler.node.mjs",
- "development": "./dist/message-compiler.node.mjs",
- "default": "./dist/message-compiler.node.mjs"
- },
- "require": {
- "production": "./dist/message-compiler.prod.cjs",
- "development": "./dist/message-compiler.cjs",
- "default": "./index.js"
+ "production": "./dist/message-compiler.node.js",
+ "development": "./dist/message-compiler.node.js",
+ "default": "./dist/message-compiler.node.js"
}
}
},
diff --git a/packages/petite-vue-i18n/index.js b/packages/petite-vue-i18n/index.js
deleted file mode 100644
index a93b001de..000000000
--- a/packages/petite-vue-i18n/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/petite-vue-i18n.prod.cjs')
-} else {
- module.exports = require('./dist/petite-vue-i18n.cjs')
-}
diff --git a/packages/petite-vue-i18n/package.json b/packages/petite-vue-i18n/package.json
index 97162f603..4291425c6 100644
--- a/packages/petite-vue-i18n/package.json
+++ b/packages/petite-vue-i18n/package.json
@@ -26,11 +26,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/petite-vue-i18n.mjs",
+ "module": "dist/petite-vue-i18n.js",
"unpkg": "dist/petite-vue-i18n.global.js",
"jsdelivr": "dist/petite-vue-i18n.global.js",
"types": "dist/petite-vue-i18n.d.ts",
@@ -58,7 +56,6 @@
"mjs-node-runtime",
"browser",
"browser-runtime",
- "cjs",
"global",
"global-runtime"
]
@@ -66,18 +63,13 @@
"exports": {
".": {
"types": "./dist/petite-vue-i18n.d.ts",
- "import": "./dist/petite-vue-i18n.mjs",
+ "import": "./dist/petite-vue-i18n.js",
"browser": "./dist/petite-vue-i18n.esm-browser.js",
"node": {
"import": {
- "production": "./dist/petite-vue-i18n.node.mjs",
- "development": "./dist/petite-vue-i18n.node.mjs",
- "default": "./dist/petite-vue-i18n.node.mjs"
- },
- "require": {
- "production": "./dist/petite-vue-i18n.prod.cjs",
- "development": "./dist/petite-vue-i18n.cjs",
- "default": "./index.js"
+ "production": "./dist/petite-vue-i18n.node.js",
+ "development": "./dist/petite-vue-i18n.node.js",
+ "default": "./dist/petite-vue-i18n.node.js"
}
}
},
diff --git a/packages/shared/index.js b/packages/shared/index.js
deleted file mode 100644
index 6aa3731fd..000000000
--- a/packages/shared/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/shared.prod.cjs')
-} else {
- module.exports = require('./dist/shared.cjs')
-}
diff --git a/packages/shared/package.json b/packages/shared/package.json
index 385b1af68..9df8841ad 100644
--- a/packages/shared/package.json
+++ b/packages/shared/package.json
@@ -23,11 +23,9 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
- "module": "dist/shared.mjs",
+ "module": "dist/shared.js",
"types": "dist/shared.d.ts",
"engines": {
"node": ">= 16"
@@ -36,25 +34,18 @@
"name": "IntlifyShared",
"formats": [
"mjs",
- "browser",
- "cjs"
+ "browser"
]
},
"exports": {
".": {
"types": "./dist/shared.d.ts",
- "import": "./dist/shared.mjs",
+ "import": "./dist/shared.js",
"browser": "./dist/shared.esm-browser.js",
"node": {
"import": {
- "production": "./dist/shared.prod.cjs",
- "development": "./dist/shared.mjs",
- "default": "./dist/shared.mjs"
- },
- "require": {
- "production": "./dist/shared.prod.cjs",
- "development": "./dist/shared.cjs",
- "default": "./index.js"
+ "development": "./dist/shared.js",
+ "default": "./dist/shared.js"
}
}
},
diff --git a/packages/vue-i18n-core/index.js b/packages/vue-i18n-core/index.js
deleted file mode 100644
index ee69d2b71..000000000
--- a/packages/vue-i18n-core/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/vue-i18n-core.prod.cjs')
-} else {
- module.exports = require('./dist/vue-i18n-core.cjs')
-}
diff --git a/packages/vue-i18n-core/package.json b/packages/vue-i18n-core/package.json
index c83192054..5a30c3c21 100644
--- a/packages/vue-i18n-core/package.json
+++ b/packages/vue-i18n-core/package.json
@@ -26,10 +26,8 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist"
],
- "main": "index.js",
"module": "dist/vue-i18n-core.mjs",
"unpkg": "dist/vue-i18n-core.global.js",
"jsdelivr": "dist/vue-i18n-core.global.js",
@@ -53,42 +51,29 @@
"formats": [
"mjs",
"browser",
- "cjs",
"global"
]
},
"exports": {
".": {
"types": "./dist/vue-i18n-core.d.ts",
- "import": "./dist/vue-i18n-core.mjs",
+ "import": "./dist/vue-i18n-core.js",
"browser": "./dist/vue-i18n-core.esm-browser.js",
"node": {
"import": {
- "production": "./dist/vue-i18n-core.prod.cjs",
- "development": "./dist/vue-i18n-core.mjs",
- "default": "./dist/vue-i18n-core.mjs"
- },
- "require": {
- "production": "./dist/vue-i18n-core.prod.cjs",
- "development": "./dist/vue-i18n-core.cjs",
- "default": "./index.js"
+ "development": "./dist/vue-i18n-core.js",
+ "default": "./dist/vue-i18n-core.js"
}
}
},
"./petite": {
"types": "./dist/petite-vue-i18n-core.d.ts",
- "import": "./dist/petite-vue-i18n-core.mjs",
+ "import": "./dist/petite-vue-i18n-core.js",
"browser": "./dist/petite-vue-i18n-core.esm-browser.js",
"node": {
"import": {
- "production": "./petite-dist/vue-i18n-core.prod.cjs",
- "development": "./petite-dist/vue-i18n-core.mjs",
- "default": "./dist/petite-vue-i18n-core.mjs"
- },
- "require": {
- "production": "./dist/petite-vue-i18n-core.prod.cjs",
- "development": "./dist/petite-vue-i18n-core.cjs",
- "default": "./petite.js"
+ "development": "./petite-dist/vue-i18n-core.js",
+ "default": "./dist/petite-vue-i18n-core.js"
}
}
},
diff --git a/packages/vue-i18n-core/petite.js b/packages/vue-i18n-core/petite.js
deleted file mode 100644
index 44e0a7a2b..000000000
--- a/packages/vue-i18n-core/petite.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/petite-vue-i18n-core.prod.cjs')
-} else {
- module.exports = require('./dist/petite-vue-i18n-core.cjs')
-}
diff --git a/packages/vue-i18n/README.md b/packages/vue-i18n/README.md
index 1a8dcadfb..02cffe254 100644
--- a/packages/vue-i18n/README.md
+++ b/packages/vue-i18n/README.md
@@ -38,21 +38,13 @@ Internationalization plugin for Vue.js
### For Node.js (Server-Side)
-- **`vue-i18n.cjs(.prod).js`**:
- - For CommonJS usage in Node.js
- - For use in Node.js via `require()`
- - If you bundle your app with webpack with `target: 'node'` and properly externalize `vue-i18n`, this is the build that will be loaded
- - The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`
-
-- **`vue-i18n(.runtime).node.mjs`**:
- - For ES Moudles usage in Node.js
+- **`vue-i18n(.runtime).node.js`**:
+ - For ES Modules usage in Node.js
- For use in Node.js via `import`
- The dev/prod files are pre-built, but the appropriate file is automatically required based on `process.env.NODE_ENV`
- - This module is proxy module of `vue-i18n(.runtime).mjs`
- - **`vue-i18n.runtime.node.mjs`**: is runtime only
- - **`vue-i18n.node.mjs`**: includes the runtime compiler
-
-> NOTE: ES Modules will be the future of the Node.js module system. The `vue-i18n.cjs(.prod).js` will be deprecated in the future. We recommend you would use `vue-i18n(.runtime).node.mjs`. 9.3+
+ - This module is proxy module of `vue-i18n(.runtime).js`
+ - **`vue-i18n.runtime.node.js`**: is runtime only
+ - **`vue-i18n.node.js`**: includes the runtime compiler
## For Bundler feature flags
diff --git a/packages/vue-i18n/index.js b/packages/vue-i18n/index.js
deleted file mode 100644
index 607e38d2b..000000000
--- a/packages/vue-i18n/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-if (process.env.NODE_ENV === 'production') {
- module.exports = require('./dist/vue-i18n.prod.cjs')
-} else {
- module.exports = require('./dist/vue-i18n.cjs')
-}
diff --git a/packages/vue-i18n/package.json b/packages/vue-i18n/package.json
index 052543701..1467c77f2 100644
--- a/packages/vue-i18n/package.json
+++ b/packages/vue-i18n/package.json
@@ -25,12 +25,10 @@
"url": "https://github.com/intlify/vue-i18n/issues"
},
"files": [
- "index.js",
"dist",
"vetur"
],
- "main": "index.js",
- "module": "dist/vue-i18n.mjs",
+ "module": "dist/vue-i18n.js",
"unpkg": "dist/vue-i18n.global.js",
"jsdelivr": "dist/vue-i18n.global.js",
"types": "dist/vue-i18n.d.ts",
@@ -58,7 +56,6 @@
"mjs-node-runtime",
"browser",
"browser-runtime",
- "cjs",
"global",
"global-runtime"
]
@@ -66,18 +63,13 @@
"exports": {
".": {
"types": "./dist/vue-i18n.d.ts",
- "import": "./dist/vue-i18n.mjs",
+ "import": "./dist/vue-i18n.js",
"browser": "./dist/vue-i18n.esm-browser.js",
"node": {
"import": {
- "production": "./dist/vue-i18n.node.mjs",
- "development": "./dist/vue-i18n.node.mjs",
- "default": "./dist/vue-i18n.node.mjs"
- },
- "require": {
- "production": "./dist/vue-i18n.prod.cjs",
- "development": "./dist/vue-i18n.cjs",
- "default": "./index.js"
+ "production": "./dist/vue-i18n.node.js",
+ "development": "./dist/vue-i18n.node.js",
+ "default": "./dist/vue-i18n.node.js"
}
}
},
diff --git a/rollup.config.mjs b/rollup.config.mjs
index 8b3be9ce9..dff6ab229 100644
--- a/rollup.config.mjs
+++ b/rollup.config.mjs
@@ -34,42 +34,36 @@ let hasTSChecked = false
function resolveStubs(name, ns = '') {
return {
- [`dist/${ns}${name}.cjs`]: `${ns}${name}.cjs.js`,
- [`dist/${ns}${name}.mjs`]: `${ns}${name}.esm-bundler.js`,
- [`dist/${ns}${name}.runtime.mjs`]: `${ns}${name}.runtime.esm-bundler.js`,
- [`dist/${ns}${name}.prod.cjs`]: `${ns}${name}.cjs.prod.js`
+ [`dist/${ns}${name}.js`]: `${ns}${name}.esm-bundler.js`,
+ [`dist/${ns}${name}.runtime.js`]: `${ns}${name}.runtime.esm-bundler.js`,
}
}
function resolveOutputConfigs(name, ns = '') {
return {
mjs: {
- file: `dist/${ns}${name}.mjs`,
+ file: `dist/${ns}${name}.js`,
format: `es`
},
'mjs-node': {
- file: `dist/${ns}${name}.node.mjs`,
+ file: `dist/${ns}${name}.node.js`,
format: `es`
},
browser: {
file: `dist/${ns}${name}.esm-browser.js`,
format: `es`
},
- cjs: {
- file: `dist/${ns}${name}.cjs`,
- format: `cjs`
- },
global: {
file: `dist/${ns}${name}.global.js`,
format: `iife`
},
// runtime-only builds, for '@intlify/core' and 'vue-i18n' package only
'mjs-runtime': {
- file: `dist/${ns}${name}.runtime.mjs`,
+ file: `dist/${ns}${name}.runtime.js`,
format: `es`
},
'mjs-node-runtime': {
- file: `dist/${ns}${name}.runtime.node.mjs`,
+ file: `dist/${ns}${name}.runtime.node.js`,
format: `es`
},
'browser-runtime': {
@@ -84,7 +78,7 @@ function resolveOutputConfigs(name, ns = '') {
}
const outputConfigs = resolveOutputConfigs(name)
-const defaultFormats = ['esm-bundler', 'cjs']
+const defaultFormats = ['esm-bundler']
const inlineFormats = process.env.FORMATS && process.env.FORMATS.split(',')
const packageFormats = inlineFormats || packageOptions.formats || defaultFormats
@@ -112,12 +106,6 @@ if (process.env.NODE_ENV === 'production') {
if (packageOptions.prod === false) {
return
}
- if (format === 'cjs') {
- packageConfigs.push(createProductionConfig(format, name))
- if (name === 'vue-i18n-core') {
- packageConfigs.push(createProductionConfig(format, name, 'petite-'))
- }
- }
if (/^(global|browser)(-runtime)?/.test(format)) {
packageConfigs.push(createMinifiedConfig(format, outputConfigs[format]))
if (name === 'vue-i18n-core') {
@@ -158,7 +146,7 @@ function createConfig(format, _output, plugins = []) {
process.env.__DEV__ === 'false' || /\.prod\.[cm]?js$/.test(output.file)
const isBundlerESMBuild = /mjs/.test(format)
const isBrowserESMBuild = /browser/.test(format)
- const isNodeBuild = output.file.includes('.node.') || format === 'cjs'
+ const isNodeBuild = output.file.includes('.node.')
const isGlobalBuild = /global/.test(format)
const isRuntimeOnlyBuild = /runtime/.test(format)
const isLite = /petite-vue-i18n/.test(output.file)
@@ -209,10 +197,7 @@ function createConfig(format, _output, plugins = []) {
...Object.keys(pkg.peerDependencies || {})
]
- const nodePlugins =
- // packageOptions.enableNonBrowserBranches && format !== 'cjs'
- format !== 'cjs'
- ? [
+ const nodePlugins = [
require('@rollup/plugin-node-resolve').nodeResolve(),
require('@rollup/plugin-commonjs')({
sourceMap: false
@@ -220,7 +205,6 @@ function createConfig(format, _output, plugins = []) {
require('rollup-plugin-node-builtins')(),
require('rollup-plugin-node-globals')()
]
- : []
return {
input: resolve(entryFile),
@@ -253,10 +237,7 @@ function createConfig(format, _output, plugins = []) {
const stub = stubs[rawFile]
if (!stub) return
- const contents =
- format === 'cjs'
- ? `module.exports = require('../${rawFile}')`
- : `export * from '../${rawFile}'`
+ const contents = `export * from '../${rawFile}'`
await fs.writeFile(resolve(`dist/${stub}`), contents)
console.log(`created stub ${pc.bold(`dist/${stub}`)}`)
@@ -391,15 +372,6 @@ function createReplacePlugin(
})
}
-function createProductionConfig(format, name, ns = '') {
- const extension = format === 'cjs' || format === 'mjs' ? format : 'js'
- const descriptor = format === 'cjs' || format === 'mjs' ? '' : `.${format}`
- return createConfig(format, {
- file: `dist/${ns}${name}${descriptor}.prod.${extension}`,
- format: outputConfigs[format].format
- })
-}
-
function createMinifiedConfig(format, output) {
const newOutput = {
file: output.file.replace(/\.js$/, '.prod.js'),
diff --git a/scripts/build-rolldown.ts b/scripts/build-rolldown.ts
index 96c7ec98a..533b17beb 100644
--- a/scripts/build-rolldown.ts
+++ b/scripts/build-rolldown.ts
@@ -3,14 +3,14 @@ Produces production builds and stitches together d.ts files.
To specify the package to build, simply pass its name and the desired build
formats to output (defaults to `buildOptions.formats` specified in that package,
-or "esm,cjs"):
+or "esm"):
```
# name supports fuzzy match. will build all packages with name containing "core-base":
pnpm build core-base
# specify the format to output
-pnpm build core --formats cjs
+pnpm build core --formats mjs
```
*/
diff --git a/scripts/build.ts b/scripts/build.ts
index 3ca8614c8..66e1bf15a 100644
--- a/scripts/build.ts
+++ b/scripts/build.ts
@@ -3,14 +3,14 @@ Produces production builds and stitches together d.ts files.
To specify the package to build, simply pass its name and the desired build
formats to output (defaults to `buildOptions.formats` specified in that package,
-or "esm,cjs"):
+or "esm"):
```
# name supports fuzzy match. will build all packages with name containing "core-base":
pnpm build core-base
# specify the format to output
-pnpm build core --formats cjs
+pnpm build core --formats mjs
```
*/
diff --git a/scripts/dev.ts b/scripts/dev.ts
index 7caf00bb0..b45459ce8 100644
--- a/scripts/dev.ts
+++ b/scripts/dev.ts
@@ -9,7 +9,7 @@ formats to watch (defaults to "global"):
pnpm dev core-base
# specify the format to output
-pnpm dev core --formats cjs
+pnpm dev core --formats mjs
# Can also drop all __DEV__ blocks with:
__DEV__=false pnpm run dev
diff --git a/scripts/rolldown.ts b/scripts/rolldown.ts
index ceb700c64..94feba102 100644
--- a/scripts/rolldown.ts
+++ b/scripts/rolldown.ts
@@ -55,10 +55,8 @@ export function createConfigsForPackage({
function resolveStubs(name: string, ns = '') {
return {
- [`dist/${ns}${name}.cjs`]: `${ns}${name}.cjs.js`,
- [`dist/${ns}${name}.mjs`]: `${ns}${name}.esm-bundler.js`,
- [`dist/${ns}${name}.runtime.mjs`]: `${ns}${name}.runtime.esm-bundler.js`,
- [`dist/${ns}${name}.prod.cjs`]: `${ns}${name}.cjs.prod.js`
+ [`dist/${ns}${name}.js`]: `${ns}${name}.esm-bundler.js`,
+ [`dist/${ns}${name}.runtime.js`]: `${ns}${name}.runtime.esm-bundler.js`
}
}
@@ -68,32 +66,28 @@ export function createConfigsForPackage({
): Record {
return {
mjs: {
- file: resolve(`dist/${ns}${name}.mjs`),
+ file: resolve(`dist/${ns}${name}.js`),
format: `es`
},
'mjs-node': {
- file: resolve(`dist/${ns}${name}.node.mjs`),
+ file: resolve(`dist/${ns}${name}.node.js`),
format: `es`
},
browser: {
file: resolve(`dist/${ns}${name}.esm-browser.js`),
format: `es`
},
- cjs: {
- file: resolve(`dist/${ns}${name}.cjs`),
- format: `cjs`
- },
global: {
file: resolve(`dist/${ns}${name}.global.js`),
format: `iife`
},
// runtime-only builds, for '@intlify/core' and 'vue-i18n' package only
'mjs-runtime': {
- file: resolve(`dist/${ns}${name}.runtime.mjs`),
+ file: resolve(`dist/${ns}${name}.runtime.js`),
format: `es`
},
'mjs-node-runtime': {
- file: resolve(`dist/${ns}${name}.runtime.node.mjs`),
+ file: resolve(`dist/${ns}${name}.runtime.node.js`),
format: `es`
},
'browser-runtime': {
@@ -114,10 +108,7 @@ export function createConfigsForPackage({
const outputConfigs = resolveOutputConfigs(name)
- const resolvedFormats = (
- formats ||
- packageOptions.formats || ['esm-bundler', 'cjs']
- )
+ const resolvedFormats = (formats || packageOptions.formats || ['esm-bundler'])
.filter(Boolean)
.filter((format: string) => outputConfigs[format])
@@ -144,12 +135,6 @@ export function createConfigsForPackage({
if (packageOptions.prod === false) {
return
}
- if (format === 'cjs') {
- packageConfigs.push(createProductionConfig(format, name))
- if (name === 'vue-i18n-core') {
- packageConfigs.push(createProductionConfig(format, name, 'petite-'))
- }
- }
if (/^(global|browser)(-runtime)?/.test(format)) {
packageConfigs.push(createMinifiedConfig(format, outputConfigs[format]))
if (name === 'vue-i18n-core') {
@@ -178,9 +163,7 @@ export function createConfigsForPackage({
const isBundlerESMBuild = /mjs/.test(format)
const isBrowserESMBuild =
/browser/.test(format) && !packageOptions.enableNonBrowserBranches
- // const isCJSBuild = format === 'cjs'
- const isNodeBuild =
- String(output.file).includes('.node.') || format === 'cjs'
+ const isNodeBuild = String(output.file).includes('.node.')
const isGlobalBuild = /global/.test(format)
const isRuntimeOnlyBuild = /runtime/.test(format)
const isLite = /petite-vue-i18n/.test(String(output.file))
@@ -189,9 +172,6 @@ export function createConfigsForPackage({
output.sourcemap = sourceMap
output.banner = banner
output.externalLiveBindings = false
- // if (isCJSBuild) {
- // output.esModule = true
- // }
if (
name === 'vue-i18n' ||
name === 'vue-i18n-core' ||
@@ -317,11 +297,9 @@ export function createConfigsForPackage({
}
function resolveNodePlugins() {
- const nodePlugins =
- (format === 'cjs' && Object.keys(pkg.devDependencies || {}).length) ||
- packageOptions.enableNonBrowserBranches
- ? [...(format === 'cjs' ? [] : [polyfillNode()])]
- : []
+ const nodePlugins = packageOptions.enableNonBrowserBranches
+ ? [...[polyfillNode()]]
+ : []
return nodePlugins
}
@@ -331,7 +309,7 @@ export function createConfigsForPackage({
// used alone.
external: resolveExternal(),
define: resolveDefine(),
- platform: format === 'cjs' ? 'node' : 'browser',
+ platform: 'browser',
resolve: {
alias: entries
},
@@ -351,10 +329,7 @@ export function createConfigsForPackage({
}
const filename = path.basename(rawFile)
- const contents =
- format === 'cjs'
- ? `module.exports = require('./${filename}')`
- : `export * from './${filename}'`
+ const contents = `export * from './${filename}'`
await fs.writeFile(stub, contents)
// console.log(`created stub ${pc.bold(path.join('packages', target, 'dist', path.basename(stub)))}`)
@@ -369,19 +344,6 @@ export function createConfigsForPackage({
}
}
- function createProductionConfig(
- format: string,
- name: string,
- ns = ''
- ): RolldownOptions {
- const extension = format === 'cjs' || format === 'mjs' ? format : 'js'
- const descriptor = format === 'cjs' || format === 'mjs' ? '' : `.${format}`
- return createConfig(format, {
- file: resolve(`dist/${ns}${name}${descriptor}.prod.${extension}`),
- format: outputConfigs[format].format
- })
- }
-
function createMinifiedConfig(
format: string,
output: OutputOptions
diff --git a/scripts/utils.ts b/scripts/utils.ts
index 564bcf324..b938e5daf 100644
--- a/scripts/utils.ts
+++ b/scripts/utils.ts
@@ -113,8 +113,7 @@ export async function checkSizeDistFiles(target: string) {
return dirs.filter(file => /^(message-compiler|core|vue-i18n|petite-vue-i18n)/.test(file))
.filter(file => !/^core-base/.test(file))
.filter(file => !/^vue-i18n-core/.test(file))
- .filter(file => /prod.(cjs|js)$/.test(file))
- .filter(file => !/cjs.prod.js$/.test(file))
+ .filter(file => /prod\.js$/.test(file))
}
export async function readJson(path: string) {