diff --git a/README.en-US.md b/README.en-US.md index 36033479..f963c950 100644 --- a/README.en-US.md +++ b/README.en-US.md @@ -66,6 +66,7 @@ It mainly has the following functions: | [@fesjs/plugin-monaco-editor](http://fesjs.mumblefe.cn/reference/plugin/plugins/editor.html#%E4%BB%8B%E7%BB%8D) | Provide code editor capability, based on `monaco-editor` (code editor used by VS Code) | | [@fesjs/plugin-pinia](http://fesjs.mumblefe.cn/reference/plugin/plugins/pinia.html) | state manager | | [@fesjs/plugin-watermark](http://fesjs.mumblefe.cn/reference/plugin/plugins/watermark.html) | watermark | +| [@fesjs/plugin-swc](http://fesjs.mumblefe.cn/reference/plugin/plugins/swc.html) | use swc-loader | ## As easy as counting 1, 2, 3 use `yarn`: diff --git a/README.md b/README.md index dff37b69..b6b56174 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Fes.js 是一个好用的前端应用解决方案。提供覆盖编译构建到 | [@fesjs/plugin-windicss](http://fesjs.mumblefe.cn/reference/plugin/plugins/windicss.html) | 基于 `windicss`,提供原子化 CSS 能力 | | [@fesjs/plugin-pinia](http://fesjs.mumblefe.cn/reference/plugin/plugins/pinia.html) | pinia,状态处理 | | [@fesjs/plugin-watermark](http://fesjs.mumblefe.cn/reference/plugin/plugins/watermark.html) | 水印 | - +| [@fesjs/plugin-swc](http://fesjs.mumblefe.cn/reference/plugin/plugins/swc.html) | 使用swc-loader构建 | ## 像数 1, 2, 3 一样容易 使用 `yarn`: diff --git a/build.config.js b/build.config.js index b90326b9..2fc5ff96 100644 --- a/build.config.js +++ b/build.config.js @@ -24,6 +24,7 @@ module.exports = { 'fes-plugin-windicss', 'fes-plugin-watermark', 'fes-plugin-login', + 'fes-plugin-swc', ], copy: [], }; diff --git a/docs/.vuepress/configs/sidebar/zh.ts b/docs/.vuepress/configs/sidebar/zh.ts index 2fbc1dc7..b9c6409f 100644 --- a/docs/.vuepress/configs/sidebar/zh.ts +++ b/docs/.vuepress/configs/sidebar/zh.ts @@ -55,6 +55,7 @@ export const zh: SidebarConfig = { '/reference/plugin/plugins/pinia.md', '/reference/plugin/plugins/watermark.md', '/reference/plugin/plugins/login.md', + '/reference/plugin/plugins/swc.md', ], }, { diff --git a/docs/guide/builder.md b/docs/guide/builder.md index fbc17e49..67d5fb86 100644 --- a/docs/guide/builder.md +++ b/docs/guide/builder.md @@ -5,7 +5,6 @@ - 选用 Vite 构建,安装 `npm i @fesjs/builder-vite` 依赖即可。 - 选用 Webpack 构建,安装 `npm i @fesjs/builder-webpack` 依赖即可。 - ## 使用差异 由于 Fes.js 在 Vite 和 Webpack 上做了一层封装,开发者关心的构建配置不会太多。从使用上来说,主要存在以下几个差异点: diff --git a/docs/reference/plugin/README.md b/docs/reference/plugin/README.md index a9cccbfb..25be0d87 100644 --- a/docs/reference/plugin/README.md +++ b/docs/reference/plugin/README.md @@ -7,7 +7,7 @@ | [@fesjs/plugin-enums](./plugins/enums.md) | 提供统一的枚举存取及丰富的函数来处理枚举 | | [@fesjs/plugin-icon](./plugins/icon.md) | svg 文件自动注册为组件 | | [@fesjs/plugin-jest](./plugins/jest.md) | 基于 `Jest`,提供单元测试、覆盖测试能力 | -| [ @fesjs/plugin-layout](./plugins/layout.md) | 简单的配置即可拥有布局,包括导航以及侧边栏 | +| [@fesjs/plugin-layout](./plugins/layout.md) | 简单的配置即可拥有布局,包括导航以及侧边栏 | | [@fesjs/plugin-locale](./plugins/locale.md) | 基于 `Vue I18n`,提供国际化能力 | | [@fesjs/plugin-model](./plugins/model.md) | 简易的数据管理方案 | | [@fesjs/plugin-request](./plugins/request.md) | 基于 `Axios` 封装的 request,内置防止重复请求、请求节流、错误处理等功能 | @@ -18,6 +18,7 @@ | [@fesjs/plugin-windicss](./plugins/windicss.md) | 基于 `windicss`,提供原子化 CSS 能力 | | [@fesjs/plugin-pinia](./plugins/pinia.md) | 基于 `pinia`,提供状态管理 | | [@fesjs/plugin-watermark](./plugins/watermark.md) | 水印 | +| [@fesjs/plugin-swc](./plugins/swc.md) | swc | ## 架构 diff --git a/docs/reference/plugin/plugins/swc.md b/docs/reference/plugin/plugins/swc.md new file mode 100644 index 00000000..108191ec --- /dev/null +++ b/docs/reference/plugin/plugins/swc.md @@ -0,0 +1,30 @@ +# @fesjs/plugin-swc + +## 介绍 +webpack 启用 swc,构建速度更快! + + +## 启用方式 +在 `package.json` 中引入依赖: +```json +{ + "dependencies": { + "@fesjs/fes": "^3.0.0", + "@fesjs/plugin-swc": "^3.0.0" + }, +} +``` + +## 编译时配置 +传对象时使用swc进行编译和压缩,[loader配置](https://swc.rs/docs/configuration/swcrc),默认usage模式。 +```js +export default { + swc: { + loader: { + env: { + coreJs: '3.27', + }, + } + }, +} +``` diff --git a/packages/fes-builder-webpack/package.json b/packages/fes-builder-webpack/package.json index f391ccfb..0ba9dfa7 100644 --- a/packages/fes-builder-webpack/package.json +++ b/packages/fes-builder-webpack/package.json @@ -44,8 +44,8 @@ "connect-history-api-fallback": "^1.6.0", "copy-webpack-plugin": "^7.0.0", "css-loader": "^5.0.1", - "css-minimizer-webpack-plugin": "^3.0.0", "fs-extra": "^10.0.0", + "css-minimizer-webpack-plugin": "^4.0.0", "html-webpack-plugin": "^5.0.0", "html-webpack-tags-plugin": "^3.0.0", "get-folder-size": "^2.0.1", @@ -57,6 +57,7 @@ "postcss-loader": "^4.2.0", "postcss-safe-parser": "^6.0.0", "style-loader": "^2.0.0", + "terser-webpack-plugin": "^5.3.6", "vue-loader": "^16.1.2", "webpack": "^5.69.0", "webpack-bundle-analyzer": "^4.4.0", diff --git a/packages/fes-builder-webpack/src/plugins/commands/build/build.js b/packages/fes-builder-webpack/src/plugins/commands/build/build.js index 2a2673db..fa50b1c6 100644 --- a/packages/fes-builder-webpack/src/plugins/commands/build/build.js +++ b/packages/fes-builder-webpack/src/plugins/commands/build/build.js @@ -4,10 +4,16 @@ export async function build({ bundleConfig }) { return new Promise((resolve, reject) => { const compiler = webpack(bundleConfig); compiler.run((err, stats) => { - if (err || stats.hasErrors()) { + if (err) { console.error(err); return reject(new Error('build failed')); } + if (stats?.hasErrors()) { + stats.compilation.errors.forEach((e) => { + console.error(e); + }); + return reject(new Error('build failed')); + } resolve({ stats }); }); }); diff --git a/packages/fes-builder-webpack/src/plugins/commands/webpackConfig/index.js b/packages/fes-builder-webpack/src/plugins/commands/webpackConfig/index.js index 6f552241..6aa22f4d 100644 --- a/packages/fes-builder-webpack/src/plugins/commands/webpackConfig/index.js +++ b/packages/fes-builder-webpack/src/plugins/commands/webpackConfig/index.js @@ -267,6 +267,9 @@ export default async function getConfig({ api, cwd, config, env, entry = {}, mod if (chainWebpack) { await chainWebpack(webpackConfig, { createCSSRule, + env, + targets, + browserslist, webpack, }); } @@ -275,6 +278,8 @@ export default async function getConfig({ api, cwd, config, env, entry = {}, mod await config.chainWebpack(webpackConfig, { createCSSRule, env, + targets, + browserslist, webpack, }); } diff --git a/packages/fes-plugin-swc/LICENSE b/packages/fes-plugin-swc/LICENSE new file mode 100644 index 00000000..0978fbf7 --- /dev/null +++ b/packages/fes-plugin-swc/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020-present webank + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/packages/fes-plugin-swc/README.md b/packages/fes-plugin-swc/README.md new file mode 100644 index 00000000..b6b56174 --- /dev/null +++ b/packages/fes-plugin-swc/README.md @@ -0,0 +1,126 @@ +简体中文 | [English](./README.en-US.md) + +<p align="center"> + <a href="../../"> + <img alt="fes.js" width="250" src="./images/fes-logo.png"> + </a> +</p> + +<div align="center"> + +一个优秀的前端解决方案 + +[](../../issues) +[](http://opensource.org/licenses/MIT) +[](../../pulls) +[](https://badges.toozhao.com/stats/01G7TRNN1PH9PMSCYWDF3EK4QT "Get your own page views count badge on badges.toozhao.com") + +</div> + +- 使用文档 - [http://fesjs.mumblefe.cn/](http://fesjs.mumblefe.cn/) +- 更新日志 - [CHANGELOG.md](./CHANGELOG.md) + +# 痛点 +在开发一个前端项目之前,我们可能需要做如下准备工作: +- 搭建开发环境 +- 约定代码规范 +- 封装API请求 +- 配置路由 +- 实现布局、菜单、导航 +- 实现登录 +- 权限管理 +- ... + +除了准备工作之外,还会遇到很多相似的业务类型,比如中后台应用大多都是工作台、增删改查、权限、图表等。如果每次项目都完全手动处理一遍,不仅耗费时间,久而久之可能会存在多种技术栈、开发规范,导致开发流程不统一,历史项目越来越难维护。所以我们需要一套完整的解决方案,管理开发到部署整个流程。 + + +## Fes.js 是什么? +Fes.js 是一个好用的前端应用解决方案。提供覆盖编译构建到代码运行的每个生命周期的插件体系,支持各种功能扩展和业务需求。以 路由为基础,同时支持配置式路由和约定式路由,保证路由的功能完备。整体上以约定、配置化、组件化的设计思想,让用户仅仅关心用组件搭建页面内容。基于Vue.js3.0,充分利用Vue丰富的生态。技术曲线平缓,上手也简单。在经过多个项目中打磨后趋于稳定。 + +它主要具备以下功能: +- 🚀 __快速__ ,内置了路由、开发、构建等,并且提供测试、布局、权限、国际化、状态管理、API请求、数据字典、SvgIcon等插件,可以满足大部分日常开发需求。 + +- 🧨 __简单__ ,基于Vue.js 3.0,上手简单。贯彻“约定优于配置”思想,设计插件上尽可能用约定替代配置,同时提供统一的插件配置入口,简单简洁又不失灵活。提供一致性的API入口,一致化的体验,学习起来更轻松。 + +- 💪 __健壮__ ,只需要关心页面内容,减少写BUG的机会!提供单元测试、覆盖测试能力保障项目质量。 + +- 📦 __可扩展__ ,借鉴Umi实现了完整的生命周期和插件化机制,插件可以管理项目的编译时和运行时,能力均可以通过插件封装进来,在 Fes.js 中协调有序的运行。 + +- 📡 __面向未来__ ,在满足需求的同时,我们也不会停止对新技术的探索。已使用Vue3.0来提升应用性能,已使用webpack5 和 vite提升构建性能和实现微服务。 + +## 插件 + +| 插件 | 介绍 | +| ---- | ---- | +| [@fesjs/plugin-access](http://fesjs.mumblefe.cn/reference/plugin/plugins/access.html) | 提供对页面资源的权限控制能力 | +| [@fesjs/plugin-enums](http://fesjs.mumblefe.cn/reference/plugin/plugins/enums.html#%E4%BB%8B%E7%BB%8D) | 提供统一的枚举存取及丰富的函数来处理枚举 | +| [@fesjs/plugin-icon](http://fesjs.mumblefe.cn/reference/plugin/plugins/icon.html#%E4%BB%8B%E7%BB%8D) | svg 文件自动注册为组件 | +| [@fesjs/plugin-jest](http://fesjs.mumblefe.cn/reference/plugin/plugins/jest.html#%E5%90%AF%E7%94%A8%E6%96%B9%E5%BC%8F) | 基于 `Jest`,提供单元测试、覆盖测试能力 | +| [ @fesjs/plugin-layout](http://fesjs.mumblefe.cn/reference/plugin/plugins/layout.html) | 简单的配置即可拥有布局,包括导航以及侧边栏 | +| [@fesjs/plugin-locale](http://fesjs.mumblefe.cn/reference/plugin/plugins/locale.html#%E4%BB%8B%E7%BB%8D) | 基于 `Vue I18n`,提供国际化能力 | +| [@fesjs/plugin-model](http://fesjs.mumblefe.cn/reference/plugin/plugins/model.html#%E4%BB%8B%E7%BB%8D) | 简易的数据管理方案 | +| [@fesjs/plugin-request](http://fesjs.mumblefe.cn/reference/plugin/plugins/request.html#%E5%90%AF%E7%94%A8%E6%96%B9%E5%BC%8F) | 基于 `Axios` 封装的 request,内置防止重复请求、请求节流、错误处理等功能 | +| [@fesjs/plugin-vuex](http://fesjs.mumblefe.cn/reference/plugin/plugins/vuex.html#%E5%90%AF%E7%94%A8%E6%96%B9%E5%BC%8F) | 基于 `Vuex`, 提供状态管理能力 | +| [@fesjs/plugin-qiankun](http://fesjs.mumblefe.cn/reference/plugin/plugins/qiankun.html#%E4%BB%8B%E7%BB%8D) | 基于 `qiankun`,提供微服务能力 | +| [@fesjs/plugin-sass](http://fesjs.mumblefe.cn/reference/plugin/plugins/sass.html#%E4%BB%8B%E7%BB%8D) | 样式支持sass | +| [@fesjs/plugin-monaco-editor](http://fesjs.mumblefe.cn/reference/plugin/plugins/editor.html#%E4%BB%8B%E7%BB%8D) | 提供代码编辑器能力, 基于`monaco-editor`(VS Code使用的代码编辑器) | +| [@fesjs/plugin-windicss](http://fesjs.mumblefe.cn/reference/plugin/plugins/windicss.html) | 基于 `windicss`,提供原子化 CSS 能力 | +| [@fesjs/plugin-pinia](http://fesjs.mumblefe.cn/reference/plugin/plugins/pinia.html) | pinia,状态处理 | +| [@fesjs/plugin-watermark](http://fesjs.mumblefe.cn/reference/plugin/plugins/watermark.html) | 水印 | +| [@fesjs/plugin-swc](http://fesjs.mumblefe.cn/reference/plugin/plugins/swc.html) | 使用swc-loader构建 | + +## 像数 1, 2, 3 一样容易 +使用 `yarn`: +```bash +# 创建模板 +yarn create @fesjs/fes-app myapp + +# 安装依赖 +yarn + +# 运行 +yarn dev +``` + +使用 `npm`: +```bash +# 创建模板 +npx @fesjs/create-fes-app myapp + +# 安装依赖 +npm install + +# 运行 +npm run dev +``` + +## 反馈 + +| Github Issue | Fes.js开源运营小助手 | +| --- | --- | +| [@fesjs/fes.js/issues](../../issues) | <img src="https://cos-1254145788.cos.ap-guangzhou.myqcloud.com/WechatIMG104.jpeg" height="250"/> | + + +## 参与共建 + +我们非常欢迎社区同学能提交PR: + +1. fork项目! +2. 创建你的功能分支: `git checkout -b my-new-feature` +3. 本地提交新代码: `git commit -am 'Add some feature'` +4. 推送本地到服务器分支: `git push origin my-new-feature` +5. 创建一个PR + +如果是发现Bug或者期望添加新功能,请提交[issue](../../issues)。 + +## 社区活动 + +### Fesjs 社区有奖征文活动 + +为了 Fes.js 开源项目更好的运转,同时回馈开源社区,社区推出有奖征文活动!欢迎大家投递实践经验,给社区用户,更广泛的开发者提供借鉴。 + +经验输出也可以帮助到你系统沉淀自有项目,梳理工作思路,也能够帮助你的技术博客做宣传。优秀的实践案例将有机会邀请参与项目社区技术会议分享,赶快来参与吧。 +请戳:https://mp.weixin.qq.com/s/nV4NG_OUUrdgtft8g_IW4g + + + diff --git a/packages/fes-plugin-swc/package.json b/packages/fes-plugin-swc/package.json new file mode 100644 index 00000000..416aa411 --- /dev/null +++ b/packages/fes-plugin-swc/package.json @@ -0,0 +1,41 @@ +{ + "name": "@fesjs/plugin-swc", + "version": "3.0.0-rc.0", + "description": "@fesjs/plugin-swc", + "main": "lib/index.js", + "types": "types.d.ts", + "files": [ + "lib", + "types.d.ts" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/WeBankFinTech/fes.js.git", + "directory": "packages/fes-plugin-swc" + }, + "keywords": [ + "fes" + ], + "author": "RiESAEX", + "license": "MIT", + "bugs": { + "url": "https://github.com/WeBankFinTech/fes.js/issues" + }, + "homepage": "https://github.com/WeBankFinTech/fes.js#readme", + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@swc/core": "^1.3.37", + "@swc/css": "^0.0.20", + "swc-plugin-vue-jsx": "^0.2.0", + "swc-loader": "^0.2.3", + "@fesjs/utils": "^3.0.0-rc.2", + "terser-webpack-plugin": "^5.3.6", + "css-minimizer-webpack-plugin": "^4.0.0" + }, + "peerDependencies": { + "@fesjs/fes": "^3.0.0-rc.7", + "@fesjs/builder-webpack": "^3.0.0-rc.5" + } +} diff --git a/packages/fes-plugin-swc/src/index.js b/packages/fes-plugin-swc/src/index.js new file mode 100644 index 00000000..e6fb7a55 --- /dev/null +++ b/packages/fes-plugin-swc/src/index.js @@ -0,0 +1,126 @@ +import { join } from 'path'; +import TerserPlugin from 'terser-webpack-plugin'; +import CssMinimizerPlugin from 'css-minimizer-webpack-plugin'; +import { buildSwcOptions } from './swcOptions'; + +const DEFAULT_EXCLUDE_NODE_MODULES = [ + 'vue', + 'vuex', + 'vue-router', + 'core-js', + 'echarts', + '@babel/runtime', + 'lodash-es', + 'webpack-dev-server', + 'ansi-html', + 'html-entities', +]; + +function genTranspileDepRegex(exclude) { + exclude = exclude.concat(DEFAULT_EXCLUDE_NODE_MODULES); + const deps = exclude.map((dep) => { + if (typeof dep === 'string') { + const depPath = join('node_modules', dep, '/'); + return /^win/.test(require('os').platform()) ? depPath.replace(/\\/g, '\\\\') : depPath; + } + if (dep instanceof RegExp) { + return dep.source; + } + + throw new Error('exclude only accepts an array of string or regular expressions'); + }); + return deps.length ? new RegExp(deps.join('|')) : null; +} + +export default (api) => { + api.describe({ + key: 'swc', + config: { + schema(joi) { + return joi.object({ + loader: joi.object().description('more swc options see https://github.com/swc-project/swc-loader'), + }); + }, + }, + }); + + if (api.builder.name === 'vite') { + // vite 不需要处理 + } else { + api.chainWebpack((webpackConfig, { targets, env }) => { + const isProd = env === 'production'; + const config = api.config; + + //清除babel配置 + webpackConfig.module.rules.delete('js'); + + webpackConfig.module + .rule('js') + .test(/\.(js|mjs)$/) + // Don't transpile node_modules + .exclude.add(/node_modules/) + .end() + .use('swc-loader') + .loader(require.resolve('swc-loader')) + .options(buildSwcOptions(targets, config, false, false)); + + webpackConfig.module + .rule('jsx') + .test(/\.jsx$/) + .exclude.add(/node_modules/) + .end() + .use('swc-loader') + .loader(require.resolve('swc-loader')) + .options(buildSwcOptions(targets, config, true, false)); + + webpackConfig.module + .rule('ts') + .test(/\.ts$/) + .exclude.add(/node_modules/) + .end() + .use('swc-loader') + .loader(require.resolve('swc-loader')) + .options(buildSwcOptions(targets, config, false, true)); + + webpackConfig.module + .rule('tsx') + .test(/\.tsx$/) + .exclude.add(/node_modules/) + .end() + .use('swc-loader') + .loader(require.resolve('swc-loader')) + .options(buildSwcOptions(targets, config, true, true)); + + // 为了避免第三方依赖包编译不充分导致线上问题,默认对 node_modules 也进行全编译,只在生产构建的时候进行 + if (isProd) { + webpackConfig.module.rules.delete('js-in-node_modules'); + + // const cjsReg = [/css-loader/, /vue-loader/].concat(config.swcLoader?.cjsPkg || []); + const transpileDepRegex = genTranspileDepRegex(config.nodeModulesTransform.exclude); + webpackConfig.module + .rule('js-in-node_modules') + .test(/\.(js|mjs)$/) + .include.add(/node_modules/) + .end() + .exclude.add((filepath) => { + if (transpileDepRegex && transpileDepRegex.test(filepath)) { + return true; + } + return false; + }) + .end() + .use('swc-loader') + .loader(require.resolve('swc-loader')) + .options(buildSwcOptions(targets, config, false, false)); + + const swcOptions = buildSwcOptions(targets, config, false, false, true); + webpackConfig.optimization.minimizer('css').tap((args) => [...args, { minify: CssMinimizerPlugin.swcMinify }]); + webpackConfig.optimization + .minimizer('terser') + .tap((args) => [...args, { terserOptions: swcOptions.jsc?.minify, minify: TerserPlugin.swcMinify }]); + } + + return webpackConfig; + }); + } +}; diff --git a/packages/fes-plugin-swc/src/swcOptions.js b/packages/fes-plugin-swc/src/swcOptions.js new file mode 100644 index 00000000..7fd4d533 --- /dev/null +++ b/packages/fes-plugin-swc/src/swcOptions.js @@ -0,0 +1,40 @@ +import { deepmerge } from '@fesjs/utils'; + +const Supported = ['chrome', 'opera', 'edge', 'firefox', 'safari', 'ie', 'ios', 'android', 'node', 'electron']; + +export function buildSwcOptions(targets, config, isJsx, isTs, minify = false) { + if (config.swc?.loader?.cjsPkg) { + delete config.swc.loader.cjsPkg; + } + return deepmerge( + { + // sync: true, + env: { + targets: Object.keys(targets) + .filter((key) => Supported.includes(key)) + .reduce((memo, key) => { + memo[key] = targets[key]; + return memo; + }, {}), + mode: 'usage', + coreJs: require('core-js/package.json').version, + }, + jsc: { + parser: { + syntax: isTs ? 'typescript' : 'ecmascript', + jsx: isTs ? undefined : isJsx, + tsx: isTs ? isJsx : undefined, + }, + experimental: isJsx + ? { + plugins: [['swc-plugin-vue-jsx', {}]], + } + : undefined, + // preserveAllComments: true, + }, + isModule: 'unknown', + minify: minify ? {} : false, + }, + config.swc?.loader || {}, + ); +} diff --git a/packages/fes-plugin-swc/types.d.ts b/packages/fes-plugin-swc/types.d.ts new file mode 100644 index 00000000..dcba1f52 --- /dev/null +++ b/packages/fes-plugin-swc/types.d.ts @@ -0,0 +1,7 @@ +declare module "@fesjs/fes" { + interface PluginBuildConfig { + swc?: { + loader?: object; + }; + } +} diff --git a/packages/fes-preset-built-in/src/plugins/features/targets.js b/packages/fes-preset-built-in/src/plugins/features/targets.js index 592d97ec..ef3fb03b 100644 --- a/packages/fes-preset-built-in/src/plugins/features/targets.js +++ b/packages/fes-preset-built-in/src/plugins/features/targets.js @@ -5,7 +5,6 @@ export default (api) => { default: { chrome: '64', ios: '11', - browsers: ['defaults and not chrome < 61'], }, schema(joi) { return joi.object(); diff --git a/packages/fes-template/.fes.js b/packages/fes-template/.fes.js index 045de219..83373159 100644 --- a/packages/fes-template/.fes.js +++ b/packages/fes-template/.fes.js @@ -1,6 +1,16 @@ import { defineBuildConfig } from '@fesjs/fes'; export default defineBuildConfig({ + swc: { + loader: { + env: { + coreJs: '3.27', + }, + }, + }, + targets: { + chrome: '78', + }, define: { __DEV__: false, }, diff --git a/packages/fes-template/.fes.prod.js b/packages/fes-template/.fes.prod.js index 153393d8..42d8a3c3 100644 --- a/packages/fes-template/.fes.prod.js +++ b/packages/fes-template/.fes.prod.js @@ -1,6 +1,5 @@ // .fes.js 只负责管理编译时配置,只能使用plain Object - export default { - publicPath: 'https://gw.alipayobjects.com/' + // publicPath: 'https://gw.alipayobjects.com/' }; diff --git a/packages/fes-template/.gitignore b/packages/fes-template/.gitignore index df903b98..59cb1b8e 100644 --- a/packages/fes-template/.gitignore +++ b/packages/fes-template/.gitignore @@ -9,3 +9,6 @@ /src/.fes-production /src/.fes-test /.env.local + +# swc wasm cache +/.swc \ No newline at end of file diff --git a/packages/fes-template/package.json b/packages/fes-template/package.json index 47de2809..b9281fae 100644 --- a/packages/fes-template/package.json +++ b/packages/fes-template/package.json @@ -1,68 +1,71 @@ { - "name": "@fesjs/template", - "version": "2.0.0", - "description": "fes项目模版", - "scripts": { - "build": "fes build", - "prod": "FES_ENV=prod fes build", - "analyze": "ANALYZE=1 fes build", - "dev": "fes dev", - "test": "fes test" - }, - "keywords": [ - "管理端", - "fes", - "fast", - "easy", - "strong" - ], - "files": [ - ".eslintrc.js", - ".gitignore", - ".fes.js", - ".fes.prod.js", - "mock.js", - "package.json", - "README.md", - "tsconfig.json", - "/src", - "/config" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/WeBankFinTech/fes.js.git", - "directory": "packages/fes-template" - }, - "author": "harrywan", - "license": "MIT", - "bugs": { - "url": "https://github.com/WeBankFinTech/fes.js/issues" - }, - "homepage": "https://github.com/WeBankFinTech/fes.js#readme", - "publishConfig": { - "access": "public" - }, - "dependencies": { - "@fesjs/fes": "^3.0.0-rc.0", - "@fesjs/plugin-access": "^3.0.0-rc.0", - "@fesjs/plugin-layout": "^5.0.0-rc.0", - "@fesjs/plugin-locale": "^4.0.0-rc.0", - "@fesjs/plugin-login": "^3.0.0-rc.0", - "@fesjs/plugin-model": "^3.0.0-rc.0", - "@fesjs/plugin-enums": "^3.0.0-rc.0", - "@fesjs/plugin-jest": "^2.0.0", - "@fesjs/plugin-vuex": "^3.0.0-rc.0", - "@fesjs/plugin-request": "^3.0.0-rc.0", - "@fesjs/plugin-qiankun": "^3.0.0-rc.0", - "@fesjs/plugin-sass": "^3.0.0-rc.0", - "@fesjs/plugin-monaco-editor": "^3.0.0-rc.0", - "@fesjs/plugin-windicss": "^3.0.0-rc.0", - "@fesjs/plugin-watermark": "^3.0.0-rc.0", - "@fesjs/fes-design": "^0.7.0", - "core-js": "^3.27.0", - "vue": "^3.2.37", - "vuex": "^4.0.0", - "pinia": "^2.0.11" - }, - "private": true + "name": "@fesjs/template", + "version": "2.0.0", + "description": "fes项目模版", + "scripts": { + "build": "fes build", + "prod": "FES_ENV=prod fes build", + "analyze": "ANALYZE=1 fes build", + "dev": "fes dev", + "test": "fes test", + "prev": "fes preview" + }, + "keywords": [ + "管理端", + "fes", + "fast", + "easy", + "strong" + ], + "files": [ + ".eslintrc.js", + ".gitignore", + ".fes.js", + ".fes.prod.js", + "mock.js", + "package.json", + "README.md", + "tsconfig.json", + "/src", + "/config" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/WeBankFinTech/fes.js.git", + "directory": "packages/fes-template" + }, + "author": "harrywan", + "license": "MIT", + "bugs": { + "url": "https://github.com/WeBankFinTech/fes.js/issues" + }, + "homepage": "https://github.com/WeBankFinTech/fes.js#readme", + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@fesjs/fes": "^3.0.0-rc.0", + "@fesjs/fes-design": "^0.7.0", + "@fesjs/plugin-login": "^3.0.0-rc.0", + "@fesjs/plugin-access": "^3.0.0-rc.0", + "@fesjs/plugin-enums": "^3.0.0-rc.0", + "@fesjs/plugin-jest": "^2.0.0", + "@fesjs/plugin-layout": "^5.0.0-rc.0", + "@fesjs/plugin-locale": "^4.0.0-rc.0", + "@fesjs/plugin-model": "^3.0.0-rc.0", + "@fesjs/plugin-monaco-editor": "^3.0.0-rc.0", + "@fesjs/plugin-pinia": "^3.0.0-rc.0", + "@fesjs/plugin-qiankun": "^3.0.0-rc.0", + "@fesjs/plugin-request": "^3.0.0-rc.0", + "@fesjs/plugin-sass": "^3.0.0-rc.0", + "@fesjs/plugin-vuex": "^3.0.0-rc.0", + "@fesjs/plugin-watermark": "^3.0.0-rc.0", + "@fesjs/plugin-windicss": "^3.0.0-rc.0", + "@fesjs/plugin-swc": "^3.0.0-rc.0", + "core-js": "3.27.0", + "pinia": "^2.0.11", + "vue": "^3.2.37", + "vuex": "^4.0.0" + }, + "private": true } diff --git a/packages/fes-template/src/app.js b/packages/fes-template/src/app.jsx similarity index 100% rename from packages/fes-template/src/app.js rename to packages/fes-template/src/app.jsx diff --git a/packages/fes-template/src/pages/@id/add.vue b/packages/fes-template/src/pages/@id/add.vue index 3725c137..6b75609b 100644 --- a/packages/fes-template/src/pages/@id/add.vue +++ b/packages/fes-template/src/pages/@id/add.vue @@ -1,3 +1,16 @@ <template> - <div>dyn router</div> + <div>add.vue</div> </template> +<script lang="ts"> +import { defineComponent, onMounted } from 'vue'; + +export default defineComponent({ + setup() { + onMounted(() => { + // i++++i; + console.log('mounted'); + }); + return {}; + }, +}); +</script> diff --git a/packages/fes-template/src/pages/index.vue b/packages/fes-template/src/pages/index.vue index 41275d99..9abfa8b7 100644 --- a/packages/fes-template/src/pages/index.vue +++ b/packages/fes-template/src/pages/index.vue @@ -1,5 +1,5 @@ <template> - <div class="page"> + <div class="page bg-black"> home <FButton class="m-2">Button</FButton> </div> @@ -13,6 +13,7 @@ defineRouteMeta({ name: 'index', title: '$home', }); +console.log('123123'.replaceAll('123', '234')); </script> <style> diff --git a/packages/fes-template/src/utils/a.js b/packages/fes-template/src/utils/a.js new file mode 100644 index 00000000..42afc600 --- /dev/null +++ b/packages/fes-template/src/utils/a.js @@ -0,0 +1,3 @@ +export function f() { + console.log('a'); +} diff --git a/yarn.lock b/yarn.lock index c141087f..f9eeec0c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,7 +189,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/generator@^7.15.0", "@babel/generator@^7.21.0", "@babel/generator@^7.7.2": +"@babel/generator@^7.15.0", "@babel/generator@^7.21.0", "@babel/generator@^7.21.1", "@babel/generator@^7.7.2": version "7.21.1" resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== @@ -300,10 +300,10 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.0": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.0.tgz#89a8f86ad748870e3d024e470b2e8405e869db67" - integrity sha512-eD/JQ21IG2i1FraJnTMbUarAUkA7G988ofehG5MDCRXaUU91rEBJuCeSoou2Sk1y4RbLYXzqEg1QLwEmRU4qcQ== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" @@ -311,8 +311,8 @@ "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1" "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -412,10 +412,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.15.0", "@babel/parser@^7.16.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0": - version "7.21.1" - resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.1.tgz#a8f81ee2fe872af23faea4b17a08fcc869de7bcc" - integrity sha512-JzhBFpkuhBNYUY7qs+wTzNmyCWUHEaAFpQQD2YfU1rPL38/L43Wvid0fFkiOCnHvsGncRZgEPyGnltABLcVDTg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.15.0", "@babel/parser@^7.16.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" + integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -877,11 +877,11 @@ "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-modules-commonjs@^7.19.6", "@babel/plugin-transform-modules-commonjs@^7.2.0": - version "7.20.11" - resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" - integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" + integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== dependencies: - "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-module-transforms" "^7.21.2" "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-simple-access" "^7.20.2" @@ -1152,9 +1152,9 @@ regenerator-runtime "^0.13.11" "@babel/standalone@^7.20.13": - version "7.21.1" - resolved "https://registry.npmmirror.com/@babel/standalone/-/standalone-7.21.1.tgz#2708eb5a786a5d51508ce73689ebf8ec599ee552" - integrity sha512-2xe6GsQVJjHYhuP6Qi4hRrpJ1exapSm90Q/1/oyIB9g+XbF4Xq+nsIVxzfol/5mzlW+q5uWjtavyV4CTXrm31g== + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/standalone/-/standalone-7.21.2.tgz#3a19c6672f8436d2d4154c05d984a4ae40d7d51c" + integrity sha512-ySP/TJcyqMJVg1M/lmnPVi6L+F+IJpQ4+0lqtf723LERbk1N8/0JgLgm346cRAzfHaoXkLq/M/mJBd2uo25RBA== "@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": version "7.20.7" @@ -1165,26 +1165,26 @@ "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.15.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.7.2": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.0.tgz#0e1807abd5db98e6a19c204b80ed1e3f5bca0edc" - integrity sha512-Xdt2P1H4LKTO8ApPfnO1KmzYMFpp7D/EinoXzLYN/cHcBNrVCAkAtGUcXnHXrl/VGktureU6fkQrHSBE2URfoA== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.15.0", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.7.2": + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" + integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" + "@babel/generator" "^7.21.1" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.21.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.0" - "@babel/types" "^7.21.0" + "@babel/parser" "^7.21.2" + "@babel/types" "^7.21.2" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.21.0" - resolved "https://registry.npmmirror.com/@babel/types/-/types-7.21.0.tgz#1da00d89c2f18b226c9207d96edbeb79316a1819" - integrity sha512-uR7NWq2VNFnDi7EYqiRz2Jv/VQIu38tu64Zy8TX2nQFQ6etJ9V/Rr2msW8BS132mum2rL645qpDrLtAJtVpuow== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.21.2" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" + integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -1538,10 +1538,10 @@ resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== -"@eslint/eslintrc@^1.4.1": - version "1.4.1" - resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" - integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== +"@eslint/eslintrc@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" + integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1553,6 +1553,11 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" +"@eslint/js@8.35.0": + version "8.35.0" + resolved "https://registry.npmmirror.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" + integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== + "@fesjs/compiler@^2.0.5": version "2.0.5" resolved "https://registry.npmmirror.com/@fesjs/compiler/-/compiler-2.0.5.tgz#5a98f9497bd51f52045e184ecddc41f15c2d5a10" @@ -1848,6 +1853,13 @@ terminal-link "^2.0.0" v8-to-istanbul "^8.1.0" +"@jest/schemas@^29.4.3": + version "29.4.3" + resolved "https://registry.npmmirror.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788" + integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg== + dependencies: + "@sinclair/typebox" "^0.25.16" + "@jest/source-map@^27.5.1": version "27.5.1" resolved "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" @@ -1909,6 +1921,18 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jest/types@^29.4.3": + version "29.4.3" + resolved "https://registry.npmmirror.com/@jest/types/-/types-29.4.3.tgz#9069145f4ef09adf10cec1b2901b2d390031431f" + integrity sha512-bPYfw8V65v17m2Od1cv44FH+SiKW7w2Xu7trhcdTLUmSv85rfKsP+qXSjO4KGJr4dtPSzl/gvslZBXctf1qGEA== + dependencies: + "@jest/schemas" "^29.4.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -2141,6 +2165,11 @@ resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== +"@sinclair/typebox@^0.25.16": + version "0.25.24" + resolved "https://registry.npmmirror.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" + integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== + "@sinonjs/commons@^1.7.0": version "1.8.6" resolved "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" @@ -2165,6 +2194,156 @@ magic-string "^0.25.0" string.prototype.matchall "^4.0.6" +"@swc/core-darwin-arm64@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.37.tgz#a92e075ae35f18a64aaf3823ea175f03564f8da1" + integrity sha512-iIyVqqioUpVeT/hbBVfkrsjfCyL4idNH+LVKGmoTAWaTTSB0+UNhNuA7Wh2CqIHWh1Mv7IlumitWPcqsVDdoEw== + +"@swc/core-darwin-x64@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.37.tgz#a3cc06c87140a2ca0b8e7ef1f3d5cc34dd080429" + integrity sha512-dao5nXPWKxtaxqak4ZkRyBoApNIelW/glantQhPhj0FjMjuIQc+v03ldJ8XDByWOG+6xuVUTheANCtEccxoQBw== + +"@swc/core-linux-arm-gnueabihf@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.37.tgz#f7d8f8523830c6be653f608839d4bd5598457f1f" + integrity sha512-/mVrc8H/f062CUkqKGmBiil2VIYu4mKawHxERfeP1y38X5K/OwjG5s9MgO9TVxy+Ly6vejwj70kRhSa3hVp1Bw== + +"@swc/core-linux-arm64-gnu@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.37.tgz#b162febd9de14fb08000c722b063be2bb5aefa6b" + integrity sha512-eRQ3KaZI0j5LidTfOIi/kUVOOMuVmw1HCdt/Z1TAUKoHMLVxY8xcJ3pEE3/+ednI60EmHpwpJRs6LelXyL6uzQ== + +"@swc/core-linux-arm64-musl@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.37.tgz#3b1a628e880fbb1a5e2a7a46d42e8aa878c6bfdd" + integrity sha512-w2BRLODyxNQY2rfHZMZ5ir6QrrnGBPlnIslTrgKmVbn1OjZoxUCtuqhrYnCmybaAc4DOkeH02TqynEFXrm+EMw== + +"@swc/core-linux-x64-gnu@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.37.tgz#ed443ad77dc90e415267d02a38e4113047b2d3d8" + integrity sha512-CfoH8EsZJZ9kunjMUjBNYD5fFuO86zw+K/o4wEw72Yg6ZEiqPmeIlCKU8tpTv4sK+CbhUXrmVzMB5tqsb2jALQ== + +"@swc/core-linux-x64-musl@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.37.tgz#de607a4985458bd6e8b0e40f0d62d0e26bd8df1e" + integrity sha512-9YPrHYNdoG7PK11gV51GfL45biI2dic+YTqHUDKyykemsD7Ot1zUFX7Ty//pdvpKcKSff6SrHbfFACD5ziNirA== + +"@swc/core-win32-arm64-msvc@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.37.tgz#d5851a47d7df183929b9746d56f76c282f940e6a" + integrity sha512-h17Ek8/wCDje6BrXOvCXBM80oBRmTSMMdLyt87whTl5xqYlWYYs9oQIzZndNRTlNpTgjGO8Ns2eo4kwVxIkBIA== + +"@swc/core-win32-ia32-msvc@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.37.tgz#06ad7016f61b56aec4abf60eab3a91b786f9e294" + integrity sha512-1BR175E1olGy/zdt94cgdb6ps/lBNissAOaxyBk8taFpcjy3zpdP30yAoH0GIsC6isnZ5JfArbOJNRXXO5tE0Q== + +"@swc/core-win32-x64-msvc@1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.37.tgz#60139a7089003a7447a4efef9704ae8fde21995e" + integrity sha512-1siDQ7dccQ1pesJmgAL3BUBbRPtfbNInOWnZOkiie/DfFqGQ117QKnCVyjUvwFKfTQx1+3UUTDmMSlRd00SlXg== + +"@swc/core@^1.3.37": + version "1.3.37" + resolved "https://registry.npmmirror.com/@swc/core/-/core-1.3.37.tgz#644653fa7deb20c7c342e7fd019c7abc44ecf1bf" + integrity sha512-VOFlEQ1pReOM73N9A7R8rt561GU8Rxsq833jiimWDUB2sXEN3V6n6wFTgYmZuMz2T4/R0cQA1nV48KkaT4gkFw== + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.37" + "@swc/core-darwin-x64" "1.3.37" + "@swc/core-linux-arm-gnueabihf" "1.3.37" + "@swc/core-linux-arm64-gnu" "1.3.37" + "@swc/core-linux-arm64-musl" "1.3.37" + "@swc/core-linux-x64-gnu" "1.3.37" + "@swc/core-linux-x64-musl" "1.3.37" + "@swc/core-win32-arm64-msvc" "1.3.37" + "@swc/core-win32-ia32-msvc" "1.3.37" + "@swc/core-win32-x64-msvc" "1.3.37" + +"@swc/css-android-arm-eabi@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-android-arm-eabi/-/css-android-arm-eabi-0.0.20.tgz#c4ed5137165ab7064b1684446f5b7a48b68bee92" + integrity sha512-z6cSxNTaahNYWhil14bxQY3sKiS0m0iLL5c/YQU6zs3Di3PpkpZphl76Mzifw5RJm5+GcxU1+3yOnJWHFcnOHQ== + +"@swc/css-android-arm64@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-android-arm64/-/css-android-arm64-0.0.20.tgz#a607e4569974e4cecf89ed0a357f8fa55f9a2b2b" + integrity sha512-EfysJoC5jiFKC7U4HGH6698+HJjMZPur1HTOpxm92BcRilc6Ji1LfaAItrm9BA2ADIPhd9oWndI1h6KCD1vhHw== + +"@swc/css-darwin-arm64@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-darwin-arm64/-/css-darwin-arm64-0.0.20.tgz#4ffc45dcef45a5a432a7b17c96151fdc12234dc4" + integrity sha512-l/SwYaYCwdU5ZrsDRZdb9MzZnxpSF5EQJ4ztKjFOLAuLKd+RYzYvjh0Jv28oefCJ7VCRfIFFPzhgwFZ3ujlpWw== + +"@swc/css-darwin-x64@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-darwin-x64/-/css-darwin-x64-0.0.20.tgz#ea4c7257538e19a9ea345c62d8997fa8b5f18845" + integrity sha512-opIALntwRPedib/QSNuPNT0mbEahXa7WPdcD5847kOQisIBduoWBINSR/bxgcjpE3sYU58GpMM6Q2f/22fX6kw== + +"@swc/css-freebsd-x64@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-freebsd-x64/-/css-freebsd-x64-0.0.20.tgz#88f77124f39a8eb16cd658d65b48b9e05668615c" + integrity sha512-LqdXOR1jUNg+ptXKV3oyX0ZKsSYTquaSNoirLnDU/Gl+4IA9qaG7ps9iqfixjwmHyc6A1EcfI73WyjjYPlszUw== + +"@swc/css-linux-arm-gnueabihf@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-0.0.20.tgz#688359453b74141c7ca1e7484f60d06d9c9393bc" + integrity sha512-8RQVGvfbYvl1Z5hs3m3gftaY9YykA2A3cSuVFrTb+B74dpdwnL1PkitKvdKRLLt0LWgQFseljUsgtDYyeyCn3A== + +"@swc/css-linux-arm64-gnu@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-linux-arm64-gnu/-/css-linux-arm64-gnu-0.0.20.tgz#8941685f59b8a8d979ff11bc20578fb2322adc8e" + integrity sha512-rGAA+7bc7s3tPfcicqwBUOlzOeZxc/Z8wQY455B+nQGOO3qj5L7P//ftXgnDlXWTKYq/XrpImjZGoIkD6tE/1g== + +"@swc/css-linux-arm64-musl@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-linux-arm64-musl/-/css-linux-arm64-musl-0.0.20.tgz#958e73f1f6c1fc3fd25af28f0e80c3d009d8886f" + integrity sha512-hdGVrgfxoKoRH/CXpezS1g6pPZDTFz1EbHbK/kRMEAiB4BWjoIlrdeDnIxn4Gz9RNkupAkGK/41WDm0XR2g+mw== + +"@swc/css-linux-x64-gnu@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-linux-x64-gnu/-/css-linux-x64-gnu-0.0.20.tgz#fe49c94205665a6e20fa2355f0d2a5b612e89d96" + integrity sha512-HnAgJKEA74L3GI8EWD6l5BmksCQLmmOLbPpMBoNtluh0AA5gbnB4uB3Quh5xZqHDmqjFUEyZR3yoXFMhB+oVlg== + +"@swc/css-linux-x64-musl@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-linux-x64-musl/-/css-linux-x64-musl-0.0.20.tgz#28a99846ae6157c7830835dbabfe10ae8072ad49" + integrity sha512-W6mRvjMivjwT6ywn942nk3bQ/ItIJCbXqHhH6LB+X6LntYjdXv6O8XZxqbv+UGIFhkKN/lze0exR3KVyGvltHQ== + +"@swc/css-win32-arm64-msvc@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-win32-arm64-msvc/-/css-win32-arm64-msvc-0.0.20.tgz#2be4816e02551892b343446d663e3e8465eec0fe" + integrity sha512-GiXSHZfQY8VZ9tZm5VCvlCoIMqh2grSKTgnhANOAEuaGSt2j9K6DPnHSIrl7tO42KftAZmExFhQiHHC9zMhXxw== + +"@swc/css-win32-ia32-msvc@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-win32-ia32-msvc/-/css-win32-ia32-msvc-0.0.20.tgz#b7749f37e76457f51e0b55f9461e678270c46c96" + integrity sha512-p6Y65JPi28Y7OJbjbR1HLzoKS/48WS3IFNgpIvTSV4l43IwtjDchyCZsJ04gisrJ3H8tIx6Ct7GhXNEhLHj3ZA== + +"@swc/css-win32-x64-msvc@0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css-win32-x64-msvc/-/css-win32-x64-msvc-0.0.20.tgz#2952f9e1fd8bca4bd759d309e3eaf0b521984b8c" + integrity sha512-tkp2QvxqPRQch+BXSMd6HvE3nFqjamMjuNa0aBvzmNafF0SFywKXi6zIBSmwyX59nxpH+++D2zQdP6uVGH6aBg== + +"@swc/css@^0.0.20": + version "0.0.20" + resolved "https://registry.npmmirror.com/@swc/css/-/css-0.0.20.tgz#cb62b10f4e3a58c55d1cfa99e458dc7756efd87f" + integrity sha512-SYmayNGfobESZtYx28WO6y18yTZ1J/tkPnDTHFNBW663fIMhzkkXZJVH5o4gCPkhjyc/GBonsjgFE3Y7OGr7sg== + optionalDependencies: + "@swc/css-android-arm-eabi" "0.0.20" + "@swc/css-android-arm64" "0.0.20" + "@swc/css-darwin-arm64" "0.0.20" + "@swc/css-darwin-x64" "0.0.20" + "@swc/css-freebsd-x64" "0.0.20" + "@swc/css-linux-arm-gnueabihf" "0.0.20" + "@swc/css-linux-arm64-gnu" "0.0.20" + "@swc/css-linux-arm64-musl" "0.0.20" + "@swc/css-linux-x64-gnu" "0.0.20" + "@swc/css-linux-x64-musl" "0.0.20" + "@swc/css-win32-arm64-msvc" "0.0.20" + "@swc/css-win32-ia32-msvc" "0.0.20" + "@swc/css-win32-x64-msvc" "0.0.20" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2345,9 +2524,9 @@ integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-proxy@^1.17.8": - version "1.17.9" - resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== + version "1.17.10" + resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.10.tgz#e576c8e4a0cc5c6a138819025a88e167ebb38d6c" + integrity sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g== dependencies: "@types/node" "*" @@ -2433,9 +2612,9 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - version "18.14.0" - resolved "https://registry.npmmirror.com/@types/node/-/node-18.14.0.tgz#94c47b9217bbac49d4a67a967fdcdeed89ebb7d0" - integrity sha512-5EWrvLmglK+imbCJY0+INViFWUHg1AHel1sq4ZVSfdcNqGy9Edv3UB9IIzzg+xPaUcAgZYcfVs2fBcwDeZzU0A== + version "18.14.2" + resolved "https://registry.npmmirror.com/@types/node/-/node-18.14.2.tgz#c076ed1d7b6095078ad3cf21dfeea951842778b1" + integrity sha512-1uEQxww3DaghA0RxqHx0O0ppVlo43pJhepY51OxuQIKHpjbnYLA7vcdwioNPzIqmC2u3I/dmylcqjlh0e7AyUA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -2487,9 +2666,9 @@ "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + version "1.15.1" + resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" + integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== dependencies: "@types/mime" "*" "@types/node" "*" @@ -2545,6 +2724,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yargs@^17.0.8": + version "17.0.22" + resolved "https://registry.npmmirror.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" + integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== + dependencies: + "@types/yargs-parser" "*" + "@vitejs/plugin-basic-ssl@^1.0.1": version "1.0.1" resolved "https://registry.npmmirror.com/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz#48c46eab21e0730921986ce742563ae83fe7fe34" @@ -3511,9 +3697,9 @@ aws4@^1.8.0: integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== axios@^1.0.0-alpha.1: - version "1.3.3" - resolved "https://registry.npmmirror.com/axios/-/axios-1.3.3.tgz#e7011384ba839b885007c9c9fae1ff23dceb295b" - integrity sha512-eYq77dYIFS77AQlhzEL937yUBSepBfPIe8FcgEDN35vMNZKMrs81pgnyrQpwfy4NF4b4XWX1Zgx7yX+25w8QJA== + version "1.3.4" + resolved "https://registry.npmmirror.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024" + integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" @@ -3858,9 +4044,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001449: - version "1.0.30001457" - resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" - integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== + version "1.0.30001458" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001458.tgz#871e35866b4654a7d25eccca86864f411825540c" + integrity sha512-lQ1VlUUq5q9ro9X+5gOEyH7i3vm+AYVT1WDCVB69XOZ17KZRhnZ9J0Sqz7wTHQaLBJccNCHq8/Ww5LlOIZbB0w== caseless@~0.12.0: version "0.12.0" @@ -4447,16 +4633,21 @@ copy-webpack-plugin@^7.0.0: serialize-javascript "^5.0.1" core-js-compat@^3.25.1: - version "3.28.0" - resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.28.0.tgz#c08456d854608a7264530a2afa281fadf20ecee6" - integrity sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg== + version "3.29.0" + resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.29.0.tgz#1b8d9eb4191ab112022e7f6364b99b65ea52f528" + integrity sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ== dependencies: browserslist "^4.21.5" +core-js@3.27.0: + version "3.27.0" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.27.0.tgz#a343bc614f29d9dcffa7616e65e10f9001cdd332" + integrity sha512-wY6cKosevs430KRkHUIsvepDXHGjlXOZO3hYXNyqpD6JvB0X28aXyv0t1Y1vZMwE7SoKmtfa6IASHCPN52FwBQ== + core-js@^3.27.0, core-js@^3.27.2, core-js@^3.6.1: - version "3.28.0" - resolved "https://registry.npmmirror.com/core-js/-/core-js-3.28.0.tgz#ed8b9e99c273879fdfff0edfc77ee709a5800e4a" - integrity sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw== + version "3.29.0" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.29.0.tgz#0273e142b67761058bcde5615c503c7406b572d6" + integrity sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg== core-util-is@1.0.2: version "1.0.2" @@ -4485,9 +4676,9 @@ cosmiconfig@^7.0.0: yaml "^1.10.0" cosmiconfig@^8.0.0: - version "8.0.0" - resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" - integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== + version "8.1.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.1.0.tgz#947e174c796483ccf0a48476c24e4fefb7e1aea8" + integrity sha512-0tLZ9URlPGU7JsKq0DQOQ3FoRsYX8xDZ7xMiATQfaiGMz7EHowNkbU9u1coAOmnh9p/1ySpm0RB3JNWRXM5GCg== dependencies: import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -4550,14 +4741,14 @@ css-loader@^5.0.1: schema-utils "^3.0.0" semver "^7.3.5" -css-minimizer-webpack-plugin@^3.0.0: - version "3.4.1" - resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== +css-minimizer-webpack-plugin@^4.0.0: + version "4.2.2" + resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz#79f6199eb5adf1ff7ba57f105e3752d15211eb35" + integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" + cssnano "^5.1.8" + jest-worker "^29.1.2" + postcss "^8.4.17" schema-utils "^4.0.0" serialize-javascript "^6.0.0" source-map "^0.6.1" @@ -4652,7 +4843,7 @@ cssnano-utils@^3.1.0: resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== -cssnano@^5.0.6, cssnano@^5.1.12: +cssnano@^5.1.12, cssnano@^5.1.8: version "5.1.15" resolved "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== @@ -5039,9 +5230,9 @@ ejs@^3.1.6: jake "^10.8.5" electron-to-chromium@^1.4.284: - version "1.4.303" - resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.303.tgz#6c598653c52b2554f768d98374803236b8f022a8" - integrity sha512-XaqiQhVsGO5ymf/Lg6XEGpv2h8b5AFqQDQ9fQckolNP2VtD2VL1pn1TIx1SSYsf0srfXVi2Sm7n/K3slJSX3ig== + version "1.4.314" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.314.tgz#33e4ad7a2ca2ddbe2e113874cc0c0e2a00cb46bf" + integrity sha512-+3RmNVx9hZLlc0gW//4yep0K5SYKmIvB5DXg1Yg6varsuAHlHwTeqeygfS8DWwLCsNOWrgj+p9qgM5WYjw1lXQ== emittery@^0.8.1: version "0.8.1" @@ -5526,11 +5717,12 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.3.0: integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^8.3.0: - version "8.34.0" - resolved "https://registry.npmmirror.com/eslint/-/eslint-8.34.0.tgz#fe0ab0ef478104c1f9ebc5537e303d25a8fb22d6" - integrity sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg== + version "8.35.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" + integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== dependencies: - "@eslint/eslintrc" "^1.4.1" + "@eslint/eslintrc" "^2.0.0" + "@eslint/js" "8.35.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -5544,7 +5736,7 @@ eslint@^8.3.0: eslint-utils "^3.0.0" eslint-visitor-keys "^3.3.0" espree "^9.4.0" - esquery "^1.4.0" + esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" @@ -5584,7 +5776,7 @@ esprima@^4.0.0, esprima@^4.0.1: resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.0: +esquery@^1.4.0, esquery@^1.4.2: version "1.4.2" resolved "https://registry.npmmirror.com/esquery/-/esquery-1.4.2.tgz#c6d3fee05dd665808e2ad870631f221f5617b1d1" integrity sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng== @@ -7517,6 +7709,18 @@ jest-util@^27.0.0, jest-util@^27.5.1: graceful-fs "^4.2.9" picomatch "^2.2.3" +jest-util@^29.4.3: + version "29.4.3" + resolved "https://registry.npmmirror.com/jest-util/-/jest-util-29.4.3.tgz#851a148e23fc2b633c55f6dad2e45d7f4579f496" + integrity sha512-ToSGORAz4SSSoqxDSylWX8JzkOQR7zoBtNRsA7e+1WUX5F8jrOwaNpuh1YfJHJKDHXLHmObv5eOjejUd+/Ws+Q== + dependencies: + "@jest/types" "^29.4.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^27.5.1: version "27.5.1" resolved "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" @@ -7564,7 +7768,7 @@ jest-worker@^26.2.1: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: +jest-worker@^27.4.5, jest-worker@^27.5.1: version "27.5.1" resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== @@ -7573,6 +7777,16 @@ jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^29.1.2: + version "29.4.3" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-29.4.3.tgz#9a4023e1ea1d306034237c7133d7da4240e8934e" + integrity sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA== + dependencies: + "@types/node" "*" + jest-util "^29.4.3" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^27.0.6: version "27.5.1" resolved "https://registry.npmmirror.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" @@ -7711,7 +7925,7 @@ json5@2.x, json5@^2.1.2, json5@^2.2.0, json5@^2.2.2: resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -json5@^1.0.1: +json5@^1.0.1, json5@^1.0.2: version "1.0.2" resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -8937,9 +9151,9 @@ pify@^4.0.1: integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== pinia@^2.0.11: - version "2.0.31" - resolved "https://registry.npmmirror.com/pinia/-/pinia-2.0.31.tgz#2e33699c274444bf1b08d9f4332513c0ed1a806b" - integrity sha512-6OOKZGX79jm3q0xAu+X/PaRjfyOcFnPXcHFAA8HHa+wbJeSi5xc/nYqO8Ff7XLvwV8mKGYXcUfZUHbqUmw6P0w== + version "2.0.32" + resolved "https://registry.npmmirror.com/pinia/-/pinia-2.0.32.tgz#93a12df4416566c1bb49225a078fe20b982350be" + integrity sha512-8Tw4OrpCSJ028UUyp0gYPP/wyjigLoEceuO/x1G+FlHVf73337e5vLm4uDmrRIoBG1hvaed/eSHnrCFjOc4nkA== dependencies: "@vue/devtools-api" "^6.5.0" vue-demi "*" @@ -9278,7 +9492,7 @@ postcss@8.3.0: nanoid "^3.1.23" source-map-js "^0.6.2" -postcss@^8.0.0, postcss@^8.1.10, postcss@^8.2.15, postcss@^8.3.5, postcss@^8.4.16, postcss@^8.4.18, postcss@^8.4.21: +postcss@^8.0.0, postcss@^8.1.10, postcss@^8.2.15, postcss@^8.4.16, postcss@^8.4.17, postcss@^8.4.18, postcss@^8.4.21: version "8.4.21" resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== @@ -9288,9 +9502,9 @@ postcss@^8.0.0, postcss@^8.1.10, postcss@^8.2.15, postcss@^8.3.5, postcss@^8.4.1 source-map-js "^1.0.2" preact@^10.0.0: - version "10.12.1" - resolved "https://registry.npmmirror.com/preact/-/preact-10.12.1.tgz#8f9cb5442f560e532729b7d23d42fd1161354a21" - integrity sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg== + version "10.13.0" + resolved "https://registry.npmmirror.com/preact/-/preact-10.13.0.tgz#f8bd3cf257a4dbe41da71a52131b79916d4ca89d" + integrity sha512-ERdIdUpR6doqdaSIh80hvzebHB7O6JxycOhyzAeLEchqOq/4yueslQbfnPwXaNhAYacFTyCclhwkEbOumT0tHw== prelude-ls@^1.2.1: version "1.2.1" @@ -9408,9 +9622,9 @@ q@^1.5.1: integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qiankun@^2.7.0: - version "2.9.3" - resolved "https://registry.npmmirror.com/qiankun/-/qiankun-2.9.3.tgz#21b548483fc516595e19dbd6103e992346532e4e" - integrity sha512-Vy15WWeBfshjZ+uZKyvuA2gH84fiZTz5X99yy89zr6aIHdWBKhjRFrb22iHrQswlDVl2Vxjm01UWGvrmaPoSPQ== + version "2.10.2" + resolved "https://registry.npmmirror.com/qiankun/-/qiankun-2.10.2.tgz#8a76e0317090720d400d7067ce58afc4184360e6" + integrity sha512-lRgz91zS4jyQYHVBVqG+f7MCwITIuxE5/ZP9sTvbfyRKOiJWFGORiJKO9gKRxxWKCkFws1I7rjq/nKd2au6yWA== dependencies: "@babel/runtime" "^7.10.5" import-html-entry "^1.14.3" @@ -9508,18 +9722,18 @@ read-pkg@^5.2.0: type-fest "^0.6.0" readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.6, readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + version "3.6.1" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.1.tgz#f9f9b5f536920253b3d26e7660e7da4ccff9bb62" + integrity sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ== dependencies: inherits "^2.0.3" string_decoder "^1.1.1" util-deprecate "^1.0.1" readable-stream@^2.0.1, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + version "2.3.8" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -9790,9 +10004,9 @@ rollup@^2.43.1, rollup@^2.79.1: fsevents "~2.3.2" rollup@^3.10.0: - version "3.17.2" - resolved "https://registry.npmmirror.com/rollup/-/rollup-3.17.2.tgz#a4ecd29c488672a0606e41ef57474fad715750a9" - integrity sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA== + version "3.17.3" + resolved "https://registry.npmmirror.com/rollup/-/rollup-3.17.3.tgz#ee7c4e1a262da55c491a4788b632fa123315f6ef" + integrity sha512-p5LaCXiiOL/wrOkj8djsIDFmyU9ysUxcyW+EKRLHb6TKldJzXpImjcRSR+vgo09DBdofGcOoLOsRyxxG2n5/qQ== optionalDependencies: fsevents "~2.3.2" @@ -10549,15 +10763,25 @@ svgo@^2.3.1, svgo@^2.7.0: picocolors "^1.0.0" stable "^0.1.8" +swc-loader@^0.2.3: + version "0.2.3" + resolved "https://registry.npmmirror.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" + integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + +swc-plugin-vue-jsx@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/swc-plugin-vue-jsx/-/swc-plugin-vue-jsx-0.2.0.tgz#22cd06409aac9a81070f84812a0e0e9bf4acd01b" + integrity sha512-2atLA8DXUtCHZqpc/0wCDIhx2LXJ9ZV7IMDlEG+eWVb0p5u/5jff8iEf+Mv7RumSM2cPrb3FTszbDDGSCNXoqQ== + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== systemjs@^6.13.0: - version "6.13.0" - resolved "https://registry.npmmirror.com/systemjs/-/systemjs-6.13.0.tgz#7b28e74b44352e1650e8652499f42de724c3fc7f" - integrity sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g== + version "6.14.0" + resolved "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.0.tgz#0b6665de005b49624e94a2a5b5b936231e3cf97e" + integrity sha512-OMf+kFCYG9fLQerUyw/QVIPfZ+lo579R+usrDzSrZAkvMl6B0tHtc4rUP7DFaPCr7Sy6p5DYD4V9OCF1Sp6+vA== tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" @@ -10595,7 +10819,7 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^5.1.3: +terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.6: version "5.3.6" resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== @@ -10607,9 +10831,9 @@ terser-webpack-plugin@^5.1.3: terser "^5.14.1" terser@^5.0.0, terser@^5.10.0, terser@^5.14.1, terser@^5.14.2: - version "5.16.4" - resolved "https://registry.npmmirror.com/terser/-/terser-5.16.4.tgz#51284b440b93242291a98f2a9903c024cfb70e6e" - integrity sha512-5yEGuZ3DZradbogeYQ1NaGz7rXVBDWujWlx1PT8efXO6Txn+eWbfKqB2bTDVmFXmePFkoLU6XI8UektMIEA0ug== + version "5.16.5" + resolved "https://registry.npmmirror.com/terser/-/terser-5.16.5.tgz#1c285ca0655f467f92af1bbab46ab72d1cb08e5a" + integrity sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg== dependencies: "@jridgewell/source-map" "^0.3.2" acorn "^8.5.0" @@ -10794,12 +11018,12 @@ ts-node@^10.8.1: yn "3.1.1" tsconfig-paths@^3.11.0: - version "3.14.1" - resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== + version "3.14.2" + resolved "https://registry.npmmirror.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" + json5 "^1.0.2" minimist "^1.2.6" strip-bom "^3.0.0" @@ -11125,9 +11349,9 @@ vite-plugin-windicss@^1.8.3: windicss "^3.5.6" vite@^4.0.0: - version "4.1.3" - resolved "https://registry.npmmirror.com/vite/-/vite-4.1.3.tgz#001a038c3a7757d532787c0de429b8368136ded5" - integrity sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA== + version "4.1.4" + resolved "https://registry.npmmirror.com/vite/-/vite-4.1.4.tgz#170d93bcff97e0ebc09764c053eebe130bfe6ca0" + integrity sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg== dependencies: esbuild "^0.16.14" postcss "^8.4.21" @@ -11840,9 +12064,9 @@ yargs@^16.0.0, yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.5.1: - version "17.7.0" - resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.0.tgz#b21e9af1e0a619a2a9c67b1133219b2975a07985" - integrity sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ== + version "17.7.1" + resolved "https://registry.npmmirror.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" + integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== dependencies: cliui "^8.0.1" escalade "^3.1.1"