(startupScript: string, options: SWACLIConfig)
| 81 | * @returns |
| 82 | */ |
| 83 | export function createStartupScriptCommand(startupScript: string, options: SWACLIConfig) { |
| 84 | if (startupScript.includes(":")) { |
| 85 | const [npmOrYarnBin, ...npmOrYarnScript] = startupScript.split(":"); |
| 86 | if (["npm", "yarn"].includes(npmOrYarnBin)) { |
| 87 | return `${npmOrYarnBin} run ${npmOrYarnScript.join(":")} --if-present`; |
| 88 | } else if (["npx"].includes(npmOrYarnBin)) { |
| 89 | return `${npmOrYarnBin} ${npmOrYarnScript.join(":")}`; |
| 90 | } else if (npmOrYarnBin.startsWith("npm run") && npmOrYarnScript.length === 1) { |
| 91 | return `${npmOrYarnBin}:${npmOrYarnScript} --if-present`; |
| 92 | } |
| 93 | } else { |
| 94 | if (!path.isAbsolute(startupScript)) { |
| 95 | const { appLocation } = options; |
| 96 | const cwd = appLocation || process.cwd(); |
| 97 | const absoluteStartupScript = path.resolve(cwd, startupScript); |
| 98 | if (fs.existsSync(absoluteStartupScript)) { |
| 99 | startupScript = absoluteStartupScript; |
| 100 | } |
| 101 | } |
| 102 | return startupScript; |
| 103 | } |
| 104 | return null; |
| 105 | } |
| 106 | |
| 107 | /** |
| 108 | * Parses the string devserver-timeout and returns an integer |
no outgoing calls
no test coverage detected
searching dependent graphs…