🎨 CLI is more user-friendly.
This commit is contained in:
7
bin/builders/BuilderProvider.ts
vendored
7
bin/builders/BuilderProvider.ts
vendored
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user