@lytjs/cli 5.0.4 → 6.4.0
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/dist/create.cjs +522 -0
- package/dist/create.cjs.map +1 -0
- package/dist/create.d.mts +2 -0
- package/dist/create.d.ts +2 -0
- package/dist/create.mjs +520 -0
- package/dist/create.mjs.map +1 -0
- package/dist/index.cjs +1363 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +188 -0
- package/dist/index.d.ts +188 -0
- package/dist/index.mjs +1219 -935
- package/dist/index.mjs.map +1 -0
- package/dist/lyt.cjs +1363 -0
- package/dist/lyt.cjs.map +1 -0
- package/dist/lyt.d.mts +1 -0
- package/dist/lyt.d.ts +1 -0
- package/dist/lyt.mjs +1342 -0
- package/dist/lyt.mjs.map +1 -0
- package/lyt-cli.js +3 -0
- package/package.json +34 -31
- package/README.md +0 -227
- package/dist/bin/cli.cjs +0 -2
- package/dist/bin/cli.js +0 -2
- package/dist/bin/cli.mjs +0 -1
- package/dist/index.js +0 -1058
- package/dist/types/bin/cli.d.ts +0 -9
- package/dist/types/bin/cli.d.ts.map +0 -1
- package/dist/types/build.d.ts +0 -30
- package/dist/types/build.d.ts.map +0 -1
- package/dist/types/create.d.ts +0 -19
- package/dist/types/create.d.ts.map +0 -1
- package/dist/types/dev.d.ts +0 -24
- package/dist/types/dev.d.ts.map +0 -1
- package/dist/types/generate.d.ts +0 -14
- package/dist/types/generate.d.ts.map +0 -1
- package/dist/types/hmr.d.ts +0 -55
- package/dist/types/hmr.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -20
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/scaffold.d.ts +0 -67
- package/dist/types/scaffold.d.ts.map +0 -1
- package/dist/types/utils.d.ts +0 -92
- package/dist/types/utils.d.ts.map +0 -1
package/dist/types/bin/cli.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/bin/cli.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAIH,OAAO,UAAU,CAAC"}
|
package/dist/types/build.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 生产构建模块
|
|
3
|
-
* 实现 `lyt build` 命令,将项目构建为生产可用的静态文件
|
|
4
|
-
* 使用 esbuild 进行 TypeScript 编译和模块打包
|
|
5
|
-
*
|
|
6
|
-
* 功能:
|
|
7
|
-
* - 读取入口文件
|
|
8
|
-
* - esbuild 打包(编译 TypeScript、模块内联、tree-shaking)
|
|
9
|
-
* - 去除 console.log(生产模式)
|
|
10
|
-
* - 输出到 dist/ 目录
|
|
11
|
-
* - 生成 source map
|
|
12
|
-
* - 可选压缩(esbuild minify)
|
|
13
|
-
*/
|
|
14
|
-
/** 构建选项 */
|
|
15
|
-
export interface BuildOptions {
|
|
16
|
-
/** 输出目录(默认 'dist') */
|
|
17
|
-
outDir?: string;
|
|
18
|
-
/** 是否压缩(默认 false) */
|
|
19
|
-
minify?: boolean;
|
|
20
|
-
/** 项目根目录(默认当前工作目录) */
|
|
21
|
-
root?: string;
|
|
22
|
-
/** 入口文件路径(默认 'index.html') */
|
|
23
|
-
entry?: string;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 构建项目
|
|
27
|
-
* 使用 esbuild 将源代码编译、打包、压缩后输出到指定目录
|
|
28
|
-
*/
|
|
29
|
-
export declare function buildProject(options?: BuildOptions): Promise<void>;
|
|
30
|
-
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmCH,WAAW;AACX,MAAM,WAAW,YAAY;IAC3B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoI5E"}
|
package/dist/types/create.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 项目脚手架模块(基础版)
|
|
3
|
-
* 实现 `lyt create <name>` 命令,用于创建新的 Lyt 项目
|
|
4
|
-
* 纯 Node.js 原生实现,不依赖任何第三方包
|
|
5
|
-
*/
|
|
6
|
-
/** 脚手架选项 */
|
|
7
|
-
export interface CreateOptions {
|
|
8
|
-
/** 项目模板类型(默认 spa) */
|
|
9
|
-
template?: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 创建新的 Lyt 项目
|
|
13
|
-
*
|
|
14
|
-
* @param name - 项目名称(同时作为目录名)
|
|
15
|
-
* @param options - 脚手架选项
|
|
16
|
-
* @param options.template - 项目模板类型(默认 'spa')
|
|
17
|
-
*/
|
|
18
|
-
export declare function createProject(name: string, options?: CreateOptions): Promise<void>;
|
|
19
|
-
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,YAAY;AACZ,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAyfD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAqEf"}
|
package/dist/types/dev.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 开发服务器模块
|
|
3
|
-
* 实现 `lyt dev` 命令,提供静态文件服务和 HMR 热更新
|
|
4
|
-
* 纯 Node.js 原生实现
|
|
5
|
-
*/
|
|
6
|
-
/** 开发服务器选项 */
|
|
7
|
-
export interface DevServerOptions {
|
|
8
|
-
/** 服务端口(默认 3000) */
|
|
9
|
-
port?: number;
|
|
10
|
-
/** 项目根目录(默认当前工作目录) */
|
|
11
|
-
root?: string;
|
|
12
|
-
/** 是否启用 HMR(默认 true) */
|
|
13
|
-
hmr?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 启动开发服务器
|
|
17
|
-
*
|
|
18
|
-
* @param options - 开发服务器选项
|
|
19
|
-
* @param options.port - 服务端口(默认 3000)
|
|
20
|
-
* @param options.root - 项目根目录(默认当前工作目录)
|
|
21
|
-
* @param options.hmr - 是否启用 HMR(默认 true)
|
|
22
|
-
*/
|
|
23
|
-
export declare function startDevServer(options?: DevServerOptions): Promise<void>;
|
|
24
|
-
//# sourceMappingURL=dev.d.ts.map
|
package/dist/types/dev.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/dev.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAqCH,cAAc;AACd,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAyLD;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DlF"}
|
package/dist/types/generate.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js 代码生成命令
|
|
3
|
-
*
|
|
4
|
-
* 支持通过模板或 AI 生成组件、Store、页面、API 等
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* generate 命令帮助信息
|
|
8
|
-
*/
|
|
9
|
-
export declare const GENERATE_HELP: string;
|
|
10
|
-
/**
|
|
11
|
-
* 处理 generate 命令
|
|
12
|
-
*/
|
|
13
|
-
export declare function handleGenerateCommand(args: string[]): Promise<void>;
|
|
14
|
-
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4BH;;GAEG;AACH,eAAO,MAAM,aAAa,QA4BzB,CAAC;AA0VF;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkEzE"}
|
package/dist/types/hmr.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 热模块替换 (HMR) 模块
|
|
3
|
-
* 实现 WebSocket 通信、文件监听和客户端注入
|
|
4
|
-
* 纯 Node.js 原生实现,不依赖任何第三方包
|
|
5
|
-
*/
|
|
6
|
-
import * as http from 'http';
|
|
7
|
-
/** HMR 更新类型 */
|
|
8
|
-
export interface HMRUpdate {
|
|
9
|
-
/** 更新类型 */
|
|
10
|
-
type: 'update' | 'reload' | 'css';
|
|
11
|
-
/** 变更文件路径 */
|
|
12
|
-
path: string;
|
|
13
|
-
/** 更新内容(可选) */
|
|
14
|
-
content?: string;
|
|
15
|
-
}
|
|
16
|
-
/** HMR 服务器接口 */
|
|
17
|
-
export interface HMRServer {
|
|
18
|
-
/** 启动 HMR 服务 */
|
|
19
|
-
start(port: number): void;
|
|
20
|
-
/** 停止 HMR 服务 */
|
|
21
|
-
stop(): void;
|
|
22
|
-
/** 注册文件变更回调 */
|
|
23
|
-
onFileChange(callback: (file: string) => void): void;
|
|
24
|
-
/** 通知客户端更新 */
|
|
25
|
-
notifyClient(update: HMRUpdate): void;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* 创建 HMR 服务器实例
|
|
29
|
-
* 将 WebSocket 服务和文件监听整合在一起
|
|
30
|
-
*
|
|
31
|
-
* @param rootDir - 项目根目录
|
|
32
|
-
* @returns HMRServer 实例
|
|
33
|
-
*/
|
|
34
|
-
export declare function createHMRServer(rootDir: string): HMRServer;
|
|
35
|
-
/**
|
|
36
|
-
* 在现有 HTTP 服务器上创建 HMR WebSocket 端点
|
|
37
|
-
*
|
|
38
|
-
* @param server - 现有的 HTTP 服务器实例
|
|
39
|
-
* @returns 包含 broadcast 和 getClientCount 方法的对象
|
|
40
|
-
*/
|
|
41
|
-
export declare function createHMREndpoint(server: http.Server): {
|
|
42
|
-
broadcast(data: string): void;
|
|
43
|
-
getClientCount(): number;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* 生成注入到页面的客户端 HMR 运行时脚本
|
|
47
|
-
* 该脚本在浏览器中运行,负责:
|
|
48
|
-
* 1. 建立 WebSocket 连接
|
|
49
|
-
* 2. 接收服务端的 HMR 更新通知
|
|
50
|
-
* 3. 根据更新类型执行对应操作
|
|
51
|
-
*
|
|
52
|
-
* @returns 客户端 HMR 脚本字符串
|
|
53
|
-
*/
|
|
54
|
-
export declare function getHMRClientScript(): string;
|
|
55
|
-
//# sourceMappingURL=hmr.d.ts.map
|
package/dist/types/hmr.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hmr.d.ts","sourceRoot":"","sources":["../../src/hmr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,eAAe;AACf,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClC,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gBAAgB;AAChB,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB;IAChB,IAAI,IAAI,IAAI,CAAC;IACb,eAAe;IACf,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACrD,cAAc;IACd,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;CACvC;AA4JD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAmK1D;AAMD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG;IACtD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,IAAI,MAAM,CAAC;CAC1B,CAeA;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAoG3C"}
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Lyt.js CLI 入口文件
|
|
4
|
-
* 命令行工具的主入口,负责解析命令并分发到对应的处理模块
|
|
5
|
-
*
|
|
6
|
-
* 支持的命令:
|
|
7
|
-
* - lytx create <name> [--template spa|ssr|ssg] [--ts] [--router] [--store] 创建新项目
|
|
8
|
-
* - lytx dev [--port <port>] [--hmr] 启动开发服务器
|
|
9
|
-
* - lytx build [--mode spa|ssr|ssg] 构建生产版本
|
|
10
|
-
* - lytx preview [--port <port>] 预览构建结果
|
|
11
|
-
*
|
|
12
|
-
* 全局选项:
|
|
13
|
-
* - --help, -h 显示帮助信息
|
|
14
|
-
* - --version, -v 显示版本号
|
|
15
|
-
*
|
|
16
|
-
* 纯 Node.js 原生实现,不依赖任何第三方包
|
|
17
|
-
*/
|
|
18
|
-
export { createProject, type ScaffoldOptions } from './scaffold';
|
|
19
|
-
export { createHMRServer, createHMREndpoint, getHMRClientScript, type HMRUpdate, type HMRServer } from './hmr';
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAkbH,OAAO,EAAE,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/types/scaffold.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 增强版项目脚手架模块
|
|
3
|
-
* 实现 `lytx create <name>` 命令,支持多种模板和功能选项
|
|
4
|
-
* 纯 Node.js 原生实现,不依赖任何第三方包
|
|
5
|
-
*/
|
|
6
|
-
/** 增强版脚手架选项 */
|
|
7
|
-
export interface ScaffoldOptions {
|
|
8
|
-
/** 项目名称 */
|
|
9
|
-
name: string;
|
|
10
|
-
/** 项目模板类型 */
|
|
11
|
-
template: 'spa' | 'ssr' | 'ssg' | 'todo-app' | 'admin-dashboard';
|
|
12
|
-
/** 是否使用 TypeScript */
|
|
13
|
-
ts: boolean;
|
|
14
|
-
/** 是否包含路由 */
|
|
15
|
-
router: boolean;
|
|
16
|
-
/** 是否包含状态管理 */
|
|
17
|
-
store: boolean;
|
|
18
|
-
/** 是否包含 ESLint 配置 */
|
|
19
|
-
eslint: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 获取所有可用模板列表
|
|
23
|
-
*/
|
|
24
|
-
export declare function getAvailableTemplates(): Record<string, string>;
|
|
25
|
-
/**
|
|
26
|
-
* 检查模板是否存在
|
|
27
|
-
*/
|
|
28
|
-
export declare function isValidTemplate(template: string): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* 获取模板信息
|
|
31
|
-
*/
|
|
32
|
-
export declare function getTemplateInfo(template: string): {
|
|
33
|
-
description: string;
|
|
34
|
-
type: string;
|
|
35
|
-
} | null;
|
|
36
|
-
/**
|
|
37
|
-
* 创建新的 Lyt 项目(增强版脚手架)
|
|
38
|
-
*
|
|
39
|
-
* @param options - 脚手架选项
|
|
40
|
-
*
|
|
41
|
-
* 生成的项目结构:
|
|
42
|
-
* ```
|
|
43
|
-
* <name>/
|
|
44
|
-
* ├── package.json
|
|
45
|
-
* ├── tsconfig.json
|
|
46
|
-
* ├── index.html
|
|
47
|
-
* ├── lytx.config.ts
|
|
48
|
-
* ├── src/
|
|
49
|
-
* │ ├── main.ts
|
|
50
|
-
* │ ├── App.lyt
|
|
51
|
-
* │ ├── pages/
|
|
52
|
-
* │ │ ├── index.ts
|
|
53
|
-
* │ │ └── about.ts
|
|
54
|
-
* │ ├── components/
|
|
55
|
-
* │ │ └── Header.ts
|
|
56
|
-
* │ ├── router/
|
|
57
|
-
* │ │ └── index.ts (if router: true)
|
|
58
|
-
* │ ├── store/
|
|
59
|
-
* │ │ └── index.ts (if store: true)
|
|
60
|
-
* │ └── styles/
|
|
61
|
-
* │ └── main.css
|
|
62
|
-
* └── public/
|
|
63
|
-
* └── favicon.svg
|
|
64
|
-
* ```
|
|
65
|
-
*/
|
|
66
|
-
export declare function createProject(options: ScaffoldOptions): Promise<void>;
|
|
67
|
-
//# sourceMappingURL=scaffold.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/scaffold.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,eAAe;AACf,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,iBAAiB,CAAC;IACjE,sBAAsB;IACtB,EAAE,EAAE,OAAO,CAAC;IACZ,aAAa;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe;IACf,KAAK,EAAE,OAAO,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AA6CD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAI9F;AA8dD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkH3E"}
|
package/dist/types/utils.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt CLI 工具函数模块
|
|
3
|
-
* 提供彩色输出、参数解析、文件操作、MIME 类型识别、日志等功能
|
|
4
|
-
* 纯 Node.js 原生实现,不依赖任何第三方包
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* 为文本添加 ANSI 颜色
|
|
8
|
-
* @param text - 要着色的文本
|
|
9
|
-
* @param color - 颜色名称(支持 black/red/green/yellow/blue/magenta/cyan/white/brightRed 等)
|
|
10
|
-
* @returns 带有 ANSI 转义码的彩色文本
|
|
11
|
-
*/
|
|
12
|
-
export declare function colorText(text: string, color: string): string;
|
|
13
|
-
/** 解析后的命令行参数结构 */
|
|
14
|
-
export interface ParsedArgs {
|
|
15
|
-
/** 命令名称(如 create、dev、build) */
|
|
16
|
-
command: string;
|
|
17
|
-
/** 命令参数(如项目名称) */
|
|
18
|
-
args: string[];
|
|
19
|
-
/** 选项键值对(如 { port: '3000', template: 'spa' }) */
|
|
20
|
-
options: Record<string, string | boolean>;
|
|
21
|
-
/** 原始 argv 数组 */
|
|
22
|
-
raw: string[];
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 解析命令行参数(纯手写实现,不依赖任何库)
|
|
26
|
-
* 支持格式:
|
|
27
|
-
* - 命令:lyt create my-app
|
|
28
|
-
* - 短选项:lyt dev -p 3000
|
|
29
|
-
* - 长选项:lyt dev --port 3000
|
|
30
|
-
* - 布尔选项:lyt build --minify
|
|
31
|
-
* - 等号选项:lyt dev --port=3000
|
|
32
|
-
*
|
|
33
|
-
* @param argv - process.argv 数组
|
|
34
|
-
* @returns 解析后的参数对象
|
|
35
|
-
*/
|
|
36
|
-
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
37
|
-
/**
|
|
38
|
-
* 确保目录存在,不存在则递归创建
|
|
39
|
-
* @param dir - 目录路径
|
|
40
|
-
*/
|
|
41
|
-
export declare function ensureDir(dir: string): void;
|
|
42
|
-
/**
|
|
43
|
-
* 检查文件或目录是否存在
|
|
44
|
-
* @param filePath - 文件路径
|
|
45
|
-
* @returns 是否存在
|
|
46
|
-
*/
|
|
47
|
-
export declare function fileExists(filePath: string): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* 读取文件内容(UTF-8 编码)
|
|
50
|
-
* @param filePath - 文件路径
|
|
51
|
-
* @returns 文件内容字符串
|
|
52
|
-
* @throws 文件不存在时抛出错误
|
|
53
|
-
*/
|
|
54
|
-
export declare function readFile(filePath: string): string;
|
|
55
|
-
/**
|
|
56
|
-
* 写入文件内容(UTF-8 编码)
|
|
57
|
-
* 如果父目录不存在会自动创建
|
|
58
|
-
* @param filePath - 文件路径
|
|
59
|
-
* @param content - 要写入的内容
|
|
60
|
-
*/
|
|
61
|
-
export declare function writeFile(filePath: string, content: string | Buffer): void;
|
|
62
|
-
/**
|
|
63
|
-
* 根据文件扩展名获取 MIME 类型
|
|
64
|
-
* 手写的 MIME 类型映射表,覆盖常见前端文件类型
|
|
65
|
-
* @param filename - 文件名
|
|
66
|
-
* @returns MIME 类型字符串,未知类型返回 application/octet-stream
|
|
67
|
-
*/
|
|
68
|
-
export declare function getMIMEType(filename: string): string;
|
|
69
|
-
/** 日志工具对象,提供 info/warn/error/success 四种级别 */
|
|
70
|
-
export declare const logger: {
|
|
71
|
-
/**
|
|
72
|
-
* 信息日志(蓝色)
|
|
73
|
-
* @param msg - 日志消息
|
|
74
|
-
*/
|
|
75
|
-
info(msg: string): void;
|
|
76
|
-
/**
|
|
77
|
-
* 警告日志(黄色)
|
|
78
|
-
* @param msg - 日志消息
|
|
79
|
-
*/
|
|
80
|
-
warn(msg: string): void;
|
|
81
|
-
/**
|
|
82
|
-
* 错误日志(红色)
|
|
83
|
-
* @param msg - 日志消息
|
|
84
|
-
*/
|
|
85
|
-
error(msg: string): void;
|
|
86
|
-
/**
|
|
87
|
-
* 成功日志(绿色)
|
|
88
|
-
* @param msg - 日志消息
|
|
89
|
-
*/
|
|
90
|
-
success(msg: string): void;
|
|
91
|
-
};
|
|
92
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoDH;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7D;AAMD,kBAAkB;AAClB,MAAM,WAAW,UAAU;IACzB,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAC1C,iBAAiB;IACjB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoEpD;AAMD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS1E;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwDpD;AAMD,6CAA6C;AAC7C,eAAO,MAAM,MAAM;IACjB;;;OAGG;cACO,MAAM,GAAG,IAAI;IAIvB;;;OAGG;cACO,MAAM,GAAG,IAAI;IAIvB;;;OAGG;eACQ,MAAM,GAAG,IAAI;IAIxB;;;OAGG;iBACU,MAAM,GAAG,IAAI;CAG3B,CAAC"}
|