Skip to content

chore(deps): bump esbuild and vitest in /cloudflare-og-worker#703

Merged
JSv4 merged 1 commit intomainfrom
dependabot/npm_and_yarn/cloudflare-og-worker/multi-b4298e4899
Dec 27, 2025
Merged

chore(deps): bump esbuild and vitest in /cloudflare-og-worker#703
JSv4 merged 1 commit intomainfrom
dependabot/npm_and_yarn/cloudflare-og-worker/multi-b4298e4899

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Dec 14, 2025

Bumps esbuild to 0.25.12 and updates ancestor dependency vitest. These dependencies need to be updated together.

Updates esbuild from 0.21.5 to 0.25.12

Release notes

Sourced from esbuild's releases.

v0.25.12

  • Fix a minification regression with CSS media queries (#4315)

    The previous release introduced support for parsing media queries which unintentionally introduced a regression with the removal of duplicate media rules during minification. Specifically the grammar for @media <media-type> and <media-condition-without-or> { ... } was missing an equality check for the <media-condition-without-or> part, so rules with different suffix clauses in this position would incorrectly compare equal and be deduplicated. This release fixes the regression.

  • Update the list of known JavaScript globals (#4310)

    This release updates esbuild's internal list of known JavaScript globals. These are globals that are known to not have side-effects when the property is accessed. For example, accessing the global Array property is considered to be side-effect free but accessing the global scrollY property can trigger a layout, which is a side-effect. This is used by esbuild's tree-shaking to safely remove unused code that is known to be side-effect free. This update adds the following global properties:

    From ES2017:

    • Atomics
    • SharedArrayBuffer

    From ES2020:

    • BigInt64Array
    • BigUint64Array

    From ES2021:

    • FinalizationRegistry
    • WeakRef

    From ES2025:

    • Float16Array
    • Iterator

    Note that this does not indicate that constructing any of these objects is side-effect free, just that accessing the identifier is side-effect free. For example, this now allows esbuild to tree-shake classes that extend from Iterator:

    // This can now be tree-shaken by esbuild:
    class ExampleIterator extends Iterator {}
  • Add support for the new @view-transition CSS rule (#4313)

    With this release, esbuild now has improved support for pretty-printing and minifying the new @view-transition rule (which esbuild was previously unaware of):

    /* Original code */
    @view-transition {
      navigation: auto;
      types: check;
    }
    /* Old output */
    @​view-transition { navigation: auto; types: check; }
    /* New output */
    @​view-transition {
    navigation: auto;
    types: check;

... (truncated)

Changelog

Sourced from esbuild's changelog.

Changelog: 2024

This changelog documents all esbuild versions published in the year 2024 (versions 0.19.12 through 0.24.2).

0.24.2

  • Fix regression with --define and import.meta (#4010, #4012, #4013)

    The previous change in version 0.24.1 to use a more expression-like parser for define values to allow quoted property names introduced a regression that removed the ability to use --define:import.meta=.... Even though import is normally a keyword that can't be used as an identifier, ES modules special-case the import.meta expression to behave like an identifier anyway. This change fixes the regression.

    This fix was contributed by @​sapphi-red.

0.24.1

  • Allow es2024 as a target in tsconfig.json (#4004)

    TypeScript recently added es2024 as a compilation target, so esbuild now supports this in the target field of tsconfig.json files, such as in the following configuration file:

    {
      "compilerOptions": {
        "target": "ES2024"
      }
    }

    As a reminder, the only thing that esbuild uses this field for is determining whether or not to use legacy TypeScript behavior for class fields. You can read more in the documentation.

    This fix was contributed by @​billyjanitsch.

  • Allow automatic semicolon insertion after get/set

    This change fixes a grammar bug in the parser that incorrectly treated the following code as a syntax error:

    class Foo {
      get
      *x() {}
      set
      *y() {}
    }

    The above code will be considered valid starting with this release. This change to esbuild follows a similar change to TypeScript which will allow this syntax starting with TypeScript 5.7.

  • Allow quoted property names in --define and --pure (#4008)

    The define and pure API options now accept identifier expressions containing quoted property names. Previously all identifiers in the identifier expression had to be bare identifiers. This change now makes --define and --pure consistent with --global-name, which already supported quoted property names. For example, the following is now possible:

... (truncated)

Commits
  • 208f539 publish 0.25.12 to npm
  • 5f03afd update release notes
  • 6b2ee78 minify: remove css rules containing empty :is()
  • f361deb add some additional known static methods
  • 07aa646 automatically mark "RegExp.escape()" calls as pure
  • 9039c46 simplify some call expression checks
  • 188944d add some additional known static methods
  • d3c67f9 fix #4310: add Iterator and other known globals
  • 4a51f0b fix: escape dev server breadcrumb hrefs properly (#4316)
  • 26b29ed fix #4315: @media deduplication bug edge case
  • Additional commits viewable in compare view

Updates vitest from 2.1.9 to 4.0.15

Release notes

Sourced from vitest's releases.

v4.0.15

   🚀 Experimental Features

   🐞 Bug Fixes

    View changes on GitHub

v4.0.14

   🚀 Experimental Features

   🐞 Bug Fixes

... (truncated)

Commits
  • eb1abf0 chore: release v4.0.15
  • a68f74e feat(cache): add opt-out on a plugin level, fix internal root cache (#9154)
  • 122ff32 feat(reporters): print import duration breakdown (#9105)
  • 0d2e7e3 fix(browser): run toMatchScreenshot only once when used with `expect.elemen...
  • d57d8bf fix(pool): terminate workers on CTRL+c forceful exits (#9140)
  • bb65e15 fix(reporters): show project in github reporter (#9138)
  • 52b242b chore(deps): update all non-major dependencies (#9133)
  • 4c75492 fix: fix external behavior with deps.optimizer (#9125)
  • a5d98fd refactor(vitest): get current test name from task property (#9120)
  • fd8bd6d fix: use optimizeDeps.rolldownOptions to fix depreated warning + fix `ssr.e...
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by [GitHub Actions](https://www.npmjs.com/~GitHub Actions), a new releaser for vitest since your current version.


Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code labels Dec 14, 2025
@JSv4
Copy link
Copy Markdown
Collaborator

JSv4 commented Dec 27, 2025

https://github.com/dependabot rebase

Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.12 and updates ancestor dependency [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). These dependencies need to be updated together.


Updates `esbuild` from 0.21.5 to 0.25.12
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md)
- [Commits](evanw/esbuild@v0.21.5...v0.25.12)

Updates `vitest` from 2.1.9 to 4.0.15
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.15/packages/vitest)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.12
  dependency-type: indirect
- dependency-name: vitest
  dependency-version: 4.0.15
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/npm_and_yarn/cloudflare-og-worker/multi-b4298e4899 branch from e34f77f to c731ddb Compare December 27, 2025 04:30
@claude
Copy link
Copy Markdown

claude Bot commented Dec 27, 2025

Pull Request Review - PR #703

Summary

This PR updates esbuild from 0.21.5 to 0.25.12 and vitest from 2.1.9 to 4.0.15 in the cloudflare-og-worker package. These are dependency updates triggered by Dependabot for security and feature improvements.


✅ Code Quality & Best Practices

Positive aspects:

  • Automated dependency management: Dependabot-generated PR ensures timely updates
  • Package scope: Changes are isolated to the Cloudflare worker subdirectory (cloudflare-og-worker/), minimizing impact on the main application
  • Lock file updated: Both package.json and package-lock.json are properly synchronized

Observations:

  • The PR updates from Vitest 2.x to 4.x, which is a major version jump (2 major versions)
  • esbuild update spans from 0.21.5 to 0.27.2 (based on lock file changes), crossing multiple minor versions

🔍 Potential Issues & Breaking Changes

Critical: Vitest v3.0 and v4.0 Breaking Changes

Jumping from Vitest 2.1.9 → 4.0.15 skips v3.0 entirely. Based on Vitest's release history, here are potential breaking changes to watch for:

  1. Test API Changes: Major versions often introduce breaking changes to test APIs, assertion syntax, or configuration options
  2. Node.js version requirements: Vitest 4.x may require a newer Node.js version (the esbuild engine requirement increased from Node >=12 to >=18)
  3. TypeScript compatibility: Vitest 4.x may have stricter TypeScript requirements
  4. Mock/spy behavior changes: Major versions often refine mocking APIs

Recommendation:

  • Run the test suite to verify compatibility:
    cd cloudflare-og-worker && npm test
  • ✅ Check the Vitest migration guides for v3.0 and v4.0
  • ✅ Review test files (src/html.test.ts, src/crawler.test.ts, src/parser.test.ts) to ensure they still pass

esbuild Engine Requirement Change

The lock file shows esbuild platform packages now require Node.js >=18 (previously >=12). This is a significant change:

Action required:

  • ✅ Verify the CI/CD pipeline and deployment environment use Node.js 18+
  • ✅ Check if package.json needs an explicit engines field to enforce this requirement
  • ✅ Confirm Cloudflare Workers deployment is unaffected (Workers use V8 isolates, not Node.js)

🛡️ Security Concerns

Positive:

  • Updating dependencies addresses potential security vulnerabilities in older versions
  • esbuild 0.25.12 includes fixes for CSS media query deduplication (regression from 0.25.11)
  • Vitest 4.x includes numerous bug fixes and security improvements

Recommendations:


⚡ Performance Considerations

esbuild improvements (0.21.5 → 0.25.12):

  • Better tree-shaking with updated JavaScript globals list (ES2017-ES2025)
  • CSS minification fixes for @media rules
  • Support for @view-transition CSS rule
  • Various parser and bundler performance optimizations

vitest improvements (2.1.9 → 4.0.15):

  • New experimental caching features (v4.0.15)
  • Import duration breakdown reporting
  • Coverage improvements for Istanbul provider
  • Better worker pool management

Expected impact:

  • ✅ Faster build times for the Cloudflare worker
  • ✅ Potentially faster test execution
  • ⚠️ First build after update may take longer due to cache invalidation

🧪 Test Coverage

Current test files:

  • src/html.test.ts - HTML generation and XSS prevention (44 tests based on file content)
  • src/crawler.test.ts - Web crawling logic
  • src/parser.test.ts - Metadata parsing

Verification needed:

  • ✅ All existing tests must pass with new Vitest version
  • ✅ Test coverage should remain stable or improve
  • ✅ Check for any new deprecation warnings in test output

📝 Documentation & Changelog

Missing:

  • ⚠️ No CHANGELOG.md entry for this dependency update

Recommendation:
According to CLAUDE.md, the changelog should be updated for significant changes. While dependency updates are often omitted, a major version jump in Vitest warrants documentation:

## [Unreleased] - YYYY-MM-DD

### Changed
- **Dependency updates** (`cloudflare-og-worker/package.json`):
  - Updated esbuild from 0.21.5 to 0.25.12 for latest bundling improvements
  - Updated vitest from 2.1.9 to 4.0.15 (major version upgrade)
  - Note: Requires Node.js 18+ in development environment

🔧 Additional Checks

Before merging, please verify:

  1. CI/CD Pipeline Status: Ensure all automated checks pass
  2. Test Execution:
    cd cloudflare-og-worker
    npm install
    npm test
    npm run typecheck
  3. Build Verification:
    npm run deploy:staging  # Test deployment to staging environment
  4. Node.js Version: Confirm development/CI environment uses Node.js 18+

📊 Overall Assessment

Risk Level: ⚠️ MEDIUM

  • Low risk for security vulnerabilities (dependency updates are good)
  • Medium risk for breaking changes (major version jump in Vitest)
  • Low risk for runtime issues (changes are dev dependencies only)

Recommendation: ✅ APPROVE with verification

This PR should be merged after confirming:

  1. All tests pass with Vitest 4.0.15
  2. TypeScript compilation succeeds
  3. No new console warnings/errors during test execution
  4. Staging deployment works correctly

📚 References


Reviewed by: Claude Code
Review Date: 2025-12-27

@JSv4 JSv4 merged commit 5ad5be5 into main Dec 27, 2025
4 of 5 checks passed
@JSv4 JSv4 deleted the dependabot/npm_and_yarn/cloudflare-og-worker/multi-b4298e4899 branch December 27, 2025 06:33
JSv4 added a commit that referenced this pull request Apr 29, 2026
…n/cloudflare-og-worker/multi-b4298e4899

chore(deps): bump esbuild and vitest in /cloudflare-og-worker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant