create-bhvr
Version:
Create a new bhvr project
28 lines (27 loc) • 1.12 kB
JavaScript
import { initializeGit } from "./initialize-git";
import { installDependencies } from "./install-dependencies";
import { promptForOptions } from "./prompt-for-options";
import { scaffoldTemplate } from "./scaffold-template";
import { installPackages } from "./install-packages";
export async function createProject(projectDirectory, options) {
const projectOptions = await promptForOptions({
...options,
projectName: projectDirectory,
});
if (!projectOptions) {
return null;
}
const scaffolded = await scaffoldTemplate(projectOptions);
if (!scaffolded) {
return null;
}
await installPackages(projectOptions);
const gitInitialized = await initializeGit(projectOptions.projectName ?? projectDirectory, projectOptions.yes);
const dependenciesInstalled = await installDependencies(projectOptions.projectName ?? projectDirectory, projectOptions.yes);
return {
projectName: projectOptions.projectName ?? projectDirectory,
gitInitialized,
dependenciesInstalled,
template: projectOptions.template ?? "default",
};
}