@joshuafolkken/kit 1.1514.0 → 1.1784.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/investigator.md +1 -1
- package/.claude/settings.json +5 -5
- package/.claude/skills/epic-commands/SKILL.md +26 -65
- package/.claude/skills/epic-commands/epic-bundle.md +3 -1
- package/.claude/skills/workflow-commands/SKILL.md +5 -5
- package/.claude/skills/workflow-commands/background-commands.md +5 -5
- package/.claude/skills/workflow-commands/backlogrun-child.md +10 -8
- package/.claude/skills/workflow-commands/backlogrun-handoff-report.md +7 -25
- package/.claude/skills/workflow-commands/backlogrun-lanes.md +17 -13
- package/.claude/skills/workflow-commands/backlogrun-park.md +14 -23
- package/.claude/skills/workflow-commands/backlogrun-progress.md +2 -2
- package/.claude/skills/workflow-commands/backlogrun-recovery.md +5 -5
- package/.claude/skills/workflow-commands/backlogrun-steps.md +10 -10
- package/.claude/skills/workflow-commands/backlogrun.md +1 -1
- package/.claude/skills/workflow-commands/chain-rule.md +13 -7
- package/.claude/skills/workflow-commands/delegation.md +6 -5
- package/.claude/skills/workflow-commands/entry-sequence.md +9 -9
- package/.claude/skills/workflow-commands/followup.md +9 -31
- package/.claude/skills/workflow-commands/fullrun-steps.md +36 -45
- package/.claude/skills/workflow-commands/fullrun.md +2 -2
- package/.claude/skills/workflow-commands/halfrun.md +17 -25
- package/.claude/skills/workflow-commands/issue-comments.md +16 -12
- package/.claude/skills/workflow-commands/issue-scout.md +2 -2
- package/.claude/skills/workflow-commands/kickoff.md +24 -23
- package/.claude/skills/workflow-commands/latest-gate.md +7 -12
- package/.claude/skills/workflow-commands/needs-human-review.md +9 -14
- package/.claude/skills/workflow-commands/observation-filing.md +4 -36
- package/.claude/skills/workflow-commands/observation-ledger.md +1 -1
- package/.claude/skills/workflow-commands/pre-gate-cut.md +13 -30
- package/.claude/skills/workflow-commands/prerequisite.md +10 -16
- package/.claude/skills/workflow-commands/progress-watcher.md +1 -1
- package/.claude/skills/workflow-commands/prrun.md +3 -7
- package/.claude/skills/workflow-commands/retrospective.md +1 -1
- package/.claude/skills/workflow-commands/split-assessment.md +13 -1
- package/.claude/skills/workflow-commands/working-tree-hold.md +9 -9
- package/.codex/hooks.json +5 -5
- package/.github/actions/setup-node/action.yml +9 -0
- package/.github/actions/setup-pnpm/action.yml +1 -1
- package/.github/dependabot.yml +16 -0
- package/.github/release.yml +0 -2
- package/.github/workflows/ci.yml +120 -10
- package/.github/workflows/publish.yml +8 -1
- package/.github/workflows/sonar-qube.yml +1 -0
- package/.prettierignore +2 -0
- package/.vscode/tasks.json +1 -2
- package/CLAUDE.md +3 -7
- package/README.md +4 -2
- package/SECURITY.md +1 -1
- package/dist/CLAUDE.md +3 -7
- package/dist/commands/document-read-cli.js +882 -0
- package/dist/commands/{document-section-cli.js → document-section-main.js} +79 -37
- package/dist/commands/read-set-cli.js +1867 -0
- package/dist/commands/run-prep-main.js +21653 -0
- package/dist/commands/run-step-cli.js +23880 -0
- package/dist/config-merge/index.js +5 -1
- package/dist/hooks/audit-provision.js +20 -35
- package/dist/hooks/{chunk-DGT54IH5.js → chunk-AZX4FGQ3.js} +63 -17
- package/dist/hooks/chunk-CWMBGKYW.js +6483 -0
- package/dist/hooks/chunk-O2YBIDSI.js +4306 -0
- package/dist/hooks/{chunk-TNUMY6NL.js → chunk-PT5R6UJD.js} +4193 -1900
- package/dist/hooks/chunk-TUIFS5E7.js +72 -0
- package/dist/hooks/{chunk-723HKZO5.js → chunk-VWWCFGWK.js} +1 -1
- package/dist/hooks/{chunk-APUO6U4J.js → chunk-WR2KQAYZ.js} +1843 -440
- package/dist/hooks/{chunk-O6GDRNJB.js → chunk-XGBNSWEI.js} +248 -46
- package/dist/hooks/chunk-YCDOIR3I.js +3456 -0
- package/dist/hooks/codex-hook-adapter.js +10 -22
- package/dist/hooks/format-edited.js +5 -6
- package/dist/hooks/inputs.json +443 -317
- package/dist/hooks/pretool-guard.js +7 -25
- package/dist/hooks/session-lang.js +44 -51
- package/dist/hooks/stop-guard.js +7716 -2187
- package/dist/josh.js +6002 -3583
- package/dist/self-sync-guard/index.js +74 -10
- package/dist/version/index.js +115 -406
- package/eslint/base.js +1 -1
- package/lefthook/base.yml +3 -1
- package/package.json +10 -48
- package/pnpm-workspace.yaml +4 -2
- package/prompts/coding-standards.md +1 -1
- package/prompts/collaboration-workflow/file-edits.md +1 -7
- package/prompts/collaboration-workflow/issue-citation.md +1 -1
- package/prompts/collaboration-workflow/issue-template.md +33 -16
- package/prompts/collaboration-workflow/lane-instructions.md +1 -2
- package/prompts/collaboration-workflow/measurement.md +37 -0
- package/prompts/collaboration-workflow/operating-rules.md +4 -6
- package/prompts/collaboration-workflow/output-bounds.md +2 -7
- package/prompts/collaboration-workflow/plan-comment.md +3 -42
- package/prompts/collaboration-workflow/principles.md +5 -0
- package/prompts/collaboration-workflow/report-format.md +31 -60
- package/prompts/collaboration-workflow/residency.md +2 -2
- package/prompts/collaboration-workflow/shell-body.md +6 -16
- package/prompts/collaboration-workflow/turn-batching.md +0 -2
- package/prompts/collaboration-workflow/upstream-interrupt.md +14 -4
- package/prompts/collaboration-workflow/wip-cap.md +1 -1
- package/prompts/collaboration-workflow.md +3 -7
- package/prompts/refactoring.md +1 -1
- package/prompts/review-rubric.md +1 -2
- package/prompts/review.md +41 -21
- package/prompts/testing-guide.md +8 -43
- package/scripts/agent/agent-event.ts +15 -15
- package/scripts/agent/agent-exit-record.ts +13 -1
- package/scripts/agent/api-auth.ts +41 -0
- package/scripts/agent/api-outage.ts +1 -1
- package/scripts/auto-ok/auto-ok-cli.ts +14 -16
- package/scripts/auto-ok/auto-ok-judge-read.ts +12 -3
- package/scripts/auto-ok/auto-ok-judge-write.ts +46 -19
- package/scripts/auto-ok/auto-ok-judge.ts +13 -2
- package/scripts/auto-ok/auto-ok-main.ts +17 -0
- package/scripts/backlog/backlog-arrival.ts +14 -3
- package/scripts/backlog/backlog-budget-cli.ts +7 -33
- package/scripts/backlog/backlog-budget-main.ts +16 -0
- package/scripts/backlog/backlog-budget.ts +2 -3
- package/scripts/backlog/backlog-defect-priority.ts +4 -3
- package/scripts/backlog/backlog-drive-adopt.ts +67 -0
- package/scripts/backlog/backlog-drive-args.ts +4 -5
- package/scripts/backlog/backlog-drive-cli.ts +113 -28
- package/scripts/backlog/backlog-drive-hold.ts +162 -0
- package/scripts/backlog/backlog-drive-idle.ts +151 -0
- package/scripts/backlog/backlog-drive-judge.ts +25 -0
- package/scripts/backlog/backlog-drive-memory.ts +126 -0
- package/scripts/backlog/backlog-drive-named-offer.ts +5 -10
- package/scripts/backlog/backlog-drive-named.ts +53 -6
- package/scripts/backlog/backlog-drive-offer-argv.ts +3 -8
- package/scripts/backlog/backlog-drive-paused.ts +169 -0
- package/scripts/backlog/backlog-drive-restore.ts +30 -7
- package/scripts/backlog/backlog-drive-seats.ts +18 -8
- package/scripts/backlog/backlog-drive-token-handling.ts +38 -0
- package/scripts/backlog/backlog-drive.ts +79 -75
- package/scripts/backlog/backlog-next-main.ts +16 -0
- package/scripts/backlog/backlog-next-shared.ts +73 -0
- package/scripts/backlog/backlog-next.ts +48 -16
- package/scripts/backlog/backlog-occupied.ts +52 -39
- package/scripts/backlog/backlog-offer-cli.ts +6 -21
- package/scripts/backlog/backlog-offer-exclude.ts +15 -0
- package/scripts/backlog/backlog-offer-main.ts +12 -0
- package/scripts/backlog/backlog-offer.ts +36 -3
- package/scripts/backlog/backlog-overlap.ts +22 -4
- package/scripts/backlog/backlog-plan-read.ts +6 -2
- package/scripts/backlog/backlog-plan.ts +18 -4
- package/scripts/backlog/backlog-pool.ts +10 -10
- package/scripts/backlog/backlog-rank.ts +10 -2
- package/scripts/backlog/backlog-ready.ts +112 -30
- package/scripts/backlog/backlog-stalled-detect.ts +109 -36
- package/scripts/backlog/backlog-stalled.ts +52 -16
- package/scripts/backlog/backlog-wait-cause.ts +86 -0
- package/scripts/backlog/backlog-waves.ts +39 -13
- package/scripts/backlog/backlogrun-args.ts +19 -7
- package/scripts/backlog/backlogrun-cli.ts +19 -5
- package/scripts/backlog/backlogrun-launch.ts +6 -0
- package/scripts/backlog/backlogrun-restart.ts +97 -0
- package/scripts/backlog/backlogrun-stop.ts +79 -7
- package/scripts/behavior/behavior-cli.ts +2 -2
- package/scripts/behavior/behavior-rules.ts +47 -24
- package/scripts/build/build-bin.ts +2 -16
- package/scripts/build/build-claude-md.ts +0 -7
- package/scripts/build/build-commands.ts +0 -13
- package/scripts/build/build-hooks.ts +49 -48
- package/scripts/build/hook-bundle-stamp.ts +29 -11
- package/scripts/build/local-bin.ts +1 -1
- package/scripts/cases/cases-cli.ts +25 -13
- package/scripts/cases/cases-interaction-scan.ts +134 -0
- package/scripts/cases/cases-interaction.ts +183 -0
- package/scripts/cases/cases-logic.ts +39 -6
- package/scripts/ci/pr-classification-main.ts +18 -0
- package/scripts/ci/pr-classification.ts +10 -17
- package/scripts/clone/clone-scan.ts +1 -1
- package/scripts/cost-runtime/cost-blocks.ts +22 -37
- package/scripts/cost-runtime/cost-cli.ts +31 -14
- package/scripts/cost-runtime/cost-main.ts +12 -0
- package/scripts/cost-runtime/cost-transcript.ts +1 -0
- package/scripts/delegation/delegation-policy.ts +17 -4
- package/scripts/delegation/duplicate-read-guard.ts +0 -8
- package/scripts/delegation/investigation-guard.ts +0 -8
- package/scripts/delegation/investigation-reads.ts +3 -4
- package/scripts/dependabot/dependabot-cooldown.ts +194 -0
- package/scripts/discovery/repo-discovery.ts +24 -6
- package/scripts/doctor/doctor-consumer.ts +2 -5
- package/scripts/document/document-byte-budget.ts +8 -6
- package/scripts/document/document-scan.ts +1 -1
- package/scripts/document/document-section-cli.ts +0 -8
- package/scripts/document/document-section-main.ts +12 -0
- package/scripts/epic/epic-audit-cli.ts +12 -6
- package/scripts/epic/epic-bundle-apply.ts +137 -0
- package/scripts/epic/epic-bundle-cli.ts +32 -121
- package/scripts/epic/epic-bundle-format.ts +116 -0
- package/scripts/epic/epic-bundle-main.ts +17 -0
- package/scripts/epic/epic-busy.ts +5 -12
- package/scripts/epic/epic-classify.ts +24 -15
- package/scripts/epic/epic-cli-argv.ts +31 -0
- package/scripts/epic/epic-cli-decide.ts +42 -0
- package/scripts/epic/epic-cli.ts +6 -38
- package/scripts/epic/epic-close.ts +112 -55
- package/scripts/epic/epic-cross-repo.ts +4 -7
- package/scripts/epic/epic-decide.ts +119 -0
- package/scripts/epic/epic-decision.ts +9 -0
- package/scripts/epic/epic-fetch.ts +4 -0
- package/scripts/epic/epic-graph.ts +2 -0
- package/scripts/epic/epic-issue.ts +5 -1
- package/scripts/epic/epic-label-age.ts +1 -1
- package/scripts/epic/epic-lane-offer.ts +39 -4
- package/scripts/epic/epic-next-main.ts +24 -0
- package/scripts/epic/epic-next.ts +6 -24
- package/scripts/epic/epic-outside-blocker.ts +6 -2
- package/scripts/epic/epic-parse.ts +9 -3
- package/scripts/epic/epic-read.ts +1 -0
- package/scripts/epic/epic-reconcile.ts +39 -0
- package/scripts/epic/epic-run.ts +10 -1
- package/scripts/epic/epic-solo.ts +50 -14
- package/scripts/epic/epic.ts +41 -7
- package/scripts/exports/unused-members-cli.ts +2 -2
- package/scripts/followup/followup-checks-event.ts +8 -3
- package/scripts/followup/followup-coderabbit-wait.ts +82 -0
- package/scripts/followup/followup-review-gates.ts +81 -0
- package/scripts/followup/git-followup-stages.ts +13 -3
- package/scripts/followup/git-followup-workflow.ts +19 -66
- package/scripts/followup/git-pr-followup-wrapup.ts +9 -14
- package/scripts/followup/git-pr-followup.ts +36 -8
- package/scripts/fresh-machine/fresh-machine-cli.ts +1 -1
- package/scripts/fresh-machine/fresh-machine-run.ts +8 -8
- package/scripts/fresh-machine/specs/kit-test-backlogrun.json +1 -1
- package/scripts/gate/busy-average.ts +58 -0
- package/scripts/gate/check-cpu.ts +60 -0
- package/scripts/gate/check-inputs.ts +39 -95
- package/scripts/gate/check-reuse.ts +33 -54
- package/scripts/gate/command-memory.ts +192 -0
- package/scripts/gate/core-admission.ts +218 -28
- package/scripts/gate/core-budget-timing.ts +37 -0
- package/scripts/gate/core-budget.ts +80 -98
- package/scripts/gate/core-wait-record.ts +48 -0
- package/scripts/gate/core-wait.ts +37 -5
- package/scripts/gate/core-weights.ts +86 -0
- package/scripts/gate/free-cores.ts +27 -4
- package/scripts/gate/gate-ledger.ts +32 -4
- package/scripts/gate/gate-plan.ts +41 -34
- package/scripts/gate/gate-report.ts +14 -2
- package/scripts/gate/gate-run-steps.ts +53 -8
- package/scripts/gate/gate-skip.ts +12 -2
- package/scripts/gate/gate-steps.ts +12 -1
- package/scripts/gate/input-fingerprint.ts +42 -0
- package/scripts/gate/machine-capacity.ts +65 -31
- package/scripts/gate/moved-paths.ts +67 -0
- package/scripts/gate/project-checks.ts +5 -12
- package/scripts/gate/scoped-green.ts +12 -8
- package/scripts/gate/since-green.ts +62 -0
- package/scripts/gate/toolchain-inputs.ts +115 -0
- package/scripts/gate/verification-gate.ts +27 -24
- package/scripts/gate/verification-inputs.ts +250 -0
- package/scripts/gh/gh-author-association.ts +96 -9
- package/scripts/gh/git-ai-review-scan.ts +4 -2
- package/scripts/gh/git-gh-api-path.ts +15 -0
- package/scripts/gh/git-gh-branch-rules.ts +73 -0
- package/scripts/gh/git-gh-conditional.ts +5 -2
- package/scripts/gh/git-gh-issue-read.ts +5 -1
- package/scripts/gh/git-gh-issue-write.ts +67 -29
- package/scripts/gh/git-gh-issue.ts +7 -3
- package/scripts/gh/git-gh-poll-read.ts +89 -0
- package/scripts/gh/git-gh-pr-auto-merge.ts +8 -3
- package/scripts/gh/git-gh-pr-rest.ts +1 -1
- package/scripts/gh/git-gh-pr-snapshot.ts +33 -20
- package/scripts/gh/git-gh-pr.ts +27 -15
- package/scripts/gh/git-pr-checks-eval.ts +39 -7
- package/scripts/gh/git-pr-checks-parse.ts +39 -9
- package/scripts/gh/git-pr-merge-checked.ts +80 -0
- package/scripts/git/base-tree.ts +19 -2
- package/scripts/git/changed-file-scope.ts +6 -4
- package/scripts/git/changed-paths.ts +18 -1
- package/scripts/git/git-diff-reads.ts +27 -2
- package/scripts/git/git-grep-hits.ts +85 -0
- package/scripts/git/git-location-environment.ts +1 -1
- package/scripts/git/git-merge-conflicts.ts +83 -0
- package/scripts/git/git-preflight.ts +37 -12
- package/scripts/git/git-push-transport.ts +1 -2
- package/scripts/git/git-schemas.ts +17 -7
- package/scripts/git/git-spawn.ts +1 -2
- package/scripts/git/git-status.ts +4 -4
- package/scripts/git/main-merge-main.ts +12 -0
- package/scripts/git/main-merge-regenerate.ts +2 -2
- package/scripts/git/main-merge.ts +25 -9
- package/scripts/git/main-sync-main.ts +12 -0
- package/scripts/git/main-sync.ts +0 -9
- package/scripts/git/stash/git-stash.ts +27 -4
- package/scripts/git/stash/{stash-pop-args.ts → stash-args.ts} +13 -10
- package/scripts/git/stash/stash-pop-cli.ts +6 -12
- package/scripts/git/stash/stash-pop-main.ts +12 -0
- package/scripts/git/stash/stash-push-cli.ts +76 -0
- package/scripts/git/stash/stash-push-main.ts +12 -0
- package/scripts/hooks/batch-guard.ts +0 -8
- package/scripts/hooks/check-commit-message-main.ts +8 -0
- package/scripts/hooks/check-commit-message.ts +4 -7
- package/scripts/hooks/format-edited-file.ts +8 -24
- package/scripts/hooks/pre-commit-lint.ts +30 -3
- package/scripts/hooks/pre-push-unit.ts +4 -2
- package/scripts/hooks/pretool-guard-cli.ts +1 -8
- package/scripts/hooks/pretool-guard.ts +32 -19
- package/scripts/hooks/reserved-run.ts +67 -9
- package/scripts/hooks/run-hook.sh +13 -4
- package/scripts/hooks/shell-rules-notice.ts +37 -0
- package/scripts/hooks/stop-actions.ts +2 -21
- package/scripts/hooks/stop-guard.ts +13 -9
- package/scripts/init/hook-command-rewrite.ts +19 -5
- package/scripts/init/hook-launch.ts +15 -17
- package/scripts/init/init-actions.ts +0 -6
- package/scripts/init/init-ai-copy.ts +10 -36
- package/scripts/init/init-bootstrap.ts +9 -8
- package/scripts/init/init-dry-run-report.ts +1 -1
- package/scripts/init/init-dry-run.ts +1 -1
- package/scripts/init/init-file-action.ts +7 -9
- package/scripts/init/init-logic-json-merge.ts +2 -2
- package/scripts/init/init-logic-migrate.ts +9 -82
- package/scripts/init/init-logic.ts +3 -2
- package/scripts/init/init-main.ts +12 -0
- package/scripts/init/init.ts +5 -12
- package/scripts/init/kit-development-versions.ts +3 -7
- package/scripts/init/kit-written-paths.ts +2 -2
- package/scripts/init/project-profile.ts +5 -4
- package/scripts/init/tsconfig-preset-migration.ts +2 -1
- package/scripts/init/vscode-tasks.ts +1 -1
- package/scripts/issue/defect-origin-cli.ts +106 -0
- package/scripts/issue/defect-origin-line.ts +60 -0
- package/scripts/issue/defect-origin-main.ts +11 -0
- package/scripts/issue/defect-origin.ts +114 -0
- package/scripts/issue/defect-rate-cli.ts +34 -78
- package/scripts/issue/defect-rate.ts +0 -16
- package/scripts/issue/defect-report-cli.ts +128 -0
- package/scripts/issue/defect-report-format.ts +56 -0
- package/scripts/issue/defect-report-main.ts +11 -0
- package/scripts/issue/defect-report.ts +160 -0
- package/scripts/issue/expected-effect-lint.ts +1 -0
- package/scripts/issue/issue-already-done-cli.ts +62 -0
- package/scripts/issue/issue-body-or-comment.ts +40 -0
- package/scripts/issue/issue-cite-cli.ts +0 -9
- package/scripts/issue/issue-cite-main.ts +12 -0
- package/scripts/issue/issue-classification.ts +12 -7
- package/scripts/issue/issue-comment-cli.ts +10 -24
- package/scripts/issue/issue-comment-main.ts +12 -0
- package/scripts/issue/issue-evidence-exit.ts +100 -0
- package/scripts/issue/issue-file-cli.ts +29 -7
- package/scripts/issue/issue-file.ts +19 -19
- package/scripts/issue/issue-fold-cli.ts +2 -11
- package/scripts/issue/issue-fold-main.ts +12 -0
- package/scripts/issue/issue-labels.ts +81 -90
- package/scripts/issue/issue-lint-cli.ts +2 -10
- package/scripts/issue/issue-lint-main.ts +12 -0
- package/scripts/issue/issue-measured-cli.ts +56 -0
- package/scripts/issue/issue-merged.ts +19 -2
- package/scripts/issue/issue-not-before-label.ts +135 -0
- package/scripts/issue/issue-not-before.ts +111 -0
- package/scripts/issue/issue-number-shape.ts +15 -1
- package/scripts/issue/issue-park.ts +28 -0
- package/scripts/issue/issue-plan-cli.ts +151 -0
- package/scripts/issue/issue-priority.ts +151 -0
- package/scripts/issue/issue-rank.ts +7 -1
- package/scripts/issue/issue-read-cli.ts +3 -10
- package/scripts/issue/issue-read-main.ts +12 -0
- package/scripts/issue/issue-read.ts +29 -5
- package/scripts/issue/issue-release-cli.ts +0 -10
- package/scripts/issue/issue-release-main.ts +13 -0
- package/scripts/issue/issue-release.ts +7 -12
- package/scripts/issue/issue-sample-gate.ts +192 -0
- package/scripts/issue/issue-sample-source.ts +76 -0
- package/scripts/issue/issue-scout-cli.ts +0 -11
- package/scripts/issue/issue-scout-main.ts +14 -0
- package/scripts/issue/issue-state-cli.ts +0 -10
- package/scripts/issue/issue-state-main.ts +12 -0
- package/scripts/issue/issue-watch-diff.ts +56 -15
- package/scripts/issue/issue-watch.ts +2 -1
- package/scripts/issue/issue-wip.ts +2 -7
- package/scripts/issue/measure-rerun-cli.ts +13 -8
- package/scripts/issue/plan-consumers-cli.ts +39 -0
- package/scripts/issue/plan-consumers-main.ts +11 -0
- package/scripts/issue/plan-consumers-section.ts +55 -0
- package/scripts/issue/plan-consumers.ts +127 -0
- package/scripts/josh/agent-session-environment.ts +1 -1
- package/scripts/josh/command-usage.ts +15 -43
- package/scripts/josh/file-map-stamp.ts +49 -16
- package/scripts/josh/hook-decision.ts +32 -20
- package/scripts/josh/josh-command-map.ts +4 -1
- package/scripts/josh/josh-command-types.ts +12 -6
- package/scripts/josh/josh-commands-agent-hooks.ts +83 -0
- package/scripts/josh/josh-commands-ai.ts +157 -158
- package/scripts/josh/josh-commands-backlog.ts +82 -16
- package/scripts/josh/josh-commands-clone.ts +1 -0
- package/scripts/josh/josh-commands-development.ts +111 -71
- package/scripts/josh/josh-commands-document.ts +43 -1
- package/scripts/josh/josh-commands-epic.ts +171 -0
- package/scripts/josh/josh-commands-hooks.ts +25 -2
- package/scripts/josh/josh-commands-issue-write.ts +181 -0
- package/scripts/josh/josh-commands-issue.ts +124 -24
- package/scripts/josh/josh-commands-lane.ts +103 -2
- package/scripts/josh/josh-commands-lint.ts +19 -8
- package/scripts/josh/josh-commands-maintenance.ts +112 -4
- package/scripts/josh/josh-commands-pause.ts +29 -0
- package/scripts/josh/josh-commands-progress.ts +87 -0
- package/scripts/josh/josh-commands-project.ts +138 -9
- package/scripts/josh/josh-commands-review.ts +124 -0
- package/scripts/josh/josh-commands-run.ts +211 -23
- package/scripts/josh/josh-commands-ship.ts +169 -0
- package/scripts/josh/josh-commands-split.ts +9 -0
- package/scripts/josh/josh-commands-versioning.ts +49 -2
- package/scripts/josh/josh-commands-workflow.ts +144 -6
- package/scripts/josh/josh-logic.ts +6 -13
- package/scripts/josh/package-directory.ts +2 -4
- package/scripts/josh/process-identity.ts +13 -4
- package/scripts/josh/session-language-cli.ts +4 -8
- package/scripts/josh/session-language-main.ts +13 -0
- package/scripts/josh/session-language.ts +6 -1
- package/scripts/josh/shared-cache.ts +90 -0
- package/scripts/josh/stamp-file.ts +9 -15
- package/scripts/lane/lane-await.ts +51 -12
- package/scripts/lane/lane-cache.ts +5 -30
- package/scripts/lane/lane-capacity.ts +14 -23
- package/scripts/lane/lane-check-stats.ts +62 -21
- package/scripts/lane/lane-child-invocation.ts +8 -0
- package/scripts/lane/lane-cli.ts +15 -5
- package/scripts/lane/lane-close.ts +86 -18
- package/scripts/lane/lane-core-wait-stats.ts +66 -0
- package/scripts/lane/lane-dispatch.ts +24 -3
- package/scripts/lane/lane-gap-stats.ts +156 -0
- package/scripts/lane/lane-handoff.ts +69 -1
- package/scripts/lane/lane-held-stats.ts +129 -0
- package/scripts/lane/lane-install.ts +4 -11
- package/scripts/lane/lane-launch-cli.ts +0 -9
- package/scripts/lane/lane-launch-main.ts +12 -0
- package/scripts/lane/lane-ledger-schema.ts +266 -0
- package/scripts/lane/lane-ledger.ts +92 -123
- package/scripts/lane/lane-limit-cli.ts +12 -1
- package/scripts/lane/lane-measure-cli.ts +57 -11
- package/scripts/lane/lane-open.ts +9 -1
- package/scripts/lane/lane-parked.ts +3 -3
- package/scripts/lane/lane-pause-cli.ts +130 -0
- package/scripts/lane/lane-pause.ts +158 -0
- package/scripts/lane/lane-process-table.ts +166 -0
- package/scripts/lane/lane-reap-settle.ts +124 -0
- package/scripts/lane/lane-reap.ts +50 -15
- package/scripts/lane/lane-registry.ts +24 -3
- package/scripts/lane/lane-residents.ts +162 -0
- package/scripts/lane/lane-restart.ts +22 -2
- package/scripts/lane/lane-round-two-stats.ts +49 -0
- package/scripts/lane/lane-sampler.ts +4 -0
- package/scripts/lane/lane-session-action.ts +19 -5
- package/scripts/lane/lane-session-broker.ts +102 -21
- package/scripts/lane/lane-snapshot-trace.ts +84 -0
- package/scripts/lane/lane-spans.ts +51 -0
- package/scripts/lane/lane-spent.ts +6 -3
- package/scripts/lane/lane-stage-stats.ts +7 -2
- package/scripts/lane/lane-state.ts +302 -0
- package/scripts/lane/lane-stats.ts +58 -4
- package/scripts/lane/lane-stop-stats.ts +113 -37
- package/scripts/lane/lane-test-related-stats.ts +127 -0
- package/scripts/lane/lane-transcript-calls.ts +145 -0
- package/scripts/lane/lane-transcript-stats.ts +168 -0
- package/scripts/lane/lane-vacant.ts +13 -3
- package/scripts/lane/lane-withdraw-cli.ts +5 -4
- package/scripts/lane/lane-withdraw.ts +50 -49
- package/scripts/lane/process-directories.ts +70 -0
- package/scripts/lane/process-lane-marks.ts +94 -0
- package/scripts/lib/atomic-write.ts +62 -0
- package/scripts/lib/buffered-process.ts +12 -5
- package/scripts/lib/cli-flags.ts +53 -0
- package/scripts/lib/figure-format.ts +63 -0
- package/scripts/lib/json-value.ts +9 -1
- package/scripts/lib/package-manifest.ts +35 -0
- package/scripts/lib/read-file.ts +3 -1
- package/scripts/lib/stamped-memo.ts +63 -0
- package/scripts/lib/stdout-on-stderr.ts +24 -0
- package/scripts/lib/timeouts.ts +9 -0
- package/scripts/lib/transcript-record.ts +91 -0
- package/scripts/lines/effective-limit.ts +1 -1
- package/scripts/lint/eslint-cache-dependencies.ts +145 -0
- package/scripts/lint/eslint-daemon.ts +265 -0
- package/scripts/lint/format.ts +11 -2
- package/scripts/lint/import-graph.ts +279 -0
- package/scripts/lint/lint-gate-scope.ts +102 -0
- package/scripts/lint/lint-parallel-main.ts +19 -0
- package/scripts/lint/lint-parallel.ts +62 -30
- package/scripts/lint/lint-related-scope.ts +30 -24
- package/scripts/lint/lint-related.ts +38 -6
- package/scripts/notify/confirmation-options.ts +1 -2
- package/scripts/notify/telegram-notify.ts +20 -20
- package/scripts/notify/telegram-test-logic.ts +0 -1
- package/scripts/notify/telegram-test-main.ts +8 -0
- package/scripts/notify/telegram-test.ts +2 -6
- package/scripts/observations/observation-ledger.ts +13 -0
- package/scripts/observations/observations-flush-landing.ts +5 -3
- package/scripts/observations/observations-flush.ts +6 -1
- package/scripts/overrides/overrides-check.ts +2 -5
- package/scripts/overrides/overrides-files.ts +2 -1
- package/scripts/overrides/overrides-logic.ts +3 -6
- package/scripts/package/verify-optional-eslint-install.ts +8 -6
- package/scripts/propagate/propagate-publish.ts +2 -7
- package/scripts/propagate/propagate-targets.ts +4 -12
- package/scripts/refactor/import-graph.ts +9 -7
- package/scripts/release/github-release-runs.ts +17 -6
- package/scripts/release/release-approval-prune.ts +18 -0
- package/scripts/release/release-history.ts +1 -3
- package/scripts/release/release-progress.ts +42 -22
- package/scripts/release/release-publish-run.ts +39 -0
- package/scripts/release/release-publish.ts +6 -6
- package/scripts/release/release-scope-cli.ts +0 -10
- package/scripts/release/release-scope-main.ts +12 -0
- package/scripts/repo/repo-setting.ts +3 -6
- package/scripts/repo/required-checks-logic.ts +6 -15
- package/scripts/report/report-format-reference.ts +2 -0
- package/scripts/report/report-labels.ts +155 -0
- package/scripts/report/report-lint-cli.ts +3 -0
- package/scripts/report/report-lint.ts +85 -110
- package/scripts/report/report-template-cli.ts +59 -0
- package/scripts/report/report-template.ts +112 -0
- package/scripts/review/acceptance-map.ts +1 -0
- package/scripts/review/removed-tests-check.ts +86 -0
- package/scripts/review/removed-tests.ts +149 -0
- package/scripts/review/review-brief-cli.ts +81 -15
- package/scripts/review/review-brief-main.ts +12 -0
- package/scripts/review/review-brief.ts +31 -3
- package/scripts/review/review-code-tree.ts +10 -6
- package/scripts/review/review-comment-round.ts +26 -8
- package/scripts/review/review-finding-ledger.ts +30 -15
- package/scripts/review/review-interaction.ts +94 -0
- package/scripts/review/review-readers-scan.ts +163 -0
- package/scripts/review/review-record-cli.ts +69 -30
- package/scripts/review/review-record-main.ts +12 -0
- package/scripts/review/review-round-one-blobs.ts +221 -0
- package/scripts/review/review-round2-cli.ts +49 -12
- package/scripts/review/review-round2.ts +80 -12
- package/scripts/review/review-stamps.ts +19 -1
- package/scripts/review/review-stop-log.ts +96 -0
- package/scripts/review/review-stops-cli.ts +85 -0
- package/scripts/review/review-tree.ts +6 -17
- package/scripts/review/review-untouched-readers.ts +146 -0
- package/scripts/review/test-titles.ts +118 -0
- package/scripts/rules/agent-model.ts +8 -0
- package/scripts/rules/bash-triggers.ts +46 -3
- package/scripts/rules/decision-oracle-batch.ts +9 -1
- package/scripts/rules/decision-oracle.ts +2 -2
- package/scripts/rules/delivered-rules.ts +80 -2
- package/scripts/rules/destructive-command.ts +8 -1
- package/scripts/rules/direct-filing.ts +10 -2
- package/scripts/rules/direct-issue-comment.ts +117 -0
- package/scripts/rules/direct-pr-create.ts +69 -3
- package/scripts/rules/early-heartbeat.ts +2 -1
- package/scripts/rules/file-body.ts +7 -0
- package/scripts/rules/filing-cap.ts +7 -0
- package/scripts/rules/git-argv.ts +72 -14
- package/scripts/rules/git-force.ts +12 -2
- package/scripts/rules/guard-remedy.ts +4 -0
- package/scripts/rules/implementation-cut-verdict.ts +1 -1
- package/scripts/rules/implementation-cut.ts +11 -3
- package/scripts/rules/index-guard.ts +8 -1
- package/scripts/rules/issue-comments.ts +9 -1
- package/scripts/rules/josh-git-bare.ts +7 -0
- package/scripts/rules/lane-background.ts +67 -25
- package/scripts/rules/lane-carry-conflict.ts +6 -0
- package/scripts/rules/lane-direct-tool.ts +74 -0
- package/scripts/rules/lane-interactive-ask.ts +9 -2
- package/scripts/rules/lane-park.ts +45 -23
- package/scripts/rules/lane-split-park.ts +10 -2
- package/scripts/rules/lane-switch-main.ts +7 -0
- package/scripts/rules/oracle-consulted.ts +10 -0
- package/scripts/rules/oracle-firing.ts +1 -0
- package/scripts/rules/permission-guards.ts +3 -0
- package/scripts/rules/piped-verification.ts +1 -1
- package/scripts/rules/poll-loop.ts +7 -0
- package/scripts/rules/pr-merge.ts +123 -0
- package/scripts/rules/protected-files.ts +32 -5
- package/scripts/rules/raw-field-body.ts +6 -0
- package/scripts/rules/rule-body-guard.ts +8 -0
- package/scripts/rules/rule-list.ts +9 -28
- package/scripts/rules/rule-value-cache.ts +4 -9
- package/scripts/rules/rule-value-cli.ts +51 -32
- package/scripts/rules/rule-value.ts +1 -1
- package/scripts/rules/shell-segments.ts +35 -0
- package/scripts/rules/stop-rule-rows.ts +64 -0
- package/scripts/rules/stop-rules.ts +3 -4
- package/scripts/rules/test-declared-commit.ts +11 -1
- package/scripts/rules/third-party-write.ts +7 -0
- package/scripts/rules/timed-rerun.ts +69 -0
- package/scripts/rules/worktree-guard.ts +13 -3
- package/scripts/run/board/run-board-app-name.ts +23 -0
- package/scripts/run/board/run-board-cli.ts +65 -32
- package/scripts/run/board/run-board-earlier.ts +94 -0
- package/scripts/run/board/run-board-ending-reason.ts +67 -0
- package/scripts/run/board/run-board-estimate-schedule.ts +103 -0
- package/scripts/run/board/run-board-estimate.ts +98 -0
- package/scripts/run/board/run-board-fit.ts +153 -36
- package/scripts/run/board/run-board-fold.ts +123 -0
- package/scripts/run/board/run-board-fresh.ts +2 -2
- package/scripts/run/board/run-board-gather-live.ts +29 -0
- package/scripts/run/board/run-board-gather-thread.ts +189 -0
- package/scripts/run/board/run-board-gather-worker.ts +29 -0
- package/scripts/run/board/run-board-gather.ts +187 -0
- package/scripts/run/board/run-board-github.ts +118 -38
- package/scripts/run/board/run-board-header.ts +82 -20
- package/scripts/run/board/run-board-keys.ts +58 -0
- package/scripts/run/board/run-board-kind.ts +20 -6
- package/scripts/run/board/run-board-labels.ts +116 -71
- package/scripts/run/board/run-board-lane-state.ts +109 -0
- package/scripts/run/board/run-board-lane-time.ts +122 -0
- package/scripts/run/board/run-board-layout.ts +239 -60
- package/scripts/run/board/run-board-length.ts +52 -0
- package/scripts/run/board/run-board-machine.ts +8 -4
- package/scripts/run/board/run-board-main.ts +12 -0
- package/scripts/run/board/run-board-notes.ts +52 -31
- package/scripts/run/board/run-board-now.ts +1 -1
- package/scripts/run/board/run-board-operation.ts +15 -33
- package/scripts/run/board/run-board-phase.ts +1 -1
- package/scripts/run/board/run-board-plan-shared.ts +115 -0
- package/scripts/run/board/run-board-plan.ts +55 -3
- package/scripts/run/board/run-board-planning.ts +45 -0
- package/scripts/run/board/run-board-priority.ts +44 -0
- package/scripts/run/board/run-board-process-groups.ts +195 -0
- package/scripts/run/board/run-board-read.ts +151 -27
- package/scripts/run/board/run-board-reason.ts +235 -51
- package/scripts/run/board/run-board-released.ts +35 -0
- package/scripts/run/board/run-board-render-checks.ts +39 -5
- package/scripts/run/board/run-board-render-condition.ts +96 -0
- package/scripts/run/board/run-board-render-drawn.ts +67 -0
- package/scripts/run/board/run-board-render-foot.ts +59 -0
- package/scripts/run/board/run-board-render-icon.ts +35 -0
- package/scripts/run/board/run-board-render-lanes.ts +145 -0
- package/scripts/run/board/run-board-render-lead.ts +80 -0
- package/scripts/run/board/run-board-render-legend.ts +117 -48
- package/scripts/run/board/run-board-render-notes.ts +156 -29
- package/scripts/run/board/run-board-render-processes.ts +196 -0
- package/scripts/run/board/run-board-render-section.ts +119 -0
- package/scripts/run/board/run-board-render-slot.ts +3 -36
- package/scripts/run/board/run-board-render-tail.ts +115 -48
- package/scripts/run/board/run-board-render-time.ts +56 -0
- package/scripts/run/board/run-board-render-title.ts +117 -24
- package/scripts/run/board/run-board-render-waits.ts +104 -20
- package/scripts/run/board/run-board-render.ts +207 -265
- package/scripts/run/board/run-board-roots.ts +54 -0
- package/scripts/run/board/run-board-row-yield.ts +9 -4
- package/scripts/run/board/run-board-setup.ts +1 -12
- package/scripts/run/board/run-board-snapshot.ts +111 -0
- package/scripts/run/board/run-board-spin.ts +2 -2
- package/scripts/run/board/run-board-state.ts +22 -33
- package/scripts/run/board/run-board-status.ts +147 -71
- package/scripts/run/board/run-board-thanks-read.ts +2 -2
- package/scripts/run/board/run-board-tick.ts +122 -107
- package/scripts/run/board/run-board-usage-board.ts +78 -0
- package/scripts/run/board/run-board-usage-lanes.ts +113 -0
- package/scripts/run/board/run-board-usage-listing.ts +93 -0
- package/scripts/run/board/run-board-usage-read.ts +120 -150
- package/scripts/run/board/run-board-usage-rusage.ts +19 -7
- package/scripts/run/board/run-board-usage-text.ts +139 -51
- package/scripts/run/board/run-board-usage-top.ts +102 -0
- package/scripts/run/board/run-board-usage.ts +89 -72
- package/scripts/run/board/run-board-usual.ts +20 -9
- package/scripts/run/carry/run-carry-args.ts +4 -7
- package/scripts/run/carry/run-carry-conversation.ts +1 -1
- package/scripts/run/carry/run-carry.ts +9 -4
- package/scripts/run/cut/run-cut-handoff.ts +2 -2
- package/scripts/run/event/run-event-cli.ts +1 -5
- package/scripts/run/event/run-event-filed.ts +12 -6
- package/scripts/run/event/run-event-follow.ts +2 -3
- package/scripts/run/event/run-event-render.ts +6 -10
- package/scripts/run/event/run-event-scope.ts +2 -2
- package/scripts/run/event/run-event-stream-emit.ts +82 -22
- package/scripts/run/event/run-event-stream.ts +34 -8
- package/scripts/run/hold/run-hold-adopt.ts +65 -0
- package/scripts/run/hold/run-hold-cli.ts +93 -22
- package/scripts/run/hold/run-hold-main.ts +12 -0
- package/scripts/run/hold/run-hold-member.ts +37 -0
- package/scripts/run/hold/run-stop-notify.ts +183 -0
- package/scripts/run/merge/run-merge-auth.ts +31 -0
- package/scripts/run/merge/run-merge-cli.ts +62 -48
- package/scripts/run/merge/run-merge-close.ts +74 -0
- package/scripts/run/merge/run-merge-collect.ts +6 -13
- package/scripts/run/merge/run-merge-driver.ts +71 -0
- package/scripts/run/merge/run-merge-main.ts +12 -0
- package/scripts/run/merge/run-merge-outcome.ts +23 -0
- package/scripts/run/merge/run-merge-restart.ts +39 -0
- package/scripts/run/merge/run-merge-ship.ts +20 -4
- package/scripts/run/merge/run-merge-signals.ts +33 -9
- package/scripts/run/merge/run-merge-steps.ts +120 -85
- package/scripts/run/merge/run-merge.ts +38 -37
- package/scripts/run/park/run-park-cli.ts +91 -0
- package/scripts/run/park/run-park.ts +88 -0
- package/scripts/run/park/run-stalled.ts +68 -0
- package/scripts/run/pause/run-pause-cli.ts +73 -0
- package/scripts/run/pause/run-pause.ts +251 -0
- package/scripts/run/progress/run-progress-cli.ts +4 -12
- package/scripts/run/progress/run-progress-clock.ts +1 -1
- package/scripts/run/progress/run-progress-config.ts +6 -14
- package/scripts/run/progress/run-progress-main.ts +12 -0
- package/scripts/run/progress/run-progress.ts +1 -4
- package/scripts/run/review/run-review.ts +2 -1
- package/scripts/run/run-ending.ts +1 -0
- package/scripts/run/run-invocation.ts +5 -6
- package/scripts/run/run-liveness-cli.ts +6 -8
- package/scripts/run/run-liveness.ts +60 -29
- package/scripts/run/run-next.ts +1 -1
- package/scripts/run/run-parent-cut-hook.ts +2 -2
- package/scripts/run/run-preflight.ts +18 -3
- package/scripts/run/run-prep-cli.ts +1 -10
- package/scripts/run/run-prep-locate.ts +7 -50
- package/scripts/run/run-prep-main.ts +12 -0
- package/scripts/run/run-prep.ts +6 -0
- package/scripts/run/run-report-cli.ts +101 -13
- package/scripts/run/run-report-handoff.ts +114 -0
- package/scripts/run/run-step.ts +1 -1
- package/scripts/run/run-stranded-detect.ts +13 -0
- package/scripts/run/run-watcher-guard-cli.ts +1 -1
- package/scripts/run/run-watcher-guard.ts +1 -1
- package/scripts/run/ship/run-ship-args.ts +121 -0
- package/scripts/run/ship/run-ship-body-draft.ts +110 -0
- package/scripts/run/ship/run-ship-cli.ts +63 -140
- package/scripts/run/ship/run-ship-detach.ts +19 -8
- package/scripts/run/ship/run-ship-infra-retry.ts +59 -0
- package/scripts/run/ship/run-ship-next.ts +18 -2
- package/scripts/run/ship/run-ship-overlap.ts +42 -5
- package/scripts/run/ship/run-ship-place.ts +96 -0
- package/scripts/run/ship/run-ship-pre-detach-timed.ts +43 -0
- package/scripts/run/ship/run-ship-pre-detach.ts +81 -24
- package/scripts/run/ship/run-ship-preflight.ts +137 -32
- package/scripts/run/ship/run-ship-probe.ts +11 -3
- package/scripts/run/ship/run-ship-relaunch-cap.ts +70 -0
- package/scripts/run/ship/run-ship-removed-rows.ts +61 -0
- package/scripts/run/ship/run-ship-return.ts +107 -23
- package/scripts/run/ship/run-ship-review-steps.ts +105 -151
- package/scripts/run/ship/run-ship-review.ts +73 -6
- package/scripts/run/ship/run-ship-reviewer.ts +207 -0
- package/scripts/run/ship/run-ship-stage.ts +55 -6
- package/scripts/run/ship/run-ship-steps.ts +46 -15
- package/scripts/run/ship/run-ship-stop-cause.ts +135 -0
- package/scripts/run/ship/run-ship-stop-text.ts +11 -6
- package/scripts/run/ship/run-ship-sync.ts +43 -6
- package/scripts/run/ship/run-ship.ts +30 -2
- package/scripts/run/tidy/run-tidy-cli.ts +0 -4
- package/scripts/run/tidy/run-tidy-lanes.ts +3 -0
- package/scripts/run/tidy/run-tidy-main.ts +8 -0
- package/scripts/run/wake/run-wake-cli.ts +119 -100
- package/scripts/run/wake/run-wake-code.ts +83 -0
- package/scripts/run/wake/run-wake-driver.ts +19 -8
- package/scripts/run/wake/run-wake-loop.ts +34 -3
- package/scripts/run/wake/run-wake-main.ts +13 -0
- package/scripts/run/wake/run-wake-ports.ts +90 -0
- package/scripts/run/wake/run-wake-takeover.ts +66 -0
- package/scripts/run/wake/run-wake.ts +2 -1
- package/scripts/safe-chain/pack-hook.ts +2 -2
- package/scripts/safe-chain/preinstall-command.ts +2 -1
- package/scripts/safe-chain/project-config.ts +3 -9
- package/scripts/security/security-audit-main.ts +8 -0
- package/scripts/security/security-audit-provision-logic.ts +0 -11
- package/scripts/security/security-audit-provision-main.ts +12 -0
- package/scripts/security/security-audit-provision.ts +11 -26
- package/scripts/security/security-audit.ts +6 -7
- package/scripts/self-sync-guard/self-sync-guard-logic.ts +6 -13
- package/scripts/split/split-assess-cli.ts +2 -2
- package/scripts/split/split-assess.ts +15 -0
- package/scripts/split/split-measure.ts +65 -0
- package/scripts/sync/claude-settings-merge.ts +8 -15
- package/scripts/sync/directory-copy-guard.ts +4 -9
- package/scripts/sync/file-content.ts +78 -8
- package/scripts/sync/sync-ai-files.ts +3 -5
- package/scripts/sync/sync-configs.ts +11 -23
- package/scripts/sync/sync-hook-safety.ts +4 -10
- package/scripts/sync/sync-main.ts +11 -0
- package/scripts/sync/sync.ts +25 -37
- package/scripts/test/test-declared-changed.ts +2 -2
- package/scripts/test/test-declared.ts +1 -1
- package/scripts/test/test-e2e-guard.ts +25 -1
- package/scripts/test/test-e2e-stamp.ts +38 -0
- package/scripts/test/test-pinned-logic.ts +145 -0
- package/scripts/test/test-pinned-main.ts +78 -0
- package/scripts/test/test-pinned.ts +100 -0
- package/scripts/test/test-read-map.ts +264 -0
- package/scripts/test/test-read-recording.ts +91 -0
- package/scripts/test/test-read-trace.ts +148 -0
- package/scripts/test/test-red-main.ts +12 -0
- package/scripts/test/test-red.ts +12 -30
- package/scripts/test/test-related-main.ts +18 -0
- package/scripts/test/test-related-record.ts +119 -0
- package/scripts/test/test-related-scope.ts +229 -43
- package/scripts/test/test-related.ts +300 -22
- package/scripts/test/test-unit-guard-main.ts +15 -0
- package/scripts/test/test-unit-guard.ts +42 -24
- package/scripts/test/unit-count-file.ts +37 -0
- package/scripts/test/unit-run-marker.ts +162 -0
- package/scripts/test/unit-setup-files.ts +51 -0
- package/scripts/test/unit-worker-share.ts +61 -149
- package/scripts/test/whole-suite-files.ts +63 -0
- package/scripts/time-runtime/time-background.ts +20 -2
- package/scripts/time-runtime/time-bundles.ts +4 -3
- package/scripts/time-runtime/time-density-hook.ts +8 -6
- package/scripts/time-runtime/time-followup-stage.ts +1 -3
- package/scripts/time-runtime/time-format.ts +5 -28
- package/scripts/time-runtime/time-markers.ts +10 -1
- package/scripts/time-runtime/time-shell.ts +97 -10
- package/scripts/time-runtime/time-transcript-line.ts +49 -62
- package/scripts/uninstall/uninstall.ts +1 -1
- package/scripts/version/bump-version-main.ts +12 -0
- package/scripts/version/bump-version.ts +25 -25
- package/scripts/version/effective-upstream.ts +6 -12
- package/scripts/version/latest-corepack.ts +17 -32
- package/scripts/version/latest-if-required-cli.ts +93 -0
- package/scripts/version/latest-lane-guard-main.ts +8 -0
- package/scripts/version/latest-lane-guard.ts +0 -4
- package/scripts/version/latest-scope-cli.ts +0 -9
- package/scripts/version/latest-scope-main.ts +12 -0
- package/scripts/version/latest-update.ts +5 -5
- package/scripts/version/npm-registry.ts +44 -6
- package/scripts/version/publishable-range-check.ts +5 -16
- package/scripts/version/release-age.ts +1 -1
- package/scripts/version/release-hold.ts +1 -1
- package/scripts/version/release-window.ts +38 -0
- package/scripts/version/running-binary.ts +1 -1
- package/scripts/version/safe-chain-version-update.ts +3 -8
- package/scripts/version/version-targets.ts +6 -28
- package/templates/dependabot.yml +29 -0
- package/templates/gitignore +4 -1
- package/templates/pnpm-workspace.basic.yaml +1 -1
- package/templates/sonar-project.properties +3 -2
- package/templates/workflows/ci.yml +12 -4
- package/templates/workflows/github-release.yml +4 -0
- package/tsconfig.sonar.json +1 -1
- package/.ncurc.json +0 -3
- package/dist/hooks/batch-guard.js +0 -29
- package/dist/hooks/chunk-4KKD2UTK.js +0 -66
- package/dist/hooks/chunk-6TS2JD6D.js +0 -237
- package/dist/hooks/chunk-7DSBJVFH.js +0 -50
- package/dist/hooks/chunk-A65Y4YOR.js +0 -79
- package/dist/hooks/chunk-CDY4NFQG.js +0 -15
- package/dist/hooks/chunk-EFXE6C37.js +0 -81
- package/dist/hooks/chunk-GP4IEC4O.js +0 -20
- package/dist/hooks/chunk-JP45SOCJ.js +0 -56
- package/dist/hooks/chunk-LAOV7NLM.js +0 -45
- package/dist/hooks/chunk-M4HGZV7U.js +0 -83
- package/dist/hooks/chunk-PF2NZL2A.js +0 -131
- package/dist/hooks/chunk-PTICX4OL.js +0 -358
- package/dist/hooks/chunk-RT27QRJW.js +0 -6247
- package/dist/hooks/chunk-SYOTDYCI.js +0 -3533
- package/dist/hooks/chunk-UPUZF3AN.js +0 -279
- package/dist/hooks/chunk-WK6SMBIC.js +0 -3180
- package/dist/hooks/duplicate-read-guard.js +0 -30
- package/dist/hooks/investigation-guard.js +0 -29
- package/scripts/backlog/backlog-stalled-cli.ts +0 -30
- package/scripts/cost-runtime/cost-format.ts +0 -29
- package/scripts/init/basic-path-migration.ts +0 -24
- package/scripts/issue/issue-backlinks-cli.ts +0 -93
- package/scripts/josh/josh-commands-guard.ts +0 -38
- package/scripts/josh/josh-usage-automation.ts +0 -121
- package/scripts/josh/josh-usage-backlog.ts +0 -180
- package/scripts/josh/josh-usage-developer.ts +0 -230
- package/scripts/josh/josh-usage-hooks.ts +0 -38
- package/scripts/josh/josh-usage-issue.ts +0 -205
- package/scripts/josh/josh-usage-review.ts +0 -101
- package/scripts/josh/josh-usage-run.ts +0 -252
- package/scripts/josh/josh-usage-session.ts +0 -238
- package/scripts/josh/josh-usage-workflow.ts +0 -212
- package/scripts/lint/cross-file-recheck.ts +0 -155
- package/scripts/registry-migration/migrate-logic.ts +0 -237
- package/scripts/registry-migration/migrate.ts +0 -292
- package/scripts/registry-migration/user-npmrc.ts +0 -15
- package/scripts/rules/rule-guard.ts +0 -23
- package/scripts/rules/rule-registry-rows.ts +0 -292
- package/scripts/rules/rule-registry.ts +0 -112
- package/scripts/run/run-stranded-cli.ts +0 -27
package/dist/version/index.js
CHANGED
|
@@ -62,9 +62,8 @@ function create_version_command_config(options) {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// scripts/version/effective-upstream.ts
|
|
65
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
66
65
|
import { createRequire } from "node:module";
|
|
67
|
-
import
|
|
66
|
+
import path3 from "node:path";
|
|
68
67
|
|
|
69
68
|
// scripts/lib/ancestor-directories.ts
|
|
70
69
|
import path from "node:path";
|
|
@@ -83,6 +82,10 @@ function nearest(start_directory, is_match) {
|
|
|
83
82
|
}
|
|
84
83
|
var ancestor_directories = { list, nearest };
|
|
85
84
|
|
|
85
|
+
// scripts/lib/package-manifest.ts
|
|
86
|
+
import { readFileSync as readFileSync2 } from "node:fs";
|
|
87
|
+
import path2 from "node:path";
|
|
88
|
+
|
|
86
89
|
// scripts/lib/json-value.ts
|
|
87
90
|
function parse_or_undefined(text) {
|
|
88
91
|
try {
|
|
@@ -97,10 +100,56 @@ function parse_with(text, schema) {
|
|
|
97
100
|
const parsed = schema.safeParse(value);
|
|
98
101
|
return parsed.success ? parsed.data : void 0;
|
|
99
102
|
}
|
|
103
|
+
function parse_array(text) {
|
|
104
|
+
const value = parse_or_undefined(text);
|
|
105
|
+
return Array.isArray(value) ? value : void 0;
|
|
106
|
+
}
|
|
100
107
|
function is_record(value) {
|
|
101
108
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
102
109
|
}
|
|
103
|
-
var json_value = { parse_or_undefined, parse_with, is_record };
|
|
110
|
+
var json_value = { parse_or_undefined, parse_with, parse_array, is_record };
|
|
111
|
+
|
|
112
|
+
// scripts/lib/read-file.ts
|
|
113
|
+
import { readFileSync } from "node:fs";
|
|
114
|
+
var ABSENT_CODE = "ENOENT";
|
|
115
|
+
function is_absent(error) {
|
|
116
|
+
return error instanceof Error && "code" in error && error.code === ABSENT_CODE;
|
|
117
|
+
}
|
|
118
|
+
function read_optional(path7) {
|
|
119
|
+
try {
|
|
120
|
+
return readFileSync(path7, "utf8");
|
|
121
|
+
} catch (error) {
|
|
122
|
+
if (is_absent(error)) return void 0;
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function read_file_or_empty(path7) {
|
|
127
|
+
return read_optional(path7) ?? "";
|
|
128
|
+
}
|
|
129
|
+
function read_if_readable(path7) {
|
|
130
|
+
try {
|
|
131
|
+
return readFileSync(path7, "utf8");
|
|
132
|
+
} catch {
|
|
133
|
+
return void 0;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
var file_reader = { is_absent, read_optional, read_file_or_empty, read_if_readable };
|
|
137
|
+
|
|
138
|
+
// scripts/lib/package-manifest.ts
|
|
139
|
+
var PACKAGE_JSON = "package.json";
|
|
140
|
+
function manifest_path(directory) {
|
|
141
|
+
return path2.join(directory, PACKAGE_JSON);
|
|
142
|
+
}
|
|
143
|
+
function read_manifest(directory, schema) {
|
|
144
|
+
const text = readFileSync2(manifest_path(directory), "utf8");
|
|
145
|
+
return schema.parse(JSON.parse(text));
|
|
146
|
+
}
|
|
147
|
+
function read_manifest_if_valid(directory, schema) {
|
|
148
|
+
const text = file_reader.read_if_readable(manifest_path(directory));
|
|
149
|
+
if (text === void 0) return void 0;
|
|
150
|
+
return json_value.parse_with(text, schema);
|
|
151
|
+
}
|
|
152
|
+
var package_manifest = { manifest_path, read_manifest, read_manifest_if_valid };
|
|
104
153
|
|
|
105
154
|
// scripts/lib/schemas.ts
|
|
106
155
|
import { z } from "zod";
|
|
@@ -135,18 +184,14 @@ var string_array_schema = z.array(z.string());
|
|
|
135
184
|
var string_record_schema = z.record(z.string(), z.string());
|
|
136
185
|
|
|
137
186
|
// scripts/version/effective-upstream.ts
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (
|
|
141
|
-
|
|
142
|
-
json_value.parse_or_undefined(readFileSync(manifest_path, "utf8"))
|
|
143
|
-
);
|
|
144
|
-
if (!parsed.success || parsed.data.name !== package_name) return void 0;
|
|
145
|
-
return parsed.data.version;
|
|
187
|
+
function read_matching_version(directory, package_name) {
|
|
188
|
+
const manifest = package_manifest.read_manifest_if_valid(directory, package_named_version_schema);
|
|
189
|
+
if (manifest?.name !== package_name) return void 0;
|
|
190
|
+
return manifest.version;
|
|
146
191
|
}
|
|
147
192
|
function walk_up_for_version(start_directory, package_name) {
|
|
148
193
|
for (const directory of ancestor_directories.list(start_directory)) {
|
|
149
|
-
const version = read_matching_version(
|
|
194
|
+
const version = read_matching_version(directory, package_name);
|
|
150
195
|
if (version !== void 0) return version;
|
|
151
196
|
}
|
|
152
197
|
return void 0;
|
|
@@ -161,10 +206,13 @@ function resolve_from_base(base_url, package_name, resolve_marker = package_name
|
|
|
161
206
|
function resolve_effective_upstream_version(base_url, package_name, options = {}) {
|
|
162
207
|
const resolved = resolve_from_base(base_url, package_name, options.resolve_marker);
|
|
163
208
|
if (resolved === void 0) return void 0;
|
|
164
|
-
return walk_up_for_version(
|
|
209
|
+
return walk_up_for_version(path3.dirname(resolved), package_name);
|
|
165
210
|
}
|
|
166
211
|
|
|
167
212
|
// scripts/lib/timeouts.ts
|
|
213
|
+
var MS_PER_SECOND = 1e3;
|
|
214
|
+
var SECONDS_PER_MINUTE = 60;
|
|
215
|
+
var MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;
|
|
168
216
|
var FETCH_TIMEOUT_MS = 1e4;
|
|
169
217
|
var COMMAND_TIMEOUT_MS = 3e4;
|
|
170
218
|
var INSTALL_TIMEOUT_MS = 6e5;
|
|
@@ -173,8 +221,8 @@ var INSTALL_TIMEOUT_MS = 6e5;
|
|
|
173
221
|
import { execaSync as execaSync4 } from "execa";
|
|
174
222
|
|
|
175
223
|
// scripts/version/release-age.ts
|
|
176
|
-
import { readFileSync as
|
|
177
|
-
import
|
|
224
|
+
import { readFileSync as readFileSync3 } from "node:fs";
|
|
225
|
+
import path4 from "node:path";
|
|
178
226
|
|
|
179
227
|
// scripts/lib/yaml-document.ts
|
|
180
228
|
import { load, loadAll, YAMLException } from "js-yaml";
|
|
@@ -208,7 +256,6 @@ var NO_QUARANTINE_MINUTES = 0;
|
|
|
208
256
|
var WORKSPACE_PATH = "pnpm-workspace.yaml";
|
|
209
257
|
var workspace_age_schema = z2.object({ minimumReleaseAge: z2.number().int().nonnegative() });
|
|
210
258
|
var release_times_schema = z2.record(z2.string(), z2.string());
|
|
211
|
-
var MS_PER_MINUTE = 6e4;
|
|
212
259
|
function parse_workspace(workspace_content) {
|
|
213
260
|
try {
|
|
214
261
|
return yaml_document.parse_yaml(workspace_content);
|
|
@@ -240,7 +287,7 @@ function select_aged_version(times, major, minimum_age_minutes, now_ms) {
|
|
|
240
287
|
}
|
|
241
288
|
function read_declared_minimum_release_age(workspace_path) {
|
|
242
289
|
try {
|
|
243
|
-
return parse_declared_minimum_release_age(
|
|
290
|
+
return parse_declared_minimum_release_age(readFileSync3(workspace_path, "utf8"));
|
|
244
291
|
} catch {
|
|
245
292
|
return void 0;
|
|
246
293
|
}
|
|
@@ -249,14 +296,14 @@ function read_minimum_release_age(workspace_path = WORKSPACE_PATH) {
|
|
|
249
296
|
return read_declared_minimum_release_age(workspace_path) ?? NO_QUARANTINE_MINUTES;
|
|
250
297
|
}
|
|
251
298
|
function find_declared_minimum_release_age(start, boundary) {
|
|
252
|
-
const declared = read_declared_minimum_release_age(
|
|
299
|
+
const declared = read_declared_minimum_release_age(path4.join(start, WORKSPACE_PATH));
|
|
253
300
|
if (declared !== void 0) return declared;
|
|
254
301
|
if (start === boundary) return void 0;
|
|
255
|
-
const parent =
|
|
302
|
+
const parent = path4.dirname(start);
|
|
256
303
|
return parent === start ? void 0 : find_declared_minimum_release_age(parent, boundary);
|
|
257
304
|
}
|
|
258
305
|
function read_nearest_minimum_release_age(start, boundary) {
|
|
259
|
-
return find_declared_minimum_release_age(
|
|
306
|
+
return find_declared_minimum_release_age(path4.resolve(start), boundary) ?? NO_QUARANTINE_MINUTES;
|
|
260
307
|
}
|
|
261
308
|
var release_age = {
|
|
262
309
|
release_times_schema,
|
|
@@ -270,14 +317,13 @@ var release_age = {
|
|
|
270
317
|
// scripts/version/release-hold.ts
|
|
271
318
|
import semver2 from "semver";
|
|
272
319
|
var MINUTES_PER_HOUR = 60;
|
|
273
|
-
var MS_PER_MINUTE2 = 6e4;
|
|
274
320
|
var HOLD_LABEL = "Held:";
|
|
275
321
|
function is_latest_withheld(times, latest, minimum_age_minutes, now_ms) {
|
|
276
322
|
const published_at = times[latest];
|
|
277
323
|
if (published_at === void 0) return false;
|
|
278
324
|
const published_ms = Date.parse(published_at);
|
|
279
325
|
if (!Number.isFinite(published_ms)) return false;
|
|
280
|
-
return published_ms > now_ms - minimum_age_minutes *
|
|
326
|
+
return published_ms > now_ms - minimum_age_minutes * MS_PER_MINUTE;
|
|
281
327
|
}
|
|
282
328
|
function resolve_installable(times, latest, minimum_age_minutes, now_ms) {
|
|
283
329
|
if (times === void 0 || !is_latest_withheld(times, latest, minimum_age_minutes, now_ms)) {
|
|
@@ -320,21 +366,20 @@ var release_hold = {
|
|
|
320
366
|
};
|
|
321
367
|
|
|
322
368
|
// scripts/version/running-binary.ts
|
|
323
|
-
import { existsSync
|
|
324
|
-
import
|
|
325
|
-
var PACKAGE_JSON2 = "package.json";
|
|
369
|
+
import { existsSync, readFileSync as readFileSync4 } from "node:fs";
|
|
370
|
+
import path5 from "node:path";
|
|
326
371
|
var SCRIPT_DEPTH_FROM_ROOT = ["..", ".."];
|
|
327
372
|
function resolve_self_package_path(self_directory) {
|
|
328
|
-
return
|
|
373
|
+
return path5.join(self_directory, ...SCRIPT_DEPTH_FROM_ROOT, PACKAGE_JSON);
|
|
329
374
|
}
|
|
330
375
|
function running_package_directory(self_directory) {
|
|
331
|
-
return
|
|
376
|
+
return path5.resolve(self_directory, ...SCRIPT_DEPTH_FROM_ROOT);
|
|
332
377
|
}
|
|
333
378
|
function read_running_version(self_directory) {
|
|
334
379
|
const package_path = resolve_self_package_path(self_directory);
|
|
335
|
-
if (!
|
|
380
|
+
if (!existsSync(package_path)) return void 0;
|
|
336
381
|
const parsed = package_version_schema.safeParse(
|
|
337
|
-
json_value.parse_or_undefined(
|
|
382
|
+
json_value.parse_or_undefined(readFileSync4(package_path, "utf8"))
|
|
338
383
|
);
|
|
339
384
|
return parsed.success ? parsed.data.version : void 0;
|
|
340
385
|
}
|
|
@@ -764,20 +809,20 @@ function parse_status_line(output) {
|
|
|
764
809
|
function status_of_failure(error) {
|
|
765
810
|
return has_stdout_field(error) ? parse_status_line(error.stdout) : void 0;
|
|
766
811
|
}
|
|
767
|
-
async function exec_gh_api_status(
|
|
812
|
+
async function exec_gh_api_status(path7, timeout_ms) {
|
|
768
813
|
const options = to_spawn_options(timeout_ms);
|
|
769
814
|
try {
|
|
770
815
|
await check_gh_installed();
|
|
771
|
-
const { stdout } = await execa2("gh", ["api", "--include", "--silent",
|
|
816
|
+
const { stdout } = await execa2("gh", ["api", "--include", "--silent", path7], options);
|
|
772
817
|
return parse_status_line(stdout);
|
|
773
818
|
} catch (error) {
|
|
774
819
|
return status_of_failure(error);
|
|
775
820
|
}
|
|
776
821
|
}
|
|
777
|
-
function exec_gh_api_status_sync(
|
|
822
|
+
function exec_gh_api_status_sync(path7, timeout_ms) {
|
|
778
823
|
const options = to_spawn_options(timeout_ms);
|
|
779
824
|
try {
|
|
780
|
-
const { stdout } = execaSync("gh", ["api", "--include", "--silent",
|
|
825
|
+
const { stdout } = execaSync("gh", ["api", "--include", "--silent", path7], options);
|
|
781
826
|
return parse_status_line(stdout);
|
|
782
827
|
} catch (error) {
|
|
783
828
|
return status_of_failure(error);
|
|
@@ -846,328 +891,21 @@ var git_gh_exec = {
|
|
|
846
891
|
parse_status_line
|
|
847
892
|
};
|
|
848
893
|
|
|
849
|
-
// scripts/gh/fix-gh-packages-logic.ts
|
|
850
|
-
import { loadAll as loadAll2 } from "js-yaml";
|
|
851
|
-
import { z as z4 } from "zod";
|
|
852
|
-
var GH_PACKAGES_HOST = "npm.pkg.github.com";
|
|
853
|
-
var RESOLUTION_BLOCK = "\n resolution:\n";
|
|
854
|
-
var INTEGRITY_PREFIX = " integrity: ";
|
|
855
|
-
var TARBALL_PREFIX = " tarball: ";
|
|
856
|
-
var FLOW_RESOLUTION_LINE_START = "\n resolution: {";
|
|
857
|
-
var FLOW_TARBALL_KEY = ", tarball: ";
|
|
858
|
-
var NPMRC_AUTH_TOKEN_PREFIX = `//${GH_PACKAGES_HOST}/:_authToken=`;
|
|
859
|
-
var REGISTRY_KEY = ":registry=";
|
|
860
|
-
var lockfile_resolution_schema = z4.looseObject({
|
|
861
|
-
integrity: z4.string().optional(),
|
|
862
|
-
tarball: z4.string().optional()
|
|
863
|
-
});
|
|
864
|
-
var lockfile_package_schema = z4.looseObject({
|
|
865
|
-
resolution: lockfile_resolution_schema.optional()
|
|
866
|
-
});
|
|
867
|
-
var lockfile_document_schema = z4.looseObject({
|
|
868
|
-
packages: z4.record(z4.string(), lockfile_package_schema).optional()
|
|
869
|
-
});
|
|
870
|
-
function parse_lockfile_packages(raw) {
|
|
871
|
-
const merged = {};
|
|
872
|
-
for (const document of loadAll2(raw)) {
|
|
873
|
-
const { packages } = lockfile_document_schema.parse(document);
|
|
874
|
-
if (packages !== void 0) Object.assign(merged, packages);
|
|
875
|
-
}
|
|
876
|
-
return merged;
|
|
877
|
-
}
|
|
878
|
-
function extract_gh_registry_scope(line) {
|
|
879
|
-
const trimmed = line.trim();
|
|
880
|
-
if (!trimmed.startsWith("@")) return void 0;
|
|
881
|
-
const eq_index = trimmed.indexOf(REGISTRY_KEY);
|
|
882
|
-
if (eq_index === -1) return void 0;
|
|
883
|
-
const registry = trimmed.slice(eq_index + REGISTRY_KEY.length).trim().replace(/\/$/u, "");
|
|
884
|
-
if (registry !== `https://${GH_PACKAGES_HOST}`) return void 0;
|
|
885
|
-
return trimmed.slice(0, eq_index);
|
|
886
|
-
}
|
|
887
|
-
function parse_gh_scopes(npmrc) {
|
|
888
|
-
const scopes = /* @__PURE__ */ new Set();
|
|
889
|
-
for (const line of npmrc.split("\n")) {
|
|
890
|
-
const scope = extract_gh_registry_scope(line);
|
|
891
|
-
if (scope !== void 0) scopes.add(scope);
|
|
892
|
-
}
|
|
893
|
-
return scopes;
|
|
894
|
-
}
|
|
895
|
-
function extract_auth_token_from_line(line) {
|
|
896
|
-
const trimmed = line.trim();
|
|
897
|
-
if (!trimmed.startsWith(NPMRC_AUTH_TOKEN_PREFIX)) return void 0;
|
|
898
|
-
const value = trimmed.slice(NPMRC_AUTH_TOKEN_PREFIX.length);
|
|
899
|
-
if (value.startsWith("${") || value.length === 0) return void 0;
|
|
900
|
-
return value;
|
|
901
|
-
}
|
|
902
|
-
function parse_npmrc_auth_token(npmrc) {
|
|
903
|
-
for (const line of npmrc.split("\n")) {
|
|
904
|
-
const token = extract_auth_token_from_line(line);
|
|
905
|
-
if (token !== void 0) return token;
|
|
906
|
-
}
|
|
907
|
-
return void 0;
|
|
908
|
-
}
|
|
909
|
-
function scope_from_key(key) {
|
|
910
|
-
return key.startsWith("@") ? key.split("/", 1)[0] ?? "" : "";
|
|
911
|
-
}
|
|
912
|
-
function has_tarball(entry) {
|
|
913
|
-
return entry.resolution?.tarball !== void 0;
|
|
914
|
-
}
|
|
915
|
-
function package_path_from_key(key) {
|
|
916
|
-
const start = key.startsWith("@") ? 1 : 0;
|
|
917
|
-
const at_index = key.indexOf("@", start);
|
|
918
|
-
return at_index === -1 ? key : key.slice(0, at_index);
|
|
919
|
-
}
|
|
920
|
-
function package_version_from_key(key) {
|
|
921
|
-
const start = key.startsWith("@") ? 1 : 0;
|
|
922
|
-
const at_index = key.indexOf("@", start);
|
|
923
|
-
if (at_index === -1) return "";
|
|
924
|
-
return key.slice(at_index + 1).split("(", 1)[0] ?? "";
|
|
925
|
-
}
|
|
926
|
-
function should_fix_tarball(key, entry, scopes) {
|
|
927
|
-
if (has_tarball(entry)) return false;
|
|
928
|
-
const scope = scope_from_key(key);
|
|
929
|
-
return scope.length > 0 && scopes.has(scope);
|
|
930
|
-
}
|
|
931
|
-
function find_entry_start(content, package_key) {
|
|
932
|
-
const single = content.indexOf(`
|
|
933
|
-
'${package_key}':
|
|
934
|
-
`);
|
|
935
|
-
if (single !== -1) return single;
|
|
936
|
-
return content.indexOf(`
|
|
937
|
-
"${package_key}":
|
|
938
|
-
`);
|
|
939
|
-
}
|
|
940
|
-
function find_entry_end(content, entry_start) {
|
|
941
|
-
const next_match = /\n {2}['"]/u.exec(content.slice(entry_start + 1));
|
|
942
|
-
return next_match === null ? content.length : entry_start + 1 + next_match.index;
|
|
943
|
-
}
|
|
944
|
-
function find_integrity_eol_in_entry(entry_content) {
|
|
945
|
-
const resolution_pos = entry_content.indexOf(RESOLUTION_BLOCK);
|
|
946
|
-
if (resolution_pos === -1) return -1;
|
|
947
|
-
const integrity_pos = entry_content.indexOf(INTEGRITY_PREFIX, resolution_pos);
|
|
948
|
-
if (integrity_pos === -1) return -1;
|
|
949
|
-
return entry_content.indexOf("\n", integrity_pos);
|
|
950
|
-
}
|
|
951
|
-
function find_flow_resolution_brace(entry_content) {
|
|
952
|
-
const pos = entry_content.indexOf(FLOW_RESOLUTION_LINE_START);
|
|
953
|
-
if (pos === -1) return -1;
|
|
954
|
-
const line_end = entry_content.indexOf("\n", pos + 1);
|
|
955
|
-
const search_end = line_end === -1 ? entry_content.length : line_end;
|
|
956
|
-
const brace = entry_content.lastIndexOf("}", search_end);
|
|
957
|
-
if (brace <= pos) return -1;
|
|
958
|
-
return brace;
|
|
959
|
-
}
|
|
960
|
-
function insert_expanded_tarball(content, entry_start, entry_end, tarball) {
|
|
961
|
-
const entry_content = content.slice(entry_start, entry_end);
|
|
962
|
-
const integrity_eol = find_integrity_eol_in_entry(entry_content);
|
|
963
|
-
if (integrity_eol === -1) return void 0;
|
|
964
|
-
if (entry_content.slice(integrity_eol + 1).startsWith(TARBALL_PREFIX)) return content;
|
|
965
|
-
const patched = `${entry_content.slice(0, integrity_eol + 1)}${TARBALL_PREFIX}${tarball}
|
|
966
|
-
${entry_content.slice(integrity_eol + 1)}`;
|
|
967
|
-
return content.slice(0, entry_start) + patched + content.slice(entry_end);
|
|
968
|
-
}
|
|
969
|
-
function insert_flow_tarball(content, entry_start, entry_end, tarball) {
|
|
970
|
-
const entry_content = content.slice(entry_start, entry_end);
|
|
971
|
-
const brace_pos = find_flow_resolution_brace(entry_content);
|
|
972
|
-
if (brace_pos === -1) return void 0;
|
|
973
|
-
const open_brace = entry_content.lastIndexOf("{", brace_pos);
|
|
974
|
-
if (open_brace === -1) return void 0;
|
|
975
|
-
const flow_body = entry_content.slice(open_brace + 1, brace_pos);
|
|
976
|
-
if (/\btarball\s*:/u.test(flow_body)) return content;
|
|
977
|
-
const patched = `${entry_content.slice(0, brace_pos)}${FLOW_TARBALL_KEY}${tarball}${entry_content.slice(brace_pos)}`;
|
|
978
|
-
return content.slice(0, entry_start) + patched + content.slice(entry_end);
|
|
979
|
-
}
|
|
980
|
-
function insert_tarball_for_key(content, package_key, tarball) {
|
|
981
|
-
const entry_start = find_entry_start(content, package_key);
|
|
982
|
-
if (entry_start === -1) return content;
|
|
983
|
-
const entry_end = find_entry_end(content, entry_start);
|
|
984
|
-
return insert_expanded_tarball(content, entry_start, entry_end, tarball) ?? insert_flow_tarball(content, entry_start, entry_end, tarball) ?? content;
|
|
985
|
-
}
|
|
986
|
-
function patch_lockfile(content, patches) {
|
|
987
|
-
let result = content;
|
|
988
|
-
for (const [key, tarball] of patches) {
|
|
989
|
-
result = insert_tarball_for_key(result, key, tarball);
|
|
990
|
-
}
|
|
991
|
-
return result;
|
|
992
|
-
}
|
|
993
|
-
function resolve_token(environment_token, npmrc_token, get_fallback_token) {
|
|
994
|
-
if (environment_token !== void 0 && environment_token.length > 0) return environment_token;
|
|
995
|
-
if (npmrc_token !== void 0) return npmrc_token;
|
|
996
|
-
return get_fallback_token();
|
|
997
|
-
}
|
|
998
|
-
var fix_gh_packages_logic = {
|
|
999
|
-
parse_gh_scopes,
|
|
1000
|
-
parse_npmrc_auth_token,
|
|
1001
|
-
parse_lockfile_packages,
|
|
1002
|
-
package_path_from_key,
|
|
1003
|
-
package_version_from_key,
|
|
1004
|
-
needs_tarball_fix: should_fix_tarball,
|
|
1005
|
-
insert_tarball_for_key,
|
|
1006
|
-
patch_lockfile,
|
|
1007
|
-
resolve_token
|
|
1008
|
-
};
|
|
1009
|
-
|
|
1010
|
-
// scripts/registry-migration/migrate-logic.ts
|
|
1011
|
-
var SCOPE = "@joshuafolkken";
|
|
1012
|
-
var REGISTRY_KEY2 = `${SCOPE}:registry`;
|
|
1013
|
-
var PUBLIC_REGISTRY = "https://registry.npmjs.org/";
|
|
1014
|
-
var GITHUB_REGISTRY = "https://npm.pkg.github.com/";
|
|
1015
|
-
var MAPPING = `${REGISTRY_KEY2}=${PUBLIC_REGISTRY}`;
|
|
1016
|
-
var REGISTRY_VALUE_INDEX = 1;
|
|
1017
|
-
var SPLIT_LIMIT = 2;
|
|
1018
|
-
function normalized_registry(value) {
|
|
1019
|
-
let normalized = value.trim();
|
|
1020
|
-
while (normalized.endsWith("/")) normalized = normalized.slice(0, -1);
|
|
1021
|
-
return `${normalized}/`;
|
|
1022
|
-
}
|
|
1023
|
-
function mapping_lines(content) {
|
|
1024
|
-
return content.split(/\r?\n/u).filter((line) => line.trimStart().startsWith(`${REGISTRY_KEY2}=`));
|
|
1025
|
-
}
|
|
1026
|
-
function registry_of(content) {
|
|
1027
|
-
const lines = mapping_lines(content);
|
|
1028
|
-
if (lines.length !== 1) return void 0;
|
|
1029
|
-
return normalized_registry(lines[0]?.split("=", SPLIT_LIMIT)[REGISTRY_VALUE_INDEX] ?? "");
|
|
1030
|
-
}
|
|
1031
|
-
function scoped_packages(lockfile) {
|
|
1032
|
-
const packages = fix_gh_packages_logic.parse_lockfile_packages(lockfile);
|
|
1033
|
-
return Object.keys(packages).filter((key) => key.startsWith(`${SCOPE}/`)).map((key) => fix_gh_packages_logic.package_path_from_key(key)).filter((name, index, names) => names.indexOf(name) === index);
|
|
1034
|
-
}
|
|
1035
|
-
function scoped_versions(lockfile) {
|
|
1036
|
-
const packages = fix_gh_packages_logic.parse_lockfile_packages(lockfile);
|
|
1037
|
-
return Object.keys(packages).filter((key) => key.startsWith(`${SCOPE}/`)).map(
|
|
1038
|
-
(key) => [
|
|
1039
|
-
fix_gh_packages_logic.package_path_from_key(key),
|
|
1040
|
-
fix_gh_packages_logic.package_version_from_key(key)
|
|
1041
|
-
]
|
|
1042
|
-
);
|
|
1043
|
-
}
|
|
1044
|
-
function is_github_tarball(value) {
|
|
1045
|
-
try {
|
|
1046
|
-
const url = new URL(value);
|
|
1047
|
-
return url.protocol === "https:" && url.hostname === "npm.pkg.github.com";
|
|
1048
|
-
} catch {
|
|
1049
|
-
return false;
|
|
1050
|
-
}
|
|
1051
|
-
}
|
|
1052
|
-
function github_tarballs(lockfile) {
|
|
1053
|
-
const packages = fix_gh_packages_logic.parse_lockfile_packages(lockfile);
|
|
1054
|
-
return Object.entries(packages).filter(
|
|
1055
|
-
([key, entry]) => key.startsWith(`${SCOPE}/`) && entry.resolution?.tarball !== void 0 && is_github_tarball(entry.resolution.tarball)
|
|
1056
|
-
).map(([key]) => key);
|
|
1057
|
-
}
|
|
1058
|
-
function remove_flow_tarball(line) {
|
|
1059
|
-
const marker = ", tarball: https://npm.pkg.github.com/";
|
|
1060
|
-
const start = line.indexOf(marker);
|
|
1061
|
-
if (start === -1) return line;
|
|
1062
|
-
const end = line.indexOf("}", start);
|
|
1063
|
-
if (end === -1) return line;
|
|
1064
|
-
return `${line.slice(0, start)}${line.slice(end)}`;
|
|
1065
|
-
}
|
|
1066
|
-
function is_package_entry(line) {
|
|
1067
|
-
return /^ {2}[^ ]/u.test(line);
|
|
1068
|
-
}
|
|
1069
|
-
function is_github_tarball_line(line) {
|
|
1070
|
-
return line.trimStart().startsWith("tarball: https://npm.pkg.github.com/");
|
|
1071
|
-
}
|
|
1072
|
-
function package_id(key) {
|
|
1073
|
-
const name = fix_gh_packages_logic.package_path_from_key(key);
|
|
1074
|
-
return `${name}@${fix_gh_packages_logic.package_version_from_key(key)}`;
|
|
1075
|
-
}
|
|
1076
|
-
function clean_scoped_line(line, id, integrities) {
|
|
1077
|
-
if (!id) return line;
|
|
1078
|
-
if (is_github_tarball_line(line)) return void 0;
|
|
1079
|
-
const cleaned = remove_flow_tarball(line);
|
|
1080
|
-
const pair = integrities.get(id);
|
|
1081
|
-
if (pair === void 0) return cleaned;
|
|
1082
|
-
return cleaned.split(`integrity: ${pair[0]}`).join(`integrity: ${pair[1]}`);
|
|
1083
|
-
}
|
|
1084
|
-
function next_scoped_id(line, id) {
|
|
1085
|
-
if (!is_package_entry(line)) return id;
|
|
1086
|
-
const prefix = ` '${SCOPE}/`;
|
|
1087
|
-
if (!line.startsWith(prefix)) return "";
|
|
1088
|
-
return package_id(line.slice(" '".length).split("'", 1)[0] ?? "");
|
|
1089
|
-
}
|
|
1090
|
-
function integrity_pair(old_integrity, npm_integrity) {
|
|
1091
|
-
if (old_integrity === void 0 || npm_integrity === void 0) return void 0;
|
|
1092
|
-
return [old_integrity, npm_integrity];
|
|
1093
|
-
}
|
|
1094
|
-
function lock_integrities(lockfile, npm_integrities) {
|
|
1095
|
-
const packages = fix_gh_packages_logic.parse_lockfile_packages(lockfile);
|
|
1096
|
-
const pairs = /* @__PURE__ */ new Map();
|
|
1097
|
-
const scoped_entries = Object.entries(packages).filter(([key]) => key.startsWith(`${SCOPE}/`));
|
|
1098
|
-
for (const [key, entry] of scoped_entries) {
|
|
1099
|
-
const id = package_id(key);
|
|
1100
|
-
const pair = integrity_pair(entry.resolution?.integrity, npm_integrities.get(id));
|
|
1101
|
-
if (pair !== void 0) pairs.set(id, pair);
|
|
1102
|
-
}
|
|
1103
|
-
return pairs;
|
|
1104
|
-
}
|
|
1105
|
-
function push_if_defined(lines, cleaned) {
|
|
1106
|
-
if (cleaned !== void 0) lines.push(cleaned);
|
|
1107
|
-
}
|
|
1108
|
-
function rewrite_scoped_lockfile(lockfile, npm_integrities) {
|
|
1109
|
-
let id = "";
|
|
1110
|
-
const lines = [];
|
|
1111
|
-
const integrities = lock_integrities(lockfile, npm_integrities);
|
|
1112
|
-
for (const line of lockfile.split("\n")) {
|
|
1113
|
-
id = next_scoped_id(line, id);
|
|
1114
|
-
const cleaned = clean_scoped_line(line, id, integrities);
|
|
1115
|
-
push_if_defined(lines, cleaned);
|
|
1116
|
-
}
|
|
1117
|
-
return lines.join("\n");
|
|
1118
|
-
}
|
|
1119
|
-
function append_mapping(content, eol) {
|
|
1120
|
-
const separator = content && !content.endsWith("\n") ? eol : "";
|
|
1121
|
-
return `${content}${separator}${MAPPING}${eol}`;
|
|
1122
|
-
}
|
|
1123
|
-
function replace_mapping(content) {
|
|
1124
|
-
const lines = mapping_lines(content);
|
|
1125
|
-
const eol = content.includes("\r\n") ? "\r\n" : "\n";
|
|
1126
|
-
if (lines.length === 0) return append_mapping(content, eol);
|
|
1127
|
-
return content.split(/\r?\n/u).map((line) => line === lines[0] ? MAPPING : line).join(eol);
|
|
1128
|
-
}
|
|
1129
|
-
function unsupported_registry(project_npmrc) {
|
|
1130
|
-
const registry = registry_of(project_npmrc);
|
|
1131
|
-
if (registry === void 0 || [GITHUB_REGISTRY, PUBLIC_REGISTRY].includes(registry)) {
|
|
1132
|
-
return void 0;
|
|
1133
|
-
}
|
|
1134
|
-
return `unsupported project registry: ${registry}`;
|
|
1135
|
-
}
|
|
1136
|
-
function has_duplicate_mapping(project_npmrc, user_npmrc) {
|
|
1137
|
-
return mapping_lines(project_npmrc).length > 1 || mapping_lines(user_npmrc).length > 1;
|
|
1138
|
-
}
|
|
1139
|
-
function previous_registry(project_npmrc, user_npmrc) {
|
|
1140
|
-
return registry_of(project_npmrc) ?? registry_of(user_npmrc) ?? "default npm";
|
|
1141
|
-
}
|
|
1142
|
-
function plan(project_npmrc, user_npmrc, lockfile) {
|
|
1143
|
-
const packages = scoped_packages(lockfile);
|
|
1144
|
-
const blocked = [];
|
|
1145
|
-
if (has_duplicate_mapping(project_npmrc, user_npmrc)) blocked.push("duplicate registry mappings");
|
|
1146
|
-
const unsupported = unsupported_registry(project_npmrc);
|
|
1147
|
-
if (unsupported !== void 0) blocked.push(unsupported);
|
|
1148
|
-
const before = previous_registry(project_npmrc, user_npmrc);
|
|
1149
|
-
const change = `${before} \u2192 ${PUBLIC_REGISTRY}`;
|
|
1150
|
-
return { content: replace_mapping(project_npmrc), packages, blocked, change };
|
|
1151
|
-
}
|
|
1152
|
-
var migrate_logic = {
|
|
1153
|
-
plan,
|
|
1154
|
-
github_tarballs,
|
|
1155
|
-
is_github_tarball,
|
|
1156
|
-
rewrite_scoped_lockfile,
|
|
1157
|
-
scoped_versions
|
|
1158
|
-
};
|
|
1159
|
-
|
|
1160
894
|
// scripts/version/npm-registry.ts
|
|
1161
895
|
import { execaSync as execaSync2 } from "execa";
|
|
1162
896
|
import semver3 from "semver";
|
|
1163
|
-
import { z as
|
|
1164
|
-
var
|
|
897
|
+
import { z as z4 } from "zod";
|
|
898
|
+
var PUBLIC_REGISTRY = "https://registry.npmjs.org";
|
|
1165
899
|
var ABBREVIATED_ACCEPT = "application/vnd.npm.install-v1+json";
|
|
1166
900
|
var FULL_ACCEPT = "application/json";
|
|
1167
901
|
var SCOPE_SEPARATOR = "/";
|
|
1168
902
|
var ENCODED_SCOPE_SEPARATOR = "%2f";
|
|
1169
903
|
var SCOPE_PATTERN = /^@[^/]+(?=\/)/u;
|
|
1170
904
|
var SCOPE_REGISTRY_SUFFIX = ":registry";
|
|
905
|
+
var GITHUB_REGISTRY_HOST = "npm.pkg.github.com";
|
|
906
|
+
var PNPM = "pnpm";
|
|
907
|
+
var JSON_FLAG = "--json";
|
|
908
|
+
var FAILURE_EXIT_CODE = 1;
|
|
1171
909
|
var github_scopes = /* @__PURE__ */ new Map();
|
|
1172
910
|
var FETCH_SCRIPT = [
|
|
1173
911
|
"const [url, accept] = process.argv.slice(1)",
|
|
@@ -1175,11 +913,11 @@ var FETCH_SCRIPT = [
|
|
|
1175
913
|
"if (!response.ok) process.exit(1)",
|
|
1176
914
|
"process.stdout.write(await response.text())"
|
|
1177
915
|
].join("\n");
|
|
1178
|
-
var version_schema =
|
|
1179
|
-
var latest_schema =
|
|
1180
|
-
var times_schema =
|
|
916
|
+
var version_schema = z4.string().refine((value) => semver3.valid(value) === value);
|
|
917
|
+
var latest_schema = z4.looseObject({ "dist-tags": z4.looseObject({ latest: version_schema }) });
|
|
918
|
+
var times_schema = z4.looseObject({ time: release_age.release_times_schema });
|
|
1181
919
|
function packument_url(package_name) {
|
|
1182
|
-
return `${
|
|
920
|
+
return `${PUBLIC_REGISTRY}/${package_name.replace(SCOPE_SEPARATOR, () => ENCODED_SCOPE_SEPARATOR)}`;
|
|
1183
921
|
}
|
|
1184
922
|
function read_packument(package_name, accept) {
|
|
1185
923
|
const result = execaSync2(
|
|
@@ -1190,14 +928,22 @@ function read_packument(package_name, accept) {
|
|
|
1190
928
|
if (result.exitCode !== 0) return void 0;
|
|
1191
929
|
return json_value.parse_or_undefined(result.stdout);
|
|
1192
930
|
}
|
|
931
|
+
function is_github_registry(value) {
|
|
932
|
+
try {
|
|
933
|
+
const url = new URL(value);
|
|
934
|
+
return url.protocol === "https:" && url.hostname === GITHUB_REGISTRY_HOST;
|
|
935
|
+
} catch {
|
|
936
|
+
return false;
|
|
937
|
+
}
|
|
938
|
+
}
|
|
1193
939
|
function is_github_scope(scope) {
|
|
1194
940
|
const is_cached_github = github_scopes.get(scope);
|
|
1195
941
|
if (is_cached_github !== void 0) return is_cached_github;
|
|
1196
|
-
const result = execaSync2(
|
|
942
|
+
const result = execaSync2(PNPM, ["config", "get", `${scope}${SCOPE_REGISTRY_SUFFIX}`], {
|
|
1197
943
|
reject: false,
|
|
1198
944
|
timeout: FETCH_TIMEOUT_MS
|
|
1199
945
|
});
|
|
1200
|
-
const is_github = result.exitCode === 0 &&
|
|
946
|
+
const is_github = result.exitCode === 0 && is_github_registry(result.stdout.trim());
|
|
1201
947
|
github_scopes.set(scope, is_github);
|
|
1202
948
|
return is_github;
|
|
1203
949
|
}
|
|
@@ -1219,6 +965,14 @@ function has_public_version(package_name, version) {
|
|
|
1219
965
|
const parsed = times_schema.safeParse(read_packument(package_name, FULL_ACCEPT));
|
|
1220
966
|
return parsed.success && parsed.data.time[version] !== void 0;
|
|
1221
967
|
}
|
|
968
|
+
function view(spec, field, format = "text") {
|
|
969
|
+
const format_arguments = format === "json" ? [JSON_FLAG] : [];
|
|
970
|
+
const result = execaSync2(PNPM, ["view", spec, field, ...format_arguments], {
|
|
971
|
+
reject: false,
|
|
972
|
+
timeout: COMMAND_TIMEOUT_MS
|
|
973
|
+
});
|
|
974
|
+
return { exit_code: result.exitCode ?? FAILURE_EXIT_CODE, stdout: result.stdout };
|
|
975
|
+
}
|
|
1222
976
|
function valid_version(value) {
|
|
1223
977
|
return version_schema.safeParse(value).success ? value : void 0;
|
|
1224
978
|
}
|
|
@@ -1227,7 +981,8 @@ var npm_registry = {
|
|
|
1227
981
|
packument_url,
|
|
1228
982
|
read_latest,
|
|
1229
983
|
read_release_times,
|
|
1230
|
-
valid_version
|
|
984
|
+
valid_version,
|
|
985
|
+
view
|
|
1231
986
|
};
|
|
1232
987
|
|
|
1233
988
|
// scripts/version/version-remote.ts
|
|
@@ -1284,38 +1039,9 @@ function fetch_release_times(versions_endpoint, package_name) {
|
|
|
1284
1039
|
}
|
|
1285
1040
|
|
|
1286
1041
|
// scripts/version/version-targets.ts
|
|
1287
|
-
import
|
|
1288
|
-
|
|
1289
|
-
// scripts/lib/read-file.ts
|
|
1290
|
-
import { readFileSync as readFileSync4 } from "node:fs";
|
|
1291
|
-
var ABSENT_CODE = "ENOENT";
|
|
1292
|
-
function is_absent(error) {
|
|
1293
|
-
return error instanceof Error && "code" in error && error.code === ABSENT_CODE;
|
|
1294
|
-
}
|
|
1295
|
-
function read_optional(path6) {
|
|
1296
|
-
try {
|
|
1297
|
-
return readFileSync4(path6, "utf8");
|
|
1298
|
-
} catch (error) {
|
|
1299
|
-
if (is_absent(error)) return void 0;
|
|
1300
|
-
throw error;
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
function read_file_or_empty(path6) {
|
|
1304
|
-
return read_optional(path6) ?? "";
|
|
1305
|
-
}
|
|
1306
|
-
function read_if_readable(path6) {
|
|
1307
|
-
try {
|
|
1308
|
-
return readFileSync4(path6, "utf8");
|
|
1309
|
-
} catch {
|
|
1310
|
-
return void 0;
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
var file_reader = { read_optional, read_file_or_empty, read_if_readable };
|
|
1314
|
-
|
|
1315
|
-
// scripts/version/version-targets.ts
|
|
1042
|
+
import path6 from "node:path";
|
|
1316
1043
|
import { execaSync as execaSync3 } from "execa";
|
|
1317
1044
|
var NODE_MODULES2 = "node_modules";
|
|
1318
|
-
var PACKAGE_JSON3 = "package.json";
|
|
1319
1045
|
function build_pnpm_ls_arguments(package_name) {
|
|
1320
1046
|
return ["ls", "-g", "--json", package_name];
|
|
1321
1047
|
}
|
|
@@ -1324,44 +1050,27 @@ function parse_global_version(stdout, package_name) {
|
|
|
1324
1050
|
if (!parsed.success) return void 0;
|
|
1325
1051
|
return parsed.data[0]?.dependencies?.[package_name]?.version;
|
|
1326
1052
|
}
|
|
1327
|
-
function parse_project_version(raw) {
|
|
1328
|
-
if (raw === void 0) return void 0;
|
|
1329
|
-
const parsed = package_version_schema.safeParse(json_value.parse_or_undefined(raw));
|
|
1330
|
-
return parsed.success ? parsed.data.version : void 0;
|
|
1331
|
-
}
|
|
1332
1053
|
function read_global_version(package_name) {
|
|
1333
1054
|
const result = execaSync3("pnpm", build_pnpm_ls_arguments(package_name), { reject: false });
|
|
1334
1055
|
return parse_global_version(result.stdout, package_name);
|
|
1335
1056
|
}
|
|
1336
|
-
function project_package_path(cwd, package_name) {
|
|
1337
|
-
return path5.join(cwd, NODE_MODULES2, package_name, PACKAGE_JSON3);
|
|
1338
|
-
}
|
|
1339
1057
|
function read_project_version(cwd, package_name) {
|
|
1340
|
-
const
|
|
1341
|
-
|
|
1342
|
-
return parse_project_version(raw);
|
|
1058
|
+
const package_directory = path6.join(cwd, NODE_MODULES2, package_name);
|
|
1059
|
+
return package_manifest.read_manifest_if_valid(package_directory, package_version_schema)?.version;
|
|
1343
1060
|
}
|
|
1344
1061
|
function read_workspace_version(cwd) {
|
|
1345
|
-
|
|
1346
|
-
const raw = file_reader.read_optional(package_path);
|
|
1347
|
-
return parse_project_version(raw);
|
|
1062
|
+
return package_manifest.read_manifest_if_valid(cwd, package_version_schema)?.version;
|
|
1348
1063
|
}
|
|
1349
1064
|
var version_targets = {
|
|
1350
1065
|
build_pnpm_ls_arguments,
|
|
1351
1066
|
parse_global_version,
|
|
1352
|
-
parse_project_version,
|
|
1353
1067
|
read_global_version,
|
|
1354
1068
|
read_project_version,
|
|
1355
|
-
|
|
1356
|
-
read_workspace_version,
|
|
1357
|
-
// The manifest's filename. Exported rather than re-declared in each of `josh release`'s two
|
|
1358
|
-
// halves: the module that already owns "where the project's manifest is"
|
|
1359
|
-
// is where the name belongs.
|
|
1360
|
-
PACKAGE_JSON: PACKAGE_JSON3
|
|
1069
|
+
read_workspace_version
|
|
1361
1070
|
};
|
|
1362
1071
|
|
|
1363
1072
|
// scripts/version/version-commands.ts
|
|
1364
|
-
var
|
|
1073
|
+
var FAILURE_EXIT_CODE2 = 1;
|
|
1365
1074
|
var ALREADY_UP_TO_DATE = "Already up to date";
|
|
1366
1075
|
var NO_QUARANTINE_MINUTES2 = 0;
|
|
1367
1076
|
function read_release_hold(package_config, latest, versions) {
|
|
@@ -1455,7 +1164,7 @@ function run_upgrade_step(step) {
|
|
|
1455
1164
|
reject: false,
|
|
1456
1165
|
timeout: INSTALL_TIMEOUT_MS
|
|
1457
1166
|
});
|
|
1458
|
-
return result.exitCode ??
|
|
1167
|
+
return result.exitCode ?? FAILURE_EXIT_CODE2;
|
|
1459
1168
|
}
|
|
1460
1169
|
function run_upgrade_command(command) {
|
|
1461
1170
|
for (const step of command.steps) {
|