🎨 Optimize the use of CLI.

This commit is contained in:
Tw93
2023-06-22 20:56:15 +08:00
parent 22e3efea49
commit e1cd40277f
9 changed files with 79 additions and 49 deletions

View File

@@ -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();
}
}