🎨 Optimize the use of CLI.
This commit is contained in:
3
bin/builders/BaseBuilder.ts
vendored
3
bin/builders/BaseBuilder.ts
vendored
@@ -1,3 +1,4 @@
|
||||
import ora from "ora";
|
||||
import path from 'path';
|
||||
import fsExtra from "fs-extra";
|
||||
import prompts from 'prompts';
|
||||
@@ -39,6 +40,8 @@ export default abstract class BaseBuilder {
|
||||
}
|
||||
|
||||
protected async runBuildCommand(directory: string, command: string) {
|
||||
const spinner = ora('Building...').start();
|
||||
setTimeout(() => spinner.succeed(), 5000);
|
||||
const isChina = await isChinaDomain("www.npmjs.com");
|
||||
if (isChina) {
|
||||
logger.info("Located in China, using npm/Rust CN mirror.");
|
||||
|
||||
21
bin/builders/BuilderProvider.ts
vendored
21
bin/builders/BuilderProvider.ts
vendored
@@ -3,19 +3,20 @@ import MacBuilder from './MacBuilder';
|
||||
import WinBuilder from './WinBuilder';
|
||||
import LinuxBuilder from './LinuxBuilder';
|
||||
|
||||
import { IS_MAC, IS_WIN, IS_LINUX } from '@/utils/platform';
|
||||
const { platform } = process;
|
||||
|
||||
const buildersMap: Record<string, new () => BaseBuilder> = {
|
||||
darwin: MacBuilder,
|
||||
win32: WinBuilder,
|
||||
linux: LinuxBuilder,
|
||||
};
|
||||
|
||||
export default class BuilderProvider {
|
||||
static create(): BaseBuilder {
|
||||
if (IS_MAC) {
|
||||
return new MacBuilder();
|
||||
const Builder = buildersMap[platform];
|
||||
if (!Builder) {
|
||||
throw new Error('The current system is not supported!');
|
||||
}
|
||||
if (IS_WIN) {
|
||||
return new WinBuilder();
|
||||
}
|
||||
if (IS_LINUX) {
|
||||
return new LinuxBuilder();
|
||||
}
|
||||
throw new Error('The current system is not supported!');
|
||||
return new Builder();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user