@doracli/helper 0.0.1
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/LICENSE +21 -0
- package/README.md +7 -0
- package/lib/cjs/index.js +1217 -0
- package/lib/esm/index.js +1181 -0
- package/lib/type/index.d.ts +246 -0
- package/package.json +44 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import * as _doracli_type from '@doracli/type';
|
|
2
|
+
import { TTsConfig, TDoraConfig, TCdnConfigDefine, TPackageConfig, TDoraConfigDefine, TMode, TCdn, TModule } from '@doracli/type';
|
|
3
|
+
import * as _cclr_lang from '@cclr/lang';
|
|
4
|
+
import { TPlainObject, PartialRecursive } from '@cclr/lang';
|
|
5
|
+
import * as _doracli_type_src_dora_config_service from '@doracli/type/src/dora-config-service';
|
|
6
|
+
import * as _doracli_type_src_dora_config_mocks from '@doracli/type/src/dora-config-mocks';
|
|
7
|
+
import * as _doracli_type_src_dora_config_esbuild from '@doracli/type/src/dora-config-esbuild';
|
|
8
|
+
export { default as picocolors } from 'picocolors';
|
|
9
|
+
|
|
10
|
+
declare class ConfigCtx {
|
|
11
|
+
private tsConfig;
|
|
12
|
+
private doraConfig;
|
|
13
|
+
private packageConfig;
|
|
14
|
+
private cdnConfig;
|
|
15
|
+
private cmd;
|
|
16
|
+
private workRoot;
|
|
17
|
+
setCmd(cmd: TPlainObject): void;
|
|
18
|
+
getCmd(): TPlainObject;
|
|
19
|
+
setWorkRoot(root: string): void;
|
|
20
|
+
getWorkRoot(): string;
|
|
21
|
+
setTsConfig(config: TTsConfig): void;
|
|
22
|
+
getTsConfig(): TTsConfig;
|
|
23
|
+
setDoraConfig(config: TDoraConfig): void;
|
|
24
|
+
getDoraConfig(): TDoraConfig;
|
|
25
|
+
setCdnConfig(config: TCdnConfigDefine): void;
|
|
26
|
+
getCdnConfig(): Partial<Record<"headAfterScript" | "headAfterStyle" | "bodyBeforeScript" | "bodyAfterScript", ((mode: _doracli_type.TMode) => string[]) | string[]>>;
|
|
27
|
+
setPackageConfig(config: TPackageConfig): void;
|
|
28
|
+
getPackageConfig(): TPackageConfig;
|
|
29
|
+
copy(): ConfigCtx;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare enum EnvEnum {
|
|
33
|
+
dev = "development",
|
|
34
|
+
prod = "production"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 在制定目录下插入 tsconfig.json 文件
|
|
39
|
+
* @param cwd
|
|
40
|
+
*/
|
|
41
|
+
declare const insertTsconfig: (cwd?: string) => Promise<void>;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @param mode 模式
|
|
45
|
+
* @param status 状态
|
|
46
|
+
* @param msg 消息
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
declare const cLogMessage: (mode: string, status: string, ...msg: string[]) => void;
|
|
50
|
+
declare const cLogError: (mode: string, status: string, ...msg: string[]) => void;
|
|
51
|
+
declare const cLogWarn: (mode: "serve" | "build" | string, status: string, ...msg: string[]) => void;
|
|
52
|
+
declare const cLogSuccess: (mode: string, status: string, ...msg: string[]) => void;
|
|
53
|
+
declare const cLogTime: (key?: string) => () => void;
|
|
54
|
+
declare const cLogTimeEnd: (key: string) => void;
|
|
55
|
+
declare const cLog: {
|
|
56
|
+
log: (mode: string, status: string, ...msg: string[]) => void;
|
|
57
|
+
error: (mode: string, status: string, ...msg: string[]) => void;
|
|
58
|
+
warn: (mode: "serve" | "build" | string, status: string, ...msg: string[]) => void;
|
|
59
|
+
info: (mode: string, status: string, ...msg: string[]) => void;
|
|
60
|
+
time: (key?: string) => () => void;
|
|
61
|
+
timeEnd: (key: string) => void;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
declare const getDoracliConfig: (root: string) => Promise<TDoraConfigDefine | null>;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 获取json文件
|
|
68
|
+
* @param root
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
declare const getPackageJson: (root?: string) => Promise<any>;
|
|
72
|
+
|
|
73
|
+
declare const getTsconfigJson: (root: string) => Promise<any>;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 获取cdn文件配置
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
declare function getUserCdn(root: string): Promise<TCdnConfigDefine | null>;
|
|
80
|
+
|
|
81
|
+
declare const mergeDoraCliConfig: <T extends PartialRecursive<TDoraConfig>>(target: T, source?: T) => Omit<T, "output"> & {
|
|
82
|
+
output: {
|
|
83
|
+
file?: string;
|
|
84
|
+
path?: string | undefined;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* 合并多个配置项
|
|
89
|
+
* @param target 配置项,可多个,后面的配置项会覆盖前面的配置项
|
|
90
|
+
* @returns
|
|
91
|
+
*/
|
|
92
|
+
declare const mergeDoraCliConfigMutiple: <T extends PartialRecursive<TDoraConfig>>(...target: T[]) => T;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 获取cdn文件配置
|
|
96
|
+
* @param workRootDir
|
|
97
|
+
* @param mode
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
declare function parseCdnConfig(cdnConfig: TCdnConfigDefine | null, mode: TMode): TCdn | undefined;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* 解析doracli配置
|
|
104
|
+
* @param workRootDir
|
|
105
|
+
* @param mode
|
|
106
|
+
* @returns
|
|
107
|
+
*/
|
|
108
|
+
declare const parseDoracliConfig: (userConfig: TDoraConfigDefine | null, mode: TMode) => Promise<PartialRecursive<TDoraConfig> | null>;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 配置项多任务拆分
|
|
112
|
+
* @param config 配置项
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
declare const splitDoraCliConfig: (config: TDoraConfig) => PartialRecursive<TDoraConfig>[] | {
|
|
116
|
+
input: string;
|
|
117
|
+
output: _doracli_type.TOutput;
|
|
118
|
+
formatList: _doracli_type.TModule[];
|
|
119
|
+
format: _doracli_type.TModule;
|
|
120
|
+
clear: boolean;
|
|
121
|
+
minimize: boolean;
|
|
122
|
+
externals: string[];
|
|
123
|
+
internals: string[];
|
|
124
|
+
alias: Record<string, string>;
|
|
125
|
+
dts: {
|
|
126
|
+
input?: string;
|
|
127
|
+
output?: string;
|
|
128
|
+
} | false;
|
|
129
|
+
copy: {
|
|
130
|
+
src: string;
|
|
131
|
+
dest: string;
|
|
132
|
+
}[];
|
|
133
|
+
webpackConfig?: _doracli_type.TDoraConfigWebpack;
|
|
134
|
+
rollupConfig?: _doracli_type.TDoraConfigRollup;
|
|
135
|
+
esbuildConfig?: _doracli_type_src_dora_config_esbuild.TDoraConfigEsbuild;
|
|
136
|
+
mocksConfig?: _doracli_type_src_dora_config_mocks.TDoraConfigMocks;
|
|
137
|
+
serviceConfig?: _doracli_type_src_dora_config_service.TDoraConfigService;
|
|
138
|
+
}[];
|
|
139
|
+
|
|
140
|
+
declare const wholeDoraConfig: (config: PartialRecursive<TDoraConfig>, workRootDir?: string) => TDoraConfig;
|
|
141
|
+
|
|
142
|
+
declare const inputFileDirList: string[];
|
|
143
|
+
declare const inputFileTypeList: string[];
|
|
144
|
+
declare const findInput: (workRootDir: string) => string;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* 获取tsconfig.json里的paths,作为项目路径别名
|
|
148
|
+
* @param tsConfig
|
|
149
|
+
* @returns
|
|
150
|
+
*/
|
|
151
|
+
declare const getTsPathAlias: (tsConfig: TTsConfig) => Record<string, string>;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* 收集用户配置
|
|
155
|
+
* @param configCtx ConfigCtx
|
|
156
|
+
* @param mode 开发 or 生产
|
|
157
|
+
* @param presetConfig 预设配置
|
|
158
|
+
*/
|
|
159
|
+
declare const collectConfig: (configCtx: ConfigCtx, mode: TMode, presetConfig?: {
|
|
160
|
+
doraConfig?: PartialRecursive<TDoraConfig>;
|
|
161
|
+
}) => Promise<void>;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* 获取cdn文件配置
|
|
165
|
+
* @returns
|
|
166
|
+
*/
|
|
167
|
+
declare function resolveCdnConfig(workRootDir: string, mode: TMode): Promise<{} | undefined>;
|
|
168
|
+
|
|
169
|
+
declare const resolveDoraConfig: (workRootDir: string, mode: TMode) => Promise<_cclr_lang.PartialRecursive<_doracli_type.TDoraConfig> | null>;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* 获取json文件
|
|
173
|
+
* @param root
|
|
174
|
+
* @returns
|
|
175
|
+
*/
|
|
176
|
+
declare const resolvePackageJson: (workRootDir: string) => Promise<any>;
|
|
177
|
+
|
|
178
|
+
declare const resolveTsconfigJson: (workRootDir: string) => Promise<any>;
|
|
179
|
+
|
|
180
|
+
type TCollectType = {
|
|
181
|
+
doraConfig: TDoraConfigDefine | null;
|
|
182
|
+
packageConfig: TPackageConfig | null;
|
|
183
|
+
tsconfigConfig: TTsConfig | null;
|
|
184
|
+
cdnConfig: TCdnConfigDefine | null;
|
|
185
|
+
};
|
|
186
|
+
declare const collectConfigs: (workDir: string, need?: {
|
|
187
|
+
doraConfig?: boolean;
|
|
188
|
+
packageConfig?: boolean;
|
|
189
|
+
tsconfigConfig?: boolean;
|
|
190
|
+
cdnConfig?: boolean;
|
|
191
|
+
}) => Promise<TCollectType>;
|
|
192
|
+
|
|
193
|
+
type TParseConfigResult = {
|
|
194
|
+
doraConfig: TDoraConfig;
|
|
195
|
+
packageConfig: TPackageConfig;
|
|
196
|
+
tsConfig: TTsConfig;
|
|
197
|
+
cdnConfig: TCdn;
|
|
198
|
+
};
|
|
199
|
+
declare const parsetConfig: (config: TCollectType, mode: TMode) => Promise<TParseConfigResult>;
|
|
200
|
+
|
|
201
|
+
declare const configCtxCollect: (configCtx: ConfigCtx, params: {
|
|
202
|
+
workRootDir?: string;
|
|
203
|
+
cmd?: TPlainObject;
|
|
204
|
+
} & TParseConfigResult) => Promise<void>;
|
|
205
|
+
|
|
206
|
+
declare const createEnvParams: <T extends TPlainObject>(params: T) => T;
|
|
207
|
+
|
|
208
|
+
type TOutputSingle = {
|
|
209
|
+
/** 输入地址 */
|
|
210
|
+
input: string;
|
|
211
|
+
/** 输出文件路径 */
|
|
212
|
+
outputFile: string;
|
|
213
|
+
/** 输出文件路径 */
|
|
214
|
+
outputPath: string;
|
|
215
|
+
/** 格式化 */
|
|
216
|
+
format: TModule;
|
|
217
|
+
};
|
|
218
|
+
declare const createOutputList: (config: TDoraConfig) => TOutputSingle[];
|
|
219
|
+
|
|
220
|
+
declare const splitDoraConfig: (config: TDoraConfig) => {
|
|
221
|
+
input: string;
|
|
222
|
+
output: _doracli_type.TOutput;
|
|
223
|
+
formatList: _doracli_type.TModule[];
|
|
224
|
+
format: _doracli_type.TModule;
|
|
225
|
+
clear: boolean;
|
|
226
|
+
minimize: boolean;
|
|
227
|
+
externals: string[];
|
|
228
|
+
internals: string[];
|
|
229
|
+
alias: Record<string, string>;
|
|
230
|
+
dts: {
|
|
231
|
+
input?: string;
|
|
232
|
+
output?: string;
|
|
233
|
+
} | false;
|
|
234
|
+
copy: {
|
|
235
|
+
src: string;
|
|
236
|
+
dest: string;
|
|
237
|
+
}[];
|
|
238
|
+
webpackConfig?: _doracli_type.TDoraConfigWebpack;
|
|
239
|
+
rollupConfig?: _doracli_type.TDoraConfigRollup;
|
|
240
|
+
esbuildConfig?: _doracli_type_src_dora_config_esbuild.TDoraConfigEsbuild;
|
|
241
|
+
mocksConfig?: _doracli_type_src_dora_config_mocks.TDoraConfigMocks;
|
|
242
|
+
serviceConfig?: _doracli_type_src_dora_config_service.TDoraConfigService;
|
|
243
|
+
}[] | PartialRecursive<TDoraConfig>[];
|
|
244
|
+
|
|
245
|
+
export { ConfigCtx, EnvEnum, cLog, cLogError, cLogMessage, cLogSuccess, cLogTime, cLogTimeEnd, cLogWarn, collectConfig, collectConfigs, configCtxCollect, createEnvParams, createOutputList, findInput, getDoracliConfig, getPackageJson, getTsPathAlias, getTsconfigJson, getUserCdn, inputFileDirList, inputFileTypeList, insertTsconfig, mergeDoraCliConfig, mergeDoraCliConfigMutiple, parseCdnConfig, parseDoracliConfig, parsetConfig, resolveCdnConfig, resolveDoraConfig, resolvePackageJson, resolveTsconfigJson, splitDoraCliConfig, splitDoraConfig, wholeDoraConfig };
|
|
246
|
+
export type { TCollectType, TOutputSingle, TParseConfigResult };
|
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@doracli/helper",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "use helper",
|
|
5
|
+
"author": "cclr <18843152354@163.com>",
|
|
6
|
+
"homepage": "",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"exports": {
|
|
10
|
+
"import": "./lib/esm/index.js",
|
|
11
|
+
"require": "./lib/cjs/index.js"
|
|
12
|
+
},
|
|
13
|
+
"types": "lib/type/index.d.ts",
|
|
14
|
+
"directories": {
|
|
15
|
+
"lib": "lib"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"lib",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public",
|
|
23
|
+
"registry": "https://registry.npmjs.org/"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "vitest",
|
|
27
|
+
"g:test": "vitest run",
|
|
28
|
+
"build": "drn build",
|
|
29
|
+
"g:build": "drn build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@cclr/lang": "^0.1.28",
|
|
33
|
+
"@cclr/utils": "^0.1.28",
|
|
34
|
+
"@dorabag/config-loader": "^1.0.10",
|
|
35
|
+
"@dorabag/file-pro": "^1.0.10",
|
|
36
|
+
"@dorabag/open-browser": "^1.0.10",
|
|
37
|
+
"@dorabag/srv-tool": "^1.0.10",
|
|
38
|
+
"@doracli/type": "^0.0.1",
|
|
39
|
+
"picocolors": "^1.1.1",
|
|
40
|
+
"webpack": "^5.102.1",
|
|
41
|
+
"webpack-dev-server": "^5.2.2"
|
|
42
|
+
},
|
|
43
|
+
"gitHead": "40ab496f25042487a671979074515f3345c96453"
|
|
44
|
+
}
|