mirror of
https://github.com/longbridge/developers.git
synced 2026-09-19 03:34:09 +08:00
a222a0e781
## Summary - 新增 `scripts/copy-routes.ts` post-build 脚本,在构建完成后将 `skill/install/index.html` 和 `skill/install/index.md` 分别复制到 `skill/install.html` 和 `skill/install.md` - 在 `build:canary` 和 `build:release` 命令末尾追加 `bun run build:copy-routes`,确保每次构建自动执行 ## 背景 部署服务器对 `.html` 有目录回退规则(`/skill/install` → `install.html` 或 `install/index.html`),但 `.md` 没有此规则,导致两种格式的访问路径不一致。此脚本确保两个位置的文件同时存在。 ## Test plan - [ ] 运行 `bun run build:canary` 或 `bun run build:release`,确认 `dist/skill/install.html` 和 `dist/skill/install.md` 均存在 - [ ] 确认 `dist/skill/install/index.html` 和 `dist/skill/install/index.md` 仍然存在 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
63 lines
2.2 KiB
JSON
63 lines
2.2 KiB
JSON
{
|
|
"name": "openapi-website",
|
|
"version": "0.0.1",
|
|
"author": "longbridge",
|
|
"module": "index.ts",
|
|
"description": "this is a website of longbridge developers",
|
|
"license": "MIT",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "cross-env VITE_API_BASE_URL=https://openapi.longbridge.xyz npx vitepress dev docs",
|
|
"dev:prod": "cross-env VITE_API_BASE_URL=https://openapi.longbridge.com npx vitepress dev docs",
|
|
"build:canary": "cross-env NODE_OPTIONS=--max-old-space-size=6144 VITE_API_BASE_URL=https://openapi.longbridge.xyz npx vitepress build docs && bun run build:llms && bun run build:copy-routes",
|
|
"build:release": "cross-env NODE_OPTIONS=--max-old-space-size=6144 VITE_API_BASE_URL=https://openapi.longbridge.com npx vitepress build docs && bun run build:llms && bun run build:copy-routes",
|
|
"build:llms": "bun run scripts/normalize_md.ts && bun run scripts/generate-llms.ts",
|
|
"build:copy-routes": "bun run scripts/copy-routes.ts",
|
|
"preview": "vitepress preview docs",
|
|
"lint:docs": "prettier -c --parser typescript \"packages/**/*.{js,ts,vue}\"",
|
|
"format:docs": "prettier --write \"packages/**/*.{js,ts,vue}\""
|
|
},
|
|
"type": "module",
|
|
"dependencies": {
|
|
"@headlessui/vue": "^1.7.23",
|
|
"@jsonforms/core": "^3.5.1",
|
|
"@jsonforms/vue": "^3.5.1",
|
|
"@jsonforms/vue-vanilla": "^3.5.1",
|
|
"cheerio": "^1.1.0",
|
|
"fs-extra": "^11.3.0",
|
|
"glob": "^11.0.3",
|
|
"gray-matter": "^4.0.3",
|
|
"js-yaml": "^4.1.1",
|
|
"markdown-it": "^14.1.1",
|
|
"shiki": "^3.6.0",
|
|
"ufo": "^1.6.1",
|
|
"vite": "^8.0.0",
|
|
"vue-i18n": "11"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "latest",
|
|
"@types/fs-extra": "^11.0.4",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@unocss/extractor-mdc": "^66.1.2",
|
|
"@unocss/transformer-variant-group": "^66.1.2",
|
|
"cross-env": "^7.0.3",
|
|
"markdown-it-container": "^4.0.0",
|
|
"markdown-it-mathjax3": "^4.3.2",
|
|
"mermaid": "^11.8.1",
|
|
"postcss-rtlcss": "^5.7.0",
|
|
"prettier": "^3.5.3",
|
|
"sass-embedded": "^1.89.2",
|
|
"unocss": "^66.1.2",
|
|
"vitepress": "2.0.0-alpha.16",
|
|
"vitepress-plugin-group-icons": "^1.5.2",
|
|
"vitepress-plugin-mermaid": "^2.0.17",
|
|
"vue": "^3.5.13"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": "^5"
|
|
},
|
|
"engines": {
|
|
"node": ">=24.0.0"
|
|
}
|
|
}
|