refactor(vue): only ship es modules (#26054)

resolves #25104

BREAKING CHANGE:

`@ionic/vue` and `@ionic/vue-router` no longer ship a CommonJS entry point. Instead, only an ES Module entry point is provided for improved compatibility with Vite.
This commit is contained in:
Liam DeBeasi
2022-09-30 10:43:50 -05:00
committed by GitHub
parent 1f3ddf2370
commit 86bbed07fc
5 changed files with 11 additions and 16 deletions

View File

@ -24,6 +24,8 @@ This is a comprehensive list of the breaking changes introduced in the major ver
- [Slides](#version-7x-slides) - [Slides](#version-7x-slides)
- [Textarea](#version-7x-textarea) - [Textarea](#version-7x-textarea)
- [Virtual Scroll](#version-7x-virtual-scroll) - [Virtual Scroll](#version-7x-virtual-scroll)
- [JavaScript Frameworks](#version-7x-javascript-frameworks)
- [Vue](#version-7x-vue)
- [Utilities](#version-7x-utilities) - [Utilities](#version-7x-utilities)
- [hidden attribute](#version-7x-hidden-attribute) - [hidden attribute](#version-7x-hidden-attribute)
@ -139,6 +141,12 @@ Developers using the component will need to migrate to a virtual scroll solution
Any references to the virtual scroll types from `@ionic/core` have been removed. Please remove or replace these types: `Cell`, `VirtualNode`, `CellType`, `NodeChange`, `HeaderFn`, `ItemHeightFn`, `FooterHeightFn`, `ItemRenderFn` and `DomRenderFn`. Any references to the virtual scroll types from `@ionic/core` have been removed. Please remove or replace these types: `Cell`, `VirtualNode`, `CellType`, `NodeChange`, `HeaderFn`, `ItemHeightFn`, `FooterHeightFn`, `ItemRenderFn` and `DomRenderFn`.
<h2 id="version-7x-javascript-frameworks">JavaScript Frameworks</h2>
<h4 id="version-7x-vue">Vue</h4>
`@ionic/vue` and `@ionic/vue-router` no longer ship a CommonJS entry point. Instead, only an ES Module entry point is provided for improved compatibility with Vite.
<h2 id="version-7x-utilities">Utilities</h2> <h2 id="version-7x-utilities">Utilities</h2>
<h4 id="version-7x-hidden-attribute">`hidden` attribute</h4> <h4 id="version-7x-hidden-attribute">`hidden` attribute</h4>

View File

@ -14,7 +14,6 @@
"sync": "sh ./scripts/sync.sh" "sync": "sh ./scripts/sync.sh"
}, },
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.esm.js",
"types": "./dist/types/index.d.ts", "types": "./dist/types/index.d.ts",
"files": [ "files": [
"dist/" "dist/"

View File

@ -1,14 +1,9 @@
export default { export default {
input: 'dist-transpiled/index.js', input: 'dist-transpiled/index.js',
output: [ output: [
{
file: 'dist/index.esm.js',
format: 'es',
sourcemap: true,
},
{ {
file: 'dist/index.js', file: 'dist/index.js',
format: 'commonjs', format: 'es',
sourcemap: true, sourcemap: true,
} }
], ],

View File

@ -19,7 +19,6 @@
"sync": "sh ./scripts/sync.sh" "sync": "sh ./scripts/sync.sh"
}, },
"main": "./dist/index.js", "main": "./dist/index.js",
"module": "./dist/index.esm.js",
"types": "./dist/types/index.d.ts", "types": "./dist/types/index.d.ts",
"files": [ "files": [
"dist/", "dist/",

View File

@ -5,17 +5,11 @@ export default {
output: [ output: [
{ {
dir: 'dist/', dir: 'dist/',
entryFileNames: '[name].esm.js', entryFileNames: '[name].js',
chunkFileNames: '[name]-[hash].esm.js', chunkFileNames: '[name]-[hash].js',
format: 'es', format: 'es',
sourcemap: true sourcemap: true
}, },
{
dir: 'dist/',
format: 'commonjs',
preferConst: true,
sourcemap: true
}
], ],
external: id => external.includes(id) || id.startsWith('@ionic/core') || id.startsWith('ionicons') external: id => external.includes(id) || id.startsWith('@ionic/core') || id.startsWith('ionicons')
}; };