This PR contains the following updates: | Package | Change | Age | Confidence | Type | Update | |---|---|---|---|---|---| | [@eslint/js](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint/tree/HEAD/packages/js)) | [`9.29.0` -> `9.30.1`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.29.0/9.30.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@faker-js/faker](https://fakerjs.dev) ([source](https://redirect.github.com/faker-js/faker)) | [`9.8.0` -> `9.9.0`](https://renovatebot.com/diffs/npm/@faker-js%2ffaker/9.8.0/9.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@floating-ui/dom](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/dom)) | [`1.7.1` -> `1.7.2`](https://renovatebot.com/diffs/npm/@floating-ui%2fdom/1.7.1/1.7.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@floating-ui/utils](https://floating-ui.com) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/utils)) | [`0.2.9` -> `0.2.10`](https://renovatebot.com/diffs/npm/@floating-ui%2futils/0.2.9/0.2.10) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@floating-ui/vue](https://floating-ui.com/docs/vue) ([source](https://redirect.github.com/floating-ui/floating-ui/tree/HEAD/packages/vue)) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/@floating-ui%2fvue/1.1.6/1.1.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client)) | [`4.8.2` -> `4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@graphql-codegen/client-preset](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/presets/client)) | [`4.8.2` -> `4.8.3`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/typed-document-node](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typed-document-node)) | [`5.1.1` -> `5.1.2`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftyped-document-node/5.1.1/5.1.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@ianvs/prettier-plugin-sort-imports](https://redirect.github.com/ianvs/prettier-plugin-sort-imports) | [`4.4.2` -> `4.5.1`](https://renovatebot.com/diffs/npm/@ianvs%2fprettier-plugin-sort-imports/4.4.2/4.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/devtools](https://devtools.nuxt.com) ([source](https://redirect.github.com/nuxt/devtools/tree/HEAD/packages/devtools)) | [`2.5.0` -> `2.6.2`](https://renovatebot.com/diffs/npm/@nuxt%2fdevtools/2.5.0/2.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/eslint](https://redirect.github.com/nuxt/eslint) ([source](https://redirect.github.com/nuxt/eslint/tree/HEAD/packages/module)) | [`1.4.1` -> `1.5.2`](https://renovatebot.com/diffs/npm/@nuxt%2feslint/1.4.1/1.5.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@nuxt/test-utils](https://redirect.github.com/nuxt/test-utils) | [`3.19.1` -> `3.19.2`](https://renovatebot.com/diffs/npm/@nuxt%2ftest-utils/3.19.1/3.19.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@rollup/rollup-linux-x64-gnu](https://rollupjs.org/) ([source](https://redirect.github.com/rollup/rollup)) | [`4.44.0` -> `4.44.2`](https://renovatebot.com/diffs/npm/@rollup%2frollup-linux-x64-gnu/4.44.0/4.44.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | optionalDependencies | patch | | [@swc/core](https://swc.rs) ([source](https://redirect.github.com/swc-project/swc)) | [`1.12.4` -> `1.12.11`](https://renovatebot.com/diffs/npm/@swc%2fcore/1.12.4/1.12.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/bun](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/bun) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/bun)) | [`1.2.16` -> `1.2.18`](https://renovatebot.com/diffs/npm/@types%2fbun/1.2.16/1.2.18) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/dockerode](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/dockerode) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode)) | [`3.3.41` -> `3.3.42`](https://renovatebot.com/diffs/npm/@types%2fdockerode/3.3.41/3.3.42) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/lodash](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash)) | [`4.17.18` -> `4.17.20`](https://renovatebot.com/diffs/npm/@types%2flodash/4.17.18/4.17.20) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.15.32` -> `22.16.3`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.32/22.16.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`8.34.1` -> `8.36.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/8.34.1/8.36.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vueuse/components](https://redirect.github.com/vueuse/vueuse/tree/main/packages/components#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/components)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcomponents/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@vueuse/core](https://redirect.github.com/vueuse/vueuse) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/core)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/integrations](https://redirect.github.com/vueuse/vueuse/tree/main/packages/integrations#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/integrations)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fintegrations/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@vueuse/nuxt](https://redirect.github.com/vueuse/vueuse/tree/main/packages/nuxt#readme) ([source](https://redirect.github.com/vueuse/vueuse/tree/HEAD/packages/nuxt)) | [`13.4.0` -> `13.5.0`](https://renovatebot.com/diffs/npm/@vueuse%2fnuxt/13.4.0/13.5.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [awalsh128/cache-apt-pkgs-action](https://redirect.github.com/awalsh128/cache-apt-pkgs-action) | `v1.4.3` -> `v1.5.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | action | minor | | [cache-manager](https://redirect.github.com/jaredwray/cacheable) ([source](https://redirect.github.com/jaredwray/cacheable/tree/HEAD/packages/cache-manager)) | [`7.0.0` -> `7.0.1`](https://renovatebot.com/diffs/npm/cache-manager/7.0.0/7.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [commit-and-tag-version](https://redirect.github.com/absolute-version/commit-and-tag-version) | [`9.5.0` -> `9.6.0`](https://renovatebot.com/diffs/npm/commit-and-tag-version/9.5.0/9.6.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [concurrently](https://redirect.github.com/open-cli-tools/concurrently) | [`9.1.2` -> `9.2.0`](https://renovatebot.com/diffs/npm/concurrently/9.1.2/9.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [dotenv](https://redirect.github.com/motdotla/dotenv) | [`17.1.0` -> `17.2.0`](https://renovatebot.com/diffs/npm/dotenv/17.1.0/17.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [eslint](https://eslint.org) ([source](https://redirect.github.com/eslint/eslint)) | [`9.29.0` -> `9.30.1`](https://renovatebot.com/diffs/npm/eslint/9.29.0/9.30.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-import](https://redirect.github.com/import-js/eslint-plugin-import) | [`2.31.0` -> `2.32.0`](https://renovatebot.com/diffs/npm/eslint-plugin-import/2.31.0/2.32.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-n](https://redirect.github.com/eslint-community/eslint-plugin-n) | [`17.20.0` -> `17.21.0`](https://renovatebot.com/diffs/npm/eslint-plugin-n/17.20.0/17.21.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [eslint-plugin-prettier](https://redirect.github.com/prettier/eslint-plugin-prettier) | [`5.5.0` -> `5.5.1`](https://renovatebot.com/diffs/npm/eslint-plugin-prettier/5.5.0/5.5.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [eslint-plugin-vue](https://eslint.vuejs.org) ([source](https://redirect.github.com/vuejs/eslint-plugin-vue)) | [`10.2.0` -> `10.3.0`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/10.2.0/10.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [fast-check](https://fast-check.dev/) ([source](https://redirect.github.com/dubzzz/fast-check/tree/HEAD/packages/fast-check)) | [`4.1.1` -> `4.2.0`](https://renovatebot.com/diffs/npm/fast-check/4.1.1/4.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [glob](https://redirect.github.com/isaacs/node-glob) | [`11.0.1` -> `11.0.3`](https://renovatebot.com/diffs/npm/glob/11.0.1/11.0.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`18.0.0` -> `18.0.1`](https://renovatebot.com/diffs/npm/happy-dom/18.0.0/18.0.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [inquirer](https://redirect.github.com/SBoudrias/Inquirer.js/blob/main/packages/inquirer/README.md) ([source](https://redirect.github.com/SBoudrias/Inquirer.js)) | [`12.6.3` -> `12.7.0`](https://renovatebot.com/diffs/npm/inquirer/12.6.3/12.7.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [isomorphic-dompurify](https://redirect.github.com/kkomelin/isomorphic-dompurify) | [`2.25.0` -> `2.26.0`](https://renovatebot.com/diffs/npm/isomorphic-dompurify/2.25.0/2.26.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [lucide-vue-next](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next)) | [`0.519.0` -> `0.525.0`](https://renovatebot.com/diffs/npm/lucide-vue-next/0.519.0/0.525.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [marked-base-url](https://redirect.github.com/markedjs/marked-base-url) | [`1.1.6` -> `1.1.7`](https://renovatebot.com/diffs/npm/marked-base-url/1.1.6/1.1.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | `22.16.0` -> `22.17.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | minor | | [nuxt](https://nuxt.com) ([source](https://redirect.github.com/nuxt/nuxt/tree/HEAD/packages/nuxt)) | [`3.17.5` -> `3.17.6`](https://renovatebot.com/diffs/npm/nuxt/3.17.5/3.17.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.12.4` -> `10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor | | [pnpm](https://pnpm.io) ([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.12.4` -> `10.13.1`](https://renovatebot.com/diffs/npm/pnpm/10.12.4/10.13.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | engines | minor | | [prettier](https://prettier.io) ([source](https://redirect.github.com/prettier/prettier)) | [`3.5.3` -> `3.6.2`](https://renovatebot.com/diffs/npm/prettier/3.5.3/3.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [prettier-plugin-tailwindcss](https://redirect.github.com/tailwindlabs/prettier-plugin-tailwindcss) | [`0.6.13` -> `0.6.14`](https://renovatebot.com/diffs/npm/prettier-plugin-tailwindcss/0.6.13/0.6.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [reka-ui](https://redirect.github.com/unovue/reka-ui) | [`2.3.1` -> `2.3.2`](https://renovatebot.com/diffs/npm/reka-ui/2.3.1/2.3.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [semver](https://redirect.github.com/npm/node-semver) | [`7.7.1` -> `7.7.2`](https://renovatebot.com/diffs/npm/semver/7.7.1/7.7.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [systeminformation](https://systeminformation.io) ([source](https://redirect.github.com/sebhildebrandt/systeminformation)) | [`5.27.6` -> `5.27.7`](https://renovatebot.com/diffs/npm/systeminformation/5.27.6/5.27.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [tsx](https://tsx.is) ([source](https://redirect.github.com/privatenumber/tsx)) | [`4.19.3` -> `4.20.3`](https://renovatebot.com/diffs/npm/tsx/4.19.3/4.20.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [typescript-eslint](https://typescript-eslint.io/packages/typescript-eslint) ([source](https://redirect.github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)) | [`8.34.1` -> `8.36.0`](https://renovatebot.com/diffs/npm/typescript-eslint/8.34.1/8.36.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`7.0.3` -> `7.0.4`](https://renovatebot.com/diffs/npm/vite/7.0.3/7.0.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.0.7` -> `3.2.4`](https://renovatebot.com/diffs/npm/vitest/3.0.7/3.2.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [vue-i18n](https://redirect.github.com/intlify/vue-i18n/tree/master/packages/vue-i18n#readme) ([source](https://redirect.github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n)) | [`11.1.6` -> `11.1.9`](https://renovatebot.com/diffs/npm/vue-i18n/11.1.6/11.1.9) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vue-sonner](https://redirect.github.com/xiaoluoboding/vue-sonner) | [`1.3.0` -> `1.3.2`](https://renovatebot.com/diffs/npm/vue-sonner/1.3.0/1.3.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [vuetify](https://vuetifyjs.com) ([source](https://redirect.github.com/vuetifyjs/vuetify/tree/HEAD/packages/vuetify)) | [`3.8.10` -> `3.9.0`](https://renovatebot.com/diffs/npm/vuetify/3.8.10/3.9.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [wrangler](https://redirect.github.com/cloudflare/workers-sdk) ([source](https://redirect.github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler)) | [`^3.87.0` -> `^3.114.10`](https://renovatebot.com/diffs/npm/wrangler/3.114.10/3.114.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ws](https://redirect.github.com/websockets/ws) | [`8.18.2` -> `8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ws](https://redirect.github.com/websockets/ws) | [`8.18.2` -> `8.18.3`](https://renovatebot.com/diffs/npm/ws/8.18.2/8.18.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [zod](https://zod.dev) ([source](https://redirect.github.com/colinhacks/zod)) | [`3.24.2` -> `3.25.76`](https://renovatebot.com/diffs/npm/zod/3.24.2/3.25.76) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [zod](https://zod.dev) ([source](https://redirect.github.com/colinhacks/zod)) | [`3.25.67` -> `3.25.76`](https://renovatebot.com/diffs/npm/zod/3.25.67/3.25.76) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.3.2` -> `8.6.2`](https://renovatebot.com/diffs/npm/zx/8.3.2/8.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [zx](https://google.github.io/zx/) ([source](https://redirect.github.com/google/zx)) | [`8.5.5` -> `8.6.2`](https://renovatebot.com/diffs/npm/zx/8.5.5/8.6.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | --- ### Release Notes <details> <summary>eslint/eslint (@​eslint/js)</summary> ### [`v9.30.1`](https://redirect.github.com/eslint/eslint/compare/v9.30.0...b3dbc16563cb7036d75edff9814e17053a645321) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.30.0...v9.30.1) ### [`v9.30.0`](https://redirect.github.com/eslint/eslint/compare/v9.29.0...5a5d5261037fdf84a91f2f22d3726d58572453f4) [Compare Source](https://redirect.github.com/eslint/eslint/compare/v9.29.0...v9.30.0) </details> <details> <summary>faker-js/faker (@​faker-js/faker)</summary> ### [`v9.9.0`](https://redirect.github.com/faker-js/faker/blob/HEAD/CHANGELOG.md#990-2025-07-01) [Compare Source](https://redirect.github.com/faker-js/faker/compare/v9.8.0...v9.9.0) ##### New Locales - **locale:** add word data to pt\_br and pt\_pt locales ([#​3531](https://redirect.github.com/faker-js/faker/issues/3531)) ([a405ac8](a405ac8740)) ##### Features - **location:** simple coordinate methods ([#​3528](https://redirect.github.com/faker-js/faker/issues/3528)) ([d07d96d](d07d96d018)) </details> <details> <summary>floating-ui/floating-ui (@​floating-ui/dom)</summary> ### [`v1.7.2`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/dom/CHANGELOG.md#172) [Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/dom@1.7.1...@floating-ui/dom@1.7.2) ##### Patch Changes - perf: reduce memory allocations - Update dependencies: `@floating-ui/utils@0.2.10`, `@floating-ui/core@1.7.2` </details> <details> <summary>floating-ui/floating-ui (@​floating-ui/utils)</summary> ### [`v0.2.10`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/utils/CHANGELOG.md#0210) [Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/utils@0.2.9...@floating-ui/utils@0.2.10) ##### Patch Changes - refactor: small performance improvements - perf: reduce memory allocations </details> <details> <summary>floating-ui/floating-ui (@​floating-ui/vue)</summary> ### [`v1.1.7`](https://redirect.github.com/floating-ui/floating-ui/blob/HEAD/packages/vue/CHANGELOG.md#117) [Compare Source](https://redirect.github.com/floating-ui/floating-ui/compare/@floating-ui/vue@1.1.6...@floating-ui/vue@1.1.7) ##### Patch Changes - Update dependencies: `@floating-ui/utils@0.2.10`, `@floating-ui/dom@1.7.2` </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/client-preset)</summary> ### [`v4.8.3`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/presets/client/CHANGELOG.md#483) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/client-preset@4.8.2...@graphql-codegen/client-preset@4.8.3) ##### Patch Changes - [#​10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362) [`3188b8c`](3188b8c39e) Thanks [@​Brookke](https://redirect.github.com/Brookke)! - Make generated type compatible with noImplicitOverride=true - [#​10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373) [`c3295f9`](c3295f9c60) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Fix client preset not working with exactOptionalPropertyTypes=true when documentMode=string - Updated dependencies \[[`3188b8c`](3188b8c39e), [`c3295f9`](c3295f9c60)]: - [@​graphql-codegen/typed-document-node](https://redirect.github.com/graphql-codegen/typed-document-node)@​5.1.2 </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/typed-document-node)</summary> ### [`v5.1.2`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typed-document-node/CHANGELOG.md#512) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typed-document-node@5.1.1...@graphql-codegen/typed-document-node@5.1.2) ##### Patch Changes - [#​10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362) [`3188b8c`](3188b8c39e) Thanks [@​Brookke](https://redirect.github.com/Brookke)! - Make generated type compatible with noImplicitOverride=true - [#​10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373) [`c3295f9`](c3295f9c60) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Fix client preset not working with exactOptionalPropertyTypes=true when documentMode=string </details> <details> <summary>ianvs/prettier-plugin-sort-imports (@​ianvs/prettier-plugin-sort-imports)</summary> ### [`v4.5.1`](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.5.0...040fa5e3a7dd01a90d80bb12072344745e426da6) [Compare Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.5.0...v4.5.1) ### [`v4.5.0`](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.4.2...3497e9a87974954e42198d04d69d9a2a24dbebbd) [Compare Source](https://redirect.github.com/ianvs/prettier-plugin-sort-imports/compare/v4.4.2...v4.5.0) </details> <details> <summary>nuxt/devtools (@​nuxt/devtools)</summary> ### [`v2.6.2`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#262-2025-07-02) [Compare Source](https://redirect.github.com/nuxt/devtools/compare/v2.6.1...v2.6.2) ##### Bug Fixes - panel dragging issue, close [#​874](https://redirect.github.com/nuxt/devtools/issues/874), close [#​871](https://redirect.github.com/nuxt/devtools/issues/871), close [#​873](https://redirect.github.com/nuxt/devtools/issues/873) ([619de37](619de37ace)) ### [`v2.6.1`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#261-2025-07-01) [Compare Source](https://redirect.github.com/nuxt/devtools/compare/v2.6.0...v2.6.1) ##### Bug Fixes - **deps:** do not depend on `@nuxt/schema` ([#​872](https://redirect.github.com/nuxt/devtools/issues/872)) ([62443ec](62443ecb12)) ### [`v2.6.0`](https://redirect.github.com/nuxt/devtools/blob/HEAD/CHANGELOG.md#260-2025-06-29) [Compare Source](https://redirect.github.com/nuxt/devtools/compare/v2.5.0...v2.6.0) ##### Bug Fixes - timing labels wrapping ([#​866](https://redirect.github.com/nuxt/devtools/issues/866)) ([fd01e60](fd01e6022a)) ##### Features - update deps ([eef2c09](eef2c09ea1)) </details> <details> <summary>nuxt/eslint (@​nuxt/eslint)</summary> ### [`v1.5.2`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.2) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v1.5.1...v1.5.2) ##### 🚀 Features - Add option `features.import.plugin` to swap plugin implementation, close [#​587](https://redirect.github.com/nuxt/eslint/issues/587) - by [@​antfu](https://redirect.github.com/antfu) in [https://github.com/nuxt/eslint/issues/587](https://redirect.github.com/nuxt/eslint/issues/587) [<samp>(66f5e)</samp>](https://redirect.github.com/nuxt/eslint/commit/66f5ee0) ##### [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.5.1...v1.5.2) ### [`v1.5.1`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.1) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v1.5.0...v1.5.1) ##### 🐞 Bug Fixes - **eslint-config**: Replace deprecated vue/object-property-newline option - by [@​amery](https://redirect.github.com/amery) in [https://github.com/nuxt/eslint/issues/586](https://redirect.github.com/nuxt/eslint/issues/586) [<samp>(7805e)</samp>](https://redirect.github.com/nuxt/eslint/commit/7805e0d) ##### [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.5.0...v1.5.1) ### [`v1.5.0`](https://redirect.github.com/nuxt/eslint/releases/tag/v1.5.0) [Compare Source](https://redirect.github.com/nuxt/eslint/compare/v1.4.1...v1.5.0) ##### 🚀 Features - Switch to `eslint-plugin-import-lite`, update deps - by [@​antfu](https://redirect.github.com/antfu) [<samp>(31bd8)</samp>](https://redirect.github.com/nuxt/eslint/commit/31bd8a0) ##### 🐞 Bug Fixes - **eslint-config**: Add file type restrictions to prevent CSS parsing errors - by [@​amery](https://redirect.github.com/amery) in [https://github.com/nuxt/eslint/issues/584](https://redirect.github.com/nuxt/eslint/issues/584) [<samp>(40521)</samp>](https://redirect.github.com/nuxt/eslint/commit/40521a1) ##### [View changes on GitHub](https://redirect.github.com/nuxt/eslint/compare/v1.4.1...v1.5.0) </details> <details> <summary>nuxt/test-utils (@​nuxt/test-utils)</summary> ### [`v3.19.2`](https://redirect.github.com/nuxt/test-utils/releases/tag/v3.19.2) [Compare Source](https://redirect.github.com/nuxt/test-utils/compare/v3.19.1...v3.19.2) > 3.19.2 is the next patch release. > > **Timetable**: 1 July #### 👉 Changelog [compare changes](https://redirect.github.com/nuxt/test-utils/compare/v3.19.1...v3.19.2) ##### 🩹 Fixes - **config:** Add missing mocks for vue-devtools ([#​1321](https://redirect.github.com/nuxt/test-utils/pull/1321)) - **runtime-utils:** Prevent event duplication ([#​1328](https://redirect.github.com/nuxt/test-utils/pull/1328)) - **config:** Include tests without `.nuxt.` extension ([#​1311](https://redirect.github.com/nuxt/test-utils/pull/1311)) - **deps:** Drop `@nuxt/schema` dependeny ([fa3a99b4](https://redirect.github.com/nuxt/test-utils/commit/fa3a99b4)) - **config:** Use 'projects' for `vitest` >= v3.2 ([#​1344](https://redirect.github.com/nuxt/test-utils/pull/1344)) - **module:** Use user `vite` version to merge config ([#​1345](https://redirect.github.com/nuxt/test-utils/pull/1345)) - **runtime-utils:** Handle computed defined using an object ([#​1342](https://redirect.github.com/nuxt/test-utils/pull/1342)) ##### 🏡 Chore - Prefer `nuxt` over `nuxi` ([#​1310](https://redirect.github.com/nuxt/test-utils/pull/1310)) - Pin node types ([93921643](https://redirect.github.com/nuxt/test-utils/commit/93921643)) - Do not include dev-deps in `engines.node` calculation ([2f74359b](https://redirect.github.com/nuxt/test-utils/commit/2f74359b)) - Add type assertions for indexed access ([51b4a4e3](https://redirect.github.com/nuxt/test-utils/commit/51b4a4e3)) - Update installed-check flag ([2b97d885](https://redirect.github.com/nuxt/test-utils/commit/2b97d885)) ##### ✅ Tests - Update stub name for nuxt v4 ([e7b07843](https://redirect.github.com/nuxt/test-utils/commit/e7b07843)) - Satisfy typescript ([fb0dea24](https://redirect.github.com/nuxt/test-utils/commit/fb0dea24)) - Update cucumber test for nuxt v4 welcome screen template ([8ec7782f](https://redirect.github.com/nuxt/test-utils/commit/8ec7782f)) - Simplify test ([90278bac](https://redirect.github.com/nuxt/test-utils/commit/90278bac)) - Update workspace example ([02f9b0a0](https://redirect.github.com/nuxt/test-utils/commit/02f9b0a0)) - Make browser tests forward-compat with v4 ([574ea5f9](https://redirect.github.com/nuxt/test-utils/commit/574ea5f9)) ##### 🤖 CI - Remove forced corepack installation ([bf19bd3a](https://redirect.github.com/nuxt/test-utils/commit/bf19bd3a)) - Run `knip` ([819aeacc](https://redirect.github.com/nuxt/test-utils/commit/819aeacc)) - Prepare environment before knipping ([ec7d8ddd](https://redirect.github.com/nuxt/test-utils/commit/ec7d8ddd)) ##### ❤️ Contributors - Daniel Roe ([@​danielroe](https://redirect.github.com/danielroe)) - Tomina ([@​Thomaash](https://redirect.github.com/Thomaash)) - lutejka ([@​lutejka](https://redirect.github.com/lutejka)) - J-Michalek ([@​J-Michalek](https://redirect.github.com/J-Michalek)) </details> <details> <summary>rollup/rollup (@​rollup/rollup-linux-x64-gnu)</summary> ### [`v4.44.2`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4442) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v4.44.1...v4.44.2) *2025-07-04* ##### Bug Fixes - Correctly handle `@__PURE__` annotations after `new` keyword ([#​5998](https://redirect.github.com/rollup/rollup/issues/5998)) - Generate correct source mapping for closing braces of block statements ([#​5999](https://redirect.github.com/rollup/rollup/issues/5999)) ##### Pull Requests - [#​5998](https://redirect.github.com/rollup/rollup/pull/5998): Support `@__PURE__` when nested after new in constructor invocations ([@​TrickyPi](https://redirect.github.com/TrickyPi)) - [#​5999](https://redirect.github.com/rollup/rollup/pull/5999): Add location info for closing brace of block statement ([@​TrickyPi](https://redirect.github.com/TrickyPi)) - [#​6002](https://redirect.github.com/rollup/rollup/pull/6002): chore(deps): update dependency vite to v7 ([@​renovate](https://redirect.github.com/renovate)\[bot], [@​lukastaegert](https://redirect.github.com/lukastaegert)) - [#​6004](https://redirect.github.com/rollup/rollup/pull/6004): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://redirect.github.com/renovate)\[bot], [@​lukastaegert](https://redirect.github.com/lukastaegert)) ### [`v4.44.1`](https://redirect.github.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4441) [Compare Source](https://redirect.github.com/rollup/rollup/compare/v4.44.0...v4.44.1) *2025-06-26* ##### Bug Fixes - Reinstate maxParallelFileOps limit of 1000 to resolve the issue for some ([#​5992](https://redirect.github.com/rollup/rollup/issues/5992)) ##### Pull Requests - [#​5988](https://redirect.github.com/rollup/rollup/pull/5988): fix(deps): lock file maintenance minor/patch updates ([@​renovate](https://redirect.github.com/renovate)\[bot], [@​lukastaegert](https://redirect.github.com/lukastaegert)) - [#​5992](https://redirect.github.com/rollup/rollup/pull/5992): Set maxParallelFileOps to 1000 ([@​lukastaegert](https://redirect.github.com/lukastaegert)) </details> <details> <summary>swc-project/swc (@​swc/core)</summary> ### [`v1.12.11`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#11211---2025-07-08) [Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.12.9...v1.12.11) ##### Bug Fixes - **(ci)** Fix CI ([#​10790](https://redirect.github.com/swc-project/swc/issues/10790)) ([b3f9760](b3f97604b8)) - **(es)** Use `default-features = false` for `swc` crate usages ([#​10776](https://redirect.github.com/swc-project/swc/issues/10776)) ([50b2eac](50b2eacdf7)) - **(es)** Make `swc_typescript` optional ([#​10792](https://redirect.github.com/swc-project/swc/issues/10792)) ([c32569d](c32569dd55)) - **(preset-env)** Fix `default` value for `caniuse` ([#​10754](https://redirect.github.com/swc-project/swc/issues/10754)) ([aa4cd5b](aa4cd5ba7c)) - **(preset-env)** Revert `default` value ([#​10778](https://redirect.github.com/swc-project/swc/issues/10778)) ([7af5824](7af58242c2)) ##### Features - **(es/minifeir)** Inline lazily initialized literals ([#​10752](https://redirect.github.com/swc-project/swc/issues/10752)) ([fd5d2e2](fd5d2e2f33)) - **(es/minifier)** Evaluate `Number.XXX` constants ([#​10756](https://redirect.github.com/swc-project/swc/issues/10756)) ([c47dab5](c47dab5f90)) - **(es/minifier)** Implement partial evaluation of array join ([#​10758](https://redirect.github.com/swc-project/swc/issues/10758)) ([bdf3a98](bdf3a98bb4)) - **(swc\_core)** Expose `swc_ecma_parser/unstable` ([#​10744](https://redirect.github.com/swc-project/swc/issues/10744)) ([db0679e](db0679e5ca)) ##### Miscellaneous Tasks - **(common)** Remove `clone()` in proc macro ([#​10762](https://redirect.github.com/swc-project/swc/issues/10762)) ([12e3180](12e318036c)) - **(deps)** Update `browserslist-rs` to `0.19` ([#​10750](https://redirect.github.com/swc-project/swc/issues/10750)) ([f8bf21c](f8bf21c072)) - **(deps)** Remove unused deps with cargo-shear ([#​10765](https://redirect.github.com/swc-project/swc/issues/10765)) ([f4e4974](f4e4974ffe)) - **(es/module)** Drop `node` feature of `swc_ecma_loader` ([#​10761](https://redirect.github.com/swc-project/swc/issues/10761)) ([44471b5](44471b5151)) - **(plugin/runner)** Remove unused feature and dependency ([#​10764](https://redirect.github.com/swc-project/swc/issues/10764)) ([a7d8a0a](a7d8a0ac89)) ##### Performance - **(es/lexer)** Use `bitflags` for `Syntax` ([#​10676](https://redirect.github.com/swc-project/swc/issues/10676)) ([bf8c722](bf8c722e25)) - **(es/lexer)** Do not scan number if there's no underscore ([#​10788](https://redirect.github.com/swc-project/swc/issues/10788)) ([f5d92ee](f5d92ee1bf)) - **(es/lints)** Make rules not parallel ([#​10772](https://redirect.github.com/swc-project/swc/issues/10772)) ([4e6001c](4e6001c5a4)) - **(es/lints)** Merge critical rules ([#​10773](https://redirect.github.com/swc-project/swc/issues/10773)) ([816e75a](816e75a209)) - **(es/parser)** Reduce the number of context set ops ([#​10742](https://redirect.github.com/swc-project/swc/issues/10742)) ([08b4e8b](08b4e8b285)) - **(es/parser)** Reduce value set operations for context ([#​10751](https://redirect.github.com/swc-project/swc/issues/10751)) ([4976b12](4976b12f93)) - **(es/parser)** Reduce query ops of current token ([#​10766](https://redirect.github.com/swc-project/swc/issues/10766)) ([4304f91](4304f9129c)) - **(es/parser)** Remove useless call in `parse_ident` ([#​10770](https://redirect.github.com/swc-project/swc/issues/10770)) ([4ca12c9](4ca12c9725)) - **(es/renamer)** Reduce time complexity in case of conflict ([#​10749](https://redirect.github.com/swc-project/swc/issues/10749)) ([0279914](02799141bf)) - **(hstr)** Do not compare string during creating atoms ([#​10791](https://redirect.github.com/swc-project/swc/issues/10791)) ([43a4f11](43a4f117cb)) - Replace `rayon` with `par-iter` ([#​10774](https://redirect.github.com/swc-project/swc/issues/10774)) ([a6e6ebe](a6e6ebeaca)) ##### Refactor - **(es)** Make `swc_ecma_lint` optional for `swc` crate ([#​10767](https://redirect.github.com/swc-project/swc/issues/10767)) ([f80415b](f80415baa6)) - **(es/lexer)** Use const fn in `SyntaxFlags` ([#​10737](https://redirect.github.com/swc-project/swc/issues/10737)) ([b9eb23a](b9eb23aec3)) - **(es/parser)** Cleanup `parse_setter_param` ([#​10745](https://redirect.github.com/swc-project/swc/issues/10745)) ([70734f4](70734f40d4)) - **(es/parser)** Cleanup `typed-arena` ([#​10769](https://redirect.github.com/swc-project/swc/issues/10769)) ([ce5138d](ce5138d3aa)) - **(es/parser)** Cleanup for ctx ([#​10777](https://redirect.github.com/swc-project/swc/issues/10777)) ([d60a611](d60a611dc7)) - **(es/parser)** Delete `with_ctx` ([#​10779](https://redirect.github.com/swc-project/swc/issues/10779)) ([ce057c5](ce057c55ef)) - **(es/parser)** Cleanup ([#​10781](https://redirect.github.com/swc-project/swc/issues/10781)) ([176ce36](176ce36d24)) - **(es/preset)** Remove deprecated `preset_env` function and `feature` module ([#​10759](https://redirect.github.com/swc-project/swc/issues/10759)) ([fa0e0ab](fa0e0abf41)) - **(es/preset-env)** Use phf for corejs3 entry ([#​10712](https://redirect.github.com/swc-project/swc/issues/10712)) ([658b26d](658b26d838)) ##### Testing - **(es/minifier)** Update the terser test list ([#​10748](https://redirect.github.com/swc-project/swc/issues/10748)) ([1eace01](1eace01303)) - **(es/minifier)** Update the passing test list ([#​10782](https://redirect.github.com/swc-project/swc/issues/10782)) ([8aa888b](8aa888bc2a)) - **(es/parser)** Add a test for duplicate labels ([#​10784](https://redirect.github.com/swc-project/swc/issues/10784)) ([28fc643](28fc64310c)) ##### Pref - **(hstr)** Do not compare static tag ([#​10771](https://redirect.github.com/swc-project/swc/issues/10771)) ([5d3ce83](5d3ce83add)) ### [`v1.12.9`](https://redirect.github.com/swc-project/swc/blob/HEAD/CHANGELOG.md#1129---2025-07-01) [Compare Source](https://redirect.github.com/swc-project/swc/compare/v1.12.7...v1.12.9) ##### Bug Fixes - **(es/lexer)** Parse uppercase hex numbers correctly ([#​10728](https://redirect.github.com/swc-project/swc/issues/10728)) ([ead6256](ead62560b0)) - **(es/lexer)** Allow keywords as jsx attribute names ([#​10730](https://redirect.github.com/swc-project/swc/issues/10730)) ([04ef20a](https://redirect.github.com/swc-project/swc/commit/04ef20ad9b </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/unraid/api). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4yMy4yIiwidXBkYXRlZEluVmVyIjoiNDEuMjMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Unraid Plugin Builder
Tool for building and testing Unraid plugins locally as well as packaging them for deployment.
Development Workflow
1. Watch for Changes
The watch command will automatically sync changes from the API, UI components, and web app into the plugin source:
# Start watching all components
pnpm run watch:all
# Or run individual watchers:
pnpm run api:watch # Watch API changes
pnpm run ui:watch # Watch Unraid UI component changes
pnpm run wc:watch # Watch web component changes
This will copy:
- API files to
./source/dynamix.unraid.net/usr/local/unraid-api - UI components to
./source/dynamix.unraid.net/usr/local/emhttp/plugins/dynamix.my.servers/unraid-components - Web components to the same UI directory
2. Build the Plugin
Once your changes are ready, build the plugin package:
# Build using Docker - on non-Linux systems
pnpm run docker:build-and-run
# Or build with the build script
pnpm run build:validate
This will create the plugin files in ./deploy/release/
3. Serve and Install
Start a local HTTP server to serve the plugin files:
# Serve the plugin files
pnpm run http-server
Then install the plugin on your Unraid development machine by visiting:
http://SERVER_NAME.local/Plugins
Then paste the following URL into the Unraid Plugins page:
http://YOUR_LOCAL_DEV_MACHINE_IP:5858/plugins/local/dynamix.unraid.net.plg
Replace SERVER_NAME with your development machine's hostname.
Development Tips
- Run watchers in a separate terminal while developing
- The http-server includes CORS headers for local development
- Check the Unraid system log for plugin installation issues
Environment Setup
-
Initialize environment:
pnpm run env:init -
Validate environment:
pnpm run env:validate
Available Commands
Build Commands
build- Build the plugin packagebuild:validate- Build with environment validationdocker:build- Build the Docker containerdocker:run- Run the builder in Dockerdocker:build-and-run- Build and run in Docker
Watch Commands
watch:all- Watch all component changesapi:watch- Watch API changesui:watch- Watch UI component changeswc:watch- Watch web component changes
Server Commands
http-server- Serve the plugin files locally
Environment Commands
env:init- Create initial .env fileenv:validate- Validate environment setupenv:clean- Remove .env file
Troubleshooting
-
Watch not updating files
- Check that source directories exist
- Verify file permissions
-
Build failures
- Ensure .env file exists
- Check Docker setup if using containerized build
- Verify source files are present
-
Installation issues
- Confirm http-server is running
- Check your local IP is correct
- Verify plugin file permissions