@lark-apaas/coding-template-nestjs-react-fullstack 0.1.58 → 0.1.59-alpha.20261105053050
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/package.json +1 -1
- package/template/package-lock.json +817 -100
- package/template/package.json +3 -3
- package/template/scripts/build.sh +39 -22
- package/template/scripts/prune-smart.js +20 -1
package/template/package.json
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"upgrade": "npx -y @lark-apaas/fullstack-cli sync --disable-gen-openapi"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@lark-apaas/fullstack-nestjs-core": "^1.1.
|
|
31
|
+
"@lark-apaas/fullstack-nestjs-core": "^1.1.70",
|
|
32
32
|
"@nestjs/axios": "^4.0.1",
|
|
33
33
|
"@nestjs/cache-manager": "^3.1.3",
|
|
34
34
|
"@nestjs/common": "^10.4.20",
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@hookform/resolvers": "^5.2.2",
|
|
55
|
-
"@lark-apaas/client-toolkit": "^1.2.
|
|
56
|
-
"@lark-apaas/coding-preset-vite-react": "^1.0.
|
|
55
|
+
"@lark-apaas/client-toolkit": "^1.2.78",
|
|
56
|
+
"@lark-apaas/coding-preset-vite-react": "^1.0.27",
|
|
57
57
|
"@lark-apaas/fullstack-presets": "^1.1.25",
|
|
58
58
|
"@nestjs/cli": "^10.4.9",
|
|
59
59
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
@@ -45,32 +45,49 @@ STEP_START=$(node -e "console.log(Date.now())")
|
|
|
45
45
|
|
|
46
46
|
# 在 client/server 构建之前生成到 dist/,供 DefinePlugin 注入前端 bundle
|
|
47
47
|
# 注意:nest-cli.json 中 deleteOutDir 必须为 false(模板默认值),否则 nest build 会清掉 dist/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
wait $API_ROUTES_PID || API_ROUTES_EXIT=$?
|
|
60
|
-
wait $PAGE_ROUTES_PID || PAGE_ROUTES_EXIT=$?
|
|
61
|
-
|
|
62
|
-
if [ $API_ROUTES_EXIT -ne 0 ]; then
|
|
63
|
-
echo " ⚠️ API 路由生成失败(不影响构建)"
|
|
64
|
-
cat /tmp/gen-api-routes.log
|
|
48
|
+
# 生成器来自 @lark-apaas/devtool-kits(由 preset 间接安装)。只用本地命令:
|
|
49
|
+
# 未安装时直接跳过,不走 npx,避免联网查同名包 404 的等待;preset 读不到文件会注入空路由。
|
|
50
|
+
API_ROUTES_BIN="$ROOT_DIR/node_modules/.bin/generate-api-routes"
|
|
51
|
+
PAGE_ROUTES_BIN="$ROOT_DIR/node_modules/.bin/generate-page-routes"
|
|
52
|
+
API_ROUTES_PID=""
|
|
53
|
+
PAGE_ROUTES_PID=""
|
|
54
|
+
|
|
55
|
+
if [ -x "$API_ROUTES_BIN" ]; then
|
|
56
|
+
echo " ├─ 生成 API 路由定义..."
|
|
57
|
+
"$API_ROUTES_BIN" --server-dir ./server --out-dir ./dist > /tmp/gen-api-routes.log 2>&1 &
|
|
58
|
+
API_ROUTES_PID=$!
|
|
65
59
|
else
|
|
66
|
-
echo "
|
|
60
|
+
echo " ⏭️ 未安装 generate-api-routes,跳过 API 路由定义生成"
|
|
67
61
|
fi
|
|
68
62
|
|
|
69
|
-
if [
|
|
70
|
-
echo "
|
|
71
|
-
|
|
63
|
+
if [ -x "$PAGE_ROUTES_BIN" ]; then
|
|
64
|
+
echo " ├─ 生成页面路由定义..."
|
|
65
|
+
"$PAGE_ROUTES_BIN" --app-path ./client/src/app.tsx --out-dir ./dist > /tmp/gen-page-routes.log 2>&1 &
|
|
66
|
+
PAGE_ROUTES_PID=$!
|
|
72
67
|
else
|
|
73
|
-
echo "
|
|
68
|
+
echo " ⏭️ 未安装 generate-page-routes,跳过页面路由定义生成"
|
|
69
|
+
fi
|
|
70
|
+
|
|
71
|
+
if [ -n "$API_ROUTES_PID" ]; then
|
|
72
|
+
API_ROUTES_EXIT=0
|
|
73
|
+
wait $API_ROUTES_PID || API_ROUTES_EXIT=$?
|
|
74
|
+
if [ $API_ROUTES_EXIT -ne 0 ]; then
|
|
75
|
+
echo " ⚠️ API 路由生成失败(不影响构建)"
|
|
76
|
+
cat /tmp/gen-api-routes.log
|
|
77
|
+
else
|
|
78
|
+
echo " ✅ API 路由生成完成"
|
|
79
|
+
fi
|
|
80
|
+
fi
|
|
81
|
+
|
|
82
|
+
if [ -n "$PAGE_ROUTES_PID" ]; then
|
|
83
|
+
PAGE_ROUTES_EXIT=0
|
|
84
|
+
wait $PAGE_ROUTES_PID || PAGE_ROUTES_EXIT=$?
|
|
85
|
+
if [ $PAGE_ROUTES_EXIT -ne 0 ]; then
|
|
86
|
+
echo " ⚠️ 页面路由生成失败(不影响构建)"
|
|
87
|
+
cat /tmp/gen-page-routes.log
|
|
88
|
+
else
|
|
89
|
+
echo " ✅ 页面路由生成完成"
|
|
90
|
+
fi
|
|
74
91
|
fi
|
|
75
92
|
print_time $STEP_START
|
|
76
93
|
echo ""
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// This file is auto-generated by @lark-apaas/fullstack-cli
|
|
3
3
|
|
|
4
|
-
const { nodeFileTrace } = require('@vercel/nft');
|
|
5
4
|
const fs = require('fs');
|
|
6
5
|
const path = require('path');
|
|
6
|
+
const { createRequire } = require('module');
|
|
7
|
+
|
|
8
|
+
// @vercel/nft 是 fullstack-cli 自身的依赖:应用装了 CLI 时从应用 node_modules 加载;
|
|
9
|
+
// 构建镜像全局预装 CLI、应用未安装时,从 PATH 上 fullstack-cli 的安装目录加载
|
|
10
|
+
function loadNft() {
|
|
11
|
+
try {
|
|
12
|
+
return require('@vercel/nft');
|
|
13
|
+
} catch (err) {
|
|
14
|
+
if (err.code !== 'MODULE_NOT_FOUND') throw err;
|
|
15
|
+
}
|
|
16
|
+
for (const dir of (process.env.PATH || '').split(path.delimiter)) {
|
|
17
|
+
const cliBin = dir && path.join(dir, 'fullstack-cli');
|
|
18
|
+
if (cliBin && fs.existsSync(cliBin)) {
|
|
19
|
+
return createRequire(fs.realpathSync(cliBin))('@vercel/nft');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
throw new Error('未找到 @vercel/nft:应用未安装 fullstack-cli,PATH 上也没有全局 fullstack-cli');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const { nodeFileTrace } = loadNft();
|
|
7
26
|
|
|
8
27
|
const ROOT_DIR = path.resolve(__dirname, '..');
|
|
9
28
|
|