From 2cb214f54e2c3af2280e8095afd2e429f7a8134e Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Wed, 29 Oct 2025 08:04:02 +0000 Subject: [PATCH] cli nits --- cli/src/commands/dev/dev.ts | 3 -- cli/src/commands/script/script.ts | 4 +-- cli/src/utils/metadata.ts | 46 +++++++++++++++++-------------- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/cli/src/commands/dev/dev.ts b/cli/src/commands/dev/dev.ts index 58d8d03b33..8eede6c359 100644 --- a/cli/src/commands/dev/dev.ts +++ b/cli/src/commands/dev/dev.ts @@ -97,13 +97,10 @@ async function dev(opts: GlobalOptions & SyncOptions) { const splitted = cpath.split("."); const wmPath = splitted[0]; const lang = inferContentTypeFromFilePath(cpath, conf.defaultTs); - const globalDeps = await findGlobalDeps(); const typed = (await parseMetadataFile( removeExtensionToPath(cpath), undefined, - globalDeps, - [] ) )?.payload diff --git a/cli/src/commands/script/script.ts b/cli/src/commands/script/script.ts index a0cf9d9fbb..3903be6f71 100644 --- a/cli/src/commands/script/script.ts +++ b/cli/src/commands/script/script.ts @@ -282,10 +282,10 @@ export async function handleFile( path, workspaceRemote: workspace, schemaOnly: codebase ? true : undefined, + globalDeps, + codebases } : undefined, - globalDeps, - codebases ) )?.payload; diff --git a/cli/src/utils/metadata.ts b/cli/src/utils/metadata.ts index 664bf8fe3e..bb94e2478e 100644 --- a/cli/src/utils/metadata.ts +++ b/cli/src/utils/metadata.ts @@ -246,29 +246,22 @@ export async function generateScriptMetadataInternal( const language = inferContentTypeFromFilePath(scriptPath, opts.defaultTs); + + const metadataWithType = await parseMetadataFile( + remotePath, + undefined, + ); + + // read script content + const scriptContent = await Deno.readTextFile(scriptPath); + const metadataContent = await Deno.readTextFile(metadataWithType.path); + const rrLang = languagesWithRawReqsSupport.find( (l) => language == l.language ); const rawReqs = findClosestRawReqs(rrLang, scriptPath, globalDeps); - if (rawReqs && rrLang) { - log.info( - (await blueColor())( - `Found raw requirements (${rrLang.rrFilename}) for ${scriptPath}, using it` - ) - ); - } - const metadataWithType = await parseMetadataFile( - remotePath, - undefined, - globalDeps, - codebases - ); - - // read script content - const scriptContent = await Deno.readTextFile(scriptPath); - const metadataContent = await Deno.readTextFile(metadataWithType.path); let hash = await generateScriptHash(rawReqs, scriptContent, metadataContent); @@ -385,6 +378,10 @@ async function updateScriptLock( ) { return; } + + if (rawDeps) { + log.info(`Generating script lock for ${remotePath} with raw deps`); + } // generate the script lock running a dependency job in Windmill and update it inplace // TODO: update this once the client is released const extraHeaders = getHeaders(); @@ -766,10 +763,11 @@ export async function parseMetadataFile( path: string; workspaceRemote: Workspace; schemaOnly?: boolean; + globalDeps: GlobalDeps; + codebases: SyncCodebase[] }) | undefined, - globalDeps: GlobalDeps, - codebases: SyncCodebase[] + ): Promise<{ isJson: boolean; payload: any; path: string }> { let metadataFilePath = scriptPath + ".script.json"; try { @@ -800,13 +798,19 @@ export async function parseMetadataFile( ); metadataFilePath = scriptPath + ".script.yaml"; let scriptInitialMetadata = defaultScriptMetadata(); + const lockPath = scriptPath + ".script.lock"; + scriptInitialMetadata.lock = "!inline " + lockPath; const scriptInitialMetadataYaml = yamlStringify( scriptInitialMetadata as Record, yamlOptions ); + await Deno.writeTextFile(metadataFilePath, scriptInitialMetadataYaml, { createNew: true, }); + await Deno.writeTextFile(lockPath, "", { + createNew: true, + }); if (generateMetadataIfMissing) { log.info( @@ -821,8 +825,8 @@ export async function parseMetadataFile( generateMetadataIfMissing, false, false, - globalDeps, - codebases, + generateMetadataIfMissing.globalDeps, + generateMetadataIfMissing.codebases, false ); scriptInitialMetadata = (await yamlParseFile(