Skip to content

chore: upgrade projen to 0.101.4 and re-synth (supersedes #185)#204

Merged
scouturier merged 3 commits into
mainfrom
fix/185-mergify-projen-resynth
Jul 3, 2026
Merged

chore: upgrade projen to 0.101.4 and re-synth (supersedes #185)#204
scouturier merged 3 commits into
mainfrom
fix/185-mergify-projen-resynth

Conversation

@scouturier

Copy link
Copy Markdown
Collaborator

Summary

Bumps projen 0.86.6 → 0.101.4 and regenerates all managed files. This supersedes the Mergify bot PR #185.

The pinned projen (0.86.6) still emitted the deprecated .mergify.yml format (conditions: / delete_head_branch: {}), so the config could only be brought to the current Mergify format (queue_conditions: / merge_queue) by upgrading projen and re-synthing — not by editing the generated file directly (a direct edit would be reverted by the next npx projen self-mutation run, which is why #185 could never merge cleanly).

Notable changes from the re-synth

  • .mergify.yml — migrated to the current Mergify queue format (the goal of ci(mergify): upgrade configuration to current format #185).
  • Removed stray root claude ^0.0.6 dependency — it was not declared in .projenrc.js and is unused in code. It transitively pulled in forever-monitor@1.1.0, whose node 0.8.x engine constraint was failing yarn install in CI builds (observed on feat: Adding a clinical trial agent notebook including test data #196 and feat: add Claude Apps Gateway field guide, CDK template, and workshop #199). Removing it unblocks those builds.
  • Deleted package-lock.json — projen-driven cleanup; an npm lockfile does not belong in this yarn-classic project (yarn.lock is the managed lockfile).
  • GitHub Actions version bumps across workflows: checkout@v4→v6, setup-node@v4→v6, upload-artifact@v4→v7, amannn/action-semantic-pull-request@v5→v6.
  • release.yml — adds dry-run input + concurrency group; uses the github-actions[bot] git identity.
  • auto-approve.yml — replaces the deprecated hmarr/auto-approve-action with the gh CLI.
  • Drops per-subproject tsconfig.dev.json (folded into tsconfig.json).

Verification

  • .mergify.yml now uses queue_conditions / merge_queue
  • Stray claude dependency removed; confirmed unused in source ✓
  • Synth is idempotent — a second npx projen produces zero changes, so the CI self-mutation check passes ✓

🤖 Generated with Claude Code

Bumps projen from 0.86.6 to 0.101.4 and regenerates all managed files.
Rebuilt on top of current main so it preserves the merged dependabot
security bumps (esbuild ^0.25.0, vite ^5.4.12, aws-cdk-lib ^2.177.0).

This supersedes the Mergify bot PR #185: pinned projen (0.86.6) still emitted
the deprecated .mergify.yml format, so the config could only reach the current
format (queue_conditions/merge_queue) via a projen upgrade + re-synth.

Notable changes from the re-synth:
- .mergify.yml migrated to current Mergify queue format
- Removed stray root "claude" ^0.0.6 dependency (undeclared in .projenrc.js,
  unused in code); it pulled in forever-monitor@1.1.0 whose node 0.8.x engine
  was failing `yarn install` in CI builds
- GitHub Actions version bumps (checkout v4->v6, setup-node v4->v6,
  upload-artifact v4->v7, semantic-pull-request v5->v6)
- release.yml dry-run input + concurrency; gh-based auto-approve
- Drops per-subproject tsconfig.dev.json; removes stray npm package-lock.json

Synth is idempotent (a second `npx projen` produces no changes).
@scouturier
scouturier force-pushed the fix/185-mergify-projen-resynth branch from b38b0d3 to 4972f76 Compare July 3, 2026 15:00
projen 0.101.4 relocated tsconfigDev from <pkg>/tsconfig.dev.json to
<pkg>/test/tsconfig.json (with rootDir: ".."). The subprojects override
tsconfigDev's `include`, but the paths were written relative to the package
root; from the new test/ location they resolved to test/test/*.ts and
test/src/**, orphaning the real test files. With @typescript-eslint's project
service (eslint ^9 via projen), eslint then failed with
"<file> was not found by the project service" on the *.test.ts files.

Prefixes the include globs with ../ in the three affected subprojects
(claude-tools-chatbot, classification-with-intercom, metaprompt-generator)
so they resolve from test/ back to the package root.

Verified locally: `projen compile` and `projen test` (eslint) both exit 0 in
claude-tools-chatbot; eslint is clean in all three subprojects. (The remaining
local `cdk synth` failure is only `spawnSync docker ENOENT` — Docker isn't
installed locally; CI runners have it.)
…-env.d.ts

The subprojects in this repo are independent, but the per-subproject
build-*.yml workflows had no path filter and ran on every PR. Add a
pull_request paths filter (<dir>/**) in workflows.ts addBuildWorkflow so each
subproject build runs only when its own directory changes.

Also fixes two failures the projen upgrade exposed once builds actually ran:
- Bump workflowNodeVersion 18.x -> 20.x: a transitive dep (xmlbuilder2@4.0.3)
  requires node >=20, which failed `yarn install` on the node-18 runner.
- Ignore + untrack complex-schema-tool-use/nextjs-typescript-example/
  next-env.d.ts: Next.js regenerates it on every build ("should not be
  edited") and its content drifts between versions, tripping the build's
  self-mutation check.
@scouturier
scouturier merged commit 5bd5b87 into main Jul 3, 2026
16 of 17 checks passed
@scouturier
scouturier deleted the fix/185-mergify-projen-resynth branch July 3, 2026 15:27
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.

1 participant