/** * vext build — 生产编译命令(Phase 2A) * * 将用户项目的 TypeScript 源码通过 esbuild 编译为 JavaScript, * 输出到 dist/ 目录。编译完成后,`vext start` 检测到 dist/ 存在时 * 直接用 `node` 运行,不再依赖 tsx 运行时。 * * 命令行参数: * --outdir 输出目录(默认 'dist') * --clean 编译前清理输出目录(默认 false) * --no-sourcemap 不生成 source map(默认生成) * --minify 代码压缩(默认 false) * --typecheck 工具产物刷新后执行 TypeScript 类型检查(默认 false) * -h, --help 显示帮助信息 * * 用法示例: * vext build 基本编译 * vext build --clean 清理旧产物后编译 * vext build --outdir build 指定输出目录 * vext build --no-sourcemap 不生成 source map * vext build --minify 生产优化(压缩代码) * vext build --typecheck 生成类型/manifest 后执行类型检查 * vext build --clean --minify --typecheck 完整生产构建 * * 环境变量: * VEXT_BUILD_OUTDIR 覆盖输出目录(优先级低于 CLI 参数) * VEXT_BUILD_SOURCEMAP 设为 'false' 禁用 source map * VEXT_BUILD_MINIFY 设为 'true' 启用代码压缩 * * @module cli/build * @see 09a-build.md §3(CLI 入口实现) * @see IMPLEMENTATION-PLAN.md 任务 2.5 */ interface BuildCommandOptions { /** 输出目录(相对于项目根目录) */ outdir: string; /** 编译前清理输出目录 */ clean: boolean; /** 生成 source map */ sourcemap: boolean; /** 代码压缩 */ minify: boolean; /** 工具产物刷新后执行 TypeScript 类型检查 */ typecheck: boolean; } /** * buildCommand — vext build CLI 命令入口 * * 解析命令行参数,检测项目结构,执行编译,输出报告。 * * 流程: * 1. 解析命令行参数(CLI 参数 > 环境变量 > 默认值) * 2. detectProject() 检测项目结构 * 3. JavaScript 项目 → 提示无需编译并退出 * 4. --clean → 清理旧产物 * 5. 刷新 typegen 与 route manifest(供类型检查/工具链消费) * 6. --typecheck → 执行 tsc --noEmit * 7. BuildCompiler.build() 执行编译 * 8. 输出编译报告(文件数、耗时、输出目录) * * @param args 命令行参数(如 ['--clean', '--minify']) */ export declare function buildCommand(args?: string[]): Promise; /** * parseBuildArgs — 解析 vext build 的命令行参数 * * 优先级:CLI 参数 > 环境变量 > 默认值 * * 手动解析(不引入第三方 CLI 库),保持零依赖。 * * 支持的参数: * --outdir 输出目录(默认 'dist') * --clean 编译前清理(默认 false) * --sourcemap 生成 source map(默认 true) * --no-sourcemap 不生成 source map * --minify 代码压缩(默认 false) * --typecheck 工具产物刷新后执行类型检查(默认 false) * -h, --help 显示帮助信息 * * @param args 命令行参数数组 * @returns 解析后的选项 */ export declare function parseBuildArgs(args: string[]): BuildCommandOptions; export {};