From 6b98318504139437773c91abede9cd5b6215f412 Mon Sep 17 00:00:00 2001 From: Justineo Date: Wed, 24 Jul 2024 09:54:24 +0800 Subject: [PATCH] build: add back umd, drop csp, share type between vue2/3 --- CHANGELOG.md | 3 +- README.md | 27 +- README.zh-Hans.md | 27 +- package.json | 19 +- pnpm-lock.yaml | 436 ++++++++++++++-------------- rollup.config.js | 49 ++-- rollup.vue2.config.js | 15 - scripts/docs.mjs | 2 +- scripts/postinstall.mjs | 57 ---- scripts/rollup.mjs | 24 +- src/global.ts | 7 + src/{index.vue2.d.ts => index.d.ts} | 45 +-- src/types.ts | 3 +- src/wc.ts | 18 +- 14 files changed, 318 insertions(+), 414 deletions(-) delete mode 100644 rollup.vue2.config.js delete mode 100644 scripts/postinstall.mjs create mode 100644 src/global.ts rename src/{index.vue2.d.ts => index.d.ts} (51%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b2e6f0..bfd8904 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,9 @@ ### Breaking changes -* Dropped browsers without `ResizeObserver` support. Can work with [resize-observer-polyfill](https://www.npmjs.com/package/resize-observer-polyfill). +* Dropped support for browsers without `ResizeObserver`. Can work with [resize-observer-polyfill](https://www.npmjs.com/package/resize-observer-polyfill). * Dropped support for Vue < 2.7. +* Dropped CJS outputs. ## 6.7.3 diff --git a/README.md b/README.md index abf1daa..32604c6 100644 --- a/README.md +++ b/README.md @@ -15,33 +15,16 @@

💡 Heads up 💡 前往中文版

-If you are migrating from `vue-echarts` ≤ 5, you should read the _[Migration to v6](#migration-to-v6)_ section before you update to v6. - -Not ready yet? Read documentation for older versions [here →](https://github.com/ecomfe/vue-echarts/tree/5.x) +Still using v6? Read v6 docs [here →](https://github.com/ecomfe/vue-echarts/tree/6.x) ## Installation & Usage -### npm & ESM +### npm ```sh -npm i echarts vue-echarts +npm add echarts vue-echarts ``` -To make `vue-echarts` work for _Vue 2_ (<2.7.0), you need to have `@vue/composition-api` installed (`@vue/runtime-core` for TypeScript support): - -```sh -npm i @vue/composition-api -npm i @vue/runtime-core # for TypeScript support -``` - -If you are using _NuxtJS_ on top of _Vue 2_, you'll need `@nuxtjs/composition-api`: - -```sh -npm i @nuxtjs/composition-api -``` - -And then add `'@nuxtjs/composition-api/module'` in the `buildModules` option in your `nuxt.config.js`. - #### Example
@@ -227,7 +210,7 @@ But if you really want to import the whole ECharts bundle without having to impo import "echarts"; ``` -### CDN & Global variable +### CDN Drop ` + ``` diff --git a/README.zh-Hans.md b/README.zh-Hans.md index 073c111..8f975d2 100644 --- a/README.zh-Hans.md +++ b/README.zh-Hans.md @@ -15,33 +15,16 @@ ## 💡 注意 💡 -若您准备从 `vue-echarts` ≤ 5 的版本迁移到新版本,请在升级 v6 前阅读 _[迁移到 v6](#迁移到-v6)_ 部分文档。 - -没准备好的话,可以继续阅读老版本的文档。[前往 →](https://github.com/ecomfe/vue-echarts/blob/5.x/README.zh_CN.md) +还在使用 v6?可以继续阅读老版本的文档。[前往 →](https://github.com/ecomfe/vue-echarts/blob/6.x/README.zh_CN.md) ## 安装 & 使用 -### npm & ESM +### npm ```sh -npm i echarts vue-echarts +npm add echarts vue-echarts ``` -要在 _Vue 2_(<2.7.0)下使用 `vue-echarts`,需要确保 `@vue/composition-api` 已经安装(TypeScript 支持还需要 `@vue/runtime-core`): - -```sh -npm i @vue/composition-api -npm i @vue/runtime-core # TypeScript 支持 -``` - -如果你在使用基于 _Vue 2_ 的 _NuxtJS_,则需要安装 `@nuxtjs/composition-api`: - -```sh -npm i @nuxtjs/composition-api -``` - -然后在 `nuxt.config.js` 的 `buildModules` 选项中添加 `'@nuxtjs/composition-api/module'`。 - #### 示例
@@ -227,7 +210,7 @@ export default { import "echarts"; ``` -### CDN & 全局变量 +### CDN 用如下方式在 HTML 中插入 ` + ``` diff --git a/package.json b/package.json index 36b475b..92796df 100644 --- a/package.json +++ b/package.json @@ -7,31 +7,22 @@ "author": "GU Yiling ", "scripts": { "serve": "vue-cli-service serve", - "build": "pnpm run docs && rimraf dist && pnpm run build:2 && pnpm run build:3 && vue-demi-switch 3", - "build:2": "vue-demi-switch 2 vue2 && rollup -c rollup.vue2.config.js", - "build:3": "vue-demi-switch 3 && rollup -c rollup.config.js", + "build": "pnpm run docs && rimraf dist && pnpm run build:rollup", + "build:rollup": "vue-demi-switch 3 && rollup -c rollup.config.js", "lint": "vue-cli-service lint", "publint": "publint", "build:demo": "vue-cli-service build", "docs": "node ./scripts/docs.mjs", - "postinstall": "node ./scripts/postinstall.mjs", "prepublishOnly": "pnpm run build && publint" }, "type": "module", - "module": "dist/index.js", - "main": "dist/index.cjs", + "main": "dist/index.js", "unpkg": "dist/index.min.js", "jsdelivr": "dist/index.min.js", "types": "dist/index.d.ts", "exports": { - ".": { - "import": "./dist/index.js", - "require": "./dist/index.cjs" - }, - "./csp": { - "import": "./dist/csp/index.js", - "require": "./dist/csp/index.cjs" - }, + ".": "./dist/index.js", + "./csp": "./dist/csp/index.js", "./csp/style.css": "./dist/csp/style.css" }, "files": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0f9fedd..1ec2f49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,16 +41,16 @@ importers: version: 1.2.2 '@vue/cli-plugin-babel': specifier: ^5.0.8 - version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(core-js@3.37.0)(esbuild@0.21.5)(vue@3.4.24(typescript@4.6.4)) + version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(core-js@3.37.0)(esbuild@0.23.0)(vue@3.4.24(typescript@4.6.4)) '@vue/cli-plugin-eslint': specifier: ^5.0.8 - version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.21.5)(eslint@7.32.0) + version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@7.32.0) '@vue/cli-plugin-typescript': specifier: ^5.0.8 - version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.21.5)(eslint@7.32.0)(typescript@4.6.4)(vue@3.4.24(typescript@4.6.4)) + version: 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@7.32.0)(typescript@4.6.4)(vue@3.4.24(typescript@4.6.4)) '@vue/cli-service': specifier: ^5.0.8 - version: 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + version: 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) '@vue/compiler-sfc': specifier: ^3.4.24 version: 3.4.24 @@ -101,7 +101,7 @@ importers: version: 8.4.38 postcss-loader: specifier: ^5.3.0 - version: 5.3.0(postcss@8.4.38)(webpack@5.91.0(esbuild@0.21.5)) + version: 5.3.0(postcss@8.4.38)(webpack@5.91.0(esbuild@0.23.0)) postcss-nested: specifier: ^5.0.6 version: 5.0.6(postcss@8.4.38) @@ -113,7 +113,7 @@ importers: version: 0.2.8 raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.91.0(esbuild@0.21.5)) + version: 4.0.2(webpack@5.91.0(esbuild@0.23.0)) resize-detector: specifier: ^0.3.0 version: 0.3.0 @@ -128,7 +128,7 @@ importers: version: 6.1.1(rollup@4.18.0)(typescript@4.6.4) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.21.5)(rollup@4.18.0) + version: 6.1.1(esbuild@0.23.0)(rollup@4.18.0) rollup-plugin-import-css: specifier: ^3.5.0 version: 3.5.0(rollup@4.18.0) @@ -146,7 +146,7 @@ importers: version: vue@2.7.16 webpack: specifier: ^5.91.0 - version: 5.91.0(esbuild@0.21.5) + version: 5.91.0(esbuild@0.23.0) packages: @@ -780,141 +780,147 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.23.0': + resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.23.0': + resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.23.0': + resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.23.0': + resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.23.0': + resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.23.0': + resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.23.0': + resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.23.0': + resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.23.0': + resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.23.0': + resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.23.0': + resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.23.0': + resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.23.0': + resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.23.0': + resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.23.0': + resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.23.0': + resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.23.0': + resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.23.0': + resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.23.0': + resolution: {integrity: sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.0': + resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.23.0': + resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.23.0': + resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.23.0': + resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.23.0': + resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -2452,9 +2458,9 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} + esbuild@0.23.0: + resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} + engines: {node: '>=18'} hasBin: true escalade@3.1.2: @@ -5406,73 +5412,76 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.23.0': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.23.0': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.23.0': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.23.0': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.23.0': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.23.0': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.23.0': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.23.0': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.23.0': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.23.0': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.23.0': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.23.0': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-arm64@0.23.0': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-x64@0.23.0': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/sunos-x64@0.23.0': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-arm64@0.23.0': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-ia32@0.23.0': + optional: true + + '@esbuild/win32-x64@0.23.0': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@7.32.0)': @@ -5649,13 +5658,13 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.91.0(esbuild@0.21.5))': + '@soda/friendly-errors-webpack-plugin@1.8.1(webpack@5.91.0(esbuild@0.23.0))': dependencies: chalk: 3.0.0 error-stack-parser: 2.1.4 string-width: 4.2.3 strip-ansi: 6.0.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) '@soda/get-current-script@1.0.2': {} @@ -6041,15 +6050,15 @@ snapshots: '@vue/cli-overlay@5.0.8': {} - '@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(core-js@3.37.0)(esbuild@0.21.5)(vue@3.4.24(typescript@4.6.4))': + '@vue/cli-plugin-babel@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(core-js@3.37.0)(esbuild@0.23.0)(vue@3.4.24(typescript@4.6.4))': dependencies: '@babel/core': 7.24.4 '@vue/babel-preset-app': 5.0.8(@babel/core@7.24.4)(core-js@3.37.0)(vue@3.4.24(typescript@4.6.4)) - '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) '@vue/cli-shared-utils': 5.0.8 - babel-loader: 8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.21.5)) - thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.21.5)) - webpack: 5.91.0(esbuild@0.21.5) + babel-loader: 8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.23.0)) + thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.23.0)) + webpack: 5.91.0(esbuild@0.23.0) transitivePeerDependencies: - '@swc/core' - core-js @@ -6060,14 +6069,14 @@ snapshots: - vue - webpack-cli - '@vue/cli-plugin-eslint@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.21.5)(eslint@7.32.0)': + '@vue/cli-plugin-eslint@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@7.32.0)': dependencies: - '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) '@vue/cli-shared-utils': 5.0.8 eslint: 7.32.0 - eslint-webpack-plugin: 3.2.0(eslint@7.32.0)(webpack@5.91.0(esbuild@0.21.5)) + eslint-webpack-plugin: 3.2.0(eslint@7.32.0)(webpack@5.91.0(esbuild@0.23.0)) globby: 11.1.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) yorkie: 2.0.0 transitivePeerDependencies: - '@swc/core' @@ -6076,27 +6085,27 @@ snapshots: - uglify-js - webpack-cli - '@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))': + '@vue/cli-plugin-router@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))': dependencies: - '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) '@vue/cli-shared-utils': 5.0.8 transitivePeerDependencies: - encoding - '@vue/cli-plugin-typescript@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.21.5)(eslint@7.32.0)(typescript@4.6.4)(vue@3.4.24(typescript@4.6.4))': + '@vue/cli-plugin-typescript@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))(esbuild@0.23.0)(eslint@7.32.0)(typescript@4.6.4)(vue@3.4.24(typescript@4.6.4))': dependencies: '@babel/core': 7.24.4 '@types/webpack-env': 1.18.4 - '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) '@vue/cli-shared-utils': 5.0.8 - babel-loader: 8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.21.5)) - fork-ts-checker-webpack-plugin: 6.5.3(eslint@7.32.0)(typescript@4.6.4)(webpack@5.91.0(esbuild@0.21.5)) + babel-loader: 8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.23.0)) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@7.32.0)(typescript@4.6.4)(webpack@5.91.0(esbuild@0.23.0)) globby: 11.1.0 - thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.21.5)) - ts-loader: 9.5.1(typescript@4.6.4)(webpack@5.91.0(esbuild@0.21.5)) + thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.23.0)) + ts-loader: 9.5.1(typescript@4.6.4)(webpack@5.91.0(esbuild@0.23.0)) typescript: 4.6.4 vue: 3.4.24(typescript@4.6.4) - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) transitivePeerDependencies: - '@swc/core' - encoding @@ -6106,22 +6115,22 @@ snapshots: - uglify-js - webpack-cli - '@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))': + '@vue/cli-plugin-vuex@5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3))': dependencies: - '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) + '@vue/cli-service': 5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3) - '@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)': + '@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)': dependencies: '@babel/helper-compilation-targets': 7.23.6 - '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.91.0(esbuild@0.21.5)) + '@soda/friendly-errors-webpack-plugin': 1.8.1(webpack@5.91.0(esbuild@0.23.0)) '@soda/get-current-script': 1.0.2 '@types/minimist': 1.2.5 '@vue/cli-overlay': 5.0.8 - '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)) - '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.21.5)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)) + '@vue/cli-plugin-router': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)) + '@vue/cli-plugin-vuex': 5.0.8(@vue/cli-service@5.0.8(@vue/compiler-sfc@3.4.24)(esbuild@0.23.0)(lodash@4.17.21)(prettier@2.8.8)(raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)))(vue@3.4.24(typescript@4.6.4))(webpack-sources@3.2.3)) '@vue/cli-shared-utils': 5.0.8 '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21) - '@vue/vue-loader-v15': vue-loader@15.11.1(@vue/compiler-sfc@3.4.24)(css-loader@6.11.0(webpack@5.91.0(esbuild@0.21.5)))(lodash@4.17.21)(prettier@2.8.8)(webpack@5.91.0(esbuild@0.21.5)) + '@vue/vue-loader-v15': vue-loader@15.11.1(@vue/compiler-sfc@3.4.24)(css-loader@6.11.0(webpack@5.91.0(esbuild@0.23.0)))(lodash@4.17.21)(prettier@2.8.8)(webpack@5.91.0(esbuild@0.23.0)) '@vue/web-component-wrapper': 1.3.0 acorn: 8.11.3 acorn-walk: 8.3.2 @@ -6132,9 +6141,9 @@ snapshots: cli-highlight: 2.1.11 clipboardy: 2.3.0 cliui: 7.0.4 - copy-webpack-plugin: 9.1.0(webpack@5.91.0(esbuild@0.21.5)) - css-loader: 6.11.0(webpack@5.91.0(esbuild@0.21.5)) - css-minimizer-webpack-plugin: 3.4.1(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)) + copy-webpack-plugin: 9.1.0(webpack@5.91.0(esbuild@0.23.0)) + css-loader: 6.11.0(webpack@5.91.0(esbuild@0.23.0)) + css-minimizer-webpack-plugin: 3.4.1(esbuild@0.23.0)(webpack@5.91.0(esbuild@0.23.0)) cssnano: 5.1.15(postcss@8.4.38) debug: 4.3.4 default-gateway: 6.0.3 @@ -6143,32 +6152,32 @@ snapshots: fs-extra: 9.1.0 globby: 11.1.0 hash-sum: 2.0.0 - html-webpack-plugin: 5.6.0(webpack@5.91.0(esbuild@0.21.5)) + html-webpack-plugin: 5.6.0(webpack@5.91.0(esbuild@0.23.0)) is-file-esm: 1.0.0 launch-editor-middleware: 2.6.1 lodash.defaultsdeep: 4.6.1 lodash.mapvalues: 4.6.0 - mini-css-extract-plugin: 2.9.0(webpack@5.91.0(esbuild@0.21.5)) + mini-css-extract-plugin: 2.9.0(webpack@5.91.0(esbuild@0.23.0)) minimist: 1.2.8 module-alias: 2.2.3 portfinder: 1.0.32 postcss: 8.4.38 - postcss-loader: 6.2.1(postcss@8.4.38)(webpack@5.91.0(esbuild@0.21.5)) - progress-webpack-plugin: 1.0.16(webpack@5.91.0(esbuild@0.21.5)) + postcss-loader: 6.2.1(postcss@8.4.38)(webpack@5.91.0(esbuild@0.23.0)) + progress-webpack-plugin: 1.0.16(webpack@5.91.0(esbuild@0.23.0)) ssri: 8.0.1 - terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)) - thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.21.5)) - vue-loader: 17.4.2(@vue/compiler-sfc@3.4.24)(vue@3.4.24(typescript@4.6.4))(webpack@5.91.0(esbuild@0.21.5)) + terser-webpack-plugin: 5.3.10(esbuild@0.23.0)(webpack@5.91.0(esbuild@0.23.0)) + thread-loader: 3.0.4(webpack@5.91.0(esbuild@0.23.0)) + vue-loader: 17.4.2(@vue/compiler-sfc@3.4.24)(vue@3.4.24(typescript@4.6.4))(webpack@5.91.0(esbuild@0.23.0)) vue-style-loader: 4.1.3 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) webpack-bundle-analyzer: 4.10.2 webpack-chain: 6.5.1 - webpack-dev-server: 4.15.2(debug@4.3.4)(webpack@5.91.0(esbuild@0.21.5)) + webpack-dev-server: 4.15.2(debug@4.3.4)(webpack@5.91.0(esbuild@0.23.0)) webpack-merge: 5.10.0 webpack-virtual-modules: 0.4.6 whatwg-fetch: 3.6.20 optionalDependencies: - raw-loader: 4.0.2(webpack@5.91.0(esbuild@0.21.5)) + raw-loader: 4.0.2(webpack@5.91.0(esbuild@0.23.0)) webpack-sources: 3.2.3 transitivePeerDependencies: - '@parcel/css' @@ -6617,14 +6626,14 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - babel-loader@8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.21.5)): + babel-loader@8.3.0(@babel/core@7.24.4)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@babel/core': 7.24.4 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -6900,7 +6909,7 @@ snapshots: cookie@0.6.0: {} - copy-webpack-plugin@9.1.0(webpack@5.91.0(esbuild@0.21.5)): + copy-webpack-plugin@9.1.0(webpack@5.91.0(esbuild@0.23.0)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -6908,7 +6917,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) core-js-compat@3.37.0: dependencies: @@ -6958,7 +6967,7 @@ snapshots: dependencies: postcss: 8.4.38 - css-loader@6.11.0(webpack@5.91.0(esbuild@0.21.5)): + css-loader@6.11.0(webpack@5.91.0(esbuild@0.23.0)): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -6969,9 +6978,9 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.0 optionalDependencies: - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) - css-minimizer-webpack-plugin@3.4.1(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)): + css-minimizer-webpack-plugin@3.4.1(esbuild@0.23.0)(webpack@5.91.0(esbuild@0.23.0)): dependencies: cssnano: 5.1.15(postcss@8.4.38) jest-worker: 27.5.1 @@ -6979,9 +6988,9 @@ snapshots: schema-utils: 4.2.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) optionalDependencies: - esbuild: 0.21.5 + esbuild: 0.23.0 css-select@4.3.0: dependencies: @@ -7208,31 +7217,32 @@ snapshots: esbuild-wasm@0.19.12: {} - esbuild@0.21.5: + esbuild@0.23.0: optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 + '@esbuild/aix-ppc64': 0.23.0 + '@esbuild/android-arm': 0.23.0 + '@esbuild/android-arm64': 0.23.0 + '@esbuild/android-x64': 0.23.0 + '@esbuild/darwin-arm64': 0.23.0 + '@esbuild/darwin-x64': 0.23.0 + '@esbuild/freebsd-arm64': 0.23.0 + '@esbuild/freebsd-x64': 0.23.0 + '@esbuild/linux-arm': 0.23.0 + '@esbuild/linux-arm64': 0.23.0 + '@esbuild/linux-ia32': 0.23.0 + '@esbuild/linux-loong64': 0.23.0 + '@esbuild/linux-mips64el': 0.23.0 + '@esbuild/linux-ppc64': 0.23.0 + '@esbuild/linux-riscv64': 0.23.0 + '@esbuild/linux-s390x': 0.23.0 + '@esbuild/linux-x64': 0.23.0 + '@esbuild/netbsd-x64': 0.23.0 + '@esbuild/openbsd-arm64': 0.23.0 + '@esbuild/openbsd-x64': 0.23.0 + '@esbuild/sunos-x64': 0.23.0 + '@esbuild/win32-arm64': 0.23.0 + '@esbuild/win32-ia32': 0.23.0 + '@esbuild/win32-x64': 0.23.0 escalade@3.1.2: {} @@ -7290,7 +7300,7 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-webpack-plugin@3.2.0(eslint@7.32.0)(webpack@5.91.0(esbuild@0.21.5)): + eslint-webpack-plugin@3.2.0(eslint@7.32.0)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@types/eslint': 8.56.10 eslint: 7.32.0 @@ -7298,7 +7308,7 @@ snapshots: micromatch: 4.0.5 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) eslint@7.32.0: dependencies: @@ -7524,7 +7534,7 @@ snapshots: optionalDependencies: debug: 4.3.4 - fork-ts-checker-webpack-plugin@6.5.3(eslint@7.32.0)(typescript@4.6.4)(webpack@5.91.0(esbuild@0.21.5)): + fork-ts-checker-webpack-plugin@6.5.3(eslint@7.32.0)(typescript@4.6.4)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@babel/code-frame': 7.24.2 '@types/json-schema': 7.0.15 @@ -7540,7 +7550,7 @@ snapshots: semver: 7.6.0 tapable: 1.1.3 typescript: 4.6.4 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) optionalDependencies: eslint: 7.32.0 @@ -7703,7 +7713,7 @@ snapshots: html-tags@3.3.1: {} - html-webpack-plugin@5.6.0(webpack@5.91.0(esbuild@0.21.5)): + html-webpack-plugin@5.6.0(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -7711,7 +7721,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) htmlparser2@6.1.0: dependencies: @@ -8055,11 +8065,11 @@ snapshots: mimic-fn@2.1.0: {} - mini-css-extract-plugin@2.9.0(webpack@5.91.0(esbuild@0.21.5)): + mini-css-extract-plugin@2.9.0(webpack@5.91.0(esbuild@0.23.0)): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) minimalistic-assert@1.0.1: {} @@ -8358,21 +8368,21 @@ snapshots: dependencies: postcss: 8.4.38 - postcss-loader@5.3.0(postcss@8.4.38)(webpack@5.91.0(esbuild@0.21.5)): + postcss-loader@5.3.0(postcss@8.4.38)(webpack@5.91.0(esbuild@0.23.0)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.38 semver: 7.6.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) - postcss-loader@6.2.1(postcss@8.4.38)(webpack@5.91.0(esbuild@0.21.5)): + postcss-loader@6.2.1(postcss@8.4.38)(webpack@5.91.0(esbuild@0.23.0)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.38 semver: 7.6.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) postcss-merge-longhand@5.1.7(postcss@8.4.38): dependencies: @@ -8545,12 +8555,12 @@ snapshots: process-nextick-args@2.0.1: {} - progress-webpack-plugin@1.0.16(webpack@5.91.0(esbuild@0.21.5)): + progress-webpack-plugin@1.0.16(webpack@5.91.0(esbuild@0.23.0)): dependencies: chalk: 2.4.2 figures: 2.0.0 log-update: 2.3.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) progress@2.0.3: {} @@ -8593,11 +8603,11 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.91.0(esbuild@0.21.5)): + raw-loader@4.0.2(webpack@5.91.0(esbuild@0.23.0)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) read-pkg-up@7.0.1: dependencies: @@ -8713,12 +8723,12 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.24.2 - rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.18.0): + rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.18.0): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.18.0) debug: 4.3.4 es-module-lexer: 1.5.0 - esbuild: 0.21.5 + esbuild: 0.23.0 get-tsconfig: 4.7.5 rollup: 4.18.0 transitivePeerDependencies: @@ -9051,16 +9061,16 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)): + terser-webpack-plugin@5.3.10(esbuild@0.23.0)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.4 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) optionalDependencies: - esbuild: 0.21.5 + esbuild: 0.23.0 terser@5.30.4: dependencies: @@ -9079,14 +9089,14 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-loader@3.0.4(webpack@5.91.0(esbuild@0.21.5)): + thread-loader@3.0.4(webpack@5.91.0(esbuild@0.23.0)): dependencies: json-parse-better-errors: 1.0.2 loader-runner: 4.3.0 loader-utils: 2.0.4 neo-async: 2.6.2 schema-utils: 3.3.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) thunky@1.1.0: {} @@ -9102,7 +9112,7 @@ snapshots: tr46@0.0.3: {} - ts-loader@9.5.1(typescript@4.6.4)(webpack@5.91.0(esbuild@0.21.5)): + ts-loader@9.5.1(typescript@4.6.4)(webpack@5.91.0(esbuild@0.23.0)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.16.0 @@ -9110,7 +9120,7 @@ snapshots: semver: 7.6.0 source-map: 0.7.4 typescript: 4.6.4 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) tslib@1.14.1: {} @@ -9211,15 +9221,15 @@ snapshots: vue-hot-reload-api@2.3.4: {} - vue-loader@15.11.1(@vue/compiler-sfc@3.4.24)(css-loader@6.11.0(webpack@5.91.0(esbuild@0.21.5)))(lodash@4.17.21)(prettier@2.8.8)(webpack@5.91.0(esbuild@0.21.5)): + vue-loader@15.11.1(@vue/compiler-sfc@3.4.24)(css-loader@6.11.0(webpack@5.91.0(esbuild@0.23.0)))(lodash@4.17.21)(prettier@2.8.8)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21) - css-loader: 6.11.0(webpack@5.91.0(esbuild@0.21.5)) + css-loader: 6.11.0(webpack@5.91.0(esbuild@0.23.0)) hash-sum: 1.0.2 loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) optionalDependencies: '@vue/compiler-sfc': 3.4.24 prettier: 2.8.8 @@ -9278,12 +9288,12 @@ snapshots: - walrus - whiskers - vue-loader@17.4.2(@vue/compiler-sfc@3.4.24)(vue@3.4.24(typescript@4.6.4))(webpack@5.91.0(esbuild@0.21.5)): + vue-loader@17.4.2(@vue/compiler-sfc@3.4.24)(vue@3.4.24(typescript@4.6.4))(webpack@5.91.0(esbuild@0.23.0)): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.1 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) optionalDependencies: '@vue/compiler-sfc': 3.4.24 vue: 3.4.24(typescript@4.6.4) @@ -9348,16 +9358,16 @@ snapshots: deepmerge: 1.5.2 javascript-stringify: 2.1.0 - webpack-dev-middleware@5.3.4(webpack@5.91.0(esbuild@0.21.5)): + webpack-dev-middleware@5.3.4(webpack@5.91.0(esbuild@0.23.0)): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) - webpack-dev-server@4.15.2(debug@4.3.4)(webpack@5.91.0(esbuild@0.21.5)): + webpack-dev-server@4.15.2(debug@4.3.4)(webpack@5.91.0(esbuild@0.23.0)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -9387,10 +9397,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.91.0(esbuild@0.21.5)) + webpack-dev-middleware: 5.3.4(webpack@5.91.0(esbuild@0.23.0)) ws: 8.16.0 optionalDependencies: - webpack: 5.91.0(esbuild@0.21.5) + webpack: 5.91.0(esbuild@0.23.0) transitivePeerDependencies: - bufferutil - debug @@ -9407,7 +9417,7 @@ snapshots: webpack-virtual-modules@0.4.6: {} - webpack@5.91.0(esbuild@0.21.5): + webpack@5.91.0(esbuild@0.23.0): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -9430,7 +9440,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.91.0(esbuild@0.21.5)) + terser-webpack-plugin: 5.3.10(esbuild@0.23.0)(webpack@5.91.0(esbuild@0.23.0)) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/rollup.config.js b/rollup.config.js index b2b71ae..d5367d4 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -2,7 +2,7 @@ import replace from "@rollup/plugin-replace"; import esbuild from "rollup-plugin-esbuild"; import { dts } from "rollup-plugin-dts"; import css from "rollup-plugin-import-css"; -import { ignoreCss } from "./scripts/rollup.mjs"; +import { injectVueDemi } from "./scripts/rollup.mjs"; /** * Modifies the Rollup options for a build to support strict CSP @@ -45,24 +45,26 @@ const builds = [ file: "dist/index.js", format: "esm", sourcemap: true - }, - { - file: "dist/index.cjs", - format: "cjs", - exports: "named", - sourcemap: true } ] }, { - input: "src/index.ts", + input: "src/global.ts", plugins: [esbuild({ minify: true })], external: ["vue-demi", /^echarts/], output: [ { file: "dist/index.min.js", // for unpkg/jsdelivr - format: "esm", - sourcemap: true + format: "umd", + name: "VueECharts", + exports: "default", + sourcemap: true, + globals: { + "vue-demi": "VueDemi", + echarts: "echarts", + "echarts/core": "echarts" + }, + plugins: [injectVueDemi] } ] } @@ -72,20 +74,17 @@ export default [ ...builds.map(options => configBuild(options, false)), ...builds.map(options => configBuild(options, true)), { - input: "src/index.ts", - plugins: [ - ignoreCss, - dts({ - compilerOptions: { - // see https://github.com/unjs/unbuild/pull/57/files - preserveSymlinks: false - } - }) - ], - external: ["vue-demi", /^echarts/], - output: { - file: "dist/index.vue3.d.ts", - format: "esm" - } + input: "src/index.d.ts", + plugins: [dts()], + output: [ + { + file: "dist/index.d.ts", + format: "esm" + }, + { + file: "dist/csp/index.d.ts", + format: "esm" + } + ] } ]; diff --git a/rollup.vue2.config.js b/rollup.vue2.config.js deleted file mode 100644 index 70e6f07..0000000 --- a/rollup.vue2.config.js +++ /dev/null @@ -1,15 +0,0 @@ -import { dts } from "rollup-plugin-dts"; - -/** @type {import('rollup').RollupOptions[]} */ -const options = [ - { - input: "src/index.vue2.d.ts", - plugins: [dts()], - output: { - file: "dist/index.vue2.d.ts", - format: "esm" - } - } -]; - -export default options; diff --git a/scripts/docs.mjs b/scripts/docs.mjs index 1137047..d5f5d1a 100644 --- a/scripts/docs.mjs +++ b/scripts/docs.mjs @@ -7,7 +7,7 @@ const { name, version } = getPackageMeta(); const CDN_PREFIX = "https://cdn.jsdelivr.net/npm/"; const DEP_VERSIONS = { - "vue@3": "3.4.30", + "vue@3": "3.4.33", "vue@2": "2.7.16", echarts: "5.5.1", [name]: version diff --git a/scripts/postinstall.mjs b/scripts/postinstall.mjs deleted file mode 100644 index 3c6ace1..0000000 --- a/scripts/postinstall.mjs +++ /dev/null @@ -1,57 +0,0 @@ -import { readFileSync, writeFileSync } from "node:fs"; -import { resolvePath } from "./utils.mjs"; - -function resolveDist(...paths) { - return resolvePath(import.meta.url, "../dist", ...paths); -} - -const typesSource = { - 3: "index.vue3.d.ts", - 2: "index.vue2.d.ts" -}; - -const typesTargets = [ - "index.d.ts", - "index.d.cts", - "csp/index.d.ts", - "csp/index.d.cts" -]; - -function switchVersion(version) { - const source = typesSource[version]; - const content = readFileSync(resolveDist(source), "utf8"); - - typesTargets.forEach(target => { - writeFileSync(resolveDist(target), content, "utf8"); - }); - - console.log(`[vue-echarts] Switched to Vue ${version} environment.`); -} - -async function loadVue() { - try { - const Vue = await import("vue"); - return Vue; - } catch (e) { - return null; - } -} - -async function main() { - const Vue = await loadVue(); - - // Align the process with vue-demi - if (!Vue || typeof Vue.version !== "string") { - console.warn( - '[vue-echarts] Vue is not found. Please run "npm install vue" to install.' - ); - } else if (Vue.version.startsWith("3.")) { - switchVersion(3); - } else if (Vue.version.startsWith("2.7.")) { - switchVersion(2); - } else { - console.warn(`[vue-echarts] Vue version v${Vue.version} is not supported.`); - } -} - -main(); diff --git a/scripts/rollup.mjs b/scripts/rollup.mjs index b0c8f3c..7cffcab 100644 --- a/scripts/rollup.mjs +++ b/scripts/rollup.mjs @@ -1,15 +1,17 @@ -const EMPTY_FILE_ID = "__rollup_empty__"; +import { readFileSync } from "node:fs"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); + +const VUE_DEMI_IIFE = readFileSync( + require.resolve("vue-demi/lib/index.iife.js"), + "utf8" +); /** @type {import('rollup').Plugin} */ -export const ignoreCss = { - name: "ignore-css", - resolveId(source) { - if (source.endsWith(".css")) { - return EMPTY_FILE_ID; - } - return null; - }, - load(id) { - return id === EMPTY_FILE_ID ? "" : null; +export const injectVueDemi = { + name: "inject-vue-demi", + banner() { + return `${VUE_DEMI_IIFE};\n;`; } }; diff --git a/src/global.ts b/src/global.ts new file mode 100644 index 0000000..4938752 --- /dev/null +++ b/src/global.ts @@ -0,0 +1,7 @@ +import "echarts"; +import ECharts, * as exported from "./index"; + +export default { + ...ECharts, + ...exported +}; diff --git a/src/index.vue2.d.ts b/src/index.d.ts similarity index 51% rename from src/index.vue2.d.ts rename to src/index.d.ts index d2f671c..b2be1e6 100644 --- a/src/index.vue2.d.ts +++ b/src/index.d.ts @@ -1,30 +1,44 @@ /* eslint-disable @typescript-eslint/ban-types */ -import type { Ref, DefineComponent } from "vue-demi"; +import type { Ref, DefineComponent, InjectionKey } from "vue-demi"; import type { Option, + Theme, InitOptions, UpdateOptions, + LoadingOptions, EChartsType, - Emits + Emits, + ThemeInjection, + InitOptionsInjection, + UpdateOptionsInjection, + LoadingOptionsInjection } from "./types"; -declare const LOADING_OPTIONS_KEY = "ecLoadingOptions"; -declare const THEME_KEY = "ecTheme"; -declare const INIT_OPTIONS_KEY = "ecInitOptions"; -declare const UPDATE_OPTIONS_KEY = "ecUpdateOptions"; +declare const THEME_KEY: InjectionKey; +declare const INIT_OPTIONS_KEY: InjectionKey; +declare const UPDATE_OPTIONS_KEY: InjectionKey; +declare const LOADING_OPTIONS_KEY: InjectionKey; declare type ChartProps = { - loading?: boolean; - loadingOptions?: Record; - autoresize?: boolean; - option?: Option; - theme?: string | Record; + theme?: Theme; initOptions?: InitOptions; updateOptions?: UpdateOptions; + loadingOptions?: LoadingOptions; + option?: Option; + autoresize?: boolean; + loading?: boolean; group?: string; manualUpdate?: boolean; }; +// convert Emits to Props +// click => onClick +declare type ChartEventProps = { + [key in keyof Emits as key extends string + ? `on${Capitalize}` + : never]?: Emits[key]; +}; + type MethodNames = | "getWidth" | "getHeight" @@ -46,18 +60,15 @@ type MethodNames = declare type ChartMethods = Pick; declare const Chart: DefineComponent< - ChartProps, + ChartProps & ChartEventProps, { root: Ref; chart: Ref; }, {}, {}, - ChartMethods, - {}, - {}, - Emits + ChartMethods >; export default Chart; -export { INIT_OPTIONS_KEY, LOADING_OPTIONS_KEY, THEME_KEY, UPDATE_OPTIONS_KEY }; +export { THEME_KEY, INIT_OPTIONS_KEY, UPDATE_OPTIONS_KEY, LOADING_OPTIONS_KEY }; diff --git a/src/types.ts b/src/types.ts index 1ccf1c0..861c531 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ import { init } from "echarts/core"; -import type { SetOptionOpts, ECElementEvent, ElementEvent } from "echarts"; +import type { SetOptionOpts, ECElementEvent, ElementEvent } from "echarts/core"; import type { Ref } from "vue-demi"; export type Injection = T | null | Ref | { value: T | null }; @@ -37,6 +37,7 @@ export type LoadingOptions = { lineWidth?: number; zlevel?: number; }; +export type LoadingOptionsInjection = Injection; type MouseEventName = | "click" diff --git a/src/wc.ts b/src/wc.ts index e5bb03a..1d9d99b 100644 --- a/src/wc.ts +++ b/src/wc.ts @@ -26,21 +26,9 @@ export function register(): boolean { // if the browser doesn't support native classes. const reg = new Function( "tag", - `class EChartsElement extends HTMLElement { - __dispose = null; - - disconnectedCallback() { - if (this.__dispose) { - this.__dispose(); - this.__dispose = null; - } - } -} - -if (customElements.get(tag) == null) { - customElements.define(tag, EChartsElement); -} -` + // Use esbuild repl to keep build process simple + // https://esbuild.github.io/try/#dAAwLjIzLjAALS1taW5pZnkAY2xhc3MgRUNoYXJ0c0VsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgX19kaXNwb3NlID0gbnVsbDsKCiAgZGlzY29ubmVjdGVkQ2FsbGJhY2soKSB7CiAgICBpZiAodGhpcy5fX2Rpc3Bvc2UpIHsKICAgICAgdGhpcy5fX2Rpc3Bvc2UoKTsKICAgICAgdGhpcy5fX2Rpc3Bvc2UgPSBudWxsOwogICAgfQogIH0KfQoKaWYgKGN1c3RvbUVsZW1lbnRzLmdldCh0YWcpID09IG51bGwpIHsKICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGFnLCBFQ2hhcnRzRWxlbWVudCk7Cn0K + "class EChartsElement extends HTMLElement{__dispose=null;disconnectedCallback(){this.__dispose&&(this.__dispose(),this.__dispose=null)}}customElements.get(tag)==null&&customElements.define(tag,EChartsElement);" ); reg(TAG_NAME); } catch (e) {