Skip to content

fix(deps): update npm non-major dependencies#4147

Merged
oddvernes merged 3 commits intomainfrom
renovate/npm-minor-patch
Oct 16, 2025
Merged

fix(deps): update npm non-major dependencies#4147
oddvernes merged 3 commits intomainfrom
renovate/npm-minor-patch

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 16, 2025

This PR contains the following updates:

Package Change Age Confidence
@figma/plugin-typings ^1.117.1 -> ^1.118.0 age confidence
@navikt/aksel-icons (source) ^7.31.0 -> ^7.32.1 age confidence
@react-router/dev (source) ^7.9.3 -> ^7.9.4 age confidence
@react-router/node (source) ^7.9.3 -> ^7.9.4 age confidence
@react-router/serve (source) ^7.9.3 -> ^7.9.4 age confidence
@rollup/plugin-node-resolve (source) ^16.0.2 -> ^16.0.3 age confidence
@types/node (source) ^22.18.8 -> ^22.18.10 age confidence
@types/react (source) ^19.2.0 -> ^19.2.2 age confidence
@types/react (source) ^18.3.25 -> ^18.3.26 age confidence
@types/react-dom (source) ^19.2.0 -> ^19.2.1 age confidence
i18next (source) ^25.5.3 -> ^25.6.0 age confidence
playwright (source) ^1.55.1 -> ^1.56.0 age confidence
pnpm (source) 10.18.0+sha512.e804f889f1cecc40d572db084eec3e4881739f8dec69c0ff10d2d1beff9a4e309383ba27b5b750059d7f4c149535b6cd0d2cb1ed3aeb739239a4284a68f40cfa -> 10.18.2 age confidence
react-router (source) ^7.9.3 -> ^7.9.4 age confidence
react-router-dom (source) ^7.9.3 -> ^7.9.4 age confidence
remix-i18next ^7.4.0 -> ^7.4.2 age confidence
style-dictionary ^5.1.0 -> ^5.1.1 age confidence
zod (source) ^4.1.11 -> ^4.1.12 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

figma/plugin-typings (@​figma/plugin-typings)

v1.118.0

Compare Source

navikt/aksel (@​navikt/aksel-icons)

v7.32.1

Compare Source

v7.32.0

Compare Source

Minor Changes
  • Icons: Updated SignLanguageTwoHands-design. (#​4115)

  • Icons: 🎉 Added some new icons ChairTable, Footprint, Lifebuoy, OpenBook, OpenMagazine and Slide. (#​4115)

remix-run/react-router (@​react-router/dev)

v7.9.4

Compare Source

Patch Changes
  • Update valibot dependency to ^1.1.0 (#​14379)

  • New (unstable) useRoute hook for accessing data from specific routes (#​14407)

    For example, let's say you have an admin route somewhere in your app and you want any child routes of admin to all have access to the loaderData and actionData from admin.

    // app/routes/admin.tsx
    import { Outlet } from "react-router";
    
    export const loader = () => ({ message: "Hello, loader!" });
    
    export const action = () => ({ count: 1 });
    
    export default function Component() {
      return (
        <div>
          {/* ... */}
          <Outlet />
          {/* ... */}
        </div>
      );
    }

    You might even want to create a reusable widget that all of the routes nested under admin could use:

    import { unstable_useRoute as useRoute } from "react-router";
    
    export function AdminWidget() {
      // How to get `message` and `count` from `admin` route?
    }

    In framework mode, useRoute knows all your app's routes and gives you TS errors when invalid route IDs are passed in:

    export function AdminWidget() {
      const admin = useRoute("routes/dmin");
      //                      ^^^^^^^^^^^
    }

    useRoute returns undefined if the route is not part of the current page:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
    }

    Note: the root route is the exception since it is guaranteed to be part of the current page.
    As a result, useRoute never returns undefined for root.

    loaderData and actionData are marked as optional since they could be accessed before the action is triggered or after the loader threw an error:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
      const { loaderData, actionData } = admin;
      console.log(loaderData);
      //          ^? { message: string } | undefined
      console.log(actionData);
      //          ^? { count: number } | undefined
    }

    If instead of a specific route, you wanted access to the current route's loaderData and actionData, you can call useRoute without arguments:

    export function AdminWidget() {
      const currentRoute = useRoute();
      currentRoute.loaderData;
      currentRoute.actionData;
    }

    This usage is equivalent to calling useLoaderData and useActionData, but consolidates all route data access into one hook: useRoute.

    Note: when calling useRoute() (without a route ID), TS has no way to know which route is the current route.
    As a result, loaderData and actionData are typed as unknown.
    If you want more type-safety, you can either narrow the type yourself with something like zod or you can refactor your app to pass down typed props to your AdminWidget:

    export function AdminWidget({
      message,
      count,
    }: {
      message: string;
      count: number;
    }) {
      /* ... */
    }
  • Updated dependencies:

    • react-router@7.9.4
    • @react-router/node@7.9.4
    • @react-router/serve@7.9.4
remix-run/react-router (@​react-router/node)

v7.9.4

Compare Source

Patch Changes
  • Validate format of incoming session ids (#​14426)
  • Updated dependencies:
    • react-router@7.9.4
remix-run/react-router (@​react-router/serve)

v7.9.4

Compare Source

Patch Changes
  • Updated dependencies:
    • react-router@7.9.4
    • @react-router/node@7.9.4
    • @react-router/express@7.9.4
rollup/plugins (@​rollup/plugin-node-resolve)

v16.0.3

2025-10-13

Bugfixes
  • fix: resolve bare targets of package "imports" using export maps; avoid fileURLToPath(null) (#​1908)
i18next/i18next (i18next)

v25.6.0

Compare Source

  • feat: exists() method now respects returnObjects option - returns false when accessing an object key with returnObjects: false, enabling detection of object vs string keys 2359

    Note: This is a potential behavior change. If you were previously calling exists() with returnObjects: false on object keys, those calls will now return false instead of true. This enables developers to detect whether a key points to an object or string value.

microsoft/playwright (playwright)

v1.56.0

Compare Source

pnpm/pnpm (pnpm)

v10.18.2

Compare Source

Patch Changes
  • pnpm outdated --long should work #​10040.
  • Replace ndjson with split2. Reduce the bundle size of pnpm CLI #​10054.
  • pnpm dlx should request the full metadata of packages, when minimumReleaseAge is set #​9963.
  • pnpm version switching should work when the pnpm home directory is in a symlinked directory #​9715.
  • Fix EPIPE errors when piping output to other commands #​10027.

v10.18.1

Compare Source

Patch Changes
  • Don't print a warning, when --lockfile-only is used #​8320.
  • pnpm setup creates a command shim to the pnpm executable. This is needed to be able to run pnpm self-update on Windows #​5700.
  • When using pnpm catalogs and running a normal pnpm install, pnpm produced false positive warnings for "skip adding to the default catalog because it already exists". This warning now only prints when using pnpm add --save-catalog as originally intended.
remix-run/react-router (react-router)

v7.9.4

Compare Source

Patch Changes
  • handle external redirects in from server actions (#​14400)

  • New (unstable) useRoute hook for accessing data from specific routes (#​14407)

    For example, let's say you have an admin route somewhere in your app and you want any child routes of admin to all have access to the loaderData and actionData from admin.

    // app/routes/admin.tsx
    import { Outlet } from "react-router";
    
    export const loader = () => ({ message: "Hello, loader!" });
    
    export const action = () => ({ count: 1 });
    
    export default function Component() {
      return (
        <div>
          {/* ... */}
          <Outlet />
          {/* ... */}
        </div>
      );
    }

    You might even want to create a reusable widget that all of the routes nested under admin could use:

    import { unstable_useRoute as useRoute } from "react-router";
    
    export function AdminWidget() {
      // How to get `message` and `count` from `admin` route?
    }

    In framework mode, useRoute knows all your app's routes and gives you TS errors when invalid route IDs are passed in:

    export function AdminWidget() {
      const admin = useRoute("routes/dmin");
      //                      ^^^^^^^^^^^
    }

    useRoute returns undefined if the route is not part of the current page:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
    }

    Note: the root route is the exception since it is guaranteed to be part of the current page.
    As a result, useRoute never returns undefined for root.

    loaderData and actionData are marked as optional since they could be accessed before the action is triggered or after the loader threw an error:

    export function AdminWidget() {
      const admin = useRoute("routes/admin");
      if (!admin) {
        throw new Error(`AdminWidget used outside of "routes/admin"`);
      }
      const { loaderData, actionData } = admin;
      console.log(loaderData);
      //          ^? { message: string } | undefined
      console.log(actionData);
      //          ^? { count: number } | undefined
    }

    If instead of a specific route, you wanted access to the current route's loaderData and actionData, you can call useRoute without arguments:

    export function AdminWidget() {
      const currentRoute = useRoute();
      currentRoute.loaderData;
      currentRoute.actionData;
    }

    This usage is equivalent to calling useLoaderData and useActionData, but consolidates all route data access into one hook: useRoute.

    Note: when calling useRoute() (without a route ID), TS has no way to know which route is the current route.
    As a result, loaderData and actionData are typed as unknown.
    If you want more type-safety, you can either narrow the type yourself with something like zod or you can refactor your app to pass down typed props to your AdminWidget:

    export function AdminWidget({
      message,
      count,
    }: {
      message: string;
      count: number;
    }) {
      /* ... */
    }
remix-run/react-router (react-router-dom)

v7.9.4

Compare Source

Patch Changes
  • Updated dependencies:
    • react-router@7.9.4
sergiodxa/remix-i18next (remix-i18next)

v7.4.2

Compare Source

What's Changed
New Features

Full Changelog: sergiodxa/remix-i18next@v7.4.1...v7.4.2

v7.4.1

Compare Source

What's Changed
New Features
Other Changes
New Contributors

Full Changelog: sergiodxa/remix-i18next@v7.4.0...v7.4.1

colinhacks/zod (zod)

v4.1.12

Compare Source


Configuration

📅 Schedule: Branch creation - "before 07:00 on Thursday" in timezone Europe/Oslo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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.


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

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

@changeset-bot
Copy link

changeset-bot bot commented Oct 16, 2025

🦋 Changeset detected

Latest commit: a003d21

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@digdir/designsystemet-react Patch
@digdir/designsystemet Patch
@digdir/designsystemet-theme Patch
@digdir/designsystemet-css Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented Oct 16, 2025

Preview deployments for this pull request:

storybook - 16. Oct 2025 - 15:21

themebuilder - 16. Oct 2025 - 15:22

www - 16. Oct 2025 - 15:22

@oddvernes
Copy link
Collaborator

oddvernes commented Oct 16, 2025

build:storybook (and just pnpm storybook) works fine in main, but fails in this branch (both locally and in gh action

=> Failed to build the preview
[vite:build-html] Transform failed with 1 error:
virtual:/@storybook/builder-vite/vite-app.js:18:12: ERROR: The symbol "preview_21272" has already been declared
file: ./iframe.html

The error seems to originate in @storybook/addon-links. If I remove it from addons in main.ts it builds. There are no relevant packages updated other than perhaps playwright??

Edit:
bilde

Both addon-links and addon-docs are imported with the same name and this is why it fails.. So it is probably a vite issue?

Edit: manually updating vite from 7.1.9 to 7.1.10 seems to have fixed it 💅 (by editing package.json, as pnpm up still creates a ton of other changes)

@renovate
Copy link
Contributor Author

renovate bot commented Oct 16, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@oddvernes
Copy link
Collaborator

All seems good now

@oddvernes oddvernes merged commit 268d8c4 into main Oct 16, 2025
25 checks passed
@Barsnes Barsnes deleted the renovate/npm-minor-patch branch October 20, 2025 11:29
@github-actions github-actions bot mentioned this pull request Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant