Files
api/.github/workflows/main.yml
renovate[bot] 53b05ebe5e fix(deps): update all non-major dependencies (#1489)
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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@eslint%2fjs/9.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@eslint%2fjs/9.29.0/9.30.1?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@faker-js%2ffaker/9.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@faker-js%2ffaker/9.8.0/9.9.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fdom/1.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fdom/1.7.1/1.7.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2futils/0.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2futils/0.2.9/0.2.10?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@floating-ui%2fvue/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@floating-ui%2fvue/1.1.6/1.1.7?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fclient-preset/4.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2fclient-preset/4.8.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2fclient-preset/4.8.2/4.8.3?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftyped-document-node/5.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftyped-document-node/5.1.1/5.1.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@ianvs%2fprettier-plugin-sort-imports/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ianvs%2fprettier-plugin-sort-imports/4.4.2/4.5.1?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@nuxt%2fdevtools/2.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nuxt%2fdevtools/2.5.0/2.6.2?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/@nuxt%2feslint/1.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nuxt%2feslint/1.4.1/1.5.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@nuxt%2ftest-utils/3.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@nuxt%2ftest-utils/3.19.1/3.19.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@rollup%2frollup-linux-x64-gnu/4.44.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@rollup%2frollup-linux-x64-gnu/4.44.0/4.44.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@swc%2fcore/1.12.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@swc%2fcore/1.12.4/1.12.11?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fbun/1.2.18?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fbun/1.2.16/1.2.18?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fdockerode/3.3.42?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fdockerode/3.3.41/3.3.42?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2flodash/4.17.20?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2flodash/4.17.18/4.17.20?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.16.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.15.32/22.16.3?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/8.34.1/8.36.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fcomponents/13.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fcomponents/13.4.0/13.5.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fcore/13.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fcore/13.4.0/13.5.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fcore/13.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fcore/13.4.0/13.5.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fintegrations/13.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fintegrations/13.4.0/13.5.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fnuxt/13.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fnuxt/13.4.0/13.5.0?slim=true)](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` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/awalsh128%2fcache-apt-pkgs-action/v1.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/awalsh128%2fcache-apt-pkgs-action/v1.4.3/v1.5.1?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/cache-manager/7.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cache-manager/7.0.0/7.0.1?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/commit-and-tag-version/9.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/commit-and-tag-version/9.5.0/9.6.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/concurrently/9.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/concurrently/9.1.2/9.2.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/dotenv/17.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dotenv/17.1.0/17.2.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/9.30.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/9.29.0/9.30.1?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-import/2.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-import/2.31.0/2.32.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-n/17.21.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-n/17.20.0/17.21.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-prettier/5.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-prettier/5.5.0/5.5.1?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-vue/10.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-vue/10.2.0/10.3.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/fast-check/4.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/fast-check/4.1.1/4.2.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/glob/11.0.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/glob/11.0.1/11.0.3?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/18.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/18.0.0/18.0.1?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/inquirer/12.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/inquirer/12.6.3/12.7.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/isomorphic-dompurify/2.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/isomorphic-dompurify/2.25.0/2.26.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-vue-next/0.525.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-vue-next/0.519.0/0.525.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/marked-base-url/1.1.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/marked-base-url/1.1.6/1.1.7?slim=true)](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` |
[![age](https://developer.mend.io/api/mc/badges/age/node-version/node/v22.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/node-version/node/v22.16.0/v22.17.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/nuxt/3.17.6?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nuxt/3.17.5/3.17.6?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.12.4/10.13.1?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.13.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.12.4/10.13.1?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.5.3/3.6.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/prettier-plugin-tailwindcss/0.6.14?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier-plugin-tailwindcss/0.6.13/0.6.14?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/reka-ui/2.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reka-ui/2.3.1/2.3.2?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/semver/7.7.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/semver/7.7.1/7.7.2?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/systeminformation/5.27.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/systeminformation/5.27.6/5.27.7?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/tsx/4.20.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsx/4.19.3/4.20.3?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript-eslint/8.36.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript-eslint/8.34.1/8.36.0?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/7.0.3/7.0.4?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.0.7/3.2.4?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-i18n/11.1.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-i18n/11.1.6/11.1.9?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-sonner/1.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-sonner/1.3.0/1.3.2?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vuetify/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vuetify/3.8.10/3.9.0?slim=true)](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)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/wrangler/3.114.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/wrangler/3.114.10/3.114.11?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ws/8.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ws/8.18.2/8.18.3?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/ws/8.18.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ws/8.18.2/8.18.3?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zod/3.25.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zod/3.24.2/3.25.76?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zod/3.25.76?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zod/3.25.67/3.25.76?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zx/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zx/8.3.2/8.6.2?slim=true)](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) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/zx/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/zx/8.5.5/8.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
| devDependencies | minor |

---

### Release Notes

<details>
<summary>eslint/eslint (@&#8203;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 (@&#8203;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
([#&#8203;3531](https://redirect.github.com/faker-js/faker/issues/3531))
([a405ac8](a405ac8740))

##### Features

- **location:** simple coordinate methods
([#&#8203;3528](https://redirect.github.com/faker-js/faker/issues/3528))
([d07d96d](d07d96d018))

</details>

<details>
<summary>floating-ui/floating-ui (@&#8203;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 (@&#8203;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 (@&#8203;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
(@&#8203;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

-
[#&#8203;10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362)
[`3188b8c`](3188b8c39e)
Thanks [@&#8203;Brookke](https://redirect.github.com/Brookke)! - Make
generated type compatible with noImplicitOverride=true

-
[#&#8203;10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373)
[`c3295f9`](c3295f9c60)
Thanks [@&#8203;eddeee888](https://redirect.github.com/eddeee888)! - Fix
client preset not working with exactOptionalPropertyTypes=true when
documentMode=string

- Updated dependencies
\[[`3188b8c`](3188b8c39e),
[`c3295f9`](c3295f9c60)]:
-
[@&#8203;graphql-codegen/typed-document-node](https://redirect.github.com/graphql-codegen/typed-document-node)@&#8203;5.1.2

</details>

<details>
<summary>dotansimha/graphql-code-generator
(@&#8203;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

-
[#&#8203;10362](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10362)
[`3188b8c`](3188b8c39e)
Thanks [@&#8203;Brookke](https://redirect.github.com/Brookke)! - Make
generated type compatible with noImplicitOverride=true

-
[#&#8203;10373](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10373)
[`c3295f9`](c3295f9c60)
Thanks [@&#8203;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
(@&#8203;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 (@&#8203;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
[#&#8203;874](https://redirect.github.com/nuxt/devtools/issues/874),
close
[#&#8203;871](https://redirect.github.com/nuxt/devtools/issues/871),
close
[#&#8203;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`
([#&#8203;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
([#&#8203;866](https://redirect.github.com/nuxt/devtools/issues/866))
([fd01e60](fd01e6022a))

##### Features

- update deps
([eef2c09](eef2c09ea1))

</details>

<details>
<summary>nuxt/eslint (@&#8203;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 [#&#8203;587](https://redirect.github.com/nuxt/eslint/issues/587)
 -  by [@&#8203;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 [@&#8203;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
[@&#8203;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 [@&#8203;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 (@&#8203;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
([#&#8203;1321](https://redirect.github.com/nuxt/test-utils/pull/1321))
- **runtime-utils:** Prevent event duplication
([#&#8203;1328](https://redirect.github.com/nuxt/test-utils/pull/1328))
- **config:** Include tests without `.nuxt.` extension
([#&#8203;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
([#&#8203;1344](https://redirect.github.com/nuxt/test-utils/pull/1344))
- **module:** Use user `vite` version to merge config
([#&#8203;1345](https://redirect.github.com/nuxt/test-utils/pull/1345))
- **runtime-utils:** Handle computed defined using an object
([#&#8203;1342](https://redirect.github.com/nuxt/test-utils/pull/1342))

##### 🏡 Chore

- Prefer `nuxt` over `nuxi`
([#&#8203;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
([@&#8203;danielroe](https://redirect.github.com/danielroe))
- Tomina ([@&#8203;Thomaash](https://redirect.github.com/Thomaash))
- lutejka ([@&#8203;lutejka](https://redirect.github.com/lutejka))
- J-Michalek
([@&#8203;J-Michalek](https://redirect.github.com/J-Michalek))

</details>

<details>
<summary>rollup/rollup (@&#8203;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
([#&#8203;5998](https://redirect.github.com/rollup/rollup/issues/5998))
- Generate correct source mapping for closing braces of block statements
([#&#8203;5999](https://redirect.github.com/rollup/rollup/issues/5999))

##### Pull Requests

- [#&#8203;5998](https://redirect.github.com/rollup/rollup/pull/5998):
Support `@__PURE__` when nested after new in constructor invocations
([@&#8203;TrickyPi](https://redirect.github.com/TrickyPi))
- [#&#8203;5999](https://redirect.github.com/rollup/rollup/pull/5999):
Add location info for closing brace of block statement
([@&#8203;TrickyPi](https://redirect.github.com/TrickyPi))
- [#&#8203;6002](https://redirect.github.com/rollup/rollup/pull/6002):
chore(deps): update dependency vite to v7
([@&#8203;renovate](https://redirect.github.com/renovate)\[bot],
[@&#8203;lukastaegert](https://redirect.github.com/lukastaegert))
- [#&#8203;6004](https://redirect.github.com/rollup/rollup/pull/6004):
fix(deps): lock file maintenance minor/patch updates
([@&#8203;renovate](https://redirect.github.com/renovate)\[bot],
[@&#8203;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
([#&#8203;5992](https://redirect.github.com/rollup/rollup/issues/5992))

##### Pull Requests

- [#&#8203;5988](https://redirect.github.com/rollup/rollup/pull/5988):
fix(deps): lock file maintenance minor/patch updates
([@&#8203;renovate](https://redirect.github.com/renovate)\[bot],
[@&#8203;lukastaegert](https://redirect.github.com/lukastaegert))
- [#&#8203;5992](https://redirect.github.com/rollup/rollup/pull/5992):
Set maxParallelFileOps to 1000
([@&#8203;lukastaegert](https://redirect.github.com/lukastaegert))

</details>

<details>
<summary>swc-project/swc (@&#8203;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
([#&#8203;10790](https://redirect.github.com/swc-project/swc/issues/10790))
([b3f9760](b3f97604b8))

- **(es)** Use `default-features = false` for `swc` crate usages
([#&#8203;10776](https://redirect.github.com/swc-project/swc/issues/10776))
([50b2eac](50b2eacdf7))

- **(es)** Make `swc_typescript` optional
([#&#8203;10792](https://redirect.github.com/swc-project/swc/issues/10792))
([c32569d](c32569dd55))

- **(preset-env)** Fix `default` value for `caniuse`
([#&#8203;10754](https://redirect.github.com/swc-project/swc/issues/10754))
([aa4cd5b](aa4cd5ba7c))

- **(preset-env)** Revert `default` value
([#&#8203;10778](https://redirect.github.com/swc-project/swc/issues/10778))
([7af5824](7af58242c2))

##### Features

- **(es/minifeir)** Inline lazily initialized literals
([#&#8203;10752](https://redirect.github.com/swc-project/swc/issues/10752))
([fd5d2e2](fd5d2e2f33))

- **(es/minifier)** Evaluate `Number.XXX` constants
([#&#8203;10756](https://redirect.github.com/swc-project/swc/issues/10756))
([c47dab5](c47dab5f90))

- **(es/minifier)** Implement partial evaluation of array join
([#&#8203;10758](https://redirect.github.com/swc-project/swc/issues/10758))
([bdf3a98](bdf3a98bb4))

- **(swc\_core)** Expose `swc_ecma_parser/unstable`
([#&#8203;10744](https://redirect.github.com/swc-project/swc/issues/10744))
([db0679e](db0679e5ca))

##### Miscellaneous Tasks

- **(common)** Remove `clone()` in proc macro
([#&#8203;10762](https://redirect.github.com/swc-project/swc/issues/10762))
([12e3180](12e318036c))

- **(deps)** Update `browserslist-rs` to `0.19`
([#&#8203;10750](https://redirect.github.com/swc-project/swc/issues/10750))
([f8bf21c](f8bf21c072))

- **(deps)** Remove unused deps with cargo-shear
([#&#8203;10765](https://redirect.github.com/swc-project/swc/issues/10765))
([f4e4974](f4e4974ffe))

- **(es/module)** Drop `node` feature of `swc_ecma_loader`
([#&#8203;10761](https://redirect.github.com/swc-project/swc/issues/10761))
([44471b5](44471b5151))

- **(plugin/runner)** Remove unused feature and dependency
([#&#8203;10764](https://redirect.github.com/swc-project/swc/issues/10764))
([a7d8a0a](a7d8a0ac89))

##### Performance

- **(es/lexer)** Use `bitflags` for `Syntax`
([#&#8203;10676](https://redirect.github.com/swc-project/swc/issues/10676))
([bf8c722](bf8c722e25))

- **(es/lexer)** Do not scan number if there's no underscore
([#&#8203;10788](https://redirect.github.com/swc-project/swc/issues/10788))
([f5d92ee](f5d92ee1bf))

- **(es/lints)** Make rules not parallel
([#&#8203;10772](https://redirect.github.com/swc-project/swc/issues/10772))
([4e6001c](4e6001c5a4))

- **(es/lints)** Merge critical rules
([#&#8203;10773](https://redirect.github.com/swc-project/swc/issues/10773))
([816e75a](816e75a209))

- **(es/parser)** Reduce the number of context set ops
([#&#8203;10742](https://redirect.github.com/swc-project/swc/issues/10742))
([08b4e8b](08b4e8b285))

- **(es/parser)** Reduce value set operations for context
([#&#8203;10751](https://redirect.github.com/swc-project/swc/issues/10751))
([4976b12](4976b12f93))

- **(es/parser)** Reduce query ops of current token
([#&#8203;10766](https://redirect.github.com/swc-project/swc/issues/10766))
([4304f91](4304f9129c))

- **(es/parser)** Remove useless call in `parse_ident`
([#&#8203;10770](https://redirect.github.com/swc-project/swc/issues/10770))
([4ca12c9](4ca12c9725))

- **(es/renamer)** Reduce time complexity in case of conflict
([#&#8203;10749](https://redirect.github.com/swc-project/swc/issues/10749))
([0279914](02799141bf))

- **(hstr)** Do not compare string during creating atoms
([#&#8203;10791](https://redirect.github.com/swc-project/swc/issues/10791))
([43a4f11](43a4f117cb))

- Replace `rayon` with `par-iter`
([#&#8203;10774](https://redirect.github.com/swc-project/swc/issues/10774))
([a6e6ebe](a6e6ebeaca))

##### Refactor

- **(es)** Make `swc_ecma_lint` optional for `swc` crate
([#&#8203;10767](https://redirect.github.com/swc-project/swc/issues/10767))
([f80415b](f80415baa6))

- **(es/lexer)** Use const fn in `SyntaxFlags`
([#&#8203;10737](https://redirect.github.com/swc-project/swc/issues/10737))
([b9eb23a](b9eb23aec3))

- **(es/parser)** Cleanup `parse_setter_param`
([#&#8203;10745](https://redirect.github.com/swc-project/swc/issues/10745))
([70734f4](70734f40d4))

- **(es/parser)** Cleanup `typed-arena`
([#&#8203;10769](https://redirect.github.com/swc-project/swc/issues/10769))
([ce5138d](ce5138d3aa))

- **(es/parser)** Cleanup for ctx
([#&#8203;10777](https://redirect.github.com/swc-project/swc/issues/10777))
([d60a611](d60a611dc7))

- **(es/parser)** Delete `with_ctx`
([#&#8203;10779](https://redirect.github.com/swc-project/swc/issues/10779))
([ce057c5](ce057c55ef))

- **(es/parser)** Cleanup
([#&#8203;10781](https://redirect.github.com/swc-project/swc/issues/10781))
([176ce36](176ce36d24))

- **(es/preset)** Remove deprecated `preset_env` function and `feature`
module
([#&#8203;10759](https://redirect.github.com/swc-project/swc/issues/10759))
([fa0e0ab](fa0e0abf41))

- **(es/preset-env)** Use phf for corejs3 entry
([#&#8203;10712](https://redirect.github.com/swc-project/swc/issues/10712))
([658b26d](658b26d838))

##### Testing

- **(es/minifier)** Update the terser test list
([#&#8203;10748](https://redirect.github.com/swc-project/swc/issues/10748))
([1eace01](1eace01303))

- **(es/minifier)** Update the passing test list
([#&#8203;10782](https://redirect.github.com/swc-project/swc/issues/10782))
([8aa888b](8aa888bc2a))

- **(es/parser)** Add a test for duplicate labels
([#&#8203;10784](https://redirect.github.com/swc-project/swc/issues/10784))
([28fc643](28fc64310c))

##### Pref

- **(hstr)** Do not compare static tag
([#&#8203;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
([#&#8203;10728](https://redirect.github.com/swc-project/swc/issues/10728))
([ead6256](ead62560b0))

- **(es/lexer)** Allow keywords as jsx attribute names
([#&#8203;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>
2025-07-11 14:40:42 -04:00

407 lines
12 KiB
YAML

name: CI - Main (API)
on:
pull_request:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
release-please:
name: Release Please
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@v4
# Only run release-please on pushes to main
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
- id: release
uses: googleapis/release-please-action@v4
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
outputs:
releases_created: ${{ steps.release.outputs.releases_created || 'false' }}
tag_name: ${{ steps.release.outputs.tag_name || '' }}
test-api:
name: Test API
defaults:
run:
working-directory: api
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- name: Cache APT Packages
uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: bash procps python3 libvirt-dev jq zstd git build-essential libvirt-daemon-system
version: 1.0
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: PNPM Install
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm run lint
- name: Type Check
run: pnpm run type-check
- name: Setup libvirt
run: |
# Create required groups (if they don't already exist)
sudo groupadd -f libvirt
sudo groupadd -f kvm
# Create libvirt user if not present, and add it to the kvm group
sudo useradd -m -s /bin/bash -g libvirt libvirt || true
sudo usermod -aG kvm libvirt || true
# Set up libvirt directories and permissions
sudo mkdir -p /var/run/libvirt /var/log/libvirt /etc/libvirt
sudo chown root:libvirt /var/run/libvirt /var/log/libvirt
sudo chmod g+w /var/run/libvirt /var/log/libvirt
# Configure libvirt by appending required settings
sudo tee -a /etc/libvirt/libvirtd.conf > /dev/null <<EOF
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
auth_unix_rw = "none"
EOF
# Add the current user to libvirt and kvm groups (note: this change won't apply to the current session)
sudo usermod -aG libvirt,kvm $USER
sudo mkdir -p /var/run/libvirt
sudo chown root:libvirt /var/run/libvirt
sudo chmod 775 /var/run/libvirt
# Start libvirtd in the background
sudo /usr/sbin/libvirtd --daemon
# Wait a bit longer for libvirtd to start
sleep 5
# Verify libvirt is running using sudo to bypass group membership delays
sudo virsh list --all || true
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Run Tests Concurrently
run: |
set -e
# Run all tests in parallel with labeled output
echo "🚀 Starting API coverage tests..."
pnpm run coverage > api-test.log 2>&1 &
API_PID=$!
echo "🚀 Starting Connect plugin tests..."
(cd ../packages/unraid-api-plugin-connect && pnpm test) > connect-test.log 2>&1 &
CONNECT_PID=$!
echo "🚀 Starting Shared package tests..."
(cd ../packages/unraid-shared && pnpm test) > shared-test.log 2>&1 &
SHARED_PID=$!
# Wait for all processes and capture exit codes
wait $API_PID && echo "✅ API tests completed" || { echo "❌ API tests failed"; API_EXIT=1; }
wait $CONNECT_PID && echo "✅ Connect tests completed" || { echo "❌ Connect tests failed"; CONNECT_EXIT=1; }
wait $SHARED_PID && echo "✅ Shared tests completed" || { echo "❌ Shared tests failed"; SHARED_EXIT=1; }
# Display all outputs
echo "📋 API Test Results:" && cat api-test.log
echo "📋 Connect Plugin Test Results:" && cat connect-test.log
echo "📋 Shared Package Test Results:" && cat shared-test.log
# Exit with error if any test failed
if [[ ${API_EXIT:-0} -eq 1 || ${CONNECT_EXIT:-0} -eq 1 || ${SHARED_EXIT:-0} -eq 1 ]]; then
exit 1
fi
build-api:
name: Build API
runs-on: ubuntu-latest
outputs:
build_number: ${{ steps.buildnumber.outputs.build_number }}
defaults:
run:
working-directory: api
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Cache APT Packages
uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: bash procps python3 libvirt-dev jq zstd git build-essential
version: 1.0
- name: PNPM Install
run: |
cd ${{ github.workspace }}
pnpm install --frozen-lockfile
- name: Build
run: pnpm run build
- name: Get Git Short Sha and API version
id: vars
run: |
GIT_SHA=$(git rev-parse --short HEAD)
IS_TAGGED=$(git describe --tags --abbrev=0 --exact-match || echo '')
PACKAGE_LOCK_VERSION=$(jq -r '.version' package.json)
API_VERSION=$([[ -n "$IS_TAGGED" ]] && echo "$PACKAGE_LOCK_VERSION" || echo "${PACKAGE_LOCK_VERSION}+${GIT_SHA}")
export API_VERSION
echo "API_VERSION=${API_VERSION}" >> $GITHUB_ENV
echo "PACKAGE_LOCK_VERSION=${PACKAGE_LOCK_VERSION}" >> $GITHUB_OUTPUT
- name: Generate build number
id: buildnumber
uses: onyxmueller/build-tag-number@v1
with:
token: ${{secrets.github_token}}
prefix: ${{steps.vars.outputs.PACKAGE_LOCK_VERSION}}
- name: Build
run: |
pnpm run build:release
tar -czf deploy/unraid-api.tgz -C deploy/pack/ .
- name: Upload tgz to Github artifacts
uses: actions/upload-artifact@v4
with:
name: unraid-api
path: ${{ github.workspace }}/api/deploy/unraid-api.tgz
build-unraid-ui-webcomponents:
name: Build Unraid UI Library (Webcomponent Version)
defaults:
run:
working-directory: unraid-ui
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Cache APT Packages
uses: awalsh128/cache-apt-pkgs-action@v1.5.1
with:
packages: bash procps python3 libvirt-dev jq zstd git build-essential
version: 1.0
- name: Install dependencies
run: |
cd ${{ github.workspace }}
pnpm install --frozen-lockfile --filter @unraid/ui
- name: Lint
run: pnpm run lint
- name: Build
run: pnpm run build:wc
- name: Upload Artifact to Github
uses: actions/upload-artifact@v4
with:
name: unraid-wc-ui
path: unraid-ui/dist-wc/
build-web:
# needs: [build-unraid-ui]
name: Build Web App
defaults:
run:
working-directory: web
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Create env file
run: |
touch .env
echo VITE_ACCOUNT=${{ secrets.VITE_ACCOUNT }} >> .env
echo VITE_CONNECT=${{ secrets.VITE_CONNECT }} >> .env
echo VITE_UNRAID_NET=${{ secrets.VITE_UNRAID_NET }} >> .env
echo VITE_CALLBACK_KEY=${{ secrets.VITE_CALLBACK_KEY }} >> .env
cat .env
- name: Install Node
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: PNPM Install
run: |
cd ${{ github.workspace }}
pnpm install --frozen-lockfile --filter @unraid/web --filter @unraid/ui
- name: Build Unraid UI
run: |
cd ${{ github.workspace }}/unraid-ui
pnpm run build
- name: Lint files
run: pnpm run lint
- name: Type Check
run: pnpm run type-check
- name: Test
run: pnpm run test:ci
- name: Build
run: pnpm run build
- name: Upload build to Github artifacts
uses: actions/upload-artifact@v4
with:
name: unraid-wc-rich
path: web/.nuxt/nuxt-custom-elements/dist/unraid-components
build-plugin-staging-pr:
name: Build and Deploy Plugin
needs:
- release-please
- build-api
- build-web
- build-unraid-ui-webcomponents
- test-api
uses: ./.github/workflows/build-plugin.yml
with:
RELEASE_CREATED: false
TAG: ${{ github.event.pull_request.number && format('PR{0}', github.event.pull_request.number) || '' }}
BUCKET_PATH: ${{ github.event.pull_request.number && format('unraid-api/tag/PR{0}', github.event.pull_request.number) || 'unraid-api' }}
BASE_URL: "https://preview.dl.unraid.net/unraid-api"
BUILD_NUMBER: ${{ needs.build-api.outputs.build_number }}
secrets:
CF_ACCESS_KEY_ID: ${{ secrets.CF_ACCESS_KEY_ID }}
CF_SECRET_ACCESS_KEY: ${{ secrets.CF_SECRET_ACCESS_KEY }}
CF_BUCKET_PREVIEW: ${{ secrets.CF_BUCKET_PREVIEW }}
CF_ENDPOINT: ${{ secrets.CF_ENDPOINT }}
build-plugin-production:
if: ${{ needs.release-please.outputs.releases_created == 'true' }}
name: Build and Deploy Production Plugin
needs:
- release-please
- build-api
- build-web
- build-unraid-ui-webcomponents
- test-api
uses: ./.github/workflows/build-plugin.yml
with:
RELEASE_CREATED: true
RELEASE_TAG: ${{ needs.release-please.outputs.tag_name }}
TAG: ""
BUCKET_PATH: unraid-api
BASE_URL: "https://stable.dl.unraid.net/unraid-api"
BUILD_NUMBER: ${{ needs.build-api.outputs.build_number }}
secrets:
CF_ACCESS_KEY_ID: ${{ secrets.CF_ACCESS_KEY_ID }}
CF_SECRET_ACCESS_KEY: ${{ secrets.CF_SECRET_ACCESS_KEY }}
CF_BUCKET_PREVIEW: ${{ secrets.CF_BUCKET_PREVIEW }}
CF_ENDPOINT: ${{ secrets.CF_ENDPOINT }}