in src/core/utils/cli.ts [83:105]
export function createStartupScriptCommand(startupScript: string, options: SWACLIConfig) {
if (startupScript.includes(":")) {
const [npmOrYarnBin, ...npmOrYarnScript] = startupScript.split(":");
if (["npm", "yarn"].includes(npmOrYarnBin)) {
return `${npmOrYarnBin} run ${npmOrYarnScript.join(":")} --if-present`;
} else if (["npx"].includes(npmOrYarnBin)) {
return `${npmOrYarnBin} ${npmOrYarnScript.join(":")}`;
} else if (npmOrYarnBin.startsWith("npm run") && npmOrYarnScript.length === 1) {
return `${npmOrYarnBin}:${npmOrYarnScript} --if-present`;
}
} else {
if (!path.isAbsolute(startupScript)) {
const { appLocation } = options;
const cwd = appLocation || process.cwd();
const absoluteStartupScript = path.resolve(cwd, startupScript);
if (fs.existsSync(absoluteStartupScript)) {
startupScript = absoluteStartupScript;
}
}
return startupScript;
}
return null;
}