@lark-apaas/miaoda-cli 0.1.36 → 0.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/cli/commands/app/index.js +81 -0
- package/dist/cli/handlers/app/index.js +6 -1
- package/dist/cli/handlers/app/init.js +10 -2
- package/dist/cli/handlers/app/migrate.js +2 -4
- package/dist/cli/handlers/app/pack.js +256 -0
- package/dist/cli/handlers/skills/sync.js +56 -31
- package/dist/config/sync-configs/design-stack.js +1 -1
- package/dist/config/sync-configs/index.js +3 -1
- package/dist/config/sync-configs/nestjs-react-fullstack.js +4 -4
- package/dist/config/sync-configs/vite-react.js +20 -0
- package/dist/services/app/pack/archive.js +35 -0
- package/dist/services/app/pack/copy-tree.js +51 -0
- package/dist/services/app/pack/download.js +52 -0
- package/dist/services/app/pack/index.js +27 -0
- package/dist/services/app/pack/inline-babel.js +91 -0
- package/dist/services/app/pack/naming.js +65 -0
- package/dist/services/app/pack/rewrite.js +80 -0
- package/dist/services/app/pack/scan.js +95 -0
- package/dist/services/app/pack/strategies.js +313 -0
- package/dist/services/app/pack/upload.js +110 -0
- package/dist/services/deploy/modern/patch/source-scan.js +3 -40
- package/dist/utils/coding-steering.js +179 -5
- package/dist/utils/dir-lock.js +103 -0
- package/dist/utils/env.js +3 -3
- package/dist/utils/exclude-patterns.js +49 -0
- package/dist/utils/file-ops.js +43 -0
- package/dist/utils/sandbox-skills.js +47 -30
- package/package.json +1 -1
- package/upgrade/templates/nestjs-react-fullstack/templates/scripts/build.sh +5 -0
- package/upgrade/templates/vite-react/templates/scripts/build.sh +61 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
5
|
+
OUTPUT="$ROOT/dist/output"
|
|
6
|
+
OUTPUT_RESOURCE="$ROOT/dist/output_resource"
|
|
7
|
+
OUTPUT_STATIC="$ROOT/dist/output_static"
|
|
8
|
+
|
|
9
|
+
# 映射平台环境变量到 preset 期望的变量名
|
|
10
|
+
# MIAODA_APP_ID → /app/<appId> 作为客户端 base path
|
|
11
|
+
# MIAODA_RESOURCE_CDN_PREFIX → assets (JS/CSS) 的 CDN 前缀
|
|
12
|
+
# CLI 注入约定见 miaoda-cli src/services/deploy/modern/atoms/build.ts
|
|
13
|
+
export CLIENT_BASE_PATH="${MIAODA_APP_ID:+/app/$MIAODA_APP_ID}"
|
|
14
|
+
export ASSETS_CDN_PATH="${MIAODA_RESOURCE_CDN_PREFIX:-/}"
|
|
15
|
+
export STATIC_ASSETS_BASE_URL="${MIAODA_STATIC_CDN_PREFIX}"
|
|
16
|
+
export NODE_ENV="${NODE_ENV:-production}"
|
|
17
|
+
|
|
18
|
+
# 清理
|
|
19
|
+
rm -rf "$ROOT/dist"
|
|
20
|
+
|
|
21
|
+
# 1. Vite 构建 → dist/client/(相对于项目根目录输出)
|
|
22
|
+
npx vite build --outDir "$ROOT/dist/client" --emptyOutDir
|
|
23
|
+
|
|
24
|
+
# 2. public/ 静态资源 + HTML → dist/output/(模型 B:public = 应用根目录,同源 /app/<appId>/*)
|
|
25
|
+
mkdir -p "$OUTPUT"
|
|
26
|
+
# 2a. public/*:vite copyPublicDir 已把 public/* 平铺进 dist/client,但下面白名单只取
|
|
27
|
+
# *.html/routes.json,其余(favicon / 图片 / 运行时 fetch 的数据文件)会随 dist/client 被删。
|
|
28
|
+
# 从源 public/ 补拷到 output/(同源根),让 fetch('/x') / resolveAppUrl('/x') 线上可用。
|
|
29
|
+
# 先拷 public、再拷 HTML,保证构建产出的 index.html/routes.json 覆盖 public 里的同名文件(若有)。
|
|
30
|
+
if [ -d "$ROOT/public" ]; then
|
|
31
|
+
cp -R "$ROOT/public/." "$OUTPUT/"
|
|
32
|
+
fi
|
|
33
|
+
# 2b. HTML + routes.json(构建产物)
|
|
34
|
+
find "$ROOT/dist/client" -maxdepth 1 \( -name '*.html' -o -name 'routes.json' \) -exec cp {} "$OUTPUT/" \;
|
|
35
|
+
|
|
36
|
+
# 3. assets/ → dist/output_resource/(JS/CSS/字体,上传到 CDN)
|
|
37
|
+
if [ -d "$ROOT/dist/client/assets" ]; then
|
|
38
|
+
mkdir -p "$OUTPUT_RESOURCE"
|
|
39
|
+
cp -r "$ROOT/dist/client/assets" "$OUTPUT_RESOURCE/"
|
|
40
|
+
fi
|
|
41
|
+
|
|
42
|
+
# 4. 私有静态资源 → dist/output_static/(排除代码文件)
|
|
43
|
+
if [ -d "$ROOT/shared/static" ]; then
|
|
44
|
+
mkdir -p "$OUTPUT_STATIC"
|
|
45
|
+
rsync -a --exclude='*.ts' --exclude='*.tsx' --exclude='*.js' --exclude='*.jsx' "$ROOT/shared/static/" "$OUTPUT_STATIC/"
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# 5. capability 配置 → dist/output_capabilities/
|
|
49
|
+
if [ -d "$ROOT/shared/capabilities" ]; then
|
|
50
|
+
mkdir -p "$ROOT/dist/output_capabilities"
|
|
51
|
+
cp -r "$ROOT/shared/capabilities/." "$ROOT/dist/output_capabilities/"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# 清理中间产物
|
|
55
|
+
rm -rf "$ROOT/dist/client"
|
|
56
|
+
|
|
57
|
+
echo "Build complete"
|
|
58
|
+
echo " HTML → dist/output/"
|
|
59
|
+
[ -d "$OUTPUT_RESOURCE" ] && echo " Resource → dist/output_resource/" || true
|
|
60
|
+
[ -d "$OUTPUT_STATIC" ] && echo " Static → dist/output_static/" || true
|
|
61
|
+
[ -d "$ROOT/dist/output_capabilities" ] && echo " Capabilities → dist/output_capabilities/" || true
|