INNER CODE UNIT · TypeScript
run
akirarika/milkio · packages/cookbook/src/index.ts:239
export async function run(params: Params, options: { path?: string; script?: () => Promise<any>; description?: "npm-script" | "built-in"; pkgMgr?: string }) {
let packageManager: any;
if (options.description === "npm-script") {
if (!options.pkgMgr) {
const config: any = Bun.TOML.parse(await Bun.file(join(cwd(), "cookbook.toml")).text());
if (!config.general.packageManager) {
consola.error('You need to specify which package manager to use to run this command, modify your cookbook.toml file, and [general] bar to packageManager = "npm" or any custom package manager you like.');
exit(1);
}
packageManager = config.general.packageManager;
} else {
packageManager = options.pkgMgr;
}
try {
if (packageManager === "bun") {
await execScriptOrFail(`bun run ${[options.path!, ...params.raw].join(" ")}`, { cwd: cwd() });
} else if (packageManager === "npm") {