diff options
author | Yureka <yuka@yuka.dev> | 2021-10-12 01:56:16 +0200 |
---|---|---|
committer | Yuka <yuka@yuka.dev> | 2021-10-20 11:39:16 +0200 |
commit | 84e02be598d10f59a8320ee60a3d2efc31339ce2 (patch) | |
tree | a870465a1e43418967aeaa4404a6c5b79f738628 /pkgs/build-support/node | |
parent | cf6f772676b4f3cc7bcd04eb75dadcea85c2cb01 (diff) |
fetchYarnDeps, mkYarnModules: verify the FOD hash is up-to-date
Diffstat (limited to 'pkgs/build-support/node')
-rwxr-xr-x | pkgs/build-support/node/fetch-yarn-deps/index.js | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/pkgs/build-support/node/fetch-yarn-deps/index.js b/pkgs/build-support/node/fetch-yarn-deps/index.js index 0952235ee0682..a9c5ab29cce56 100755 --- a/pkgs/build-support/node/fetch-yarn-deps/index.js +++ b/pkgs/build-support/node/fetch-yarn-deps/index.js @@ -92,7 +92,8 @@ const performParallel = tasks => { return Promise.all(workers) } -const prefetchYarnDeps = async (lockData, verbose) => { +const prefetchYarnDeps = async (lockContents, verbose) => { + const lockData = lockfile.parse(lockContents) const tasks = Object.values( Object.entries(lockData.object) .map(([key, value]) => { @@ -106,6 +107,7 @@ const prefetchYarnDeps = async (lockData, verbose) => { .map(pkg => () => downloadPkg(pkg, verbose)) await performParallel(tasks) + await fs.promises.writeFile('yarn.lock', lockContents) if (verbose) console.log('Done') } @@ -140,19 +142,18 @@ const main = async () => { let lockContents try { lockContents = await fs.promises.readFile(lockFile || 'yarn.lock', 'utf-8') - } catch(e) { + } catch { showUsage() } - const lockData = lockfile.parse(lockContents) if (isBuilder) { - await prefetchYarnDeps(lockData, verbose) + await prefetchYarnDeps(lockContents, verbose) } else { const { stdout: tmpDir } = await exec('mktemp', [ '-d' ]) try { process.chdir(tmpDir.trim()) - await prefetchYarnDeps(lockData, verbose) + await prefetchYarnDeps(lockContents, verbose) const { stdout: hash } = await exec('nix-hash', [ '--type', 'sha256', '--base32', tmpDir.trim() ]) console.log(hash) } finally { |