export function createStartupScriptCommand()

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;
}