Skip to content

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Jul 10, 2025

Bumps esbuild to 0.25.6 and updates ancestor dependencies esbuild, vite and @vitejs/plugin-vue. These dependencies need to be updated together.

Updates esbuild from 0.18.20 to 0.25.6

Release notes

Sourced from esbuild's releases.

v0.25.6

  • Fix a memory leak when cancel() is used on a build context (#4231)

    Calling rebuild() followed by cancel() in rapid succession could previously leak memory. The bundler uses a producer/consumer model internally, and the resource leak was caused by the consumer being termianted while there were still remaining unreceived results from a producer. To avoid the leak, the consumer now waits for all producers to finish before terminating.

  • Support empty :is() and :where() syntax in CSS (#4232)

    Previously using these selectors with esbuild would generate a warning. That warning has been removed in this release for these cases.

  • Improve tree-shaking of try statements in dead code (#4224)

    With this release, esbuild will now remove certain try statements if esbuild considers them to be within dead code (i.e. code that is known to not ever be evaluated). For example:

    // Original code
    return 'foo'
    try { return 'bar' } catch {}
    // Old output (with --minify)
    return"foo";try{return"bar"}catch{}
    // New output (with --minify)
    return"foo";

  • Consider negated bigints to have no side effects

    While esbuild currently considers 1, -1, and 1n to all have no side effects, it didn't previously consider -1n to have no side effects. This is because esbuild does constant folding with numbers but not bigints. However, it meant that unused negative bigint constants were not tree-shaken. With this release, esbuild will now consider these expressions to also be side-effect free:

    // Original code
    let a = 1, b = -1, c = 1n, d = -1n
    // Old output (with --bundle --minify)
    (()=>{var n=-1n;})();
    // New output (with --bundle --minify)
    (()=>{})();

  • Support a configurable delay in watch mode before rebuilding (#3476, #4178)

    The watch() API now takes a delay option that lets you add a delay (in milliseconds) before rebuilding when a change is detected in watch mode. If you use a tool that regenerates multiple source files very slowly, this should make it more likely that esbuild's watch mode won't generate a broken intermediate build before the successful final build. This option is also available via the CLI using the --watch-delay= flag.

    This should also help avoid confusion about the watch() API's options argument. It was previously empty to allow for future API expansion, which caused some people to think that the documentation was missing. It's no longer empty now that the watch() API has an option.

  • Allow mixed array for entryPoints API option (#4223)

    The TypeScript type definitions now allow you to pass a mixed array of both string literals and object literals to the entryPoints API option, such as ['foo.js', { out: 'lib', in: 'bar.js' }]. This was always possible to do in JavaScript but the TypeScript type definitions were previously too restrictive.

... (truncated)

Changelog

Sourced from esbuild's changelog.

Changelog: 2023

This changelog documents all esbuild versions published in the year 2023 (versions 0.16.13 through 0.19.11).

0.19.11

  • Fix TypeScript-specific class transform edge case (#3559)

    The previous release introduced an optimization that avoided transforming super() in the class constructor for TypeScript code compiled with useDefineForClassFields set to false if all class instance fields have no initializers. The rationale was that in this case, all class instance fields are omitted in the output so no changes to the constructor are needed. However, if all of this is the case and there are #private instance fields with initializers, those private instance field initializers were still being moved into the constructor. This was problematic because they were being inserted before the call to super() (since super() is now no longer transformed in that case). This release introduces an additional optimization that avoids moving the private instance field initializers into the constructor in this edge case, which generates smaller code, matches the TypeScript compiler's output more closely, and avoids this bug:

    // Original code
    class Foo extends Bar {
      #private = 1;
      public: any;
      constructor() {
        super();
      }
    }
    // Old output (with esbuild v0.19.9)
    class Foo extends Bar {
    constructor() {
    super();
    this.#private = 1;
    }
    #private;
    }
    // Old output (with esbuild v0.19.10)
    class Foo extends Bar {
    constructor() {
    this.#private = 1;
    super();
    }
    #private;
    }
    // New output
    class Foo extends Bar {
    #private = 1;
    constructor() {
    super();
    }
    }

  • Minifier: allow reording a primitive past a side-effect (#3568)

    The minifier previously allowed reordering a side-effect past a primitive, but didn't handle the case of reordering a primitive past a side-effect. This additional case is now handled:

... (truncated)

Commits

Updates vite from 4.5.14 to 7.0.4

Release notes

Sourced from vite's releases.

v7.0.4

Please refer to CHANGELOG.md for details.

v7.0.3

Please refer to CHANGELOG.md for details.

v7.0.2

Please refer to CHANGELOG.md for details.

create-vite@7.0.2

Please refer to CHANGELOG.md for details.

v7.0.1

Please refer to CHANGELOG.md for details.

create-vite@7.0.1

Please refer to CHANGELOG.md for details.

create-vite@7.0.0

Please refer to CHANGELOG.md for details.

plugin-legacy@7.0.0

Please refer to CHANGELOG.md for details.

v7.0.0

Please refer to CHANGELOG.md for details.

v7.0.0-beta.2

Please refer to CHANGELOG.md for details.

v7.0.0-beta.1

Please refer to CHANGELOG.md for details.

plugin-legacy@7.0.0-beta.1

Please refer to CHANGELOG.md for details.

plugin-legacy@7.0.0-beta.0

Please refer to CHANGELOG.md for details.

v7.0.0-beta.0

Please refer to CHANGELOG.md for details.

create-vite@6.5.0

Please refer to CHANGELOG.md for details.

create-vite@6.4.1

Please refer to CHANGELOG.md for details.

create-vite@6.4.0

Please refer to CHANGELOG.md for details.

... (truncated)

Changelog

Sourced from vite's changelog.

7.0.4 (2025-07-10)

Bug Fixes

  • allow resolving bare specifiers to relative paths for entries (#20379) (324669c)

Build System

7.0.3 (2025-07-08)

Bug Fixes

  • client: protect against window being defined but addEv undefined (#20359) (31d1467)
  • define: replace optional values (#20338) (9465ae1)
  • deps: update all non-major dependencies (#20366) (43ac73d)

Miscellaneous Chores

Code Refactoring

  • minor changes to reduce diff between normal Vite and rolldown-vite (#20354) (2e8050e)

7.0.2 (2025-07-04)

Bug Fixes

7.0.1 (2025-07-03)

Bug Fixes

Miscellaneous Chores

7.0.0 (2025-06-24)

Vite 7 is out!

Today, we're excited to announce the release of the next Vite major:

... (truncated)

Commits

Updates @vitejs/plugin-vue from 4.6.2 to 6.0.0

Release notes

Sourced from @​vitejs/plugin-vue's releases.

plugin-vue@6.0.0

Please refer to CHANGELOG.md for details.

plugin-vue@6.0.0-beta.2

Please refer to CHANGELOG.md for details.

plugin-vue@6.0.0-beta.1

Please refer to CHANGELOG.md for details.

plugin-vue@6.0.0-beta.0

Please refer to CHANGELOG.md for details.

plugin-vue@5.2.4

Please refer to CHANGELOG.md for details.

plugin-vue@5.2.3

Please refer to CHANGELOG.md for details.

plugin-vue@5.2.2

Please refer to CHANGELOG.md for details.

plugin-vue@5.2.1

Please refer to CHANGELOG.md for details.

plugin-vue@5.2.0

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.5

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.4

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.3

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.2

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.1

Please refer to CHANGELOG.md for details.

plugin-vue@5.1.0

Please refer to CHANGELOG.md for details.

plugin-vue@5.0.5

Please refer to CHANGELOG.md for details.

plugin-vue@5.0.4

Please refer to CHANGELOG.md for details.

... (truncated)

Changelog

Sourced from @​vitejs/plugin-vue's changelog.

6.0.0 (2025-06-24)

Bug Fixes

  • deps: update all non-major dependencies (#590) (43426c8)
  • deps: update all non-major dependencies (#600) (a4c32a8)
  • deps: update all non-major dependencies (#605) (67534e5)
  • deps: update all non-major dependencies (#609) (98c52eb)

Miscellaneous Chores

  • add description and keywords field to package.json (#604) (67ab76b)
  • deps: update dependency rollup to ^4.41.1 (#591) (256ac31)
  • deps: update dependency rollup to ^4.43.0 (#601) (a495edf)
  • remove Vite 7 beta from supported range (#598) (c7ddd62)

Code Refactoring

6.0.0-beta.2 (2025-06-06)

⚠ BREAKING CHANGES

  • bump required node version to 20.19+, 22.12+ and drop CJS build (#596)

Features

Bug Fixes

Code Refactoring

  • bump required node version to 20.19+, 22.12+ and drop CJS build (#596) (56df545)

6.0.0-beta.1 (2025-06-02)

Bug Fixes

6.0.0-beta.0 (2025-05-21)

⚠ BREAKING CHANGES

  • vue: separate include and exclude from api.options and add filter (#582)

Features

  • vue: separate include and exclude from api.options and add filter (#582) (e3beac8)

... (truncated)

Commits
  • 9c07818 release: plugin-vue@6.0.0
  • c7ddd62 chore: remove Vite 7 beta from supported range (#598)
  • 98c52eb fix(deps): update all non-major dependencies (#609)
  • 5de85f6 refactor: always use crypto.hash (#606)
  • 67534e5 fix(deps): update all non-major dependencies (#605)
  • 67ab76b chore: add description and keywords field to package.json (#604)
  • a495edf chore(deps): update dependency rollup to ^4.43.0 (#601)
  • a4c32a8 fix(deps): update all non-major dependencies (#600)
  • 256ac31 chore(deps): update dependency rollup to ^4.41.1 (#591)
  • 43426c8 fix(deps): update all non-major dependencies (#590)
  • Additional commits viewable in compare view

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.

Bumps [esbuild](https://github.com/evanw/esbuild) to 0.25.6 and updates ancestor dependencies [esbuild](https://github.com/evanw/esbuild), [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) and [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue). These dependencies need to be updated together.


Updates `esbuild` from 0.18.20 to 0.25.6
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2023.md)
- [Commits](evanw/esbuild@v0.18.20...v0.25.6)

Updates `vite` from 4.5.14 to 7.0.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.0.4/packages/vite)

Updates `@vitejs/plugin-vue` from 4.6.2 to 6.0.0
- [Release notes](https://github.com/vitejs/vite-plugin-vue/releases)
- [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.0/packages/plugin-vue)

---
updated-dependencies:
- dependency-name: esbuild
  dependency-version: 0.25.6
  dependency-type: indirect
- dependency-name: vite
  dependency-version: 7.0.4
  dependency-type: direct:development
- dependency-name: "@vitejs/plugin-vue"
  dependency-version: 6.0.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jul 10, 2025
@nnegi88
Copy link
Owner

nnegi88 commented Jul 14, 2025

@claude review this MR

@claude
Copy link

claude bot commented Jul 14, 2025

Claude finished @nnegi88's task —— View job


Dependency Update Review

I've reviewed this dependency update PR that upgrades esbuild, vite, and @vitejs/plugin-vue to their latest versions.

Todo List:

  • Read repository guidelines (CLAUDE.md)
  • Review package.json and package-lock.json changes
  • Check for breaking changes in dependency updates
  • Review project configuration files
  • Analyze compatibility between updated dependencies
  • Provide comprehensive review feedback

Changes Overview:

This PR contains significant version updates for core build tools:

  • @vitejs/plugin-vue: 4.6.26.0.0 (major version jump)
  • vite: 4.5.37.0.4 (major version jump)
  • esbuild: 0.18.200.25.6 (transitive dependency, major version jump)

Project Context:

  • Vue 3 + Composition API frontend application
  • Uses Vuetify 3 for UI components
  • Vite as build tool with standard configuration
  • ESLint for code quality
  • GitHub Actions for CI/CD deployment
  • No test suite identified

Breaking Changes Analysis:

@vitejs/plugin-vue 6.0.0:

  • ⚠️ Node.js requirement: Now requires Node.js 20.19+ or 22.12+ (current project requires 18+)
  • ⚠️ CJS build dropped: No longer provides CommonJS build (project uses ESM, so should be fine)
  • ⚠️ API changes: include and exclude options separated from api.options

Vite 7.0.4:

  • ⚠️ Node.js requirement: Likely requires Node.js 20+ (current project specifies 18+)
  • ESM support: Better ESM support aligns with project's "type": "module"
  • Performance improvements: Better build times and bundle optimization

esbuild 0.25.6:

  • Memory leak fixes: Fixes for cancel() memory leaks
  • CSS improvements: Better CSS selector handling
  • Tree-shaking: Improved dead code elimination

Configuration Compatibility:

vite.config.js:

  • Current configuration: Standard setup with @vitejs/plugin-vue and vuetify plugins
  • Build configuration: Uses standard Rollup options, should remain compatible
  • Plugin usage: Simple vue() plugin call without custom options - should work with v6

CI/CD (GitHub Actions):

  • Node.js version: Currently uses Node.js 20 in CI, which meets new requirements
  • Build process: Uses standard npm run build command
  • ⚠️ Legacy peer deps: Uses --legacy-peer-deps flag which may need review

Review Recommendations:

🔴 Action Required:

  1. Update Node.js requirement in package.json from >=18.0.0 to >=20.19.0 to match new dependency requirements
  2. Test the build process thoroughly after merging, especially with the --legacy-peer-deps flag

🟡 Monitor:

  1. Bundle size impact: Check if the new versions affect bundle sizes (current limit: 500KB)
  2. Build performance: Monitor build times for any regressions
  3. Runtime compatibility: Verify Vue 3 application still functions correctly

Positive Aspects:

  1. Security updates: All dependencies include security fixes and improvements
  2. Performance improvements: Better tree-shaking and build optimization
  3. Memory leak fixes: esbuild 0.25.6 fixes memory leaks in build processes
  4. Maintained compatibility: Current vite.config.js should work without changes

Recommended Next Steps:

  1. Update package.json to require Node.js 20.19+ to match dependency requirements
  2. Test locally with npm run build and npm run dev to verify functionality
  3. Monitor CI/CD pipeline for any build failures
  4. Consider removing --legacy-peer-deps flag if no longer needed

Overall Assessment:

APPROVE with minor updates - This is a well-structured dependency update that brings security fixes and performance improvements. The main requirement is updating the Node.js version constraint to match the new dependency requirements.

@nnegi88
Copy link
Owner

nnegi88 commented Jul 14, 2025

@claude do make the suggested changes

@claude
Copy link

claude bot commented Jul 14, 2025

Claude finished @nnegi88's task —— View job


Changes Implementation Complete ✅

I've successfully implemented the suggested changes from my previous review:

Todo List:

  • Read repository guidelines (CLAUDE.md) - No CLAUDE.md file found
  • Review current package.json structure - Found Node.js requirement at >=18.0.0
  • Update Node.js version requirement from >=18.0.0 to >=20.19.0
  • Test build process to ensure compatibility - Cannot run build test (no Bash permissions)
  • Commit and push changes to the PR branch - Pushed to dependabot/npm_and_yarn/multi-04f1560622
  • Update comment with completion status

Changes Made:

  • Updated package.json at line 8: Changed "node": ">=18.0.0" to "node": ">=20.19.0"
  • Committed changes with commit hash b7b90a6
  • Pushed to remote branch dependabot/npm_and_yarn/multi-04f1560622

Note on Build Testing:

I was unable to run the build test (npm install and npm run build) due to limited permissions. However, the Node.js version requirement has been updated to match the new dependency requirements from @vitejs/plugin-vue 6.0.0 and vite 7.0.4. The GitHub Actions CI/CD pipeline should test the build process automatically when this PR is updated.

Summary:

The main actionable change from my previous review has been implemented. The Node.js version requirement now matches the requirements of the updated dependencies, which should resolve the compatibility concerns I identified in the dependency update review.


Update minimum Node.js version to match new dependency requirements from @vitejs/plugin-vue 6.0.0 and vite 7.0.4

Co-authored-by: Naveen Singh Negi <nnegi88@users.noreply.github.com>
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