Skip to content

Commit eed1b4b

Browse files
committed
refactor: extract function 'copyStarter' and improve function name
1 parent df4ac2a commit eed1b4b

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

src/main.ts

+27-23
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const __dirname = dirname(__filename);
1414

1515
const logger = new Logger();
1616
logger.time("create-hexo");
17+
1718
const STARTER = "hexo-starter";
1819
const STARTER_DIR = pathResolve(__dirname, `../${STARTER}/`);
1920
const RM_FILES = [".git", ".github"];
@@ -40,32 +41,16 @@ let initOptions: InitOptions = {
4041
const main = async () => {
4142
[packageJson, starterVersion] = await pre();
4243

43-
init();
44+
parseArgs();
4445

45-
checkInfo();
46+
printInfo();
4647

4748
initOptions.force
4849
? logger.warn("Running in force mode. It's dangerous!")
4950
: await checkPath(initOptions.sitePath);
5051

5152
logger.group(`Copying \`${STARTER}\``);
52-
const [voidd, pm] = await Promise.all([
53-
cp(STARTER_DIR, initOptions.blogPath, {
54-
force: initOptions.force,
55-
recursive: true,
56-
})
57-
.then(() => {
58-
logger.log(`Copied \`${STARTER}\` to "${initOptions.blogPath}"`);
59-
})
60-
.catch((err) => {
61-
logger.error("Copy failed: ", err);
62-
process.exit(1);
63-
})
64-
.finally(() => {
65-
logger.groupEnd();
66-
}),
67-
checkPackageManager(),
68-
]);
53+
const [_, pm] = await Promise.all([copyStarter(), checkPackageManager()]);
6954
logger.groupEnd();
7055

7156
logger.group(`Installing packages via \`${pm}\``);
@@ -98,7 +83,8 @@ const pre = () => {
9883
logger.groupEnd();
9984
return Promise.all([packageJson, starterVersion]);
10085
};
101-
const init = () => {
86+
87+
const parseArgs = () => {
10288
const program = new Command(packageJson.name)
10389
.argument("[site_directory]", "the folder that you want to load Hexo")
10490
.usage(`[site_directory]`)
@@ -141,7 +127,7 @@ const printUsage = () => {
141127
logger.groupEnd();
142128
};
143129

144-
const checkInfo = () => {
130+
const printInfo = () => {
145131
logger.group("Env Info");
146132
logger.log("runtime path: ", process.argv[0]);
147133
logger.log("runtime version: ", process.versions.node);
@@ -153,6 +139,23 @@ const checkInfo = () => {
153139
logger.groupEnd();
154140
};
155141

142+
const copyStarter = () => {
143+
return cp(STARTER_DIR, initOptions.sitePath, {
144+
force: initOptions.force,
145+
recursive: true,
146+
})
147+
.then(() => {
148+
logger.log(`Copied \`${STARTER}\` to "${initOptions.sitePath}"`);
149+
})
150+
.catch((err) => {
151+
logger.error("Copy failed: ", err);
152+
process.exit(1);
153+
})
154+
.finally(() => {
155+
logger.groupEnd();
156+
});
157+
};
158+
156159
const checkPath = (path: string) => {
157160
return readdir(path)
158161
.then((files) => {
@@ -226,7 +229,7 @@ const installPackage = (pm: string) => {
226229
};
227230

228231
const post = () => {
229-
const ls: any[] = [];
232+
const ls: Array<Promise<unknown>> = [];
230233

231234
RM_FILES.forEach((item) => {
232235
ls.push(
@@ -265,8 +268,9 @@ const post = () => {
265268

266269
return Promise.all(ls);
267270
};
271+
268272
const end = async () => {
269-
logger.group("Finshed!");
273+
logger.group("Finished!");
270274
logger.info("Enjoy yourself!", "\n");
271275
logger.groupEnd();
272276
logger.timeEnd("create-hexo");

0 commit comments

Comments
 (0)