You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#62131a63ec8 Thanks @lihan3238! - fix(cli): replace all hyphens in shell completion command names
#6208e71ba68 Thanks @Zelys-DFKH! - Fix @effect/cli help output to use Ansi.blackBright instead of Ansi.black for Weak spans. The previous black foreground was invisible on dark terminal backgrounds.
#6144ec5c505 Thanks @LikiosSedo! - Fix --log-level=value equals syntax incorrectly swallowing the next argument. Only skip the next arg when the previous arg is exactly --log-level (space-separated form).
Improve the diagnostic guidance for JSON parsing and stringifying:
in Effect v3, suggest Schema.parseJson(Schema.Unknown) for unknown shapes and Schema.parseJson(schema) for known ones
in Effect v4, suggest Schema.UnknownFromJsonString, Schema.fromJsonString(schema), and Schema.toCodecJson(schema) depending on whether the target shape is known and whether the code is working with JSON strings or JSON values
#7320674371 Thanks @mattiamanzati! - Update the Effect v4 test harness and language service development dependencies to Effect 4.0.0 beta 66, including fixture updates for the latest Context service API.
#728a5b0e47 Thanks @mattiamanzati! - Add the unsafeEffectTypeAssertion diagnostic to catch as Effect<...>, as Stream<...>, and as Layer<...> assertions that unsafely narrow the error or requirements channels.
The rule skips channels whose original type is any and offers a quick fix that removes the assertion while preserving the original expression.
#726fd4a8da Thanks @mattiamanzati! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases.
#72414d5798 Thanks @mattiamanzati! - Refactor Effect context tracking to use cached node context flags and direct generator lookups.
This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator.
#723da9cc4b Thanks @mattiamanzati! - Add the effectMapFlatten style diagnostic for Effect.map(...) immediately followed by Effect.flatten in pipe flows.
#7180af7c0f Thanks @mattiamanzati! - Add the lazyPromiseInEffectSync diagnostic to catch Effect.sync(() => Promise...) patterns and suggest using Effect.promise or Effect.tryPromise for async work.
Example:
Effect.sync(()=>Promise.resolve(1));
#71432985b2 Thanks @mattiamanzati! - Add processEnv and processEnvInEffect diagnostics to guide process.env.* reads toward Effect Config APIs.
Examples:
process.env.PORT
process.env["API_KEY"]
#721f05ae89 Thanks @mattiamanzati! - Add the unnecessaryArrowBlock style diagnostic for arrow functions whose block body only returns an expression.
Example:
consttrim=(value: string)=>{returnvalue.trim();};
#717b77848a Thanks @mattiamanzati! - Add newPromise and asyncFunction effect-native diagnostics to report manual Promise construction and async function declarations, with guidance toward Effect-based async control flow.
#7226f19858 Thanks @mattiamanzati! - Add the effectDoNotation style diagnostic for Effect.Do usage and suggest migrating to Effect.gen or Effect.fn.
Example:
import{pipe}from"effect/Function";import{Effect}from"effect";constprogram=pipe(Effect.Do,Effect.bind("a",()=>Effect.succeed(1)),Effect.let("b",({ a })=>a+1));
#716c3f67b0 Thanks @mattiamanzati! - Add cryptoRandomUUID and cryptoRandomUUIDInEffect diagnostics for Effect v4 to discourage crypto.randomUUID() in favor of the Effect Random module, which uses Effect-injected randomness instead of the global crypto implementation.
Patch Changes
#719d23980a Thanks @mattiamanzati! - Update the Effect v4 beta dependencies to 4.0.0-beta.43 for the language service and v4 harness packages.
#6191c016642 Thanks @IGassmann! - Update msgpackr to 1.11.10 to fix silent decode failures in environments that block new Function() at runtime (e.g. Cloudflare Workers). The new version wraps the JIT new Function() call in a try/catch, falling back to the interpreted path when dynamic code evaluation is blocked.
This release revisits the approach to CDN usage and introduces a new package, @date-fns/cdn and deprecates the date-fns CDN scripts. It allowed reducing the zipped package size from 5.83 MB down to 3.96 MB without introducing any breaking changes.
In v5.0.0-alpha.0 where CDN scripts are completely removed from date-fns the change is more significant and brings the zipped package size down to 2.89 MB.
It is just the first step in optimizing the package size. Expect further size reduction in the future v4 and v5 versions.
Changed
DEPRECATED: The date-fns CDN scripts are now deprecated and will be removed in the next major release. Please switch to the new @date-fns/cdn package for CDN usage.
Removed CDN source maps to reduce the package size. If you rely on them, please switch to the new @date-fns/cdn package that still includes them.
#62678222963 Thanks @fubhy! - Fix Graph traversal and shortest-path algorithms to traverse undirected edges independently of their stored source/target orientation.
#619474f3267 Thanks @mikearnaldi! - Fix TestClock.unsafeCurrentTimeNanos() to floor fractional millisecond instants before converting them to BigInt.
#6139f99048e Thanks @marbemac! - Fix batched request resolver defects causing consumer fibers to hang forever.
When a RequestResolver.makeBatched resolver died with a defect, the request Deferreds were never completed because the cleanup logic in invokeWithInterrupt used flatMap (which only runs on success). Changed to ensuring so uncompleted request entries are always resolved regardless of exit type.
This release fixes a security issue where HTTP requests to esbuild's local development server could traverse outside of the serve directory on Windows using a \ backslash character. It happened due to the use of Go's path.Clean() function, which only handles Unix-style / characters. HTTP requests with paths containing \ are no longer allowed.
The previous release of esbuild added integrity checks to esbuild's npm install script. This release also adds integrity checks to esbuild's Deno install script. Now esbuild's Deno API will also fail with an error if the downloaded esbuild binary contains something other than the expected content.
Note that esbuild's Deno API installs from registry.npmjs.org by default, but allows the NPM_CONFIG_REGISTRY environment variable to override this with a custom package registry. This change means that the esbuild executable served by NPM_CONFIG_REGISTRY must now match the expected content.
Avoid inlining using and await using declarations (#4482)
Previously esbuild's minifier sometimes incorrectly inlined using and await using declarations into subsequent uses of that declaration, which then fails to dispose of the resource correctly. This bug happened because inlining was done for let and const declarations by avoiding doing it for var declarations, which no longer worked when more declaration types were added. Here's an example:
// Original code{usingx=newResource()x.activate()}// Old output (with --minify)newResource().activate();// New output (with --minify){usinge=newResource;e.activate()}
Fix module evaluation when an error is thrown (#4461, #4467)
If an error is thrown during module evaluation, esbuild previously didn't preserve the state of the module for subsequent module references. This was observable if import() or require() is used to import a module multiple times. The thrown error is supposed to be thrown by every call to import() or require(), not just the first. With this release, esbuild will now throw the same error every time you call import() or require() on a module that throws during its evaluation.
Fix some edge cases around the new operator (#4477)
Previously esbuild incorrectly printed certain edge cases involving complex expressions inside the target of a new expression (specifically an optional chain and/or a tagged template literal). The generated code for the new target was not correctly wrapped with parentheses, and either contained a syntax error or had different semantics. These edge cases have been fixed so that they now correctly wrap the new target in parentheses. Here is an example of some affected code:
// Original codenew(foo()`bar`)()new(foo()?.bar)()// Old outputnewfoo()`bar`();new(foo())?.bar();// New outputnew(foo())`bar`();new(foo()?.bar)();
This release fixes a bug where var declarations in nested scopes that are hoisted up to module scope were not correctly being renamed during bundling. That could previously lead to name collisions when minification was disabled, which could potentially cause a behavior change. The bug has been fixed so that these hoisted declarations are now considered to be module-level symbols during the name collision avoidance pass.
Emit var instead of const for certain TypeScript-only constructs for ES5 (#4448)
While esbuild doesn't generally support converting const to var for ES5 due to nested scoping rules (which is currently a build-time error), esbuild previously incorrectly converted TypeScript-only import assignment constructs into a const declaration even when targeting ES5. With this release, esbuild will now use var for this case instead:
// Original codeimportx=require('y')// Old output (with --target=es5)constx=require("y");// New output (with --target=es5)varx=require("y");
animateView: Moves from Motion+ Early Access and alpha to main library.
animateView: .add() resolves a CSS selector or Element to automatically generate, apply and remove view-transition-name.
animateView: .new() and .old() configures values to animate on new and old layers.
animateView: .layout() can set a custom transition on the size/position animation of the currently selected elements.
animateView: Group layers now automatically crop with children set to cover, with border-radius animating from old radius to new. .crop(false) disables this behaviour.
animateView: .class(name) tags currently selected elements with a view-transition-class as a custom CSS hook.
Fixed
AnimatePresence: Prevent stuck exit animations when children interrupt.
drag: Child e.stopPropagation() no longer break drag end.
Fixing Next.js OOM on Windows when importing via motion package.
animateLayout: Improve handling of parallel/interleaved calls.
Changed
animateView: .enter() and .exit() now refer specifically to new and old layers where there are no matching old or new layers.
animateView: Interrupted transition setups now return resolved animation rather than throwing.
Support for repeatType and repeatDelay in animation sequences.
Fixed
Variants: Re-run keyframe animations when switching between variant labels even when they share identical keyframe arrays.
Drag: Preserve in-flight motion value animations across React 19 reorder unmount/remount so dragSnapToOrigin no longer leaves the drag transform stranded after a layout swap.
LazyMotion: Share React contexts between the framer-motion and framer-motion/m (and therefore motion/react and motion/react-m) CJS bundles so that <m.div> from the /m subpath picks up features loaded by <LazyMotion> from the main entry point.
useScroll: Support hydrating target and container refs from anywhere in the tree.
Drag: Gesture no longer starts from incorrect start point when rendered inside <AnimatePresence initial={false} />.
Drag: dragConstraints, when set as viewport-relative ref, no longer break on scroll.§
Updated visualElement hydration order.
useAnimate: Now respects skipAnimations.
AnimatePresence: Fix object-form initial values not applied on re-entry after exit completes.
scroll: Fixed callback progress when tracking an element.
useScroll: Fix hardware acceleration when tracking an element.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
renovateBot
changed the title
chore(deps): update dependency @effect/platform to ^0.94.5 || ^0.96.0
chore(deps): update all non-major dependencies
Apr 6, 2026
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/date-fns@4.4.0. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm effect is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/effect@3.21.4. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dependenciesPull requests that update a dependency file
0 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.75.0→0.75.2^0.84.0→^0.86.0^0.94.5→^0.94.5 || ^0.96.00.96.0→0.96.20.96.0→0.96.2^0.106.0→^0.107.0^0.106.0→^0.107.05.2.2→5.4.05.96.2→5.101.122.19.17→22.20.018.3.28→18.3.318.18.0→8.20.010.4.27→10.5.04.1.0→4.4.03.21.0→3.21.43.21.0→3.21.40.28.0→0.28.112.38.0→12.41.011.3.4→11.3.55.1.7→5.1.1522.22.2→22.23.11.59.1→1.61.010.33.0→10.34.48.5.8→8.5.157.72.1→7.80.05.1.0→5.1.11.99.0→1.101.02.9.3→2.9.182.8.3→2.9.0Release Notes
Effect-TS/effect (@effect/cli)
v0.75.2Compare Source
Patch Changes
#6213
1a63ec8Thanks @lihan3238! - fix(cli): replace all hyphens in shell completion command names#6208
e71ba68Thanks @Zelys-DFKH! - Fix@effect/clihelp output to useAnsi.blackBrightinstead ofAnsi.blackforWeakspans. The previous black foreground was invisible on dark terminal backgrounds.v0.75.1Compare Source
Patch Changes
#6144
ec5c505Thanks @LikiosSedo! - Fix--log-level=valueequals syntax incorrectly swallowing the next argument. Only skip the next arg when the previous arg is exactly--log-level(space-separated form).Updated dependencies [
f99048e]:Effect-TS/language-service (@effect/language-service)
v0.86.2Compare Source
Patch Changes
#739
2a21b07Thanks @mattiamanzati! - Update the generatedschema.jsonto include the TypeScript 6.0ES2025target and lib entries.#738
ec42fd6Thanks @mattiamanzati! - UpdatepreferSchemaOverJsonto be off by default.Improve the diagnostic guidance for JSON parsing and stringifying:
Schema.parseJson(Schema.Unknown)for unknown shapes andSchema.parseJson(schema)for known onesSchema.UnknownFromJsonString,Schema.fromJsonString(schema), andSchema.toCodecJson(schema)depending on whether the target shape is known and whether the code is working with JSON strings or JSON values#736
4bf81c4Thanks @mattiamanzati! - Update the Effect v4 beta dependencies to 4.0.0-beta.68.v0.86.1Compare Source
Patch Changes
0674371Thanks @mattiamanzati! - Update the Effect v4 test harness and language service development dependencies to Effect 4.0.0 beta 66, including fixture updates for the latest Context service API.v0.86.0Compare Source
Minor Changes
#728
a5b0e47Thanks @mattiamanzati! - Add theunsafeEffectTypeAssertiondiagnostic to catchas Effect<...>,as Stream<...>, andas Layer<...>assertions that unsafely narrow the error or requirements channels.The rule skips channels whose original type is
anyand offers a quick fix that removes the assertion while preserving the original expression.v0.85.1Compare Source
Patch Changes
#726
fd4a8daThanks @mattiamanzati! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases.#724
14d5798Thanks @mattiamanzati! - Refactor Effect context tracking to use cached node context flags and direct generator lookups.This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator.
v0.85.0Compare Source
Minor Changes
#720
4229bb9Thanks @mattiamanzati! - Add thenestedEffectGenYielddiagnostic to detectyield* Effect.gen(...)inside an existing Effect generator context.Example:
#723
da9cc4bThanks @mattiamanzati! - Add theeffectMapFlattenstyle diagnostic forEffect.map(...)immediately followed byEffect.flattenin pipe flows.Example:
#718
0af7c0fThanks @mattiamanzati! - Add thelazyPromiseInEffectSyncdiagnostic to catchEffect.sync(() => Promise...)patterns and suggest usingEffect.promiseorEffect.tryPromisefor async work.Example:
#714
32985b2Thanks @mattiamanzati! - AddprocessEnvandprocessEnvInEffectdiagnostics to guideprocess.env.*reads toward EffectConfigAPIs.Examples:
process.env.PORTprocess.env["API_KEY"]#721
f05ae89Thanks @mattiamanzati! - Add theunnecessaryArrowBlockstyle diagnostic for arrow functions whose block body only returns an expression.Example:
#717
b77848aThanks @mattiamanzati! - AddnewPromiseandasyncFunctioneffect-native diagnostics to report manualPromiseconstruction and async function declarations, with guidance toward Effect-based async control flow.#722
6f19858Thanks @mattiamanzati! - Add theeffectDoNotationstyle diagnostic forEffect.Dousage and suggest migrating toEffect.genorEffect.fn.Example:
#716
c3f67b0Thanks @mattiamanzati! - AddcryptoRandomUUIDandcryptoRandomUUIDInEffectdiagnostics for Effect v4 to discouragecrypto.randomUUID()in favor of the EffectRandommodule, which uses Effect-injected randomness instead of the global crypto implementation.Patch Changes
d23980aThanks @mattiamanzati! - Update the Effect v4 beta dependencies to4.0.0-beta.43for the language service and v4 harness packages.Effect-TS/effect (@effect/platform)
v0.96.2Compare Source
Patch Changes
#6273
7e00169Thanks @tim-smart! - Remove the content-length header before sending FetchHttpClient requests.Updated dependencies [
8222963]:v0.96.1Compare Source
Patch Changes
#6147
518d0e3Thanks @syhstanley! - FixHttpLayerRouter.addHttpApisilently skipping API-level middleware.#6191
c016642Thanks @IGassmann! - Updatemsgpackrto 1.11.10 to fix silent decode failures in environments that blocknew Function()at runtime (e.g. Cloudflare Workers). The new version wraps the JITnew Function()call in a try/catch, falling back to the interpreted path when dynamic code evaluation is blocked.Updated dependencies [
74f3267]:v0.96.0Compare Source
Patch Changes
f7bb09b,bd7552a,ad1a7eb,0d32048,0d32048]:v0.95.0Compare Source
Patch Changes
fc82e81,82996bc,4d97a61,f6b0960,8798a84]:Effect-TS/effect (@effect/platform-node)
v0.107.0Compare Source
Patch Changes
26e1922]:react-hook-form/resolvers (@hookform/resolvers)
v5.4.0Compare Source
Features
Fixes
yupResolver(useForm context) (#835) (3d29924)TanStack/query (@tanstack/react-query)
v5.101.1Compare Source
Patch Changes
9eff92e]:v5.101.0Compare Source
Patch Changes
v5.100.14Compare Source
Patch Changes
fix(react-query): do not go into optimistic fetching state when not subscribed (#10759)
Updated dependencies []:
v5.100.13Compare Source
Patch Changes
d423168]:v5.100.12Compare Source
Patch Changes
v5.100.11Patch Changes
v5.100.10Patch Changes
v5.100.9Compare Source
Patch Changes
fcee7bd]:v5.100.8Compare Source
Patch Changes
v5.100.7Compare Source
Patch Changes
v5.100.6Compare Source
Patch Changes
v5.100.5Compare Source
Patch Changes
a53ef97]:v5.100.4Compare Source
Patch Changes
v5.100.3Compare Source
Patch Changes
fix(suspense): skip calling combine when queries would suspend (#10576)
Updated dependencies [
f85d825]:v5.100.2Patch Changes
ea4497e,d6a7bf3,645d5d1]:v5.100.1Patch Changes
1bb0d23]:v5.100.0Compare Source
Patch Changes
6540a41]:v5.99.2Compare Source
Patch Changes
v5.99.1Compare Source
Patch Changes
v5.99.0Compare Source
Patch Changes
v5.98.0Compare Source
Patch Changes
v5.97.0Compare Source
Patch Changes
2bfb12c]:ajv-validator/ajv (ajv)
v8.20.0Compare Source
What's Changed
Full Changelog: ajv-validator/ajv@v8.19.0...v8.20.0
postcss/autoprefixer (autoprefixer)
v10.5.0Compare Source
mask-position-xandmask-position-ysupport (by @toporek).date-fns/date-fns (date-fns)
v4.4.0Compare Source
This release revisits the approach to CDN usage and introduces a new package,
@date-fns/cdnand deprecates thedate-fnsCDN scripts. It allowed reducing the zipped package size from5.83 MBdown to3.96 MBwithout introducing any breaking changes.In
v5.0.0-alpha.0where CDN scripts are completely removed fromdate-fnsthe change is more significant and brings the zipped package size down to2.89 MB.It is just the first step in optimizing the package size. Expect further size reduction in the future v4 and v5 versions.
Changed
DEPRECATED: The
date-fnsCDN scripts are now deprecated and will be removed in the next major release. Please switch to the new@date-fns/cdnpackage for CDN usage.Removed CDN source maps to reduce the package size. If you rely on them, please switch to the new
@date-fns/cdnpackage that still includes them.v4.3.0Compare Source
Kudos to @ImRodry and @puneetdixit200 for their contributions.
Fixed
Fixed missing modularized optimization fallback (for Next.js and others). See #4193.
Fixed
ptlocale first day of week to be Sunday. See #4195 by @ImRodry.Fixed
zh-CN,zh-HK, andzh-TWlocale month parsing for October, November, and December. See #4194 by @puneetdixit200.v4.2.1Compare Source
Fixed
v4.2.0Compare Source
This is a minor release in all senses, it only includes documentation updates (first of many) that points to the new You Don't Need date-fns* page.
* Not really
Changed
add,addBusinessDays, andaddDays.Effect-TS/effect (effect)
v3.21.4Compare Source
Patch Changes
8222963Thanks @fubhy! - Fix Graph traversal and shortest-path algorithms to traverse undirected edges independently of their stored source/target orientation.v3.21.3Compare Source
Patch Changes
#6250
e2126bcThanks @milkyskies! - Fix $match generic type parameter inference inside arms (#6249)#6257
f7e836eThanks @gcanti! - EmitadditionalProperties: falsefor records with string keys andSchema.Nevervalues.v3.21.2Compare Source
Patch Changes
74f3267Thanks @mikearnaldi! - FixTestClock.unsafeCurrentTimeNanos()to floor fractional millisecond instants before converting them toBigInt.v3.21.1Compare Source
Patch Changes
#6139
f99048eThanks @marbemac! - Fix batched request resolver defects causing consumer fibers to hang forever.When a
RequestResolver.makeBatchedresolver died with a defect, the requestDeferreds were never completed because the cleanup logic ininvokeWithInterruptusedflatMap(which only runs on success). Changed toensuringso uncompleted request entries are always resolved regardless of exit type.evanw/esbuild (esbuild)
v0.28.1Compare Source
Disallow
\in local development server HTTP requests (GHSA-g7r4-m6w7-qqqr)This release fixes a security issue where HTTP requests to esbuild's local development server could traverse outside of the serve directory on Windows using a
\backslash character. It happened due to the use of Go'spath.Clean()function, which only handles Unix-style/characters. HTTP requests with paths containing\are no longer allowed.Thanks to @dellalibera for reporting this issue.
Add integrity checks to the Deno API (GHSA-gv7w-rqvm-qjhr)
The previous release of esbuild added integrity checks to esbuild's npm install script. This release also adds integrity checks to esbuild's Deno install script. Now esbuild's Deno API will also fail with an error if the downloaded esbuild binary contains something other than the expected content.
Note that esbuild's Deno API installs from
registry.npmjs.orgby default, but allows theNPM_CONFIG_REGISTRYenvironment variable to override this with a custom package registry. This change means that the esbuild executable served byNPM_CONFIG_REGISTRYmust now match the expected content.Thanks to @sondt99 for reporting this issue.
Avoid inlining
usingandawait usingdeclarations (#4482)Previously esbuild's minifier sometimes incorrectly inlined
usingandawait usingdeclarations into subsequent uses of that declaration, which then fails to dispose of the resource correctly. This bug happened because inlining was done forletandconstdeclarations by avoiding doing it forvardeclarations, which no longer worked when more declaration types were added. Here's an example:Fix module evaluation when an error is thrown (#4461, #4467)
If an error is thrown during module evaluation, esbuild previously didn't preserve the state of the module for subsequent module references. This was observable if
import()orrequire()is used to import a module multiple times. The thrown error is supposed to be thrown by every call toimport()orrequire(), not just the first. With this release, esbuild will now throw the same error every time you callimport()orrequire()on a module that throws during its evaluation.Fix some edge cases around the
newoperator (#4477)Previously esbuild incorrectly printed certain edge cases involving complex expressions inside the target of a
newexpression (specifically an optional chain and/or a tagged template literal). The generated code for thenewtarget was not correctly wrapped with parentheses, and either contained a syntax error or had different semantics. These edge cases have been fixed so that they now correctly wrap thenewtarget in parentheses. Here is an example of some affected code:Fix renaming of nested
vardeclarations (#4471)This release fixes a bug where
vardeclarations in nested scopes that are hoisted up to module scope were not correctly being renamed during bundling. That could previously lead to name collisions when minification was disabled, which could potentially cause a behavior change. The bug has been fixed so that these hoisted declarations are now considered to be module-level symbols during the name collision avoidance pass.Emit
varinstead ofconstfor certain TypeScript-only constructs for ES5 (#4448)While esbuild doesn't generally support converting
consttovarfor ES5 due to nested scoping rules (which is currently a build-time error), esbuild previously incorrectly converted TypeScript-onlyimportassignment constructs into aconstdeclaration even when targeting ES5. With this release, esbuild will now usevarfor this case instead:motiondivision/motion (framer-motion)
v12.41.0Compare Source
Added
animateView: Moves from Motion+ Early Access and alpha to main library.animateView:.add()resolves a CSS selector orElementto automatically generate, apply and removeview-transition-name.animateView:.new()and.old()configures values to animate on new and old layers.animateView:.layout()can set a custom transition on the size/position animation of the currently selected elements.animateView: Group layers now automatically crop with children set tocover, withborder-radiusanimating from old radius to new..crop(false)disables this behaviour.animateView:.class(name)tags currently selected elements with aview-transition-classas a custom CSS hook.Fixed
AnimatePresence: Prevent stuck exit animations when children interrupt.drag: Childe.stopPropagation()no longer break drag end.motionpackage.animateLayout: Improve handling of parallel/interleaved calls.Changed
animateView:.enter()and.exit()now refer specifically tonewandoldlayers where there are no matchingoldornewlayers.animateView: Interrupted transition setups now return resolved animation rather than throwing.v12.40.0Compare Source
Added
pathoption totransition.arc()for motion along an arc.v12.39.0Compare Source
Added
repeatTypeandrepeatDelayin animation sequences.Fixed
dragSnapToOriginno longer leaves the drag transform stranded after a layout swap.LazyMotion: Share React contexts between theframer-motionandframer-motion/m(and thereforemotion/reactandmotion/react-m) CJS bundles so that<m.div>from the/msubpath picks up features loaded by<LazyMotion>from the main entry point.useScroll: Support hydratingtargetandcontainerrefs from anywhere in the tree.<AnimatePresence initial={false} />.dragConstraints, when set as viewport-relative ref, no longer break on scroll.§visualElementhydration order.useAnimate: Now respectsskipAnimations.AnimatePresence: Fix object-forminitialvalues not applied on re-entry after exit completes.scroll: Fixed callback progress when tracking an element.useScroll: Fix hardware acceleration when tracking an element.jprichardson/node-fs-extra (fs-extra)
v11.3.5Compare Source
ensureLink*/ensureSymlink*identical file detection on Windows (#1068)ai/nanoid (nanoid)
v5.1.15Compare Source
v5.1.14Compare Source
v5.1.13Compare Source
v5.1.12Compare Source
v5.1.11Compare Source
v5.1.10Compare Source
v5.1.9Compare Source
v5.1.8Compare Source
cusatomAlphabet75% faster (by @saripovdenis).nodejs/node (node)
v22.23.1: 2026-06-23, VConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.