Skip to content

chore(deps): update all devdependencies#1867

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-dev
Open

chore(deps): update all devdependencies#1867
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-dev

Conversation

@renovate

@renovate renovate Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@0no-co/graphqlsp 1.15.41.17.2 age adoption passing confidence
@apollo/client (source) 4.1.94.2.3 age adoption passing confidence
@changesets/changelog-github (source) 0.6.00.7.0 age adoption passing confidence
graphql 16.13.216.14.2 age adoption passing confidence
graphql 16.13.216.14.2 age adoption passing confidence
jest (source) 30.3.030.4.2 age adoption passing confidence
terser-webpack-plugin 5.5.05.6.1 age adoption passing confidence
ts-loader 9.5.79.6.0 age adoption passing confidence
tsx (source) 4.21.04.22.4 age adoption passing confidence
webpack 5.106.25.107.2 age adoption passing confidence
ws 8.20.08.21.0 age adoption passing confidence

Release Notes

0no-co/GraphQLSP (@​0no-co/graphqlsp)

v1.17.2

Compare Source

Patch Changes
  • Update @gql.tada/internal and preserve introspection output file header
    Submitted by @​kitten (See #​402)

v1.17.1

Compare Source

Patch Changes
  • Mute co-located fragment warnings, when fragments are directly referenced
    Submitted by @​kitten (See #​400)

v1.17.0

Compare Source

Minor Changes
  • Surface plugin misconfiguration and schema failures as editor diagnostics instead of failing silently with errors only visible in the tsserver log. The plugin configuration is now validated with @gql.tada/internal's parseConfig (adding ${configDir} substitution and consistent validation with the gql.tada CLI), and the following are reported on a file's first GraphQL document: invalid configuration (code 52006), schema load and reload failures (52006, attributed per schema where possible), typings files that fail to be written or that aren't part of the TypeScript project (52006), documents naming an unconfigured schema (52008), and GraphQL documents written in the mode the plugin isn't configured for, e.g. tagged templates while templateIsCallExpression is on (52007). The plugin also detects schema file changes that the file watcher missed and force-reloads them, and exceptions in plugin code no longer fail whole tsserver requests but fall back to the underlying language service
    Submitted by @​JoviDeCroock (See #​398)
Patch Changes
  • Upgrade @gql.tada/internal and @0no-co/graphql.web
    Submitted by @​kitten (See #​399)
  • Reject call expressions whose first argument cannot start a GraphQL document (after ignored tokens, a document must begin with { or a definition keyword) before resolving the callee's type in call discovery. Ordinary string-argument calls — translations, test titles, event names — no longer touch the type checker at all, which speeds up scanning codebases where GraphQL files are a small fraction of all files. Note that documents passed to a gql.tada function under a non-default name are now only discovered when they start with a valid document prefix; functions matching configured templates names are unaffected
    Submitted by @​JoviDeCroock (See #​397)
  • Treat || and ?? as value pass-throughs in unused-field tracking: fn(a.b || fallback) now marks a.b's sub-selections as used, like other escapes of an access chain. && keeps its guard semantics, so a?.b && a?.b.c retains leaf-level precision
    Submitted by @​JoviDeCroock (See #​395)

v1.16.0

Compare Source

Minor Changes
  • Reduce type-checker work in findAllCallExpressions. The gql.tada function detection and schema-name lookups are now memoized per callee, so ordinary calls with a string-literal first argument (e.g. t('key'), it('name', fn)) no longer trigger a type probe per call site. Fragment unrolling is deduplicated for repeated references to the same fragment, and the third argument of findAllCallExpressions now also accepts an options object ({ searchExternal?: boolean; collectFragments?: boolean }), where collectFragments: false skips fragment collection entirely for callers that only consume nodes
    Submitted by @​JoviDeCroock (See #​392)
  • Rewrite unused field detection as a single-pass, symbol-driven analysis. Instead of issuing a find-all-references request per binding and enumerating the lexical scope per reference, the file's AST is walked once to index identifier occurrences, and query-result bindings are resolved through getSymbolAtLocation against a selection-set trie. This removes the quadratic language-service calls from getSemanticDiagnostics, scales to files with many documents and consumers, and makes the analysis work without resolved document types.
    The analysis also tracks more usage patterns, reducing false positives: values passed as function arguments (including property chains like format(data.pokemon.weight)), spreads and object-literal assignments now mark the affected sub-selections as used, for...of loop bindings are followed like array-method callbacks, and assignments (existing = result.data.pokemon) and conditional expressions now alias like variable declarations
    Submitted by @​JoviDeCroock (See #​393)
Patch Changes
  • ⚠️ Fix multi-level property accessor when resolving fragments in gql.tada generate-persisted
    Submitted by @​felamaslen (See #​389)
apollographql/apollo-client (@​apollo/client)

v4.2.3

Compare Source

v4.2.2

Compare Source

Patch Changes

v4.2.1

Compare Source

v4.2.0

Compare Source

Minor Changes
  • #​13132 f3ce805 Thanks @​phryneas! - Introduce "classic" and "modern" method and hook signatures.

    Apollo Client 4.2 introduces two signature styles for methods and hooks. All signatures previously present are now "classic" signatures, and a new set of "modern" signatures are added alongside them.

    Classic signatures are the default and are identical to the signatures before Apollo Client 4.2, preserving backward compatibility. Classic signatures still work with manually specified TypeScript generics (e.g., useSuspenseQuery<MyData>(...)). However, manually specifying generics has been discouraged for a long time—instead, we recommend using TypedDocumentNode to automatically infer types, which provides more accurate results without any manual annotations.

    Modern signatures automatically incorporate your declared defaultOptions into return types, providing more accurate types. Modern signatures infer types from the document node and do not support manually passing generic type arguments; TypeScript will produce a type error if you attempt to do so.

    Methods and hooks automatically switch to modern signatures the moment any non-optional property is declared in DeclareDefaultOptions. The switch happens across all methods and hooks globally:

    // apollo.d.ts
    import "@&#8203;apollo/client";
    declare module "@&#8203;apollo/client" {
      namespace ApolloClient {
        namespace DeclareDefaultOptions {
          interface WatchQuery {
            errorPolicy: "all"; // non-optional → modern signatures activated automatically
          }
        }
      }
    }

    Users can also manually switch to modern signatures without declaring any defaultOptions, for example when wanting accurate type inference without relying on global defaultOptions:

    // apollo.d.ts
    import "@&#8203;apollo/client";
    declare module "@&#8203;apollo/client" {
      export interface TypeOverrides {
        signatureStyle: "modern";
      }
    }

    Users can do a global DeclareDefaultOptions type augmentation and then manually switch back to "classic" for migration purposes:

    // apollo.d.ts
    import "@&#8203;apollo/client";
    declare module "@&#8203;apollo/client" {
      export interface TypeOverrides {
        signatureStyle: "classic";
      }
    }

    Note that this is not recommended for long-term use. When combined with DeclareDefaultOptions, switching back to classic results in the same incorrect types as before Apollo Client 4.2—methods and hooks will not reflect the defaultOptions you've declared.

  • #​13130 dd12231 Thanks @​jerelmiller! - Improve the accuracy of client.query return type to better detect the current errorPolicy. The data property is no longer nullable when the errorPolicy is none. This makes it possible to remove the undefined checks or optional chaining in most cases.

  • #​13210 1f9a428 Thanks @​jerelmiller! - Add support for automatic event-based refetching, such as window focus.

    The RefetchEventManager class handles automatic refetches in response to events. Apollo Client provides built-in sources for window focus and network reconnect as windowFocusSource and onlineSource.

    Event refetching is fully opt-in. Create and pass a RefetchEventManager instance to the ApolloClient constructor to activate the event listeners.

    import {
      ApolloClient,
      InMemoryCache,
      RefetchEventManager,
      windowFocusSource,
      onlineSource,
    } from "@&#8203;apollo/client";
    
    const client = new ApolloClient({
      link,
      cache: new InMemoryCache(),
      refetchEventManager: new RefetchEventManager({
        sources: {
          // Refetch when window is focused
          windowFocus: windowFocusSource,
    
          // Refetch when the user comes back online
          online: onlineSource,
        },
      }),
    });

    By default, all active queries refetch when the events fire. Queries can opt out per-event or disable all event refetches:

    // Skip refetch on window focus for this query, but keep `online`
    useQuery(QUERY, {
      refetchOn: { windowFocus: false },
    });
    
    // Disable all event-driven refetches for this query
    useQuery(OTHER_QUERY, {
      refetchOn: false,
    });
    
    // Enable every event for this query, regardless of defaultOptions
    useQuery(LIVE_DASHBOARD, {
      refetchOn: true,
    });
    
    // Dynamically enable or disable a refetch when the event fires
    useQuery(LIVE_DASHBOARD, {
      refetchOn: ({ source, payload }) => {
        if (source === "windowFocus") {
          // payload is the data associated with the event
          return someCondition(payload);
        }
    
        return true;
      },
    });
    
    // Dynamically enable or disable a refetch for a specific event
    useQuery(LIVE_DASHBOARD, {
      refetchOn: {
        windowFocus: ({ payload }) => {
          // payload is the data associated with the event
          return someCondition(payload);
        },
      },
    });

    To enable per-query opt-in rather than opt-out, set defaultOptions.watchQuery.refetchOn to false and enable it per-query instead.

    const client = new ApolloClient({
      link,
      cache,
      refetchEventManager: new RefetchEventManager({
        sources: { windowFocus: windowFocusSource },
      }),
      defaultOptions: {
        watchQuery: { refetchOn: false },
      },
    });
    
    // Only this query refetches on window focus
    useQuery(DASHBOARD_QUERY, { refetchOn: { windowFocus: true } });

    When defaultOptions.watchQuery.refetchOn and per-query refetchOn options are provided, the objects are merged together.

Custom events

You can also add your own custom events that trigger refetches. Register your event name and payload type using TypeScript module augmentation, then provide a source function that returns an Observable. The source's emitted value becomes the event's payload.

import { Observable } from "@&#8203;apollo/client";
import { filter } from "rxjs";
import { AppState, AppStateStatus, Platform } from "react-native";

declare module "@&#8203;apollo/client" {
  interface RefetchEvents {
    reactNativeAppStatus: AppStateStatus;
  }
}

const refetchEventManager = new RefetchEventManager({
  sources: {
    reactNativeAppStatus: () => {
      return new Observable((observer) => {
        const subscription = AppState.addEventListener("change", (status) => {
          observer.next(status);
        });
        return () => subscription.remove();
      }).pipe(
        filter((status) => Platform.OS !== "web" && status === "active")
      );
    },
  },
});

// Disable per-query by setting the event to false
useQuery(QUERY, { refetchOn: { reactNativeAppStatus: false } });
Manually trigger an event refetch

Refetches can be triggered imperatively by calling emit with the event name and its payload (if any).

refetchEventManager.emit("reactNativeAppStatus", "active");
Sourceless events

A source that has no automatic detection logic but still wants imperative emit support can be declared as true. Type the event as void to omit the payload argument.

declare module "@&#8203;apollo/client" {
  interface RefetchEvents {
    userTriggered: void;
  }
}

const refetchEventManager = new RefetchEventManager({
  sources: { userTriggered: true },
});

refetchEventManager.emit("userTriggered");

Note: Calling emit on an event without a registered source will log a warning and result in a no-op.

Custom handlers

When an event fires, the default handler calls client.refetchQueries({ include: "active" }) filtered by each query's refetchOn setting. You can override the handler for an event to add your own custom filtering. For example, to refetch all queries, including standby queries, define a handler for the event:

const refetchEventManager = new RefetchEventManager({
  // ...
  handlers: {
    userTriggered: ({ client, source, payload, matchesRefetchOn }) => {
      return client.refetchQueries({
        include: "all",
        onQueryUpdated: (observableQuery) => {
          return matchesRefetchOn(observableQuery);
        },
      });
    },
  },
});

Handlers must return either a RefetchQueriesResult or void. Returning void skips refetching for the event.

  • #​13232 f1b541f Thanks @​jerelmiller! - Version bump to rc.

  • #​13206 08fccab Thanks @​jerelmiller! - Extend the defaultOptions type-safety work to client.mutate and useMutation.

    The errorPolicy option now flows through to the result types for mutations in the same way it already does for queries:

    • ApolloClient.MutateResult<TData, TErrorPolicy> maps errorPolicy to the concrete shape of data and error:
      • "none"{ data: TData; error?: never }
      • "all"{ data: TData | undefined; error?: ErrorLike }
      • "ignore"{ data: TData | undefined; error?: never }
    • client.mutate and useMutation pick up the declared defaultOptions.mutate.errorPolicy and the explicit errorPolicy on each call to narrow return types accordingly.
    • useMutation.Result.error is narrowed to undefined when errorPolicy is "ignore", since client.mutate never resolves with an error in that case.

    DeclareDefaultOptions.Mutate already accepted errorPolicy; the new behavior is that once you declare it, hook and method return types reflect it:

    // apollo.d.ts
    import "@&#8203;apollo/client";
    
    declare module "@&#8203;apollo/client" {
      namespace ApolloClient {
        namespace DeclareDefaultOptions {
          interface Mutate {
            errorPolicy: "all";
          }
        }
      }
    }
    const result = await client.mutate({ mutation: MUTATION });
    result.data;
    //     ^? TData | undefined
    result.error;
    //     ^? ErrorLike | undefined

    Setting errorPolicy on an individual call overrides the default for that call's return type.

  • #​13222 b93c172 Thanks @​jerelmiller! - Extend the defaultOptions type-safety work to preloadQuery (returned from createQueryPreloader). Defaults declared in DeclareDefaultOptions.WatchQuery now work with preloadQuery to ensure the PreloadedQueryRef's data states are correctly set.

    // apollo.d.ts
    import "@&#8203;apollo/client";
    
    declare module "@&#8203;apollo/client" {
      namespace ApolloClient {
        namespace DeclareDefaultOptions {
          interface WatchQuery {
            errorPolicy: "all";
          }
        }
      }
    }
    const preloadQuery = createQueryPreloader(client);
    const queryRef = preloadQuery(QUERY);
    //    ^? PreloadedQueryRef<TData, TVariables, "complete" | "streaming" | "empty">
  • #​13132 f3ce805 Thanks @​phryneas! - Synchronize method and hook return types with defaultOptions.

    Prior to this change, the following code snippet would always apply:

    declare const MY_QUERY: TypedDocumentNode<TData, TVariables>;
    const result1 = useSuspenseQuery(MY_QUERY);
    result1.data;
    //      ^? TData
    const result2 = useSuspenseQuery(MY_QUERY, { errorPolicy: "all" });
    result2.data;
    //      ^? TData | undefined

    While these types are generally correct, if you were to set errorPolicy: 'all' as a default option, the type of result.data for the first query would remain TData instead of changing to TData | undefined to match the runtime behavior.

    We are now enforcing that certain defaultOptions types need to be registered globally. This means that if you want to use errorPolicy: 'all' as a default option for a query, you will need to register its type like this:

    // apollo.d.ts
    import "@&#8203;apollo/client";
    
    declare module "@&#8203;apollo/client" {
      namespace ApolloClient {
        namespace DeclareDefaultOptions {
          interface WatchQuery {
            // possible global-registered values:
            // * `errorPolicy`
            // * `returnPartialData`
            errorPolicy: "all";
          }
          interface Query {
            // possible global-registered values:
            // * `errorPolicy`
          }
          interface Mutate {
            // possible global-registered values:
            // * `errorPolicy`
          }
        }
      }
    }

    Once this type declaration is in place, the type of result.data in the above example will correctly be changed to TData | undefined, reflecting the possibility that if an error occurs, data might be undefined. Manually specifying useSuspenseQuery(MY_QUERY, { errorPolicy: "none" }); changes result.data to TData to reflect the local override.

    This change means that you will need to declare your default options types in order to use defaultOptions with ApolloClient, otherwise you will see a TypeScript error.

    Without the type declaration, the following (previously valid) code will now error:

    new ApolloClient({
      link: ApolloLink.empty(),
      cache: new InMemoryCache(),
      defaultOptions: {
        watchQuery: {
          // results in a type error:
          // Type '"all"' is not assignable to type '"A default option for watchQuery.errorPolicy must be declared in ApolloClient.DeclareDefaultOptions before usage. See https://www.apollographql.com/docs/react/data/typescript#declaring-default-options-for-type-safety."'.
          errorPolicy: "all",
        },
      },
    });

    If you are creating multiple instances of Apollo Client with conflicting default options and you cannot register a single defaultOptions value as a result, you can relax the constraints by declaring those options as union types covering all values used by all clients. The properties can be required (to enforce them in defaultOptions) or optional (if some constructor calls won't pass a value):

    // apollo.d.ts
    import "@&#8203;apollo/client";
    
    declare module "@&#8203;apollo/client" {
      export namespace ApolloClient {
        export namespace DeclareDefaultOptions {
          interface WatchQuery {
            errorPolicy?: "none" | "all" | "ignore";
            returnPartialData?: boolean;
          }
          interface Query {
            errorPolicy?: "none" | "all" | "ignore";
          }
          interface Mutate {
            errorPolicy?: "none" | "all" | "ignore";
          }
        }
      }
    }

    With this declaration, the ApolloClient constructor accepts any of those values in defaultOptions. The tradeoff is that hook and method return types become more generic. For example, calling useSuspenseQuery without an explicit errorPolicy will return a result typed as if all error policies are possible, since TypeScript can't know which specific value your instance uses at runtime.

    Note that making a property optional (errorPolicy?:) is equivalent to adding the TypeScript default value ("none") to the union. So errorPolicy?: "all" | "ignore" has the same effect on return types as errorPolicy: "none" | "all" | "ignore", because TypeScript assumes the option could also be absent (i.e., "none").

    You can also use a partial union that only lists the values you actually use. For example, if you only ever use "all" or "ignore", declare errorPolicy: "all" | "ignore" (required) to keep the union narrow and avoid unused values broadening your signatures unnecessarily.

Patch Changes
  • #​13217 790f987 Thanks @​jerelmiller! - Fix the deprecation for the classic signatures for function overloads that rely on type inference from a TypedDocumentNode. The deprecation now only applies to classic signatures that provide explicit type arguments to encourage the use of TypedDocumentNode.

  • #​13166 0537d97 Thanks @​jerelmiller! - Release changes in 4.1.5 and 4.1.6.

  • #​13215 54c9eb7 Thanks @​jerelmiller! - Ensure the options object for the useQuery, useSuspenseQuery, and useBackgroundQuery hooks provide proper IntelliSense suggestions.

  • #​13229 9a7f65a Thanks @​jerelmiller! - Fix refetchOn merging when defaultOptions.watchQuery.refetchOn is set to a non-object value (false, true, or a function) and the per-query refetchOn is an object. Previously the per-query object completely replaced the default so unspecified events fell back to "enabled" regardless of the default.

    The defaultOptions value now applies to any event the per-query object does not explicitly configure:

    • false - unspecified events stay disabled
    • true - unspecified events refetch
    • Callback function - the function is called for unspecified events to determine whether to refetch
    const client = new ApolloClient({
      // ...
      defaultOptions: {
        watchQuery: {
          refetchOn: false,
        },
      },
    });
    
    // Only `windowFocus` refetches. Other events stay disabled per the default.
    useQuery(QUERY, { refetchOn: { windowFocus: true } });
  • #​13230 b25b659 Thanks @​jerelmiller! - Add the ability to override the default event handler on RefetchEventManager. The default handler runs when no per-source handler is configured for an event. Provide a custom handler via the defaultHandler constructor option or the setDefaultEventHandler instance method.

    new RefetchEventManager({
      defaultHandler: ({ client, matchesRefetchOn }) => {
        return client.refetchQueries({
          include: "all",
          onQueryUpdated: matchesRefetchOn,
        });
      },
    });
changesets/changesets (@​changesets/changelog-github)

v0.7.0

Compare Source

Minor Changes
graphql/graphql-js (graphql)

v16.14.2

Compare Source

v16.14.2 (2026-06-09)

Docs 📝
7 PRs were merged
Polish 💅
Committers: 2

v16.14.1

Compare Source

v16.14.1 (2026-06-02)

Docs 📝
9 PRs were merged
Polish 💅
Internal 🏠
Committers: 2

v16.14.0

Compare Source

v16.14.0 (2026-05-03)

New Feature 🚀
Bug Fix 🐞
Docs 📝
Committers: 4
jestjs/jest (jest)

v30.4.2

Compare Source

Fixes
  • [jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#​16150)

v30.4.1

Compare Source

Features
  • [jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#​16141)
Fixes
  • [jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#​16143)

v30.4.0

Compare Source

Features
  • [babel-jest] Support collecting coverage from .mts, .cts (and other) files (#​15994)
  • [jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#​16006)
  • [jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#​15984)
  • [jest-config] Add support for jest.config.mts as a valid configuration file (#​16005)
  • [jest-config, jest-core, jest-reporters, jest-runner] verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#​16133)
  • [@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#​16128)
  • [@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#​16128)
  • [@jest/fake-timers] Support faking Temporal.Now.* (#​16131)
  • [jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#​16088)
  • [jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#​16064)
  • [jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#​16062)
  • [jest-runtime] Support require() of ES modules on Node v24.9+ (#​16074)
  • [jest-runtime] Validate TC39 import attributes (with { type: 'json' }) on ESM imports (#​16127)
  • [@jest/transform] Add canTransformSync(filename) on ScriptTransformer so callers can pick the sync vs async transform path (#​16062)
  • [jest-util] Add isError helper (#​16076)
  • [pretty-format] Support React 19 (#​16123)
Fixes
  • [expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#​15959)
  • [@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#​15952)
  • [fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#​16029)
  • [jest] Export GlobalConfig and ProjectConfig TypeScript types (#​16132)
  • [jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#​16003)
  • [jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#​15967)
  • [jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#​15961)
  • [jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#​16132)
  • [jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#​16132)
  • [jest-environment-node] Fix --localstorage-file warning on Node 25+ (#​16086)
  • [jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#​16137)
  • [jest-reporters, jest-runner, jest-runtime, jest-transform] Fix coverage report not showing correct code coverage when using projects config option (#​16140)
  • [jest-runtime] Resolve expect and @jest/expect from the internal module registry so test-file imports share the same JestAssertionError as the global expect (#​16130)
  • [jest-runtime] Improve CJS-from-ESM interop: __esModule/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (#​16050)
  • [jest-runtime] Load .js files with ESM syntax but no "type":"module" marker as native ESM (#​16050)
  • [jest-runtime] Extend the .js-with-ESM-syntax fallback to require() on Node v24.9+ - falls back to require(esm) when the CJS parser rejects ESM syntax (#​16078)
  • [jest-runtime] Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (#​16050)
  • [jest-runtime] Fix error when require() is called after the Jest environment has been torn down (#​15951)
  • [jest-runtime] Fix missing error when import() is called after the Jest environment has been torn down (#​16080)
  • [jest-runtime] Fix virtual unstable_mockModule registrations not respected in ESM (#​16081)
  • [jest-runtime] Apply moduleNameMapper when resolving modules with require.resolve() and the paths option (#​16135)
Chore & Maintenance
  • [@jest/fake-timers] Upgrade @sinonjs/fake-timers (#​16139)
  • [jest-runtime] Use synchronous linkRequests / instantiate for ESM linking on Node v24.9+ (#​16063)
webpack/minimizer-webpack-plugin (terser-webpack-plugin)

v5.6.1

Compare Source

Patch Changes
  • deduplicate extracted comments in linear time, so builds stay fast when an asset contains many distinct preserved comments (by @​alexander-akait in #​682)

v5.6.0

Compare Source

Minor Changes
  • support array of minimizers for minify and terserOptions (by @​alexander-akait in #​674)

  • add built-in CSS minimizers from css-minimizer-webpack-plugin (by @​alexander-akait in #​674)

  • add built-in HTML minimizers from html-minimizer-webpack-plugin (by @​alexander-akait in #​674)

  • add filter method to minimizers, allowing a single plugin instance to handle multiple asset types (by @​alexander-akait in #​674)

  • terser-webpack-plugin has been renamed to minimizer-webpack-plugin, merging other minimizers from css-minimizer-webpack-plugin and html-minimizer-webpack-plugin. We will continue to publish new releases under the old name, but we recommend switching to the new package - minimizer-webpack-plugin. It is now a single plugin for minification. We also added the ability to specify different minifier types using only one plugin instance, which will improve performance. (by @​alexander-akait in #​677)

  • rename terserOptions to minimizerOptions; terserOptions is kept as a deprecated alias (by @​alexander-akait in #​674)

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

TypeStrong/ts-loader (ts-loader)

v9.6.0

Compare Source

privatenumber/tsx (tsx)

v4.22.4

Compare Source

Bug Fixes
  • resolve CommonJS directory requires inside dependencies (#​803) (1ce8463)

This release is also available on:

v4.22.3

Compare Source

v4.22.2

Compare Source

v4.22.1

Compare Source

v4.22.0

Compare Source

v4.21.1

Compare Source

Bug Fixes
  • support Node 20.11/21.2 import.meta paths (acf3d8f)
  • support Node.js 24.15.0 (c1d2d45)
  • support Node.js 26.1.0 and 25.9.0 (1d7e528)

This release is also available on:

webpack/webpack (webpack)

v5.107.2

Compare Source

Patch Changes
  • Reduce per-file overhead in ContextModuleFactory.resolveDependencies by batching alternativeRequests hook calls. Previously the hook was invoked once per file in the context (with a single-item array), paying per-call overhead (closure allocation, resolverFactory.get, intermediate arrays in RequireContextPlugin) for every file. The hook is now invoked once per directory with all matched files in one batch — RequireContextPlugin's tap already iterates the items array, so the output is unchanged. Steady-state rebuild on a 4000-file require.context drops a further ~15 ms (after the watch-mode purge fix in the same release). (by @​alexander-akait in #​21020)

  • Include each external info's runtimeCondition in ConcatenatedModule#updateHash so changes to a concatenated external's runtime condition invalidate persistent caches instead of slipping through with the module id alone. (by @​alexander-akait in #​21023)

  • Fix HTML [contenthash] for referenced asset and inline-style URL changes. (by @​alexander-akait in #​21018)

  • Resolve chunk-hash placeholders in chunk URLs embedded into extracted HTML. (by [@​alexander-akait](https://redirect.github.

Note

PR body was truncated to here.


Configuration

📅 Schedule: (in timezone America/Los_Angeles)

  • Branch creation
    • "every weekend"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot requested a review from a team as a code owner May 9, 2026 17:00
@renovate renovate Bot enabled auto-merge (squash) May 9, 2026 17:00
@renovate

renovate Bot commented May 9, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: development/client-angular/package-lock.json
npm warn Unknown env config "store". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm warn While resolving: simple-apollo-angular@0.0.0
npm warn Found: zone.js@0.16.1
npm warn node_modules/zone.js
npm warn   dev zone.js@"0.16.2" from the root project
npm warn
npm warn Could not resolve dependency:
npm warn peer zone.js@"~0.14.0" from @angular/core@17.3.12
npm warn node_modules/@angular/core
npm warn   dev @angular/core@"17.3.12" from the root project
npm warn   5 more (@angular/common, @angular/compiler, ...)
npm warn ERESOLVE overriding peer dependency
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @angular-devkit/build-angular@17.3.17
npm error Found: typescript@5.9.3
npm error node_modules/typescript
npm error   peer typescript@">=5.2 <5.5" from @ngtools/webpack@17.3.17
npm error   node_modules/@angular-devkit/build-angular/node_modules/@ngtools/webpack
npm error     @ngtools/webpack@"17.3.17" from @angular-devkit/build-angular@17.3.17
npm error     node_modules/@angular-devkit/build-angular
npm error       dev @angular-devkit/build-angular@"17.3.17" from the root project
npm error
npm error Could not resolve dependency:
npm error peer typescript@">=5.2 <5.5" from @angular-devkit/build-angular@17.3.17
npm error node_modules/@angular-devkit/build-angular
npm error   dev @angular-devkit/build-angular@"17.3.17" from the root project
npm error
npm error Conflicting peer dependency: typescript@5.4.5
npm error node_modules/typescript
npm error   peer typescript@">=5.2 <5.5" from @angular-devkit/build-angular@17.3.17
npm error   node_modules/@angular-devkit/build-angular
npm error     dev @angular-devkit/build-angular@"17.3.17" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /runner/cache/others/npm/_logs/2026-06-14T13_10_16_568Z-eresolve-report.txt
npm error A complete log of this run can be found in: /runner/cache/others/npm/_logs/2026-06-14T13_10_16_568Z-debug-0.log

@relativeci

relativeci Bot commented May 9, 2026

Copy link
Copy Markdown

#2116 Bundle Size — 2.02MiB (-0.01%).

272d46b(current) vs d99e0a2 main#2089(baseline)

Warning

Bundle contains 16 duplicate packages – View duplicate packages

Bundle metrics  Change 3 changes Improvement 1 improvement
                 Current
#2116
     Baseline
#2089
Improvement  Initial JS 1.73MiB(-0.01%) 1.73MiB
No change  Initial CSS 0B 0B
Change  Cache Invalidation 81.78% 78.81%
No change  Chunks 5 5
No change  Assets 237 237
Change  Modules 1528(-0.07%) 1529
No change  Duplicate Modules 134 134
No change  Duplicate Code 5.68% 5.68%
No change  Packages 180 180
No change  Duplicate Packages 12 12
Bundle size by type  Change 1 change Improvement 1 improvement
                 Current
#2116
     Baseline
#2089
Improvement  JS 1.73MiB (-0.01%) 1.73MiB
No change  Other 251.83KiB 251.83KiB
No change  IMG 35.85KiB 35.85KiB
No change  HTML 857B 857B

Bundle analysis reportBranch renovate/all-devProject dashboard


Generated by RelativeCIDocumentationReport issue

@pkg-pr-new

pkg-pr-new Bot commented May 9, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/apollo-client-devtools@1867
npm i https://pkg.pr.new/@apollo/client-devtools-vscode@1867

commit: 272d46b

@renovate renovate Bot force-pushed the renovate/all-dev branch 5 times, most recently from 2372cf4 to f22c5c4 Compare May 22, 2026 19:32
@renovate renovate Bot force-pushed the renovate/all-dev branch 6 times, most recently from e86566b to 615449e Compare May 29, 2026 13:54
@renovate renovate Bot force-pushed the renovate/all-dev branch 5 times, most recently from 9851f1b to 67c6e2a Compare June 4, 2026 01:55
@renovate renovate Bot force-pushed the renovate/all-dev branch 6 times, most recently from 0920cdc to cfd6527 Compare June 13, 2026 22:15
@renovate renovate Bot force-pushed the renovate/all-dev branch from cfd6527 to 272d46b Compare June 14, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants