Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: dependency refresh — ioredis 6, mikro-orm 7.1.11, stripe 22.4 - #245

Merged
RohinBhargava merged 1 commit into
mainfrom
rohin/dep-refresh-ioredis
Aug 11, 2026
Merged

chore: dependency refresh — ioredis 6, mikro-orm 7.1.11, stripe 22.4#245
RohinBhargava merged 1 commit into
mainfrom
rohin/dep-refresh-ioredis

Conversation

@RohinBhargava

@RohinBhargava RohinBhargava commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Workspace-wide dependency refresh (pnpm up:packages) driven by @forklaunch/testing needing the ioredis 6 major.

  • framework: ioredis ^6.0.0, @mikro-orm/* 7.1.11, stripe/types bumps; bun.serve shim gains the newly required Response.writeInformation. All 12 packages published ([email protected], express/[email protected], [email protected], …). Full build sweep green; suites: common 79, validator 350, core 371, ws 70, express 32, redis 15, S3 7 (hyper-express has its known local GET flake only).
  • blueprint: refreshed against the new framework versions; stripe 22.4 fixes (PlanCreateParams.Interval round-trip cast, apiVersion2026-07-29.dahlia). Full workspace builds green. All 12 interface/implementation packages published.
  • cli: check_blueprint_deps --fix synced 37 scaffold version constants (ioredis ^6.0.0, mikro-orm 7.1.11, all @forklaunch floors). 333 tests pass.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added compatibility for the latest Stripe API version.
    • Improved Stripe plan updates when retaining an existing billing cadence.
    • Added response compatibility for supported server integrations.
  • Improvements

    • Updated framework, SDK, billing, identity, ecommerce, worker, storage, and validation packages.
    • Upgraded database, Redis, queue, authentication, testing, and development tooling integrations.
    • Published refreshed package versions across the platform and project templates.

- framework: pnpm up:packages across the workspace; notably
  ioredis ^5.11.1 -> ^6.0.0 (needed by @forklaunch/testing),
  @mikro-orm/* 7.1.8 -> 7.1.11; bun.serve shim gains the newly
  required Response.writeInformation. Published all 12 packages
  ([email protected], express/[email protected], [email protected], ...)
- blueprint: same refresh against the new framework versions; stripe
  22.4 type fixes (PlanCreateParams.Interval round-trip cast,
  apiVersion 2026-07-29.dahlia). Published all 12 interface/
  implementation packages
- cli: check_blueprint_deps --fix synced 37 scaffold version
  constants (ioredis ^6.0.0, mikro-orm 7.1.11, all @forklaunch floors)

Co-Authored-By: Claude Fable 5 <[email protected]>
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This pull request updates package versions and dependency ranges across framework and blueprint packages. It also updates CLI dependency constants, Stripe API versions, a Stripe plan interval cast, and an Express-compatible response stub.

Changes

Release and dependency updates

Layer / File(s) Summary
CLI package version constants
cli/src/core/package_json/package_json_constants.rs
Updated shared dependency constants for Forklaunch packages, MikroORM, tooling, Better Auth, BullMQ, Stripe, and ioredis.
Framework package releases
framework/*/package.json, framework/infrastructure/*/package.json, framework/express/src/cluster/bun.serve.shim.ts
Bumped framework package versions and dependency ranges. Added a no-op writeInformation response method.
Blueprint dependencies and Stripe integration
blueprint/*/package.json, blueprint/implementations/*/package.json, blueprint/billing-stripe/scripts/*, blueprint/implementations/billing/stripe/services/plan.service.ts
Updated blueprint package versions and dependencies. Changed Stripe API versions to 2026-07-29.dahlia. Added an explicit Stripe interval type cast in the plan recreation fallback.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary dependency refresh and names several key version updates included in the pull request.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch rohin/dep-refresh-ioredis

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
blueprint/ecommerce-stripe/package.json (1)

66-66: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Remove the deprecated standalone type stubs.

uuid and ioredis provide their own declarations. Their separate @types packages are deprecated stubs. (npmjs.com)

  • blueprint/ecommerce-stripe/package.json#L66-L66: remove @types/uuid.
  • blueprint/iam-base/package.json#L54-L54: remove @types/uuid from runtime dependencies.
  • blueprint/iam-better-auth/package.json#L67-L67: remove @types/uuid.
  • blueprint/sample-worker/package.json#L78-L78: remove @types/ioredis.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@blueprint/ecommerce-stripe/package.json` at line 66, Remove the deprecated
standalone type packages from the listed dependency manifests: delete
`@types/uuid` from blueprint/ecommerce-stripe/package.json (lines 66-66),
blueprint/iam-base/package.json (lines 54-54), and
blueprint/iam-better-auth/package.json (lines 67-67), and delete `@types/ioredis`
from blueprint/sample-worker/package.json (lines 78-78), preserving all other
dependencies.

Source: MCP tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@framework/core/package.json`:
- Line 116: Update the jose dependency declarations in
framework/core/package.json so dependencies and devDependencies are consistently
aligned at 6.2.8, or remove the duplicate devDependencies.jose entry; then
regenerate framework/pnpm-lock.yaml to reflect the manifest.

In `@framework/express/src/cluster/bun.serve.shim.ts`:
- Line 365: Update the writeInformation implementation on the ServerResponse
shim to stop silently discarding calls: invoke the optional callback with an
explicit unsupported-operation error indicating that Bun cannot emit 1xx
responses, while preserving the API’s optional callback handling.

---

Nitpick comments:
In `@blueprint/ecommerce-stripe/package.json`:
- Line 66: Remove the deprecated standalone type packages from the listed
dependency manifests: delete `@types/uuid` from
blueprint/ecommerce-stripe/package.json (lines 66-66),
blueprint/iam-base/package.json (lines 54-54), and
blueprint/iam-better-auth/package.json (lines 67-67), and delete `@types/ioredis`
from blueprint/sample-worker/package.json (lines 78-78), preserving all other
dependencies.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cc9ff9a3-4ae7-4ee7-9918-f68939b3c487

📥 Commits

Reviewing files that changed from the base of the PR and between 9e0b8c1 and d77d1f4.

⛔ Files ignored due to path filters (2)
  • blueprint/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • framework/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (42)
  • blueprint/billing-base/package.json
  • blueprint/billing-stripe/package.json
  • blueprint/billing-stripe/scripts/seed-plans-from-stripe.ts
  • blueprint/billing-stripe/scripts/sync-stripe-plans.ts
  • blueprint/client-sdk/package.json
  • blueprint/core/package.json
  • blueprint/ecommerce-stripe/package.json
  • blueprint/iam-base/package.json
  • blueprint/iam-better-auth/package.json
  • blueprint/implementations/billing/base/package.json
  • blueprint/implementations/billing/stripe/package.json
  • blueprint/implementations/billing/stripe/services/plan.service.ts
  • blueprint/implementations/ecommerce/base/package.json
  • blueprint/implementations/iam/base/package.json
  • blueprint/implementations/worker/bullmq/package.json
  • blueprint/implementations/worker/database/package.json
  • blueprint/implementations/worker/kafka/package.json
  • blueprint/implementations/worker/redis/package.json
  • blueprint/interfaces/billing/package.json
  • blueprint/interfaces/ecommerce/package.json
  • blueprint/interfaces/iam/package.json
  • blueprint/interfaces/worker/package.json
  • blueprint/monitoring/package.json
  • blueprint/package.json
  • blueprint/pnpm-workspace.yaml
  • blueprint/sample-worker/package.json
  • cli/src/core/package_json/package_json_constants.rs
  • framework/bunrun/package.json
  • framework/common/package.json
  • framework/core/package.json
  • framework/e2e-tests/package.json
  • framework/express/package.json
  • framework/express/src/cluster/bun.serve.shim.ts
  • framework/hyper-express/package.json
  • framework/infrastructure/S3/package.json
  • framework/infrastructure/redis/package.json
  • framework/internal/package.json
  • framework/package.json
  • framework/testing/package.json
  • framework/universal-sdk/package.json
  • framework/validator/package.json
  • framework/ws/package.json

"fastmcp": "^4.12.1",
"jose": "6.2.4",
"fastmcp": "^4.14.1",
"jose": "6.2.8",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

python - <<'PY'
import json
from pathlib import Path

manifest = json.loads(Path("framework/core/package.json").read_text())
runtime = manifest.get("dependencies", {}).get("jose")
development = manifest.get("devDependencies", {}).get("jose")

print({"dependencies": runtime, "devDependencies": development})

if runtime and development and runtime != development:
    raise SystemExit("framework/core/package.json has mismatched jose requirements")
PY

Repository: forklaunch/forklaunch

Length of output: 274


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- manifest context ---'
sed -n '100,145p' framework/core/package.json

printf '%s\n' '--- lockfiles and package-manager metadata ---'
find . -maxdepth 3 -type f \( -name 'package-lock.json' -o -name 'yarn.lock' -o -name 'pnpm-lock.yaml' -o -name 'bun.lockb' -o -name 'bun.lock' \) -print
sed -n '1,120p' package.json 2>/dev/null || true

printf '%s\n' '--- jose references ---'
rg -n --glob '!node_modules/**' --glob '!dist/**' --glob '!build/**' '"jose"|from ['"'"']jose|require\(['"'"']jose' framework/core .github 2>/dev/null || true

Repository: forklaunch/forklaunch

Length of output: 3036


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

python3 - <<'PY'
import json
from pathlib import Path

p = Path("framework/core/package.json")
m = json.loads(p.read_text())
print("name:", m.get("name"))
print("version:", m.get("version"))
print("dependencies.jose:", m.get("dependencies", {}).get("jose"))
print("devDependencies.jose:", m.get("devDependencies", {}).get("jose"))
print("scripts:", json.dumps(m.get("scripts", {}), indent=2))
PY

printf '%s\n' '--- workspace/package-manager files ---'
find . -maxdepth 4 -type f \( -name 'package.json' -o -name 'pnpm-workspace.yaml' -o -name 'lerna.json' \) -print | sort
printf '%s\n' '--- lockfile jose entries ---'
rg -n -C 3 '(^|[/@"'\''])jose([@"'\'']|:)|jose@|node_modules/jose' \
  --glob 'package-lock.json' --glob 'yarn.lock' --glob 'pnpm-lock.yaml' --glob 'bun.lock' --glob 'bun.lockb' . 2>/dev/null || true

Repository: forklaunch/forklaunch

Length of output: 17212


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- framework/core importer ---'
python3 - <<'PY'
from pathlib import Path

lines = Path("framework/pnpm-lock.yaml").read_text().splitlines()
start = next((i for i, line in enumerate(lines) if line == "  framework/core:"), None)
if start is None:
    start = next((i for i, line in enumerate(lines) if line == "  core:"), None)
if start is None:
    print("No exact framework/core or core importer found")
else:
    end = next((i for i in range(start + 1, len(lines)) if lines[i] and not lines[i].startswith("    ") and not lines[i].startswith("      ")), len(lines))
    print("\n".join(f"{i+1}:{lines[i]}" for i in range(start, min(end, start + 180))))
PY

printf '%s\n' '--- all jose specifiers and resolved versions in framework lockfile ---'
rg -n -C 2 'jose:' framework/pnpm-lock.yaml
rg -n '^  jose@' framework/pnpm-lock.yaml

printf '%s\n' '--- relevant repository diff summary ---'
git diff --stat
git status --short

Repository: forklaunch/forklaunch

Length of output: 6972


Align the jose requirements and regenerate the lockfile.

framework/pnpm-lock.yaml records jose 6.2.8 for core but does not record the manifest’s devDependencies.jose entry. Align both manifest entries to 6.2.8, or remove the duplicate development entry, then regenerate the lockfile.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@framework/core/package.json` at line 116, Update the jose dependency
declarations in framework/core/package.json so dependencies and devDependencies
are consistently aligned at 6.2.8, or remove the duplicate devDependencies.jose
entry; then regenerate framework/pnpm-lock.yaml to reflect the manifest.


strictContentLength: false,
writeProcessing: () => {},
writeInformation: () => {},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

rg -n -P '\bwriteInformation\s*\(' \
  --glob '*.{ts,tsx}' \
  framework cli blueprint

Repository: forklaunch/forklaunch

Length of output: 159


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- target context ---'
sed -n '320,390p' framework/express/src/cluster/bun.serve.shim.ts

printf '%s\n' '--- all repository references ---'
rg -n -i '\bwriteInformation\b|writeEarlyHints|writeProcessing' . \
  --glob '!node_modules/**' \
  --glob '!dist/**' \
  --glob '!build/**' || true

printf '%s\n' '--- relevant response methods and type declarations ---'
rg -n 'writeHead|writeContinue|writeEarlyHints|writeInformation|interface.*Response|class.*Response' \
  framework/express/src/cluster framework/express \
  --glob '*.{ts,tsx,js,mjs,cjs,d.ts}' || true

Repository: forklaunch/forklaunch

Length of output: 3267


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- imports and response type ---'
sed -n '1,80p' framework/express/src/cluster/bun.serve.shim.ts
rg -n 'type ExpressResponse|interface ExpressResponse|ExpressResponse' framework/express/src --glob '*.{ts,tsx}'

printf '%s\n' '--- response method implementations ---'
sed -n '430,500p' framework/express/src/cluster/bun.serve.shim.ts
sed -n '1025,1075p' framework/express/src/cluster/bun.serve.shim.ts

printf '%s\n' '--- package metadata and TypeScript configuration ---'
fd -i 'package.json|tsconfig*.json' framework/express framework | head -40 | xargs -r -n1 sh -c 'echo "--- $0"; sed -n "1,180p" "$0"'

Repository: forklaunch/forklaunch

Length of output: 44840


🌐 Web query:

Node.js v24 http.ServerResponse writeInformation(statusCode headers callback)

💡 Result:

In Node.js, response.writeInformation(statusCode[, headers]) is a method available on the http.ServerResponse class designed to send arbitrary 1xx informational status codes [1][2]. This method was introduced to provide a standardized, generic API for sending 1xx responses, serving as an alternative to using private methods like res._writeRaw [1][3]. It supports any 1xx status code except for 101 (Switching Protocols), as 101 necessitates a protocol change that cannot be unilaterally handled through this API [1]. Key details regarding the method: - Parameters: The method accepts a status code (number) and an optional headers object [1][2]. - Usage: It is intended for use in scenarios such as supporting custom 1xx values or proxies that need to pass through informational data [1]. - Compatibility: The method is available in modern Node.js versions (such as v26+ and backported to v24.x releases) [1][3][4]. If a final status code has already been sent, the method will throw an error in HTTP/1.1 to prevent invalid response sequences [1]. Note that while the method name appears in documentation for recent versions [5][6][2], users should verify the specific minor version of Node.js v24 they are using, as it was added via a minor release (v26.2.0, with backports to v24.x) [1][3][4].

Citations:


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

printf '%s\n' '--- exact Node v24 documentation text ---'
curl -fsSL https://nodejs.org/download/release/latest-v24.x/docs/api/http.html |
  sed 's/<[^>]*>/ /g; s/[[:space:]]\+/ /g' |
  grep -o -E '.{0,220}response\.writeInformation.{0,500}' || true

printf '%s\n' '--- current Node documentation text ---'
curl -fsSL https://nodejs.org/api/http.html |
  sed 's/<[^>]*>/ /g; s/[[:space:]]\+/ /g' |
  grep -o -E '.{0,220}response\.writeInformation.{0,500}' || true

printf '%s\n' '--- local runtime and declarations, if available ---'
node --version 2>/dev/null || true
fd -i 'http.d.ts' . --hidden --exclude node_modules --exclude dist --exclude build | head -20

Repository: forklaunch/forklaunch

Length of output: 703


Do not silently discard writeInformation calls.

response.writeInformation(statusCode[, headers][, callback]) is part of Node’s ServerResponse API. If Bun cannot emit 1xx responses, report an explicit unsupported error through the callback instead of silently dropping the status and headers.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@framework/express/src/cluster/bun.serve.shim.ts` at line 365, Update the
writeInformation implementation on the ServerResponse shim to stop silently
discarding calls: invoke the optional callback with an explicit
unsupported-operation error indicating that Bun cannot emit 1xx responses, while
preserving the API’s optional callback handling.

@RohinBhargava
RohinBhargava merged commit 8f1e212 into main Aug 11, 2026
15 checks passed
@RohinBhargava
RohinBhargava deleted the rohin/dep-refresh-ioredis branch August 11, 2026 18:16
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