Skip to content

🚀 Promote develop to main (0.18.3-beta.1 — audit fixes + dependabot) - #161

Merged
sergak01 merged 7 commits into
mainfrom
develop
Jun 8, 2026
Merged

🚀 Promote develop to main (0.18.3-beta.1 — audit fixes + dependabot)#161
sergak01 merged 7 commits into
mainfrom
develop

Conversation

@sergak01

@sergak01 sergak01 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

🚀 Promote develop to main (0.18.3-beta.1 — audit fixes + dependabot)


Summary

Merge the current origin/develop line into origin/main to ship v0.18.3-beta.1: full workspace npm audit remediation, consolidation of 12 open Dependabot PRs, and aligned test-sandbox lockfiles.


Key changes


Stats

(git diff --stat origin/main...origin/develop)

Metric Value
Files changed 10
Lines +1662 / -1033

Included commits

(git log origin/main..origin/develop --oneline)

  • 1520656 — chore(release): 0.18.3-beta.1 [skip ci]
  • f8ffa4d — Merge pull request fix(deps): resolve audit findings and consolidate dependabot updates #160 from mi-examples/pp-3487
  • c808e40 — test(deps): align sandbox packages with dependabot bumps
  • f74c30a — build(docker): bump node from 25-alpine to 26-alpine
  • d1acc46 — build(deps): apply dependabot dependency bumps
  • 5fd28b9 — test(deps): align sandbox overrides with audited dependency policy
  • bb41f5c — fix(deps): resolve npm audit findings across workspace

Testing / verification

  • npm run audit:all — 0 vulnerabilities (root + each tests/* package)
  • npm run test:unit — 159/159 passed
  • npm run build
  • npm run test:integration
  • npm ci at repo root succeeds

Summary by CodeRabbit

  • Bug Fixes

    • Resolved dependency and security audit issues across the workspace.
  • Chores

    • Upgraded Node.js runtime to version 26.
    • Updated multiple dependencies, including build tools and runtime libraries, to their latest stable versions.
    • Version bumped to 0.18.3-beta.1.

sergak01 and others added 7 commits June 5, 2026 16:17
Bump brace-expansion, minimatch, next, and qs to patched versions and refresh the root lockfile so npm audit passes cleanly.
Mirror root security overrides in test fixtures and refresh their lockfiles so audit:all stays clean.
Bump esbuild, jsdom, typescript, vite, vitest, and @vitest/coverage-v8 to clear open Dependabot PRs #123, #142, #151, #152, and #153.
Apply Dependabot PR #149 to keep the test container image on a supported Node.js release.
Mirror root dependency updates in test fixtures and refresh their lockfiles.
fix(deps): resolve audit findings and consolidate dependabot updates
## [0.18.3-beta.1](v0.18.2...v0.18.3-beta.1) (2026-06-08)

### Bug Fixes

* **deps:** resolve npm audit findings across workspace ([bb41f5c](bb41f5c))
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR performs a coordinated dependency audit fix and version bump for release 0.18.3-beta.1. It updates Node.js runtime to version 26, advances key toolchain packages (esbuild, jsdom, vite, Next.js, TypeScript), and applies matching override constraints across root and test fixture package manifests to resolve transitive dependency security issues.

Changes

Dependency updates and version bump

Layer / File(s) Summary
Release metadata and version bump
CHANGELOG.md, package.json
CHANGELOG.md documents version 0.18.3-beta.1 with a "Bug Fixes" entry for dependency/audit resolution; package.json version is bumped to match.
Node.js runtime environment upgrade
Dockerfile
Base image is updated from node:25-alpine to node:26-alpine.
Root workspace dependency updates
package.json
Transitive overrides for brace-expansion, minimatch, and qs are tightened; runtime dependencies (esbuild, jsdom) and tooling dependencies (typescript, vite, next, @vitest/coverage-v8, vitest) are bumped to newer versions.
Test fixture dependency synchronization
tests/test-commonjs/package.json, tests/test-nextjs-cjs/package.json, tests/test-nextjs/package.json
All test fixtures are updated with matching dependency and override versions (typescript, vite, jsdom, next, eslint-config-next, esbuild, brace-expansion, minimatch) to align with root workspace changes.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • mi-examples/pp-dev#148: Both PRs update dependency and override constraints in package.json and test fixture manifests, coordinating Next.js, Vite, and related toolchain pins.
  • mi-examples/pp-dev#116: Main PR and retrieved PR both update matching dependency and override entries (e.g., brace-expansion, minimatch) across root and test sandboxes as part of dependency security hardening.
  • mi-examples/pp-dev#125: Main PR's Vite and transitive dependency updates in package.json and test fixtures continue the Vite-alignment work, though it does not include PR #125's audit script or middleware changes.

Suggested reviewers

  • MaksymovVolodymyr
  • michailozdemir
  • Sadilenko

Poem

A rabbit hops through versions new,
From twenty-five to twenty-six too,
Dependencies bumped with care and grace,
Audits fixed across the space! 🐰📦

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references both the version bump (0.18.3-beta.1) and key objectives (audit fixes + dependabot), which align with the primary changeset purpose. However, it uses an emoji and brackets that add visual noise.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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)
package.json (1)

123-124: Confirm TypeScript 6.0.3 and Vite 8.0.11 are available on npm; consider pinning for deployment stability.

package.json pins typescript as ^6.0.3 and vite as ^8.0.11 (lines 123-124). Both exact versions are published on npm (6.0.3, 8.0.11) and their releases correspond to TypeScript v6.0.3 (Apr 16, 2026) and Vite v8.0.11 (May 7, 2026). Using ^ can still pull newer releases within the same major—pin exact versions (or rely on your lockfile) if you want maximum stability.

🤖 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 `@package.json` around lines 123 - 124, package.json currently uses caret
ranges "^6.0.3" and "^8.0.11" for the typescript and vite dependencies which
allows minior/patch upgrades; to ensure deterministic deployments, change the
dependency entries for "typescript" and "vite" to exact versions "6.0.3" and
"8.0.11" (or ensure your lockfile is committed and authoritative) so builds use
the published releases exactly; update the "typescript" and "vite" entries
accordingly and regenerate/commit the lockfile.
🤖 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 `@Dockerfile`:
- Line 2: The Dockerfile change to FROM node:26-alpine may introduce
compatibility issues; update and verify package.json engines.node and any native
modules for Node 26 support, then rebuild and run tests inside the container.
Specifically, ensure package.json "engines.node" (and any native dependency
build scripts/C bindings) allow >=26 or are adjusted, run npm/yarn install and
the project's build/test commands in a node:26-alpine container, and fix any
failing native module versions or rebuild flags (e.g., recompile native addons
or bump module versions) so the image and runtime are compatible with Node 26.

In `@package.json`:
- Line 107: The package.json change updates the esbuild dependency to "esbuild":
"^0.28.0", which introduced stricter integrity-hash checks that can break
installs in restricted network/proxy/offline scenarios; validate and mitigate by
(1) running npm install / npm ci and the full build in the same CI and local
environments that might use the fallback binary (including behind proxies, using
the cache, and offline modes), (2) confirm package-lock.json is updated and
committed if the lockfile changes, (3) if failures are observed, either pin
esbuild to the last known-good version or add a documented workaround (npm
config settings or explicit prebuilt binary provisioning) to CI scripts, and (4)
add a CI job that simulates the restricted environment to catch regressions;
locate this change via the "esbuild" dependency entry in package.json.

---

Nitpick comments:
In `@package.json`:
- Around line 123-124: package.json currently uses caret ranges "^6.0.3" and
"^8.0.11" for the typescript and vite dependencies which allows minior/patch
upgrades; to ensure deterministic deployments, change the dependency entries for
"typescript" and "vite" to exact versions "6.0.3" and "8.0.11" (or ensure your
lockfile is committed and authoritative) so builds use the published releases
exactly; update the "typescript" and "vite" entries accordingly and
regenerate/commit the lockfile.
🪄 Autofix (Beta)

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: d2cd5815-6007-4ae1-bdf4-7010b2b350cf

📥 Commits

Reviewing files that changed from the base of the PR and between 0c5ef17 and 1520656.

⛔ Files ignored due to path filters (4)
  • package-lock.json is excluded by !**/package-lock.json
  • tests/test-commonjs/package-lock.json is excluded by !**/package-lock.json
  • tests/test-nextjs-cjs/package-lock.json is excluded by !**/package-lock.json
  • tests/test-nextjs/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • CHANGELOG.md
  • Dockerfile
  • package.json
  • tests/test-commonjs/package.json
  • tests/test-nextjs-cjs/package.json
  • tests/test-nextjs/package.json

Comment thread Dockerfile
@@ -1,5 +1,5 @@
# Use official Node.js image
FROM node:25-alpine
FROM node:26-alpine

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if node:26-alpine Docker image exists

echo "=== Checking node:26-alpine availability ==="
docker pull node:26-alpine --quiet && echo "Image available" || echo "Image not found"

echo "=== Latest Node.js LTS versions ==="
curl -s https://nodejs.org/dist/index.json | jq -r '[.[] | select(.lts != false)] | .[0:3] | .[] | "\(.version) (LTS: \(.lts))"'

Repository: mi-examples/pp-dev

Length of output: 294


🌐 Web query:

Node.js 26 release date alpine

💡 Result:

Node.js 26 was initially released on May 5, 2026 [1][2][3]. Regarding Alpine Linux support, the Node.js project typically publishes official Docker images based on Alpine Linux (e.g., node:26-alpine) shortly after the release of a new major version. As of June 8, 2026, the Node.js 26.x release line is active [1][2], and Alpine-based images for current Node.js 26 versions are maintained and available on the official Node.js Docker Hub registry. You can use tags such as node:26-alpine or node:26.3-alpine to access the latest available version [4].

Citations:


Ensure dependency compatibility with Node.js 26 (node:26-alpine).

Dockerfile now uses FROM node:26-alpine. Node.js 26 is released and official Alpine-based Docker images for the 26.x line are maintained on Docker Hub, but the major-version upgrade can still break runtime/build compatibility. Check package.json engines.node (and any native modules) for Node 26 support, and run the project’s build/test steps in the container.

🤖 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 `@Dockerfile` at line 2, The Dockerfile change to FROM node:26-alpine may
introduce compatibility issues; update and verify package.json engines.node and
any native modules for Node 26 support, then rebuild and run tests inside the
container. Specifically, ensure package.json "engines.node" (and any native
dependency build scripts/C bindings) allow >=26 or are adjusted, run npm/yarn
install and the project's build/test commands in a node:26-alpine container, and
fix any failing native module versions or rebuild flags (e.g., recompile native
addons or bump module versions) so the image and runtime are compatible with
Node 26.

Comment thread package.json
"dir-compare": "^5.0.0",
"ejs": "^5.0.1",
"esbuild": "^0.27.7",
"esbuild": "^0.28.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify esbuild 0.28.0 exists and check for breaking changes

# Check if esbuild 0.28.0 is published
npm view esbuild@0.28.0 version 2>/dev/null || echo "Version not found"

# Get changelog between 0.27.x and 0.28.0
npm view esbuild@0.27.7 version
npm view esbuild@0.28.0 version

Repository: mi-examples/pp-dev

Length of output: 83


🌐 Web query:

esbuild 0.28.0 changelog breaking changes

💡 Result:

The release of esbuild v0.28.0 is designated as a breaking change release primarily due to internal modifications regarding how the package manages binary installation integrity [1][2]. The breaking change is associated with the addition of integrity checks to the fallback download path for the esbuild binary [1][3]. Previously, the last-resort fallback mechanism—which triggers if the standard npm-based installation of platform-specific packages fails—did not verify the integrity of the downloaded binary [1][2]. In v0.28.0, esbuild now verifies that the hash of the downloaded binary matches the expected hash for the current release [1][3]. To support this, the hashes for all platform-specific binary packages are now embedded within the top-level esbuild package [1][2]. While this change is intended to improve security and reliability without expected functional regressions, it is labeled as a breaking change out of caution regarding the modified installation process [1][2]. Additionally, v0.28.0 includes the following updates: - Added support for with { type: 'text' } imports, consistent with the TC39 stage 3 proposal and existing behavior in Deno and Bun [1][2][3]. - Updated the Go compiler from version 1.25.7 to 1.26.1, which involves significant internal changes (e.g., a new garbage collector and more aggressive stack allocation) [1][2][3]. While these are not classified as direct breaking API changes, they may lead to different behavior in specific edge cases [1][4].

Citations:


Verify esbuild 0.28.0 upgrade impact on install/build

  • esbuild@0.28.0 is published, so the version bump in package.json ("esbuild": "^0.28.0") is resolvable.
  • esbuild v0.28.0 is labeled “breaking” due to stricter integrity-hash checks added to the fallback binary download path; validate npm install and the build/CI pipeline in the environments where that fallback might be exercised (restricted network/proxy/offline/cache issues).
🤖 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 `@package.json` at line 107, The package.json change updates the esbuild
dependency to "esbuild": "^0.28.0", which introduced stricter integrity-hash
checks that can break installs in restricted network/proxy/offline scenarios;
validate and mitigate by (1) running npm install / npm ci and the full build in
the same CI and local environments that might use the fallback binary (including
behind proxies, using the cache, and offline modes), (2) confirm
package-lock.json is updated and committed if the lockfile changes, (3) if
failures are observed, either pin esbuild to the last known-good version or add
a documented workaround (npm config settings or explicit prebuilt binary
provisioning) to CI scripts, and (4) add a CI job that simulates the restricted
environment to catch regressions; locate this change via the "esbuild"
dependency entry in package.json.

@sergak01
sergak01 merged commit 0141932 into main Jun 8, 2026
1 check passed
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.

3 participants