Add make add-dependency and make tidy (closes #45)
check / check (push) Successful in 4m0s

No entrypoint could change yarn.lock or go.mod: script/bootstrap
installs with --frozen-lockfile, so adding a package meant running
yarn by hand. make add-dependency PACKAGE=<name>@<version> shims to
the new script/add-dependency: yarn add --dev, then yarn install
--frozen-lockfile. make tidy shims to the new script/tidy, go mod
tidy in backend/; a Go module is added by importing it, or moved by
editing its require line, then make tidy. script/bootstrap is
unchanged.

Model: opus-5-5
This commit is contained in:
2026-10-04 02:25:34 +00:00
parent d412815953
commit 7494fd6197
5 changed files with 57 additions and 1 deletions
+21
View File
@@ -0,0 +1,21 @@
#!/bin/sh
# script/add-dependency: add a frontend package, or move one to another
# version, with yarn add, which changes package.json and yarn.lock
# together; then install from yarn.lock with --frozen-lockfile, as
# script/bootstrap does, to show it installs as written. --dev because
# every frontend package is used only at build time.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
main() {
if [ -z "${1:-}" ]; then
echo "usage: make add-dependency PACKAGE=<name>@<version>" >&2
exit 2
fi
cd "$ROOT"
yarn add --dev "$1"
yarn install --frozen-lockfile
}
main "$@"
Executable
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
# script/tidy: run go mod tidy in backend/, which adds the modules the
# Go sources import, drops those they no longer do, and updates go.sum.
set -eu
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
main() {
cd "$ROOT/backend"
go mod tidy
}
main "$@"