Jason/extract local dev package#270
Conversation
…variable and building them into the url for our various portless hosted services
… settings modes, for e2e, so we have alternate between settings files
…ss-worktrees # Conflicts: # .snyk # pnpm-lock.yaml # pnpm-workspace.yaml
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
…y consumers of cellix
…sdom to happydom, and overall some code cleanliness changes
…eeded, and allowed more flexability for passing in of servers, gives user control of what they need. ensured api doesnt break across worktrees
There was a problem hiding this comment.
Sorry @jasonmorais, your pull request is larger than the review limit of 150000 diff characters
…al app specific settings
…igh finalize, and standaridzed server configs and made them object focused
…r' into jason/extract-local-dev-package # Conflicts: # packages/cellix/serenity-framework/src/servers/process-test-server.test.ts # packages/ocom-verification/e2e-tests/src/infrastructure.ts # packages/ocom-verification/e2e-tests/src/test-server-factories.ts
…al-dev-package Resolves conflicts from upstream's later API/blob-storage work and its own ProcessTestServer simplification (dropped isReusableExit/probe/extraEnv in favor of url:string + automatic worktree env injection from the local-dev runner, which supersedes the manual extraEnv wiring this branch had). Kept this branch's local-dev package extraction (CELLIX_WORKTREE toggle, .ts wrapper scripts) and picked up upstream's build/script and dependency updates (tsgo --noEmit step, turbo 2.9.18, grpc-js/snyk override cleanup). Regenerated pnpm-lock.yaml from the merged manifests rather than hand resolving its conflicts, and removed two pnpm catalog entries (tsx, @azure/storage-blob) that the merged dependency set left unused. Removed the now-dead scripts/local-dev/worktree-ports.mjs conflict since this branch already moved that logic into @cellix/local-dev and verification-shared. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e2e detection forwardChildExit unconditionally overwrote process.exitCode, masking an earlier non-zero failure when a wrapper script owns more than one child process. Extracted the azurite runner's setProcessExitCode guard into process/index.ts as a shared helper and reused it from both forwardChildExit and the azurite runner. isE2E was duplicated verbatim in vite/index.ts, azure-functions-local-settings.ts, and @ocom/local-dev-config's api-settings builder. Centralized it in a new env/index.ts module exported from @cellix/local-dev. Also documented WorktreeSettings' value-content URL scanning (vs. the key-based convertSettingsForWorktree) so consumers aren't surprised by a setting value that happens to contain an http(s)/mongodb URL getting rewritten. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@sourcery-ai review |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- There are now two distinct worktree transformation paths (
WorktreeSettingsscanning all settings vsconvertSettingsForWorktreeacting only on named keys); consider tightening the naming and documentation and adding guidance on when each should be used to avoid future misuse and unexpected rewrites of free‑text values. - Magic numbers for port derivation and hashing (e.g. base ports 50000/10000 and the 49‑bucket/100‑step logic in
getWorktreePortOffsetand related helpers) are currently embedded in the implementation; it may be worth centralizing these into clearly named constants so future adjustments are safer and easier to reason about.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- There are now two distinct worktree transformation paths (`WorktreeSettings` scanning all settings vs `convertSettingsForWorktree` acting only on named keys); consider tightening the naming and documentation and adding guidance on when each should be used to avoid future misuse and unexpected rewrites of free‑text values.
- Magic numbers for port derivation and hashing (e.g. base ports 50000/10000 and the 49‑bucket/100‑step logic in `getWorktreePortOffset` and related helpers) are currently embedded in the implementation; it may be worth centralizing these into clearly named constants so future adjustments are safer and easier to reason about.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
…ev-package # Conflicts: # pnpm-lock.yaml # pnpm-workspace.yaml
|
@sourcery-ai review |
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Fixed security issues:
- @opentelemetry/exporter-prometheus (link)
- @vitest/browser (link)
- axios (link)
- react-router (link)
- shell-quote (link)
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
@sourcery-ai review |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
Fixed security issues:
-
@opentelemetry/exporter-prometheus (link)
-
@vitest/browser (link)
-
axios (link)
-
react-router (link)
-
shell-quote (link)
-
In @cellix/local-dev/package.json, the exports list does not include the
./viteand./processsubpaths that are documented in the README, which will break those import examples; consider adding those subpath exports or adjusting the README. -
WorktreeSettings.transformRecord currently rewrites any
http(s)://ormongodb://substring found in string values (including nested objects/arrays), which could unintentionally alter non-config text; you may want to constrain this to specific keys or make the behavior opt-in per-setting.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In @cellix/local-dev/package.json, the exports list does not include the `./vite` and `./process` subpaths that are documented in the README, which will break those import examples; consider adding those subpath exports or adjusting the README.
- WorktreeSettings.transformRecord currently rewrites any `http(s)://` or `mongodb://` substring found in string values (including nested objects/arrays), which could unintentionally alter non-config text; you may want to constrain this to specific keys or make the behavior opt-in per-setting.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
@sourcery-ai review |
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Fixed security issues:
- @opentelemetry/exporter-prometheus (link)
- @vitest/browser (link)
- axios (link)
- react-router (link)
- shell-quote (link)
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
|
@soucery-ai summarize |
|
@sourcery-ai summarize this prs changes |
Summary by Sourcery
Introduce shared local-development helper packages and update apps to use them for worktree-aware dev workflows.
New Features:
Enhancements:
Tests: