Skip to content

Commit

Permalink
fix(cli): improve generate metadata lock for new scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenfiszel committed May 1, 2024
1 parent 2b34730 commit 54acc22
Showing 1 changed file with 19 additions and 16 deletions.
35 changes: 19 additions & 16 deletions cli/metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,22 @@ function argSigToJsonSchemaType(
// end of refactoring TODO //
////////////////////////////////////////////////////////////////////////////////////////////

export async function replaceLock(o?: { lock?: string | string[] }) {
if (Array.isArray(o?.lock)) {
o.lock = o.lock.join("\n");
}
if (o?.lock?.startsWith("!inline ")) {
try {
const lockPath = o?.lock?.split(" ")[1];
o.lock = await Deno.readTextFile(lockPath);
} catch (e) {
log.info(
colors.yellow(`Failed to read lockfile, doing as if it was empty: ${e}`)
);
o.lock = "";
}
}
}
export async function parseMetadataFile(
scriptPath: string,
generateMetadataIfMissing:
Expand All @@ -458,22 +474,8 @@ export async function parseMetadataFile(
metadataFilePath = scriptPath + ".script.yaml";
await Deno.stat(metadataFilePath);
const payload: any = yamlParse(await Deno.readTextFile(metadataFilePath));
if (payload?.["lock"].startsWith("!inline ")) {
try {
const lockPath = payload["lock"].split(" ")[1];
payload["lock"] = await Deno.readTextFile(lockPath);
} catch (e) {
log.info(
colors.yellow(
`Failed to read lockfile, doing as if it was empty: ${e}`
)
);
payload["lock"] = "";
}
}
if (Array.isArray(payload?.["lock"])) {
payload["lock"] = payload["lock"].join("\n");
}
replaceLock(payload);

return {
path: metadataFilePath,
payload,
Expand Down Expand Up @@ -511,6 +513,7 @@ export async function parseMetadataFile(
scriptInitialMetadata = yamlParse(
await Deno.readTextFile(metadataFilePath)
) as ScriptMetadata;
replaceLock(scriptInitialMetadata);
} catch (e) {
log.info(
colors.yellow(
Expand Down

0 comments on commit 54acc22

Please sign in to comment.