From 899d616f7e641ddb8e27fcad57657b1043764995 Mon Sep 17 00:00:00 2001 From: rhlin Date: Sun, 12 May 2024 23:47:02 -0700 Subject: [PATCH] =?UTF-8?q?build:=20=E5=85=AC=E5=85=B1=E4=BE=9D=E8=B5=96cd?= =?UTF-8?q?n=E8=A7=A3=E8=80=A6=E5=B9=B6=E5=A2=9E=E5=8A=A0=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E6=8E=A7=E5=88=B6=20(#360)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * build: external public cdn localize 公共cdn依赖包支持本地化 * build: cdn外部依赖解耦,修复baseUrl获取 * build: cdn依赖解耦 修正baseUrl获取方式 * build: cdn依赖三方解耦,优化目录型拷贝 * build: cdn依赖解耦,解决目录复制文件的相对路径问题 * build(design-core): 修复monaco的worker使用cdn地址前缀的情况下打包失效 * build: 本地开发也支持脱离cdn三方依赖 * build: 去除代码注释 * build: 三方cdn依赖解耦 物料bundle文件依赖支持替换cdn依赖 * build(design-core) 去除冗余用不到的文件和配置项硬编码 * build: 公共依赖cdn解耦测试完成 开关默认关闭 * refactor: 简化三方cdn依赖解耦的正则,改为path方法 * refactor: 三方依赖解耦脚本代码优化,减少雷同的正则匹配 * refactor: 三方cdn依赖解耦脚本 简化合并正则 * build: 三方cdn解耦 物料本地打包逻辑优化修正 * build: 三方cdn依赖解耦,优化代码简化正则,修复计算版本号问题,修复函数名大小写问题 * build: 优化importMap版本站位符号 * build: 三方cdn物料解耦 变量改为环境变量 * build: 三方cdn依赖解耦 补充处理复制文件夹时候的去重 * fix: 三方cdn解耦, 解决本地启动问题 * feat(preview): preview也支持cdn依赖解耦 * refactor(desing-core/scripts): 重构复制cdn文件本地复制模块 * build: 重构预览的importMap复制逻辑,修复两个importMap文件不存在 * build: 进一步优化monacoEditor地址,直接打包不再跨网络获取 * refactor(design-core/scripts): 调整复制应用importMap函数的参数顺序,与其他结构类似 * refactor(design-core/script): 调整文件位置和文件引用顺序 * feat(design-core/preview): preview importMap.js 使用 importMap.json 数据归一 * fix(design-core/preview): 修复importJson的引用 * fix: mock端口号订正,解决element-plus拖入画布后无法渲染 * build(design-core/script): 修复临时安装包插件安装完包后返回目录不正确 * fix: 修正monaco-editor的worker资源的打包地址 * build(design-core/script): 修复临时安装包插件安装完包后返回目录不正确 * fix(design-core/preview): 修正cdn解耦preview获取动态的importMap.json的base路径问题 * build: 三方cdn解耦,优化拷贝脚本,修复文件夹当文件拷贝当文件夹是包路径时候目标路径版本号丢失 * build: 三方cdn解耦,解决包未安装的情况下,glob匹配不到文件导致打包不拷贝内容 * fix: 根据检视意见使用fs-extra readJsonSync替代utils工具函数 * fix: 根据检视意见修改函数名大小写和端口号读取 * feat: 三方物料解耦 preview变量替换增加注释 * feat: 根据检视意见修改函数名字 * refactor: 根据检视意见,将脚本函数的参数整改为对象,并把目录值迁移到参数默认值 * docs(design-core/scripts): 三方cdn解耦 修正描述错误 * fix: 三方cdn解耦 修正preview脚本TinyVue版本号 --- .gitignore | 1 + .../canvas/src/components/common/index.js | 23 +- packages/design-core/.env.alpha | 2 + packages/design-core/.env.development | 4 +- packages/design-core/.env.prod | 4 +- packages/design-core/canvas.html | 1 - packages/design-core/package.json | 4 +- .../scripts/localCdnFile/copyBundleDeps.js | 82 +++++++ .../scripts/localCdnFile/copyImportMap.js | 67 ++++++ .../localCdnFile/copyPreviewImportMap.js | 82 +++++++ .../design-core/scripts/localCdnFile/index.js | 6 + .../scripts/localCdnFile/locateCdnNpmInfo.js | 204 ++++++++++++++++++ .../localCdnFile/replaceImportPath.mjs | 89 ++++++++ .../design-core/scripts/localCdnFile/utils.js | 5 + .../vite-plugins/configureServerAddProxy.js | 15 ++ .../vite-plugins/installPackageTemporary.js | 47 ++++ .../src/preview/src/preview/Preview.vue | 25 ++- .../src/preview/src/preview/http.js | 5 + .../src/preview/src/preview/importMap.js | 26 +-- .../src/preview/src/preview/importMap.json | 23 ++ packages/design-core/vite.config.js | 64 ++++-- 21 files changed, 721 insertions(+), 58 deletions(-) create mode 100644 packages/design-core/scripts/localCdnFile/copyBundleDeps.js create mode 100644 packages/design-core/scripts/localCdnFile/copyImportMap.js create mode 100644 packages/design-core/scripts/localCdnFile/copyPreviewImportMap.js create mode 100644 packages/design-core/scripts/localCdnFile/index.js create mode 100644 packages/design-core/scripts/localCdnFile/locateCdnNpmInfo.js create mode 100644 packages/design-core/scripts/localCdnFile/replaceImportPath.mjs create mode 100644 packages/design-core/scripts/localCdnFile/utils.js create mode 100644 packages/design-core/scripts/vite-plugins/configureServerAddProxy.js create mode 100644 packages/design-core/scripts/vite-plugins/installPackageTemporary.js create mode 100644 packages/design-core/src/preview/src/preview/importMap.json diff --git a/.gitignore b/.gitignore index 3e3d94e59..1ed9582ec 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ package-lock.json yarn.lock pnpm-lock.yaml lerna-debug.log +packages/design-core/bundle-deps # local env files .env.local diff --git a/packages/canvas/src/components/common/index.js b/packages/canvas/src/components/common/index.js index 68a7097c1..d8745f8d4 100644 --- a/packages/canvas/src/components/common/index.js +++ b/packages/canvas/src/components/common/index.js @@ -1,14 +1,14 @@ /** -* Copyright (c) 2023 - present TinyEngine Authors. -* Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd. -* -* Use of this source code is governed by an MIT-style license. -* -* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, -* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR -* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. -* -*/ + * Copyright (c) 2023 - present TinyEngine Authors. + * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd. + * + * Use of this source code is governed by an MIT-style license. + * + * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, + * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR + * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS. + * + */ export const NODE_UID = 'data-uid' export const NODE_TAG = 'data-tag' @@ -125,9 +125,10 @@ export const getClipboardSchema = (event) => translateStringToSchame(event.clipb */ export const dynamicImportComponents = async ({ package: pkg, script, components }) => { if (!script) return + const scriptUrl = script.startsWith('.') ? new URL(script, location.href).href : script if (!window.TinyComponentLibs[pkg]) { - const modules = await import(/* @vite-ignore */ script) + const modules = await import(/* @vite-ignore */ scriptUrl) window.TinyComponentLibs[pkg] = modules } diff --git a/packages/design-core/.env.alpha b/packages/design-core/.env.alpha index cfd059c8b..1816a0471 100644 --- a/packages/design-core/.env.alpha +++ b/packages/design-core/.env.alpha @@ -2,6 +2,8 @@ NODE_ENV=production VITE_CDN_DOMAIN=https://npm.onmicrosoft.cn +VITE_LOCAL_IMPORT_MAPS=false +VITE_LOCAL_BUNDLE_DEPS=false # VITE_ORIGIN= # 错误监控上报 url diff --git a/packages/design-core/.env.development b/packages/design-core/.env.development index 05e65af31..98c505478 100644 --- a/packages/design-core/.env.development +++ b/packages/design-core/.env.development @@ -2,5 +2,7 @@ NODE_ENV=development VITE_CDN_DOMAIN=https://npm.onmicrosoft.cn +VITE_LOCAL_IMPORT_MAPS=false +VITE_LOCAL_BUNDLE_DEPS=false # request data via alpha service -# VITE_ORIGIN= \ No newline at end of file +# VITE_ORIGIN= diff --git a/packages/design-core/.env.prod b/packages/design-core/.env.prod index 00c129ad6..04b27fbc3 100644 --- a/packages/design-core/.env.prod +++ b/packages/design-core/.env.prod @@ -2,4 +2,6 @@ NODE_ENV=production VITE_CDN_DOMAIN=https://npm.onmicrosoft.cn -#VITE_ORIGIN= \ No newline at end of file +VITE_LOCAL_IMPORT_MAPS=false +VITE_LOCAL_BUNDLE_DEPS=false +#VITE_ORIGIN= diff --git a/packages/design-core/canvas.html b/packages/design-core/canvas.html index 609ca59be..b0095770e 100644 --- a/packages/design-core/canvas.html +++ b/packages/design-core/canvas.html @@ -4,7 +4,6 @@ -