about summary refs log tree commit diff
path: root/pkgs/tools/package-management/yarn-lock-converter/update.sh
blob: 72d46b470f287c118d78e616cc02d4c92e2f010e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodejs libarchive prefetch-npm-deps moreutils
# shellcheck shell=bash

set -exuo pipefail

cd -- "$(dirname -- "${BASH_SOURCE[0]}")"

TMPDIR="$(mktemp -d)"
trap 'rm -r -- "$TMPDIR"' EXIT

pushd -- "$TMPDIR"
npm pack "@vht/yarn-lock-converter" --json | jq '.[0] | { version, integrity, filename }' > source.json
bsdtar -x -f "$(jq -r .filename source.json)"

pushd package
npm install --package-lock-only
popd

DEPS="$(prefetch-npm-deps package/package-lock.json)"
jq ".deps = \"$DEPS\"" source.json | sponge source.json

popd

cp -t . -- "$TMPDIR/source.json" "$TMPDIR/package/package-lock.json"