Skip to content

Commit d87febf

Browse files
committed
feat: 重新丰富命令行提示
1 parent 828c272 commit d87febf

File tree

2 files changed

+89
-18
lines changed

2 files changed

+89
-18
lines changed

packages/subsets/src/interface.ts

+87-18
Original file line numberDiff line numberDiff line change
@@ -31,20 +31,47 @@ export type InputTemplate = {
3131
FontPath: string | Buffer | Uint8Array;
3232
/** 切割后放置文件的文件夹,如果没有文件系统,调用 outputFile 参数 */
3333
destFold: string;
34-
/** 替换生成后的 CSS 文件的信息 */
34+
/**
35+
* 可选的CSS属性配置,用于自定义字体的样式和行为。
36+
*/
3537
css?: Partial<{
38+
/**
39+
* 定义字体的家族名称,这将影响文本的显示风格。
40+
* @default 自动解析
41+
*/
3642
fontFamily: string;
43+
/**
44+
* 定义字体的重量,可以是数字、字符串或false。数字范围通常为100到900,字符串可以是预定义的值,如'normal'、'bold'。
45+
* @default 自动解析
46+
*/
3747
fontWeight: number | string | false;
48+
/**
49+
* 定义字体的风格,如'normal'、'italic'等。
50+
* @default 自动解析
51+
*/
3852
fontStyle: string;
53+
/**
54+
* 定义字体的显示方式,用于控制字体在加载过程中的行为。
55+
* @default swag
56+
*/
3957
fontDisplay: string;
58+
/**
59+
* 定义字体的本地名称,如果浏览器支持该字体,则会优先使用本地安装的字体。
60+
* @default 同 fontFamily
61+
*/
4062
/** 本地字体名称,优先级高于自动生成名称 */
4163
localFamily: string | string[] | false;
42-
/** 当 fontFamily 不支持一些 format 时,动用其它 format */
64+
/** 当 fontFamily 不支持一些 format 时,动用其它 format
65+
* @dev
66+
*/
4367
polyfill: ({ name: string; format?: string } | string)[];
68+
/**
69+
* 控制 css 字体相关的注释内容,用于调试和优化。
70+
*/
4471
comment:
4572
| {
4673
/**
47-
* cn-font-split 相关的数据
74+
* 基本的构建信息
4875
* @default true
4976
*/
5077
base?: false;
@@ -54,15 +81,21 @@ export type InputTemplate = {
5481
*/
5582
nameTable?: false;
5683
/**
57-
* 显示每个字体包含有的 unicode range 的字符, debug 专用
84+
* 显示每个字体包含有的 unicode range 的字符, debug
5885
* @default false
5986
*/
6087
unicodes?: true;
6188
}
6289
| false;
90+
/**
91+
* 控制是否对 CSS 文件进行压缩,以减小文件大小。
92+
* @default true
93+
*/
6394
compress: boolean;
6495
}>;
65-
/** 输出的字体类型,默认 woff2 */
96+
/** 输出的字体类型,
97+
* @default woff2
98+
*/
6699
targetType?: FontType;
67100

68101
/**
@@ -74,37 +107,70 @@ export type InputTemplate = {
74107
autoChunk?: boolean;
75108
/* 自动分包时使用,优先分包这些字符 */
76109
unicodeRank?: number[][];
77-
/** 配合 autoChunk 使用,预计每个包的大小,插件会尽量打包到这个大小 */
110+
/** 配合 autoChunk 使用,预计每个包的大小,插件会尽量打包到这个大小
111+
* @default 71680 (70 * 1024)
112+
*/
78113
chunkSize?: number;
79-
/** 分包字符的容忍度,这个数值是基础值的倍数 */
114+
/**
115+
* 分包字符的容忍度,这个数值是基础值的倍数
116+
* @default 1.7
117+
*/
80118
chunkSizeTolerance?: number;
81-
/** 最大允许的分包数目,超过这个数目,程序报错退出 */
119+
/**
120+
* 最大允许的分包输出字体文件数目,超过这个数目,程序报错退出
121+
* @default 600
122+
*/
82123
maxAllowSubsetsCount?: number;
83-
/** 输出的 css 文件的名称 ,默认为 result.css */
124+
/**
125+
* 输出的 css 文件的名称
126+
* @default result.css
127+
*/
84128
cssFileName?: string;
85129

86-
/** 是否输出 HTML 测试文件 */
130+
/** 是否输出 HTML 测试文件
131+
* @default: true
132+
*/
87133
testHTML?: boolean;
88-
/** 是否输出报告文件 */
134+
/** 是否输出报告文件
135+
* @default true
136+
*/
89137
reporter?: boolean;
90-
/** 是否输出预览图 */
138+
/**
139+
* 是否输出预览图
140+
*/
91141
previewImage?: {
92-
/** 图中需要显示的文本 */
142+
/**
143+
* 图中需要显示的文本
144+
* @default 中文网字计划\nThe Project For Web
145+
*/
93146
text?: string;
94-
/** 预览图的文件名,不用带后缀名 */
147+
/**
148+
* 预览图的文件名,不用带后缀名
149+
* @default preview.svg
150+
*/
95151
name?: string;
96152
};
97153
/**
98154
* 日志输出<副作用>
99155
*/
100156
log?: (...args: any[]) => void;
101157

158+
/**
159+
* tslog 的日志配置
160+
* @debugger
161+
*/
102162
logger?: {
103163
settings?: ISettingsParam<unknown>;
104164
};
105-
/** 自定义输出字体名称,优先于 outputFile,用于缩短字体文件名称 */
165+
/**
166+
* 重命名字体名称, 可以使用 webpack 的重命名字符串
167+
* @default [hash][ext]
168+
*/
106169
renameOutputFont?: string | ((replaceProps: ReplaceProps) => string);
107-
/** 输出文件的方式,如果你需要在特定的平台使用,那么需要适配这个函数 */
170+
/**
171+
* 输出文件的函数,
172+
* @description 如果你需要在特定的平台使用,那么需要适配这个函数
173+
*/
108174
outputFile?: IOutputFile;
109175
threads?:
110176
| {
@@ -113,15 +179,18 @@ export type InputTemplate = {
113179
* @protected
114180
*/
115181
service?: ConvertManager;
116-
/* 是否进行多线程切割 */
182+
/*
183+
* 是否进行多线程切割
184+
* @default true
185+
*/
117186
split?: boolean;
118187
/* workerpool 允许的配置项 */
119188
options?: WorkerPoolOptions;
120189
}
121190
| false;
122191
/**
123192
* 字体复杂字形等特性的支持
124-
* @todo
193+
* @dev
125194
*/
126195
fontFeature?: boolean;
127196
};

packages/subsets/test/node.test.mjs

+2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ fontSplit({
1616
// subsets: JSON.parse(await fs.readFile("./subsets/misans.json", "utf-8")),
1717
previewImage: {},
1818
chunkSize: 70 * 1024,
19+
testHTML: false,
20+
reporter: false,
1921
css: {
2022
// fontWeight: false
2123
// localFamily: false,

0 commit comments

Comments
 (0)