diff options
Diffstat (limited to 'pkgs/development/web/deno/update/deps.ts')
-rw-r--r-- | pkgs/development/web/deno/update/deps.ts | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/pkgs/development/web/deno/update/deps.ts b/pkgs/development/web/deno/update/deps.ts deleted file mode 100644 index beedeade3a861..0000000000000 --- a/pkgs/development/web/deno/update/deps.ts +++ /dev/null @@ -1,79 +0,0 @@ -import { - getExistingVersion, - genValueRegExp, - logger, - nixPrefetchURL, - versionRegExp, - write, -} from "./common.ts"; - -const log = logger("deps"); - -export interface Architecture { - nix: string; - rust: string; -} -interface PrefetchResult { - arch: Architecture; - sha256: string; -} - -const getRustyV8Version = async ( - owner: string, - repo: string, - version: string, -) => - fetch( - `https://github.com/${owner}/${repo}/raw/${version}/core/Cargo.toml`, - ) - .then((res) => res.text()) - .then((txt) => - txt.match(genValueRegExp("rusty_v8", versionRegExp))?.shift() - ); - -const archShaTasks = (version: string, arches: Architecture[]) => - arches.map(async (arch: Architecture): Promise<PrefetchResult> => { - log("Fetching:", arch.nix); - const sha256 = await nixPrefetchURL( - [`https://github.com/denoland/rusty_v8/releases/download/v${version}/librusty_v8_release_${arch.rust}.a`], - ); - log("Done: ", arch.nix); - return { arch, sha256 }; - }); - -const templateDeps = (version: string, deps: PrefetchResult[]) => - `# auto-generated file -- DO NOT EDIT! -{}: -rec { - rustyV8Lib = { - version = "${version}"; - sha256s = { -${deps.map((d) => ` ${d.arch.nix} = "${d.sha256}";`).join("\n")} - }; - }; -} -`; - -export async function updateDeps( - filePath: string, - owner: string, - repo: string, - denoVersion: string, - arches: Architecture[], -) { - log("Starting deps update"); - // 0.0.0 - const version = await getRustyV8Version(owner, repo, denoVersion); - if (typeof version !== "string") { - throw "no rusty_v8 version"; - } - log("rusty_v8 version:", version); - const existingVersion = await getExistingVersion(filePath); - if (version === existingVersion) { - log("Version already matches latest, skipping..."); - return; - } - const archShaResults = await Promise.all(archShaTasks(version, arches)); - await write(filePath, templateDeps(version, archShaResults)); - log("Finished deps update"); -} |