🎨 CLI is more user-friendly.

This commit is contained in:
Tw93
2023-06-23 16:51:18 +08:00
parent 6a4bb69631
commit 0431bc7c12
10 changed files with 402 additions and 376 deletions

View File

@@ -2,21 +2,22 @@ import BaseBuilder from './BaseBuilder';
import MacBuilder from './MacBuilder';
import WinBuilder from './WinBuilder';
import LinuxBuilder from './LinuxBuilder';
import { PakeAppOptions } from '@/types';
const { platform } = process;
const buildersMap: Record<string, new () => BaseBuilder> = {
const buildersMap: Record<string, new (options: PakeAppOptions) => BaseBuilder> = {
darwin: MacBuilder,
win32: WinBuilder,
linux: LinuxBuilder,
};
export default class BuilderProvider {
static create(): BaseBuilder {
static create(options: PakeAppOptions): BaseBuilder {
const Builder = buildersMap[platform];
if (!Builder) {
throw new Error('The current system is not supported!');
}
return new Builder();
return new Builder(options);
}
}