TSone CLI

编程式 API

所有工具 API 都来自 @geektech/tsone-cli,而不是框架根导出:

import {
  build,
  createProject,
  defineConfig,
  resolveConfig,
  startDevServer,
} from '@geektech/tsone-cli';

const config = defineConfig({ build: { outDir: 'output' } });
const resolved = await resolveConfig({ root: process.cwd(), config });
const server = await startDevServer({ root: resolved.root, port: 0 });

try {
  console.log(server.url);
} finally {
  server.stop();
}

const result = await build({ root: resolved.root, outDir: 'release' });
console.log(result.root, result.outDir, result.assetsBuilt);

函数

编程式 API
名称签名说明
defineConfig(config: UserConfig) => UserConfig返回相同的类型化配置对象。
resolveConfig(options?) => Promise<ResolvedConfig>校验并合并默认值、配置文件、直接配置与 host/port/outDir 覆盖。返回绝对 root、entry 与 build.outDir 值、解析后的 pages 路由映射,以及解析后的服务器配置。
startDevServer(options?) => Promise<Server>解析配置并返回 Bun 服务器。调用方拥有其生命周期,必须调用 server.stop()。
build(options?) => Promise<BuildResult>校验入口与输出路径,站点构建提取可确认的固定 CSS,然后返回 { root, outDir, assetsBuilt };assetsBuilt 包含静态 CSS,路径绝对且去重。
createProject(options?) => Promise<CreateProjectResult>将基础 TSone 脚手架写入 options.root(默认为当前工作目录)并返回 { root, files };拒绝覆盖已存在的文件。

公开类型

从包入口同时导出以下类型:BuildOptions、BuildResult、BuildConfig、ProxyOptions、ResolveConfigOptions、ResolvedConfig、ServerConfig、UserConfig,以及 CreateProjectOptions、CreateProjectResult。