Skip to content

chore(workspace): remove orphan lockfiles + add vault#20

Merged
jamestexas merged 2 commits into
mainfrom
chore/lockfile-cleanup-vault-workspace
May 18, 2026
Merged

chore(workspace): remove orphan lockfiles + add vault#20
jamestexas merged 2 commits into
mainfrom
chore/lockfile-cleanup-vault-workspace

Conversation

@jamestexas
Copy link
Copy Markdown
Contributor

Summary

Follow-up to merged #18 (workspace adoption of @notme/contract) and #19 (vault re-incorporation). Reviewers of both PRs independently flagged the same cluster — one small PR addresses everything.

Tracking bead: rosary-546e83.

Changes

Test plan

  • pnpm install --frozen-lockfile — clean (5 workspace projects: action, packages/contract, vault, worker, root)
  • cd worker && pnpm test — 425 passed | 6 todo (431 total)
  • cd vault && pnpm exec vitest run — 134 passed (7 test files)
  • CI green (the workflow change is the load-bearing one to validate in CI itself)

Reviewer context

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR cleans up pnpm workspace plumbing after the repo’s workspace adoption by removing unused per-package lockfiles, fixing CI’s pnpm cache key to use the root lockfile, and ensuring vault/ is actually part of the workspace so @notme/vault can resolve as a workspace dependency.

Changes:

  • Deleted orphan worker/pnpm-lock.yaml and action/pnpm-lock.yaml and removed their stale allowlist entries from .gitignore.
  • Updated GitHub Actions pnpm caching to hash pnpm-lock.yaml (root) instead of the removed worker/pnpm-lock.yaml.
  • Added vault to pnpm-workspace.yaml and regenerated pnpm-lock.yaml to include vault as an importer.

Reviewed changes

Copilot reviewed 2 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
worker/pnpm-lock.yaml Removed unused package-level lockfile now superseded by the root workspace lockfile.
action/pnpm-lock.yaml Removed unused package-level lockfile now superseded by the root workspace lockfile.
.gitignore Dropped stale allowlist entries for deleted lockfiles.
.github/workflows/ci.yml Fixed pnpm cache dependency path to use the root lockfile.
pnpm-workspace.yaml Added vault to workspace packages so @notme/vault resolves via workspace.
pnpm-lock.yaml Regenerated lockfile to add vault to the importers map.
Files not reviewed (3)
  • action/pnpm-lock.yaml: Language not supported
  • pnpm-lock.yaml: Language not supported
  • worker/pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jamestexas
Copy link
Copy Markdown
Contributor Author

Copilot summary acknowledged — no action items, summary matches the changeset. Ready for human review + merge.

jamestexas added a commit that referenced this pull request May 18, 2026
…y::collapsible_match)

The outer 'contains("..")' check was strictly redundant — the inner
's == ".."' check (the only one that returned) implies it. Collapse
the pair into a match guard. No behavior change; UDS paths containing
'..' as a substring (e.g. 'foo..bar.sock') are still permitted, only
exact '..' components reject.

CI for the whole repo couldn't pass while this lint was hot under
-D warnings. Unblocks PRs #20/#21/#22 once #23 merges and they rebase.
jamestexas added a commit that referenced this pull request May 18, 2026
* chore(deps): comprehensive workspace dep update sweep

Workspace-wide dependency update sweep across root + action + worker.
Clears all 6 pnpm audit advisories (was 2 high / 4 moderate).

| Workspace | Package                          | From         | To           |
|-----------|----------------------------------|--------------|--------------|
| root      | @vitest/coverage-v8              | ^4.1.2       | ^4.1.6       |
| root      | tsx                              | ^4.21.0      | ^4.22.2      |
| root      | zod                              | ^4.3.6       | ^4.4.3       |
| root      | pnpm.overrides undici            | —            | <6.24.0 → ^6.24.0 |
| root      | pnpm.overrides ws                | —            | <8.20.1 → ^8.20.1 |
| action    | @types/node                      | ^25.5.0      | ^25.9.0      |
| action    | esbuild                          | ^0.25.0      | ^0.25.12     |
| action    | typescript                       | ^5.8.0       | ^5.9.3       |
| worker    | @cloudflare/workers-types        | ^4.20260329.1| ^4.20260518.1|
| worker    | @cloudflare/vitest-pool-workers  | ^0.13.5      | 0.13.5 (PIN) |
| worker    | @playwright/test                 | ^1.59.1      | ^1.60.0      |
| worker    | @types/node                      | ^25.6.0      | ^25.9.0      |
| worker    | prettier                         | ^3.8.1       | ^3.8.3       |
| worker    | vitest                           | ^4.1.2       | ^4.1.6       |
| worker    | wrangler                         | ^4.78.0      | ^4.92.0      |
| worker    | zod                              | ^3.25.0      | ^4.4.3       |
| worker    | oslo                             | ^1.2.1       | REMOVED      |

