Skip to content

Commit c1498ab

Browse files
authored
fix(run): pin bootstrap import version (#1150)
* fix(run): pin bootstrap import to package version Avoid runtime fetch/version resolution in scripts/run.ts by importing @deco/deco using the local package version from deno.json, reducing startup latency and preventing long metadata lookups. Made-with: Cursor * fix(run): allow DECO_VERSION override Prefer DECO_VERSION when set in scripts/run.ts while keeping deno.json version as default, so runtime version can be explicitly overridden without changing source. Made-with: Cursor
1 parent f5307c0 commit c1498ab

1 file changed

Lines changed: 6 additions & 21 deletions

File tree

scripts/run.ts

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,14 @@
11
// TODO: @gimenes use redirect instead of serving this file
22

3+
import denoJSON from "../deno.json" with { type: "json" };
4+
35
const packageName = "@deco/deco";
4-
const timeout = new AbortController();
5-
const timeoutId = setTimeout(() => timeout.abort(), 2_000);
66

7-
const start = performance.now();
8-
const versions: { latest: string } = await fetch(
9-
`https://jsr.io/${packageName}/meta.json`,
10-
{ signal: timeout.signal },
11-
).then(
12-
(resp) => resp.json(),
13-
).catch((err) => {
14-
console.warn(
15-
`could not fetch ${packageName} meta.json`,
16-
err,
17-
"falling back to major specifier",
18-
);
19-
return { latest: "1" };
20-
});
7+
const version = Deno.env.get("DECO_VERSION") ?? denoJSON.version ?? "1";
8+
219
console.log(
22-
`%cfetched ${versions.latest} version of ${packageName} in ${
23-
(performance.now() - start).toFixed(0)
24-
}ms`,
10+
`%cusing ${version} version of ${packageName}`,
2511
"color: gray",
2612
);
27-
clearTimeout(timeoutId);
2813

29-
await import(`jsr:${packageName}@${versions.latest}/scripts/run`);
14+
await import(`jsr:${packageName}@${version}/scripts/run`);

0 commit comments

Comments
 (0)