Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .conductor/settings.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"$schema" = "https://conductor.build/schemas/settings.repo.schema.json"

[scripts]
setup = "SETUP_NVM_SCRIPT=\"${NVM_DIR:-$HOME/.nvm}/nvm.sh\"; if [ -s \"$SETUP_NVM_SCRIPT\" ]; then . \"$SETUP_NVM_SCRIPT\" && nvm install 24.19.0 && nvm use 24.19.0; fi && node -e 'if (process.versions.node !== `24.19.0`) { console.error(`Node 24.19.0 is required; found ${process.versions.node}`); process.exit(1) }' && git config core.hooksPath .husky && npx --yes npm@10.9.4 ci && uv sync --frozen"
setup = "sh scripts/configure-git-hooks.sh && SETUP_NVM_SCRIPT=\"${NVM_DIR:-$HOME/.nvm}/nvm.sh\"; if [ -s \"$SETUP_NVM_SCRIPT\" ]; then . \"$SETUP_NVM_SCRIPT\" && nvm install 24.19.0 && nvm use 24.19.0; fi && node -e 'if (process.versions.node !== `24.19.0`) { console.error(`Node 24.19.0 is required; found ${process.versions.node}`); process.exit(1) }' && npx --yes npm@10.9.4 ci && uv sync --frozen"
run_mode = "concurrent"

[scripts.run.run]
Expand Down
7 changes: 6 additions & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
#!/bin/sh

HUSKY_INIT="${XDG_CONFIG_HOME:-$HOME/.config}/husky/init.sh"
[ -f "$HUSKY_INIT" ] && . "$HUSKY_INIT"
[ "${HUSKY-}" = "0" ] && exit 0
export PATH="node_modules/.bin:$PATH"

bash scripts/check-image-quality.sh
npm run precommit
npm run precommit
5 changes: 5 additions & 0 deletions .husky/pre-push
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
#!/bin/sh

HUSKY_INIT="${XDG_CONFIG_HOME:-$HOME/.config}/husky/init.sh"
[ -f "$HUSKY_INIT" ] && . "$HUSKY_INIT"
[ "${HUSKY-}" = "0" ] && exit 0
export PATH="node_modules/.bin:$PATH"

# Verify version sync before pushing
npm run verify-version-sync

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
"precommit": "bash scripts/with-timeout.sh 180 npm run test:unit && npm run test:test-dynamic-imports && npm run test:format-identity-boundaries && npm run test:callapi-state-change && bash scripts/with-timeout.sh 240 npm run precommit:server-unit && npm run typecheck",
"test:storyboards": "bash scripts/run-storyboards-matrix.sh",
"test:storyboards:3.0-compat": "bash scripts/run-storyboards-3-0-compat.sh",
"prepare": "husky",
"prepare": "sh scripts/configure-git-hooks.sh",
"changeset": "changeset",
"version": "changeset version && npm install --package-lock-only --ignore-scripts && npm run build:schemas -- --release && npm run build:compliance -- --release && npm run build:protocol-tarball -- --release && npm run sign:protocol-tarball",
"sign:protocol-tarball": "bash scripts/sign-protocol-tarball.sh",
Expand Down
16 changes: 16 additions & 0 deletions scripts/configure-git-hooks.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/sh

set -eu

# Match Husky's behavior for source archives and other installs without Git
# metadata: dependency installation should still succeed, just without hooks.
if [ ! -e .git ] || ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
exit 0
fi

# core.hooksPath is otherwise shared by every linked worktree. A per-worktree
# value prevents a stale checkout from redirecting another worktree's hooks.
# Point directly at the tracked hooks so a failed dependency install cannot
# leave hooks disabled because Husky's ignored shim directory was not generated.
git config extensions.worktreeConfig true
git config --worktree core.hooksPath .husky
Loading