Notable:
- wrangler 4.78 → 4.92: aligns with notme.bot PR #2 baseline; Node 22 runtime
- zod 3 → 4 in worker: only one file (gha-oidc.ts) uses zod; uses safeParse +
  .error.message which are stable across v3/v4. Aligns with root manifest
  (was already ^4.3.6 there).
- oslo removed: deprecated meta-package; zero imports in src/. Worker already
  uses the successor @oslojs/crypto + @oslojs/encoding directly.
- @cloudflare/vitest-pool-workers pinned to exact 0.13.5 (no caret): per
  rosary-8ae6ab, 0.13.5 has the CF API 10375 issue; we don't yet know if 0.14+
  fixes it. Pin makes the constraint explicit.
- pnpm.overrides force undici≥6.24.0 and ws≥8.20.1: clears all 5 undici
  advisories (transitive via @actions/http-client v2) and the ws advisory
  (transitive via miniflare). Avoids taking the @actions/* major bumps
  (4.0 is ESM-only — separate refactor).

Deferred (need code change or evidence — separate beads):
- @actions/core 1 → 3 / @actions/http-client 2 → 4: ESM-only migration;
  action is currently bundled via esbuild but the ESM-only constraint is a
  real refactor. Advisories handled via pnpm.overrides instead.
- @peculiar/x509 1 → 2: security-sensitive cert API surface; cert-authority.ts
  + signing-authority.ts need careful review of v2's extension/generator API.
- typescript 5 → 6 (action): major TS bump warrants its own pass across the
  workspace, not bundled in deps sweep.
- esbuild 0.25 → 0.28 (action): 0.x bumps frequently change defaults; aligned
  worker is already at 0.28 — leaving action at 0.25 line for now to avoid
  bundling-flag drift.

Test status:
- worker: 425 passed | 6 todo (28 files) — matches baseline
- task worker:check: typecheck + tests both green
- task schema:check: green
- action: pnpm build green, dist/index.js rebuilt and node --check clean
- pnpm audit: 0 advisories (was 2 high / 4 moderate)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* ci: trigger run after Actions re-enabled

* fix(proxy): collapse redundant nested if in UDS path validator (clippy::collapsible_match)

The outer 'contains("..")' check was strictly redundant — the inner
's == ".."' check (the only one that returned) implies it. Collapse
the pair into a match guard. No behavior change; UDS paths containing
'..' as a substring (e.g. 'foo..bar.sock') are still permitted, only
exact '..' components reject.

CI for the whole repo couldn't pass while this lint was hot under
-D warnings. Unblocks PRs #20/#21/#22 once #23 merges and they rebase.

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
… to workspace

- Delete worker/pnpm-lock.yaml + action/pnpm-lock.yaml (workspace root owns the lockfile post-#18)
- .gitignore: drop dead `!*/pnpm-lock.yaml` allowlist entries
- .github/workflows/ci.yml: cache-dependency-path -> root pnpm-lock.yaml (was silently hashing a dead file)
- pnpm-workspace.yaml: add vault (re-incorporated in #19, now @notme/vault)

Reviewers of #18 + #19 flagged these as immediate follow-ups.
@jamestexas jamestexas force-pushed the chore/lockfile-cleanup-vault-workspace branch from b4a7af8 to bd49f1e Compare May 18, 2026 20:27
@jamestexas jamestexas merged commit 3ee9292 into main May 18, 2026
3 checks passed
@jamestexas jamestexas deleted the chore/lockfile-cleanup-vault-workspace branch May 18, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants