From caa622b4ea93dab4b416092ca73ada17bf9aa188 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 6 Aug 2026 09:57:00 +0200 Subject: [PATCH 01/16] ci(security): improve security with adding permissions (#4619) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci(security): add scoped GITHUB_TOKEN permissions to all workflows Every workflow now declares its token permissions explicitly instead of inheriting the repository default, which satisfies OpenSSF Scorecard's token-permissions check. Multi-job and write-scoped workflows use `permissions: {}` as a deny-by-default floor at the top level, with the actual grants declared per job. Consolidating those grants at the workflow level would leak scopes into jobs that don't need them — a `permissions` block replaces rather than merges, so the empty top-level block also makes a forgotten job block fail closed rather than inherit the default. Single-job read-only package workflows keep a plain top-level `contents: read`; there is no write scope to leak, so a second block per file would only add noise. Scopes were matched to what each job's steps actually do: - linting-icons: `contents: read` per job. No `pull-requests: read` — tj-actions/changed-files only needs that with `use_rest_api: true`, and here it reads the local .git. - lint-pr-title: `pull-requests: read`, which action-semantic-pull-request needs to read the PR title. - close-stale-prs: `pull-requests: write` only; the job never checks out. - comment-icon-preview: `actions: read` for the cross-run artifact download, plus `pull-requests: write` to post the comment. - release: `contents: read` for the checkouts, `id-token: write` only on the publishing jobs that use npm provenance, and `contents: write` only on post-release, which uploads the release assets. The prepare job neither checks out nor calls the API, so its empty scope is explicit. - ci: `contents: write` only on create-release; the reusable-workflow calls pass `id-token: write` and `contents: write` down to release.yml, since a called workflow can only reduce what the caller grants. Verified with actionlint (no new findings) and zizmor (no excessive-permissions findings). Co-Authored-By: Claude Opus 5 (1M context) * fix(ci): correct pull_request path filter in the lucide-vue workflow The Vue package lives in packages/vue, not packages/lucide-vue, so the filter never matched and the workflow did not run for changes to the package itself. Co-Authored-By: Claude Opus 5 (1M context) * Remove empty scope in prepare * Patch WeaknessCWE-506 --------- Co-authored-by: Claude Opus 5 (1M context) --- .github/workflows/angular.yml | 3 +++ .github/workflows/ci.yml | 14 +++++++++++--- .../workflows/close-issue-with-banned-phrases.yml | 9 ++++++--- .github/workflows/close-stale-prs.yml | 2 ++ .github/workflows/comment-icon-preview.yml | 6 ++++++ .github/workflows/icons.yml | 3 +++ .github/workflows/labeler.yml | 2 ++ .github/workflows/lint-code.yml | 3 +++ .github/workflows/lint-pr-title.yml | 4 ++++ .github/workflows/linting-icons.yml | 4 +++- .github/workflows/lucide-astro.yml | 3 +++ .github/workflows/lucide-font.yml | 3 +++ .github/workflows/lucide-preact.yml | 3 +++ .github/workflows/lucide-react-native.yml | 3 +++ .github/workflows/lucide-react.yml | 3 +++ .github/workflows/lucide-shared.yml | 3 +++ .github/workflows/lucide-solid.yml | 3 +++ .github/workflows/lucide-static.yml | 3 +++ .github/workflows/lucide-svelte-5.yml | 3 +++ .github/workflows/lucide-vue.yml | 5 ++++- .github/workflows/lucide.yml | 3 +++ .github/workflows/pull-request-icon-preview.yml | 2 ++ .../pull-request-metadata-suggestions.yml | 2 ++ .github/workflows/release.yml | 10 ++++------ .github/workflows/repo-journal.yml | 2 ++ .github/workflows/request-review.yml | 2 ++ 26 files changed, 89 insertions(+), 14 deletions(-) diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml index 64ec0c903..afecdf311 100644 --- a/.github/workflows/angular.yml +++ b/.github/workflows/angular.yml @@ -7,6 +7,9 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5abb506c7..8221d766a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,9 +23,7 @@ on: - beta - alpha -permissions: - id-token: write # Required for OIDC - contents: write +permissions: {} jobs: check-dispatch-gate: @@ -33,6 +31,8 @@ jobs: startsWith(github.event.head_commit.message, 'feat(icons)') && github.event_name != 'workflow_dispatch' runs-on: ubuntu-latest + permissions: + contents: read outputs: RELEASE_ENVIRONMENT: ${{ steps.environment.outputs.RELEASE_ENVIRONMENT }} steps: @@ -60,6 +60,8 @@ jobs: needs: check-dispatch-gate environment: ${{ needs.check-dispatch-gate.outputs.RELEASE_ENVIRONMENT }} runs-on: ubuntu-latest + permissions: + contents: write # Required to create the release and tag outputs: VERSION: ${{ steps.new-version.outputs.NEW_VERSION }} steps: @@ -111,6 +113,9 @@ jobs: needs: create-release uses: './.github/workflows/release.yml' secrets: inherit + permissions: + id-token: write # Required for OIDC (npm provenance) + contents: write # Required to upload release assets with: version: ${{ needs.create-release.outputs.VERSION }} @@ -118,6 +123,9 @@ jobs: if: github.event_name == 'workflow_dispatch' uses: './.github/workflows/release.yml' secrets: inherit + permissions: + id-token: write # Required for OIDC (npm provenance) + contents: write # Required to upload release assets with: version: ${{ inputs.version }} tag: ${{ inputs.tag }} diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index e6958de12..11e9c5158 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -4,10 +4,16 @@ on: issues: types: [opened] +permissions: {} + +env: + GH_TOKEN: ${{ github.token }} + jobs: block_phrases: runs-on: ubuntu-latest permissions: + contents: read issues: write steps: - name: Checkout repository @@ -43,6 +49,3 @@ jobs: exit 0 fi done - -env: - GH_TOKEN: ${{ github.token }} diff --git a/.github/workflows/close-stale-prs.yml b/.github/workflows/close-stale-prs.yml index 0b47315f4..d3a0d5fce 100644 --- a/.github/workflows/close-stale-prs.yml +++ b/.github/workflows/close-stale-prs.yml @@ -3,6 +3,8 @@ on: schedule: - cron: '45 1 * * *' +permissions: {} + jobs: stale: runs-on: ubuntu-latest diff --git a/.github/workflows/comment-icon-preview.yml b/.github/workflows/comment-icon-preview.yml index 1ba1aa89e..c002edb05 100644 --- a/.github/workflows/comment-icon-preview.yml +++ b/.github/workflows/comment-icon-preview.yml @@ -6,9 +6,15 @@ on: types: - completed +permissions: {} + jobs: upload: runs-on: ubuntu-latest + permissions: + contents: read + actions: read # Required to download the artifact from the triggering run + pull-requests: write if: > github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' diff --git a/.github/workflows/icons.yml b/.github/workflows/icons.yml index 42865b6b8..47e5b4493 100644 --- a/.github/workflows/icons.yml +++ b/.github/workflows/icons.yml @@ -9,6 +9,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 7dc5c2879..97fe2cb48 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -2,6 +2,8 @@ name: 'Pull Request Labeler' on: - pull_request_target +permissions: {} + jobs: triage: permissions: diff --git a/.github/workflows/lint-code.yml b/.github/workflows/lint-code.yml index 8fb9a83d5..72a54d980 100644 --- a/.github/workflows/lint-code.yml +++ b/.github/workflows/lint-code.yml @@ -3,6 +3,9 @@ name: Linting PR code on: pull_request: +permissions: + contents: read + jobs: lint-code: runs-on: ubuntu-latest diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml index a336a39a5..ad4c61e23 100644 --- a/.github/workflows/lint-pr-title.yml +++ b/.github/workflows/lint-pr-title.yml @@ -7,6 +7,10 @@ on: - edited - reopened +permissions: + contents: read + pull-requests: read # Required to read the PR title + jobs: lint-pr-title: name: PR Title Lint diff --git a/.github/workflows/linting-icons.yml b/.github/workflows/linting-icons.yml index c02613b53..6175bf219 100644 --- a/.github/workflows/linting-icons.yml +++ b/.github/workflows/linting-icons.yml @@ -9,6 +9,8 @@ on: - 'icons/*' - 'lab/*' +permissions: {} + jobs: lint-filenames: name: Lint Filenames @@ -29,7 +31,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v46.0.1 with: files: | icons/* diff --git a/.github/workflows/lucide-astro.yml b/.github/workflows/lucide-astro.yml index 09bcb19b8..d1d2d1ed9 100644 --- a/.github/workflows/lucide-astro.yml +++ b/.github/workflows/lucide-astro.yml @@ -11,6 +11,9 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-font.yml b/.github/workflows/lucide-font.yml index 6842a01ce..1b495dc9e 100644 --- a/.github/workflows/lucide-font.yml +++ b/.github/workflows/lucide-font.yml @@ -9,6 +9,9 @@ on: - tools/build-font/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-font: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-preact.yml b/.github/workflows/lucide-preact.yml index fc7b1c824..ceb84f091 100644 --- a/.github/workflows/lucide-preact.yml +++ b/.github/workflows/lucide-preact.yml @@ -12,6 +12,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-preact: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-react-native.yml b/.github/workflows/lucide-react-native.yml index 99436b33e..67bba34ac 100644 --- a/.github/workflows/lucide-react-native.yml +++ b/.github/workflows/lucide-react-native.yml @@ -12,6 +12,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-react.yml b/.github/workflows/lucide-react.yml index 77f85f7d0..07b4cc79c 100644 --- a/.github/workflows/lucide-react.yml +++ b/.github/workflows/lucide-react.yml @@ -13,6 +13,9 @@ on: - scripts/generateNextJSAliases.mjs - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-shared.yml b/.github/workflows/lucide-shared.yml index 56c4b1931..f59868cc7 100644 --- a/.github/workflows/lucide-shared.yml +++ b/.github/workflows/lucide-shared.yml @@ -9,6 +9,9 @@ on: - packages/shared/** - pnpm-lock.yaml +permissions: + contents: read + jobs: test: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-solid.yml b/.github/workflows/lucide-solid.yml index a8515c761..3272a6aec 100644 --- a/.github/workflows/lucide-solid.yml +++ b/.github/workflows/lucide-solid.yml @@ -12,6 +12,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-static.yml b/.github/workflows/lucide-static.yml index aa604eaa5..d31955f3b 100644 --- a/.github/workflows/lucide-static.yml +++ b/.github/workflows/lucide-static.yml @@ -7,6 +7,9 @@ on: - tools/build-icons/** - pnpm-lock.yaml +permissions: + contents: read + jobs: lucide-static: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-svelte-5.yml b/.github/workflows/lucide-svelte-5.yml index 84f3a415f..ca43bafae 100644 --- a/.github/workflows/lucide-svelte-5.yml +++ b/.github/workflows/lucide-svelte-5.yml @@ -12,6 +12,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide-vue.yml b/.github/workflows/lucide-vue.yml index c653429bb..19f782f9f 100644 --- a/.github/workflows/lucide-vue.yml +++ b/.github/workflows/lucide-vue.yml @@ -6,12 +6,15 @@ on: - next pull_request: paths: - - packages/lucide-vue/** + - packages/vue/** - packages/shared/** - tools/build-icons/** - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/lucide.yml b/.github/workflows/lucide.yml index 578b71f36..bc49dc3c1 100644 --- a/.github/workflows/lucide.yml +++ b/.github/workflows/lucide.yml @@ -11,6 +11,9 @@ on: - tools/rollup-plugins/** - pnpm-lock.yaml +permissions: + contents: read + jobs: build: runs-on: ubuntu-latest diff --git a/.github/workflows/pull-request-icon-preview.yml b/.github/workflows/pull-request-icon-preview.yml index 814673683..f2f87ee58 100644 --- a/.github/workflows/pull-request-icon-preview.yml +++ b/.github/workflows/pull-request-icon-preview.yml @@ -5,6 +5,8 @@ on: paths: - 'icons/*.svg' +permissions: {} + jobs: generate-changed-icons-comment: name: Generate Changed Icons Comment diff --git a/.github/workflows/pull-request-metadata-suggestions.yml b/.github/workflows/pull-request-metadata-suggestions.yml index a6b2acfd2..4ccbddf42 100644 --- a/.github/workflows/pull-request-metadata-suggestions.yml +++ b/.github/workflows/pull-request-metadata-suggestions.yml @@ -5,6 +5,8 @@ on: paths: - 'icons/*.json' +permissions: {} + jobs: pull-request-metadata-suggestions: name: Pull Request Metadata Suggestions diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e72e488db..fb5422a1a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,9 +16,7 @@ on: default: 'latest' type: string -permissions: - id-token: write # Required for OIDC - contents: write +permissions: {} jobs: prepare: @@ -26,7 +24,6 @@ jobs: runs-on: ubuntu-latest outputs: VERSION: ${{ steps.get_version.outputs.VERSION }} - steps: - name: Get the version id: get_version @@ -122,6 +119,8 @@ jobs: if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest needs: prepare + permissions: + contents: read steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 @@ -152,8 +151,7 @@ jobs: runs-on: ubuntu-latest needs: [prepare, lucide-font] permissions: - id-token: write # Required for OIDC - contents: write + contents: write # Required to upload the release assets steps: - uses: actions/checkout@v6 - uses: actions/download-artifact@v4 diff --git a/.github/workflows/repo-journal.yml b/.github/workflows/repo-journal.yml index 09638bac5..a1072a3a9 100644 --- a/.github/workflows/repo-journal.yml +++ b/.github/workflows/repo-journal.yml @@ -4,8 +4,10 @@ on: # Run this workflow every Monday at 07:00 UTC schedule: - cron: '0 7 * * 1' + permissions: contents: read + jobs: weekly-summary: runs-on: ubuntu-latest diff --git a/.github/workflows/request-review.yml b/.github/workflows/request-review.yml index 9998d6f83..40bcb8766 100644 --- a/.github/workflows/request-review.yml +++ b/.github/workflows/request-review.yml @@ -5,6 +5,8 @@ on: paths: - icons/*.svg +permissions: {} + jobs: request-review: if: github.event.pull_request.draft == false From d958c44840b53a708399372275d40b5225e80312 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 10:05:51 +0200 Subject: [PATCH 02/16] feat(dependabot): added dependabot config, grouping PRs for each package (#4633) --- .github/dependabot.yml | 182 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..6384aab41 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,182 @@ +version: 2 + +updates: + - package-ecosystem: npm + directory: / + schedule: + interval: weekly + groups: + root: + patterns: + - '*' + + - package-ecosystem: npm + directory: /docs + schedule: + interval: weekly + groups: + docs: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/angular + schedule: + interval: weekly + groups: + angular: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/astro + schedule: + interval: weekly + groups: + astro: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/icons + schedule: + interval: weekly + groups: + icons: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lab + schedule: + interval: weekly + groups: + lab: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide + schedule: + interval: weekly + groups: + lucide: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide-preact + schedule: + interval: weekly + groups: + lucide-preact: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide-react + schedule: + interval: weekly + groups: + lucide-react: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide-react-native + schedule: + interval: weekly + groups: + lucide-react-native: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide-solid + schedule: + interval: weekly + groups: + lucide-solid: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/lucide-static + schedule: + interval: weekly + groups: + lucide-static: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/shared + schedule: + interval: weekly + groups: + shared: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/svelte + schedule: + interval: weekly + groups: + svelte: + patterns: + - '*' + + - package-ecosystem: npm + directory: /packages/vue + schedule: + interval: weekly + groups: + vue: + patterns: + - '*' + + - package-ecosystem: npm + directory: /tools/build-font + schedule: + interval: weekly + groups: + build-font: + patterns: + - '*' + + - package-ecosystem: npm + directory: /tools/build-helpers + schedule: + interval: weekly + groups: + build-helpers: + patterns: + - '*' + + - package-ecosystem: npm + directory: /tools/build-icons + schedule: + interval: weekly + groups: + build-icons: + patterns: + - '*' + + - package-ecosystem: npm + directory: /tools/rollup-plugins + schedule: + interval: weekly + groups: + rollup-plugins: + patterns: + - '*' + + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + groups: + github-actions: + patterns: + - '*' From 4993e7893f90e1aa7e2b642810377261c61a2a16 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 10:06:23 +0200 Subject: [PATCH 03/16] fix(ci): limit certain github workflows to main repository (#4628) --- .github/workflows/ci.yml | 2 +- .github/workflows/close-issue-with-banned-phrases.yml | 1 + .github/workflows/close-stale-prs.yml | 1 + .github/workflows/comment-icon-preview.yml | 1 + .github/workflows/labeler.yml | 1 + .github/workflows/pull-request-icon-preview.yml | 1 + .github/workflows/pull-request-metadata-suggestions.yml | 1 + .github/workflows/repo-journal.yml | 1 + .github/workflows/request-review.yml | 2 +- 9 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8221d766a..453493560 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -120,7 +120,7 @@ jobs: version: ${{ needs.create-release.outputs.VERSION }} dispatch-release: - if: github.event_name == 'workflow_dispatch' + if: github.repository == 'lucide-icons/lucide' && github.event_name == 'workflow_dispatch' uses: './.github/workflows/release.yml' secrets: inherit permissions: diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index 11e9c5158..6e7369121 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -11,6 +11,7 @@ env: jobs: block_phrases: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/close-stale-prs.yml b/.github/workflows/close-stale-prs.yml index d3a0d5fce..e21e7c4ef 100644 --- a/.github/workflows/close-stale-prs.yml +++ b/.github/workflows/close-stale-prs.yml @@ -7,6 +7,7 @@ permissions: {} jobs: stale: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: pull-requests: write diff --git a/.github/workflows/comment-icon-preview.yml b/.github/workflows/comment-icon-preview.yml index c002edb05..fb4a33014 100644 --- a/.github/workflows/comment-icon-preview.yml +++ b/.github/workflows/comment-icon-preview.yml @@ -16,6 +16,7 @@ jobs: actions: read # Required to download the artifact from the triggering run pull-requests: write if: > + github.repository == 'lucide-icons/lucide' && github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success' steps: diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 97fe2cb48..458587079 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -6,6 +6,7 @@ permissions: {} jobs: triage: + if: github.repository == 'lucide-icons/lucide' permissions: contents: read pull-requests: write diff --git a/.github/workflows/pull-request-icon-preview.yml b/.github/workflows/pull-request-icon-preview.yml index f2f87ee58..70050730b 100644 --- a/.github/workflows/pull-request-icon-preview.yml +++ b/.github/workflows/pull-request-icon-preview.yml @@ -10,6 +10,7 @@ permissions: {} jobs: generate-changed-icons-comment: name: Generate Changed Icons Comment + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/pull-request-metadata-suggestions.yml b/.github/workflows/pull-request-metadata-suggestions.yml index 4ccbddf42..6c09ed722 100644 --- a/.github/workflows/pull-request-metadata-suggestions.yml +++ b/.github/workflows/pull-request-metadata-suggestions.yml @@ -10,6 +10,7 @@ permissions: {} jobs: pull-request-metadata-suggestions: name: Pull Request Metadata Suggestions + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest permissions: contents: read diff --git a/.github/workflows/repo-journal.yml b/.github/workflows/repo-journal.yml index a1072a3a9..3ec7642d1 100644 --- a/.github/workflows/repo-journal.yml +++ b/.github/workflows/repo-journal.yml @@ -10,6 +10,7 @@ permissions: jobs: weekly-summary: + if: github.repository == 'lucide-icons/lucide' runs-on: ubuntu-latest steps: - name: Set up Node.js environment diff --git a/.github/workflows/request-review.yml b/.github/workflows/request-review.yml index 40bcb8766..e9c7c1a11 100644 --- a/.github/workflows/request-review.yml +++ b/.github/workflows/request-review.yml @@ -9,7 +9,7 @@ permissions: {} jobs: request-review: - if: github.event.pull_request.draft == false + if: github.repository == 'lucide-icons/lucide' && github.event.pull_request.draft == false runs-on: ubuntu-latest permissions: contents: read From 801d773d1f2a04712bc395a556b6209d4a6ec387 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 6 Aug 2026 10:35:26 +0200 Subject: [PATCH 04/16] fix(dependabot): Revert dependabot groups (#4665) * Revert grouping by packages * Remove comment --- .github/dependabot.yml | 164 +---------------------------------------- 1 file changed, 1 insertion(+), 163 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 6384aab41..0e485fe95 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,169 +6,7 @@ updates: schedule: interval: weekly groups: - root: - patterns: - - '*' - - - package-ecosystem: npm - directory: /docs - schedule: - interval: weekly - groups: - docs: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/angular - schedule: - interval: weekly - groups: - angular: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/astro - schedule: - interval: weekly - groups: - astro: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/icons - schedule: - interval: weekly - groups: - icons: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lab - schedule: - interval: weekly - groups: - lab: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide - schedule: - interval: weekly - groups: - lucide: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide-preact - schedule: - interval: weekly - groups: - lucide-preact: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide-react - schedule: - interval: weekly - groups: - lucide-react: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide-react-native - schedule: - interval: weekly - groups: - lucide-react-native: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide-solid - schedule: - interval: weekly - groups: - lucide-solid: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/lucide-static - schedule: - interval: weekly - groups: - lucide-static: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/shared - schedule: - interval: weekly - groups: - shared: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/svelte - schedule: - interval: weekly - groups: - svelte: - patterns: - - '*' - - - package-ecosystem: npm - directory: /packages/vue - schedule: - interval: weekly - groups: - vue: - patterns: - - '*' - - - package-ecosystem: npm - directory: /tools/build-font - schedule: - interval: weekly - groups: - build-font: - patterns: - - '*' - - - package-ecosystem: npm - directory: /tools/build-helpers - schedule: - interval: weekly - groups: - build-helpers: - patterns: - - '*' - - - package-ecosystem: npm - directory: /tools/build-icons - schedule: - interval: weekly - groups: - build-icons: - patterns: - - '*' - - - package-ecosystem: npm - directory: /tools/rollup-plugins - schedule: - interval: weekly - groups: - rollup-plugins: + workspace: patterns: - '*' From c4b02a0c2e47943dfe34eb4507b2c77c616d3425 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Thu, 6 Aug 2026 12:19:24 +0200 Subject: [PATCH 05/16] chore(dependabot): Group by dependency group (#4666) * Revert grouping by packages * Remove comment * add this * Add patterns * Add patterns * Reorder deps --- .github/dependabot.yml | 86 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 85 insertions(+), 1 deletion(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0e485fe95..04b38c47c 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,7 +6,91 @@ updates: schedule: interval: weekly groups: - workspace: + react-deps: + patterns: + - '@testing-library/react' + - '@types/prop-types' + - '@types/react' + - '@vitejs/plugin-react' + - 'react' + - 'react-dom' + vue-deps: + patterns: + - '@testing-library/vue' + - '@vitejs/plugin-vue' + - '@vue/test-utils' + - 'vue' + svelte-deps: + patterns: + - '@sveltejs/*' + - '@testing-library/svelte' + - '@tsconfig/svelte' + - 'svelte' + - 'svelte-check' + - 'svelte-preprocess' + solid-deps: + patterns: + - '@babel/*' + - '@rollup/plugin-babel' + - '@solidjs/testing-library' + - 'babel-preset-solid' + - 'solid-js' + - 'vite-plugin-solid' + react-native-deps: + patterns: + - 'react-native' + - 'react-native-svg' + angular-deps: + patterns: + - '@angular/*' + - '@angular-eslint/*' + - '@vitest/browser-playwright' + - 'angular-eslint' + - 'ng-packagr' + - 'rxjs' + - 'tslib' + preact-deps: + patterns: + - '@preact/preset-vite' + - '@testing-library/preact' + - 'preact' + astro-deps: + patterns: + - '@astrojs/*' + - 'astro' + testing-deps: + patterns: + - '@testing-library/*' + - '@vitest/*' + - 'jest-serializer-html' + - 'jsdom' + - 'linkedom' + - 'vitest' + build-deps: + patterns: + - '@rollup/*' + - '@vitejs/*' + - 'esbuild' + - 'rollup' + - 'rollup-plugin-*' + - 'typescript' + - 'vite' + - 'vite-plugin-*' + linting-deps: + patterns: + - '@html-eslint/*' + - '@typescript-eslint/*' + - 'cspell' + - 'eslint' + - 'eslint-*' + - 'husky' + - 'lint-staged' + - 'prettier' + - 'prettier-plugin-*' + types-deps: + patterns: + - '@types/*' + remaining-deps: patterns: - '*' From 510f495687275897c308a753f49583bb9b4128a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Aug 2026 13:36:27 +0200 Subject: [PATCH 06/16] chore(deps-dev): bump the svelte-deps group with 3 updates (#4671) Bumps the svelte-deps group with 3 updates: [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte), [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) and [svelte-check](https://github.com/sveltejs/language-tools). Updates `@sveltejs/vite-plugin-svelte` from 6.2.4 to 7.2.0 - [Release notes](https://github.com/sveltejs/vite-plugin-svelte/releases) - [Changelog](https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md) - [Commits](https://github.com/sveltejs/vite-plugin-svelte/commits/@sveltejs/vite-plugin-svelte@7.2.0/packages/vite-plugin-svelte) Updates `svelte` from 5.56.5 to 5.56.8 - [Release notes](https://github.com/sveltejs/svelte/releases) - [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md) - [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.56.8/packages/svelte) Updates `svelte-check` from 4.7.2 to 4.7.4 - [Release notes](https://github.com/sveltejs/language-tools/releases) - [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check@4.7.2...svelte-check@4.7.4) --- updated-dependencies: - dependency-name: "@sveltejs/vite-plugin-svelte" dependency-version: 7.2.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: svelte-deps - dependency-name: svelte dependency-version: 5.56.8 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: svelte-deps - dependency-name: svelte-check dependency-version: 4.7.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: svelte-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/svelte/package.json | 6 +- pnpm-lock.yaml | 164 ++++++++++++++++------------------- 2 files changed, 77 insertions(+), 93 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 074c0d049..d78086dbb 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -61,14 +61,14 @@ "@lucide/build-icons": "workspace:*", "@lucide/helpers": "workspace:*", "@sveltejs/package": "^2.5.8", - "@sveltejs/vite-plugin-svelte": "^6.2.4", + "@sveltejs/vite-plugin-svelte": "^7.2.0", "@testing-library/jest-dom": "^6.9.1", "@testing-library/svelte": "^5.4.2", "@tsconfig/svelte": "^5.0.8", "jest-serializer-html": "^7.1.0", "jsdom": "^27.4.0", - "svelte": "^5.56.5", - "svelte-check": "^4.7.2", + "svelte": "^5.56.8", + "svelte-check": "^4.7.4", "svelte-preprocess": "^6.0.5", "typescript": "^5.9.3", "vite": "^7.3.6" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cfa9e300f..fd149ffa6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -699,16 +699,16 @@ importers: version: link:../../tools/build-helpers '@sveltejs/package': specifier: ^2.5.8 - version: 2.5.8(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3) + version: 2.5.8(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3) '@sveltejs/vite-plugin-svelte': - specifier: ^6.2.4 - version: 6.2.4(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) + specifier: ^7.2.0 + version: 7.2.0(svelte@5.56.8(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) '@testing-library/jest-dom': specifier: ^6.9.1 version: 6.9.1 '@testing-library/svelte': specifier: ^5.4.2 - version: 5.4.2(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vitest@4.1.10) + version: 5.4.2(svelte@5.56.8(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vitest@4.1.10) '@tsconfig/svelte': specifier: ^5.0.8 version: 5.0.8 @@ -719,14 +719,14 @@ importers: specifier: ^27.4.0 version: 27.4.0(supports-color@10.2.2) svelte: - specifier: ^5.56.5 - version: 5.56.5(@typescript-eslint/types@8.64.0) + specifier: ^5.56.8 + version: 5.56.8(@typescript-eslint/types@8.64.0) svelte-check: - specifier: ^4.7.2 - version: 4.7.2(picomatch@4.0.5)(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3) + specifier: ^4.7.4 + version: 4.7.4(picomatch@4.0.5)(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3) svelte-preprocess: specifier: ^6.0.5 - version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3) + version: 6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3) typescript: specifier: ^5.9.3 version: 5.9.3 @@ -4590,8 +4590,8 @@ packages: peerDependencies: acorn: ^8.9.0 - '@sveltejs/load-config@0.2.0': - resolution: {integrity: sha512-1LgZ/qUqSoq+QorD83lk2hka79Px0wXNW2q5V1nZlxGhQgw1jrsIbVz5YiCeucVLo4XvFLjXukUaQjIiqowkcg==} + '@sveltejs/load-config@0.2.1': + resolution: {integrity: sha512-5m3B2cbqQ4TbwW6Xkh66Ntw6dD7gNc77cCxABTTesWcq9jxIzMgTk97pZx5vEtvQx8iokgi7GIphqZe+PGwcZA==} engines: {node: '>= 18.0.0'} '@sveltejs/package@2.5.8': @@ -4601,19 +4601,11 @@ packages: peerDependencies: svelte: ^3.44.0 || ^4.0.0 || ^5.0.0-next.1 - '@sveltejs/vite-plugin-svelte-inspector@5.0.2': - resolution: {integrity: sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==} + '@sveltejs/vite-plugin-svelte@7.2.0': + resolution: {integrity: sha512-1SpkuMSRLfugrVX+IrKfE1RUegzo8AQzKQ6qQPfVzbcWi5IhuTPaKb5ZrLpucleFznkc4/RTeSPoRnGWFxX+EQ==} engines: {node: ^20.19 || ^22.12 || >=24} peerDependencies: - '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0 - svelte: ^5.0.0 - vite: ^7.3.6 - - '@sveltejs/vite-plugin-svelte@6.2.4': - resolution: {integrity: sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==} - engines: {node: ^20.19 || ^22.12 || >=24} - peerDependencies: - svelte: ^5.0.0 + svelte: ^5.46.4 vite: ^7.3.6 '@swc/core-darwin-arm64@1.7.23': @@ -5529,8 +5521,8 @@ packages: resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} engines: {node: '>=0.4.0'} - acorn@8.17.0: - resolution: {integrity: sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==} + acorn@8.18.0: + resolution: {integrity: sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==} engines: {node: '>=0.4.0'} hasBin: true @@ -6623,12 +6615,12 @@ packages: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - devalue@5.8.1: - resolution: {integrity: sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==} - devalue@5.8.2: resolution: {integrity: sha512-DObPPAfdtFbXjxLqK8s2Xk9ZuWz5+ZoFEhC7J76es4GU/rEiXwHTmbImoCdyoCOcBH1UF3+Cz6Z2sYD4hyl5TA==} + devalue@5.9.0: + resolution: {integrity: sha512-RWrqdArjvPbsATEhOPUo6Wndc/iWnkWKlhIrdlF3zMMYo/c3CVtoaVAyLtWxz5h8nSlkHzxnzV2uLydPXmtF+A==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -7028,8 +7020,8 @@ packages: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} - esrap@2.2.13: - resolution: {integrity: sha512-m8jH5hZgJE2RRUK/jjkGPcJEDAV+dYnZYFkosQaPTcE+Yw4xynXHOo6FUdwaWBtdR3b1MMa7wEDTSHeR2VWsGA==} + esrap@2.3.0: + resolution: {integrity: sha512-GQ/7RN8uOtEfNpzZzBMTzW9JBcX42oaSVtPzdF+6cEL8pqIL094iUpr9jzYGn4O4P/1S60dJ6izyT8F4LYARng==} peerDependencies: '@typescript-eslint/types': ^8.2.0 peerDependenciesMeta: @@ -10311,13 +10303,13 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@4.7.2: - resolution: {integrity: sha512-GoS4XJdGswlq0rIT1vtFLzJY1bvHtY37McY9H9Gkm1Ggw/ICdZYn8J/Z8Yi0BEL0i3R4+jtaWVePjyppMlij/A==} + svelte-check@4.7.4: + resolution: {integrity: sha512-IW9ot9YqAoyv8FvyN+eb4ZTe8zgcKZrJLNYU6dzSKkGwEBsSPc4K7lmQ8bKn8W2YMXM6WDfZSSVOaGtekyUfOQ==} engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 - typescript: '>=5.0.0' + typescript: ^5.0.0 || ^6.0.0 svelte-preprocess@6.0.5: resolution: {integrity: sha512-sgwew5yV/2eMeQobIWgAxCNarKwiTUDIc3siAUbq3sp0G6ONtzk0W+wJihMdqjbYb3iGU3ubpGv0usnnuXT3qg==} @@ -10362,8 +10354,8 @@ packages: svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 typescript: ^4.9.4 || ^5.0.0 || ^6.0.0 - svelte@5.56.5: - resolution: {integrity: sha512-P03YJmUy2JoOxYHb4Ka3oFat1hq2ko2it1MOItSjsJ4B6WgZPLc3+RyyU+57OGWhs3Ieq74EJpZtSnNXdAGgDw==} + svelte@5.56.8: + resolution: {integrity: sha512-PY8LOw7xP6c8IOiVqdo0sbbZVYhXRSfklOQLAUyGBKqjTX0wx/z4l/9J+PmBpmlLnxzEb1NqltxQ5/wZme/Cmg==} engines: {node: '>=18'} svg-path-commander@2.2.1: @@ -15419,37 +15411,29 @@ snapshots: '@stitches/core@1.2.8': {} - '@sveltejs/acorn-typescript@1.0.11(acorn@8.17.0)': + '@sveltejs/acorn-typescript@1.0.11(acorn@8.18.0)': dependencies: - acorn: 8.17.0 + acorn: 8.18.0 - '@sveltejs/load-config@0.2.0': {} + '@sveltejs/load-config@0.2.1': {} - '@sveltejs/package@2.5.8(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3)': + '@sveltejs/package@2.5.8(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3)': dependencies: chokidar: 5.0.0 kleur: 4.1.5 sade: 1.8.1 semver: 7.8.5 - svelte: 5.56.5(@typescript-eslint/types@8.64.0) - svelte2tsx: 0.7.57(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) + svelte2tsx: 0.7.57(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3) transitivePeerDependencies: - typescript - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)))(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))': + '@sveltejs/vite-plugin-svelte@7.2.0(svelte@5.56.8(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) - obug: 2.1.4 - svelte: 5.56.5(@typescript-eslint/types@8.64.0) - vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) - - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))': - dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)))(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) deepmerge: 4.3.1 magic-string: 0.30.21 - obug: 2.1.3 - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + obug: 2.1.4 + svelte: 5.56.8(@typescript-eslint/types@8.64.0) vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) vitefu: 1.1.3(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) @@ -15588,15 +15572,15 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@testing-library/svelte-core@1.1.3(svelte@5.56.5(@typescript-eslint/types@8.64.0))': + '@testing-library/svelte-core@1.1.3(svelte@5.56.8(@typescript-eslint/types@8.64.0))': dependencies: - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) - '@testing-library/svelte@5.4.2(svelte@5.56.5(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vitest@4.1.10)': + '@testing-library/svelte@5.4.2(svelte@5.56.8(@typescript-eslint/types@8.64.0))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vitest@4.1.10)': dependencies: '@testing-library/dom': 10.4.1 - '@testing-library/svelte-core': 1.1.3(svelte@5.56.5(@typescript-eslint/types@8.64.0)) - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + '@testing-library/svelte-core': 1.1.3(svelte@5.56.8(@typescript-eslint/types@8.64.0)) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) optionalDependencies: vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) vitest: 4.1.10(@types/node@26.1.1)(@vitest/browser-playwright@4.1.10)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(jsdom@27.4.0(supports-color@10.2.2))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) @@ -16122,8 +16106,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 2.0.3(encoding@0.1.13)(supports-color@10.2.2) '@rollup/pluginutils': 5.4.0(rollup@4.62.2) - acorn: 8.17.0 - acorn-import-attributes: 1.9.5(acorn@8.17.0) + acorn: 8.18.0 + acorn-import-attributes: 1.9.5(acorn@8.18.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -16478,20 +16462,20 @@ snapshots: mime-types: 3.0.2 negotiator: 1.0.0 - acorn-import-attributes@1.9.5(acorn@8.17.0): + acorn-import-attributes@1.9.5(acorn@8.18.0): dependencies: - acorn: 8.17.0 + acorn: 8.18.0 - acorn-jsx@5.3.2(acorn@8.17.0): + acorn-jsx@5.3.2(acorn@8.18.0): dependencies: - acorn: 8.17.0 + acorn: 8.18.0 acorn-walk@8.3.5: dependencies: - acorn: 8.17.0 + acorn: 8.18.0 optional: true - acorn@8.17.0: {} + acorn@8.18.0: {} agent-base@7.1.4: {} @@ -17828,10 +17812,10 @@ snapshots: detect-libc@2.1.2: {} - devalue@5.8.1: {} - devalue@5.8.2: {} + devalue@5.9.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -18350,14 +18334,14 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.17.0 - acorn-jsx: 5.3.2(acorn@8.17.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 4.2.1 espree@9.6.1: dependencies: - acorn: 8.17.0 - acorn-jsx: 5.3.2(acorn@8.17.0) + acorn: 8.18.0 + acorn-jsx: 5.3.2(acorn@8.18.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -18366,7 +18350,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@2.2.13(@typescript-eslint/types@8.64.0): + esrap@2.3.0(@typescript-eslint/types@8.64.0): dependencies: '@jridgewell/sourcemap-codec': 1.5.5 optionalDependencies: @@ -19628,7 +19612,7 @@ snapshots: jsonc-eslint-parser@2.4.2: dependencies: - acorn: 8.17.0 + acorn: 8.18.0 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.8.5 @@ -20452,7 +20436,7 @@ snapshots: mlly@1.8.2: dependencies: - acorn: 8.17.0 + acorn: 8.18.0 pathe: 2.0.3 pkg-types: 1.3.1 ufo: 1.6.4 @@ -22499,22 +22483,22 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.7.2(picomatch@4.0.5)(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3): + svelte-check@4.7.4(picomatch@4.0.5)(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 - '@sveltejs/load-config': 0.2.0 + '@sveltejs/load-config': 0.2.1 chokidar: 4.0.3 fdir: 6.5.0(picomatch@4.0.5) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) typescript: 5.9.3 transitivePeerDependencies: - picomatch - svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3): + svelte-preprocess@6.0.5(@babel/core@7.29.7(supports-color@10.2.2))(less@4.6.7)(postcss@8.5.19)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3): dependencies: - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) optionalDependencies: '@babel/core': 7.29.7(supports-color@10.2.2) less: 4.6.7 @@ -22523,27 +22507,27 @@ snapshots: stylus: 0.56.0(supports-color@10.2.2) typescript: 5.9.3 - svelte2tsx@0.7.57(svelte@5.56.5(@typescript-eslint/types@8.64.0))(typescript@5.9.3): + svelte2tsx@0.7.57(svelte@5.56.8(@typescript-eslint/types@8.64.0))(typescript@5.9.3): dependencies: dedent-js: 1.0.1 scule: 1.3.0 - svelte: 5.56.5(@typescript-eslint/types@8.64.0) + svelte: 5.56.8(@typescript-eslint/types@8.64.0) typescript: 5.9.3 - svelte@5.56.5(@typescript-eslint/types@8.64.0): + svelte@5.56.8(@typescript-eslint/types@8.64.0): dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 - '@sveltejs/acorn-typescript': 1.0.11(acorn@8.17.0) + '@sveltejs/acorn-typescript': 1.0.11(acorn@8.18.0) '@types/estree': 1.0.9 '@types/trusted-types': 2.0.7 - acorn: 8.17.0 + acorn: 8.18.0 aria-query: 5.3.1 axobject-query: 4.1.0 clsx: 2.1.1 - devalue: 5.8.1 + devalue: 5.9.0 esm-env: 1.2.2 - esrap: 2.2.13(@typescript-eslint/types@8.64.0) + esrap: 2.3.0(@typescript-eslint/types@8.64.0) is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -22668,7 +22652,7 @@ snapshots: terser@5.49.0: dependencies: '@jridgewell/source-map': 0.3.11 - acorn: 8.17.0 + acorn: 8.18.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -22783,7 +22767,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 26.1.1 - acorn: 8.17.0 + acorn: 8.18.0 acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 @@ -22922,7 +22906,7 @@ snapshots: unctx@2.5.0: dependencies: - acorn: 8.17.0 + acorn: 8.18.0 estree-walker: 3.0.3 magic-string: 0.30.21 unplugin: 2.3.11 @@ -22971,7 +22955,7 @@ snapshots: unimport@6.3.0(esbuild@0.28.1)(rollup@4.62.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)): dependencies: - acorn: 8.17.0 + acorn: 8.18.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 local-pkg: 1.2.1 @@ -23055,7 +23039,7 @@ snapshots: unplugin@2.3.11: dependencies: '@jridgewell/remapping': 2.3.5 - acorn: 8.17.0 + acorn: 8.18.0 picomatch: 4.0.5 webpack-virtual-modules: 0.6.2 From 53766c77ece00d6c42eb0e1b885c41dd58754855 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Aug 2026 13:36:53 +0200 Subject: [PATCH 07/16] chore(deps): bump the vue-deps group with 3 updates (#4670) Bumps the vue-deps group with 3 updates: [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue), [@vue/test-utils](https://github.com/vuejs/test-utils) and [vue](https://github.com/vuejs/core). Updates `@vitejs/plugin-vue` from 4.6.2 to 6.0.8 - [Release notes](https://github.com/vitejs/vite-plugin-vue/releases) - [Changelog](https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite-plugin-vue/commits/plugin-vue@6.0.8/packages/plugin-vue) Updates `@vue/test-utils` from 2.4.5 to 2.4.11 - [Release notes](https://github.com/vuejs/test-utils/releases) - [Commits](https://github.com/vuejs/test-utils/compare/v2.4.5...v2.4.11) Updates `vue` from 3.5.39 to 3.5.40 - [Release notes](https://github.com/vuejs/core/releases) - [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/vuejs/core/compare/v3.5.39...v3.5.40) --- updated-dependencies: - dependency-name: "@vitejs/plugin-vue" dependency-version: 6.0.8 dependency-type: direct:development update-type: version-update:semver-major dependency-group: vue-deps - dependency-name: "@vue/test-utils" dependency-version: 2.4.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: vue-deps - dependency-name: vue dependency-version: 3.5.40 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: vue-deps ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/package.json | 2 +- packages/vue/package.json | 6 +- pnpm-lock.yaml | 275 +++++++++++++++++++++----------------- 3 files changed, 153 insertions(+), 130 deletions(-) diff --git a/docs/package.json b/docs/package.json index 0ee8cdda0..f2fbb44e4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -68,6 +68,6 @@ "react": "18.2.0", "react-dom": "18.2.0", "sandpack-vue3": "3.1.12", - "vue": "^3.5.39" + "vue": "^3.5.40" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index c1b4a7a07..eae50e23d 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -46,13 +46,13 @@ "@lucide/shared": "workspace:*", "@testing-library/jest-dom": "^6.9.1", "@testing-library/vue": "^8.1.0", - "@vitejs/plugin-vue": "^4.6.2", - "@vue/test-utils": "2.4.5", + "@vitejs/plugin-vue": "^6.0.8", + "@vue/test-utils": "2.4.11", "rollup": "^4.62.2", "rollup-plugin-dts": "^6.4.1", "typescript": "^5.9.3", "vite": "^7.3.6", - "vue": "^3.5.39" + "vue": "^3.5.40" }, "peerDependencies": { "vue": ">=3.0.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fd149ffa6..161893a5f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -133,22 +133,22 @@ importers: dependencies: '@floating-ui/vue': specifier: ^1.1.11 - version: 1.1.11(vue@3.5.39(typescript@5.9.3)) + version: 1.1.11(vue@3.5.40(typescript@5.9.3)) '@headlessui/vue': specifier: ^1.7.23 - version: 1.7.23(vue@3.5.39(typescript@5.9.3)) + version: 1.7.23(vue@3.5.40(typescript@5.9.3)) '@lucide/vue': specifier: workspace:* version: link:../packages/vue '@vueuse/components': specifier: ^14.3.0 - version: 14.3.0(vue@3.5.39(typescript@5.9.3)) + version: 14.3.0(vue@3.5.40(typescript@5.9.3)) '@vueuse/core': specifier: ^14.3.0 - version: 14.3.0(vue@3.5.39(typescript@5.9.3)) + version: 14.3.0(vue@3.5.40(typescript@5.9.3)) '@vueuse/integrations': specifier: ^14.3.0 - version: 14.3.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.39(typescript@5.9.3)) + version: 14.3.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.40(typescript@5.9.3)) element-to-path: specifier: ^1.2.1 version: 1.2.1 @@ -169,7 +169,7 @@ importers: version: link:../packages/lucide-react motion-v: specifier: 1.10.3 - version: 1.10.3(@vueuse/core@14.3.0(vue@3.5.39(typescript@5.9.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vue@3.5.39(typescript@5.9.3)) + version: 1.10.3(@vueuse/core@14.3.0(vue@3.5.40(typescript@5.9.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vue@3.5.40(typescript@5.9.3)) react: specifier: 18.2.0 version: 18.2.0 @@ -178,10 +178,10 @@ importers: version: 18.2.0(react@18.2.0) sandpack-vue3: specifier: 3.1.12 - version: 3.1.12(vue@3.5.39(typescript@5.9.3)) + version: 3.1.12(vue@3.5.40(typescript@5.9.3)) vue: - specifier: ^3.5.39 - version: 3.5.39(typescript@5.9.3) + specifier: ^3.5.40 + version: 3.5.40(typescript@5.9.3) devDependencies: '@lucide/build-icons': specifier: workspace:* @@ -750,13 +750,13 @@ importers: version: 6.9.1 '@testing-library/vue': specifier: ^8.1.0 - version: 8.1.0(@vue/compiler-sfc@3.5.39)(vue@3.5.39(typescript@5.9.3)) + version: 8.1.0(@vue/compiler-dom@3.5.40)(@vue/compiler-sfc@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@5.9.3)) '@vitejs/plugin-vue': - specifier: ^4.6.2 - version: 4.6.2(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.39(typescript@5.9.3)) + specifier: ^6.0.8 + version: 6.0.8(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3)) '@vue/test-utils': - specifier: 2.4.5 - version: 2.4.5 + specifier: 2.4.11 + version: 2.4.11(@vue/compiler-dom@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@5.9.3)) rollup: specifier: ^4.62.2 version: 4.62.2 @@ -770,8 +770,8 @@ importers: specifier: ^7.3.6 version: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) vue: - specifier: ^3.5.39 - version: 3.5.39(typescript@5.9.3) + specifier: ^3.5.40 + version: 3.5.40(typescript@5.9.3) tools/build-font: dependencies: @@ -4205,6 +4205,9 @@ packages: '@rolldown/pluginutils@1.0.0-rc.4': resolution: {integrity: sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==} + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + '@rollup/plugin-alias@6.0.0': resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} engines: {node: '>=20.19.0'} @@ -5245,16 +5248,16 @@ packages: peerDependencies: vite: ^7.3.6 - '@vitejs/plugin-vue@4.6.2': - resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==} - engines: {node: ^14.18.0 || >=16.0.0} + '@vitejs/plugin-vue@5.2.4': + resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} + engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^7.3.6 vue: ^3.2.25 - '@vitejs/plugin-vue@5.2.4': - resolution: {integrity: sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==} - engines: {node: ^18.0.0 || >=20.0.0} + '@vitejs/plugin-vue@6.0.8': + resolution: {integrity: sha512-0ZjgOg7oO6farnNGup7yvoM/YXZV84OZxHAwtflItNa/6zzQyVb5LNxyea3FEKEX2XlagIKzrlH7wwxkKgtiew==} + engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^7.3.6 vue: ^3.2.25 @@ -5322,17 +5325,17 @@ packages: '@volar/typescript@2.4.28': resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==} - '@vue/compiler-core@3.5.39': - resolution: {integrity: sha512-16KBTEXAJCpDr0mwlw+AZyhu8iyC7R3S2vBwsI7QnWJU6X3WKc9VKeNEZpiMdZ569qWhz9574L3vV55qRL0Vtw==} + '@vue/compiler-core@3.5.40': + resolution: {integrity: sha512-39E8IgOhTbVDnoJFMKc2DvYnypcZwUqgUhQkccva/0m6FUwtIKSGV7n1hpVmYcFaoRAwf9pBcwnKlCEsN63ZEQ==} - '@vue/compiler-dom@3.5.39': - resolution: {integrity: sha512-oQPigALqYbNxTNPvNgSOe+czwVExfbVF02lz8jP0S3AXJiu3jxYDygNUiqSep4ezzW8XgnubqH63My2A7JR/vg==} + '@vue/compiler-dom@3.5.40': + resolution: {integrity: sha512-pwkx4vqlqOspFstrcmzwkKLePVMD3PT65imRzLhanU2V1Fj4K13g6OXjanOyzw3aTAuRk84BOmY8f3rEHqPaVA==} - '@vue/compiler-sfc@3.5.39': - resolution: {integrity: sha512-d0ki86iOyN8LoZPBmk5SJWNwHP19CnDDCfuo//+2WJa2g5Ke0Jay983PIBIcSSzldC68I8DrD5GrHV3OSDfodg==} + '@vue/compiler-sfc@3.5.40': + resolution: {integrity: sha512-gIf497P4kpuALcvs5n3AEg1Vdn0pSY4XbjASIfHNYF1/MP3T2Mf2STERTubysBxCRxzJGJYtF/O7vwJrxFB3Vw==} - '@vue/compiler-ssr@3.5.39': - resolution: {integrity: sha512-Ce7/wvwMHai74bdszfXExdazFigYnlF9zgCmEQUcM1j0fOymlouZ7XilTYNo8oUjhlnjYOZbGrcYKuqjz89Ucw==} + '@vue/compiler-ssr@3.5.40': + resolution: {integrity: sha512-rrE5xiXG663+vHCHa3J9p2z5OcBRjXmoqenprJxAFQxg5pSshzeBiCE6pu46axapRJ2Adk0YDA2BRZVjiHXnhg==} '@vue/devtools-api@7.7.10': resolution: {integrity: sha512-KxtEpUOOpFz/qOGRrAwA36QF7DqIA+FXgCYit9mk9wjbaZt0sXOFz81ElOZtKA4HbWHUdwNjZHBFsFFyp5BZiA==} @@ -5343,25 +5346,33 @@ packages: '@vue/devtools-shared@7.7.10': resolution: {integrity: sha512-wOPslzB8vTvpxwdaOcR2qAbwmuSP0L+rhpoC6Cf56V3Jip+HWb7PQQXOUPgBNQARpXsbQX/+mvi8kKucmBGRwQ==} - '@vue/reactivity@3.5.39': - resolution: {integrity: sha512-TpsuBJ9gGlZa5d23XcM2y8EXanz9dZeVDQBXRwzy46ItgvM+rWpzs+UVM0wcRLxGvcav0HE5jz2gNL53xlRAog==} + '@vue/reactivity@3.5.40': + resolution: {integrity: sha512-B7ot9UlUZOi1zbq61/LvE88ZLTV8IlajTdiZTAEiDQgrnIMIZoPr9kGw0Zw46ObW62O9+H/Be3kMbfb7kYPQZA==} - '@vue/runtime-core@3.5.39': - resolution: {integrity: sha512-9GLtNyRvPAUMbX+7ono0RC2j0guo2LXVi8LvcmAooImACUKm0oFf0jjwbX8/H0AE/t1nxhAkn8RSl9PMCzzxZw==} + '@vue/runtime-core@3.5.40': + resolution: {integrity: sha512-KAZLweuZ6uUJPK1PMSQPgBU5gCjgrrfjUhSglmU9NhH+Zjepa8cnwSydPWDWHDwOgY4g3VcZ+PljbiHlURNCbw==} - '@vue/runtime-dom@3.5.39': - resolution: {integrity: sha512-7Y6aAGboKcXAZ3ECuUy7RrS5yy2r47dhTp2SKaJmYxjopImaVFaNa5Ne66NwGovsrxVAl5S5rwc7m22UG7Lmww==} + '@vue/runtime-dom@3.5.40': + resolution: {integrity: sha512-ZfrX8ssZQds900L9pr8AuK05ddnMsR4MPMZr8cPN9GoqoPWcXLhjvvbIA2SMv+7a97sJ1vv9pj/zxK0Cq/eEFQ==} - '@vue/server-renderer@3.5.39': - resolution: {integrity: sha512-yZSakiAGw85rZfG7UM8akMnIF+FmeiNk47uvHf2nVBBSe+dIKUhZuZq9+XgJhbV3nS5Z4ALH23/MpXofW+mbcw==} - peerDependencies: - vue: 3.5.39 + '@vue/server-renderer@3.5.40': + resolution: {integrity: sha512-XNJym9WpevhTVt1HuwOrCRJ5Q+9z4BjTMrDtjTrvx74SmUll8spNTw6whWJa9mEkO4PKn5TihI/bm/8ds2QVJw==} '@vue/shared@3.5.39': resolution: {integrity: sha512-l1rrBtBfTnmxvtsvdQDXltUUy8S1Y+ZaqdfUzmAnJkTd8Z8rv5v/ytW+TKiqEOWyHPoqtPlNFSs0lhRmYVSHVA==} - '@vue/test-utils@2.4.5': - resolution: {integrity: sha512-oo2u7vktOyKUked36R93NB7mg2B+N7Plr8lxp2JBGwr18ch6EggFjixSCdIVVLkT6Qr0z359Xvnafc9dcKyDUg==} + '@vue/shared@3.5.40': + resolution: {integrity: sha512-WxnBtruIqOoV3rA4jeKDWzrYI5h7Cp4+pjwDi8kWGHz+IslhiN+wguLVVhtv2l8VoU02rzDCVfDjgCl1lNpZVg==} + + '@vue/test-utils@2.4.11': + resolution: {integrity: sha512-GDqaqZsA6m2E5vNzej0aYiIb6BX8xV9pNSbbbXKOfEYwg7ZNblVX8suyqmUBThq8VIrgAJNxn+z72hVtUeiWHA==} + peerDependencies: + '@vue/compiler-dom': 3.x + '@vue/server-renderer': 3.x + vue: 3.x + peerDependenciesMeta: + '@vue/server-renderer': + optional: true '@vueuse/components@14.3.0': resolution: {integrity: sha512-jnrJrecSfa8H+G6wtAwsCnMtKbKZDSpu5JZDuulZikWrHb6uuS5SyXP6M2b79tofxipm78VWDSzW+58pu1yglA==} @@ -11080,8 +11091,8 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-component-type-helpers@2.2.12: - resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} + vue-component-type-helpers@3.3.9: + resolution: {integrity: sha512-3c/UfMe0SqyEfcGTyH7mfshHagJ9QTCbppCb0/uGpHZpFug7+If3GeGZN7I0YheKEExemx3xldQPoO7PQSOLQg==} vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} @@ -11094,8 +11105,8 @@ packages: '@vue/composition-api': optional: true - vue@3.5.39: - resolution: {integrity: sha512-xmZCYabFGcirU8r0fTuvl/LICc1OU620rnqepaJDL/a141ZigkG7AyaxQLdqJ02ZRYzWe6YPaDHeQx7MfknQfA==} + vue@3.5.40: + resolution: {integrity: sha512-+8PJ4SJXdn/cHGImF4CKdxlWHIN5Dkt7DoufRREM6h6uVCx2m7QxgcEQmmzyOK8A9mcafg7sFbJFYsdFVubTig==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -13651,11 +13662,11 @@ snapshots: '@floating-ui/utils@0.2.12': {} - '@floating-ui/vue@1.1.11(vue@3.5.39(typescript@5.9.3))': + '@floating-ui/vue@1.1.11(vue@3.5.40(typescript@5.9.3))': dependencies: '@floating-ui/dom': 1.8.0 '@floating-ui/utils': 0.2.12 - vue-demi: 0.14.10(vue@3.5.39(typescript@5.9.3)) + vue-demi: 0.14.10(vue@3.5.40(typescript@5.9.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -13665,10 +13676,10 @@ snapshots: '@harperfast/extended-iterable@1.0.3': optional: true - '@headlessui/vue@1.7.23(vue@3.5.39(typescript@5.9.3))': + '@headlessui/vue@1.7.23(vue@3.5.40(typescript@5.9.3))': dependencies: - '@tanstack/vue-virtual': 3.13.32(vue@3.5.39(typescript@5.9.3)) - vue: 3.5.39(typescript@5.9.3) + '@tanstack/vue-virtual': 3.13.32(vue@3.5.40(typescript@5.9.3)) + vue: 3.5.40(typescript@5.9.3) '@hono/node-server@1.19.14(hono@4.12.30)': dependencies: @@ -15062,6 +15073,8 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.4': {} + '@rolldown/pluginutils@1.0.1': {} + '@rollup/plugin-alias@6.0.0(rollup@4.62.2)': optionalDependencies: rollup: 4.62.2 @@ -15500,10 +15513,10 @@ snapshots: '@tanstack/virtual-core@3.17.4': {} - '@tanstack/vue-virtual@3.13.32(vue@3.5.39(typescript@5.9.3))': + '@tanstack/vue-virtual@3.13.32(vue@3.5.40(typescript@5.9.3))': dependencies: '@tanstack/virtual-core': 3.17.4 - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) '@testing-library/dom@10.4.1': dependencies: @@ -15585,14 +15598,17 @@ snapshots: vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) vitest: 4.1.10(@types/node@26.1.1)(@vitest/browser-playwright@4.1.10)(@vitest/coverage-v8@4.1.10)(@vitest/ui@4.1.10)(jsdom@27.4.0(supports-color@10.2.2))(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0)) - '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.39)(vue@3.5.39(typescript@5.9.3))': + '@testing-library/vue@8.1.0(@vue/compiler-dom@3.5.40)(@vue/compiler-sfc@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@5.9.3))': dependencies: '@babel/runtime': 7.29.7 '@testing-library/dom': 9.3.4 - '@vue/test-utils': 2.4.5 - vue: 3.5.39(typescript@5.9.3) + '@vue/test-utils': 2.4.11(@vue/compiler-dom@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@5.9.3)) + vue: 3.5.40(typescript@5.9.3) optionalDependencies: - '@vue/compiler-sfc': 3.5.39 + '@vue/compiler-sfc': 3.5.40 + transitivePeerDependencies: + - '@vue/compiler-dom' + - '@vue/server-renderer' '@thednp/dommatrix@3.0.4': {} @@ -16143,15 +16159,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@4.6.2(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.39(typescript@5.9.3))': + '@vitejs/plugin-vue@5.2.4(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))': dependencies: vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) - '@vitejs/plugin-vue@5.2.4(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.39(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.8(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3))': dependencies: + '@rolldown/pluginutils': 1.0.1 vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) '@vitest/browser-playwright@4.1.10(playwright@1.58.2)(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vitest@4.1.10)': dependencies: @@ -16303,35 +16320,35 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue/compiler-core@3.5.39': + '@vue/compiler-core@3.5.40': dependencies: '@babel/parser': 7.29.7 - '@vue/shared': 3.5.39 + '@vue/shared': 3.5.40 entities: 7.0.1 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.39': + '@vue/compiler-dom@3.5.40': dependencies: - '@vue/compiler-core': 3.5.39 - '@vue/shared': 3.5.39 + '@vue/compiler-core': 3.5.40 + '@vue/shared': 3.5.40 - '@vue/compiler-sfc@3.5.39': + '@vue/compiler-sfc@3.5.40': dependencies: '@babel/parser': 7.29.7 - '@vue/compiler-core': 3.5.39 - '@vue/compiler-dom': 3.5.39 - '@vue/compiler-ssr': 3.5.39 - '@vue/shared': 3.5.39 + '@vue/compiler-core': 3.5.40 + '@vue/compiler-dom': 3.5.40 + '@vue/compiler-ssr': 3.5.40 + '@vue/shared': 3.5.40 estree-walker: 2.0.2 magic-string: 0.30.21 postcss: 8.5.19 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.39': + '@vue/compiler-ssr@3.5.40': dependencies: - '@vue/compiler-dom': 3.5.39 - '@vue/shared': 3.5.39 + '@vue/compiler-dom': 3.5.40 + '@vue/shared': 3.5.40 '@vue/devtools-api@7.7.10': dependencies: @@ -16351,73 +16368,79 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.5.39': + '@vue/reactivity@3.5.40': dependencies: - '@vue/shared': 3.5.39 + '@vue/shared': 3.5.40 - '@vue/runtime-core@3.5.39': + '@vue/runtime-core@3.5.40': dependencies: - '@vue/reactivity': 3.5.39 - '@vue/shared': 3.5.39 + '@vue/reactivity': 3.5.40 + '@vue/shared': 3.5.40 - '@vue/runtime-dom@3.5.39': + '@vue/runtime-dom@3.5.40': dependencies: - '@vue/reactivity': 3.5.39 - '@vue/runtime-core': 3.5.39 - '@vue/shared': 3.5.39 + '@vue/reactivity': 3.5.40 + '@vue/runtime-core': 3.5.40 + '@vue/shared': 3.5.40 csstype: 3.2.3 - '@vue/server-renderer@3.5.39(vue@3.5.39(typescript@5.9.3))': + '@vue/server-renderer@3.5.40': dependencies: - '@vue/compiler-ssr': 3.5.39 - '@vue/shared': 3.5.39 - vue: 3.5.39(typescript@5.9.3) + '@vue/compiler-ssr': 3.5.40 + '@vue/runtime-dom': 3.5.40 + '@vue/shared': 3.5.40 '@vue/shared@3.5.39': {} - '@vue/test-utils@2.4.5': - dependencies: - js-beautify: 1.15.4 - vue-component-type-helpers: 2.2.12 + '@vue/shared@3.5.40': {} - '@vueuse/components@14.3.0(vue@3.5.39(typescript@5.9.3))': + '@vue/test-utils@2.4.11(@vue/compiler-dom@3.5.40)(@vue/server-renderer@3.5.40)(vue@3.5.40(typescript@5.9.3))': dependencies: - '@vueuse/core': 14.3.0(vue@3.5.39(typescript@5.9.3)) - '@vueuse/shared': 14.3.0(vue@3.5.39(typescript@5.9.3)) - vue: 3.5.39(typescript@5.9.3) + '@vue/compiler-dom': 3.5.40 + js-beautify: 1.15.4 + vue: 3.5.40(typescript@5.9.3) + vue-component-type-helpers: 3.3.9 + optionalDependencies: + '@vue/server-renderer': 3.5.40 + + '@vueuse/components@14.3.0(vue@3.5.40(typescript@5.9.3))': + dependencies: + '@vueuse/core': 14.3.0(vue@3.5.40(typescript@5.9.3)) + '@vueuse/shared': 14.3.0(vue@3.5.40(typescript@5.9.3)) + vue: 3.5.40(typescript@5.9.3) '@vueuse/core@12.8.2(typescript@5.9.3)': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 12.8.2 '@vueuse/shared': 12.8.2(typescript@5.9.3) - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/core@14.3.0(vue@3.5.39(typescript@5.9.3))': + '@vueuse/core@14.3.0(vue@3.5.40(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 14.3.0 - '@vueuse/shared': 14.3.0(vue@3.5.39(typescript@5.9.3)) - vue: 3.5.39(typescript@5.9.3) + '@vueuse/shared': 14.3.0(vue@3.5.40(typescript@5.9.3)) + vue: 3.5.40(typescript@5.9.3) '@vueuse/integrations@12.8.2(focus-trap@7.8.0)(fuse.js@7.5.0)(typescript@5.9.3)': dependencies: '@vueuse/core': 12.8.2(typescript@5.9.3) '@vueuse/shared': 12.8.2(typescript@5.9.3) - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) optionalDependencies: focus-trap: 7.8.0 fuse.js: 7.5.0 transitivePeerDependencies: - typescript - '@vueuse/integrations@14.3.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.39(typescript@5.9.3))': + '@vueuse/integrations@14.3.0(focus-trap@7.8.0)(fuse.js@7.5.0)(vue@3.5.40(typescript@5.9.3))': dependencies: - '@vueuse/core': 14.3.0(vue@3.5.39(typescript@5.9.3)) - '@vueuse/shared': 14.3.0(vue@3.5.39(typescript@5.9.3)) - vue: 3.5.39(typescript@5.9.3) + '@vueuse/core': 14.3.0(vue@3.5.40(typescript@5.9.3)) + '@vueuse/shared': 14.3.0(vue@3.5.40(typescript@5.9.3)) + vue: 3.5.40(typescript@5.9.3) optionalDependencies: focus-trap: 7.8.0 fuse.js: 7.5.0 @@ -16428,13 +16451,13 @@ snapshots: '@vueuse/shared@12.8.2(typescript@5.9.3)': dependencies: - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) transitivePeerDependencies: - typescript - '@vueuse/shared@14.3.0(vue@3.5.39(typescript@5.9.3))': + '@vueuse/shared@14.3.0(vue@3.5.40(typescript@5.9.3))': dependencies: - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) '@xmldom/xmldom@0.9.10': {} @@ -16599,12 +16622,12 @@ snapshots: ansi-styles@6.2.3: {} - ansi-to-vue3@0.1.2(vue@3.5.39(typescript@5.9.3)): + ansi-to-vue3@0.1.2(vue@3.5.40(typescript@5.9.3)): dependencies: anser: 2.3.5 escape-carriage: 1.3.1 optionalDependencies: - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) any-base@1.1.0: {} @@ -20449,13 +20472,13 @@ snapshots: motion-utils@12.39.0: {} - motion-v@1.10.3(@vueuse/core@14.3.0(vue@3.5.39(typescript@5.9.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vue@3.5.39(typescript@5.9.3)): + motion-v@1.10.3(@vueuse/core@14.3.0(vue@3.5.40(typescript@5.9.3)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vue@3.5.40(typescript@5.9.3)): dependencies: - '@vueuse/core': 14.3.0(vue@3.5.39(typescript@5.9.3)) + '@vueuse/core': 14.3.0(vue@3.5.40(typescript@5.9.3)) framer-motion: 12.42.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) hey-listen: 1.0.8 motion-dom: 12.42.2 - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) transitivePeerDependencies: - '@emotion/is-prop-valid' - react @@ -21854,7 +21877,7 @@ snapshots: safer-buffer@2.1.2: {} - sandpack-vue3@3.1.12(vue@3.5.39(typescript@5.9.3)): + sandpack-vue3@3.1.12(vue@3.5.40(typescript@5.9.3)): dependencies: '@codemirror/autocomplete': 6.20.3 '@codemirror/commands': 6.10.4 @@ -21867,12 +21890,12 @@ snapshots: '@codesandbox/sandpack-client': 2.19.8 '@lezer/highlight': 1.2.3 '@stitches/core': 1.2.8 - ansi-to-vue3: 0.1.2(vue@3.5.39(typescript@5.9.3)) + ansi-to-vue3: 0.1.2(vue@3.5.40(typescript@5.9.3)) clean-set: 1.1.2 dequal: 2.0.3 lz-string: 1.5.0 optionalDependencies: - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) sass-formatter@0.7.9: dependencies: @@ -23263,7 +23286,7 @@ snapshots: '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.39(typescript@5.9.3)) + '@vitejs/plugin-vue': 5.2.4(vite@7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0))(vue@3.5.40(typescript@5.9.3)) '@vue/devtools-api': 7.7.10 '@vue/shared': 3.5.39 '@vueuse/core': 12.8.2(typescript@5.9.3) @@ -23273,7 +23296,7 @@ snapshots: minisearch: 7.2.0 shiki: 2.5.0 vite: 7.3.6(@types/node@26.1.1)(jiti@2.7.0)(less@4.6.7)(sass@1.101.0)(stylus@0.56.0(supports-color@10.2.2))(terser@5.49.0)(yaml@2.9.0) - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) optionalDependencies: postcss: 8.5.19 transitivePeerDependencies: @@ -23375,19 +23398,19 @@ snapshots: vscode-uri@3.1.0: {} - vue-component-type-helpers@2.2.12: {} + vue-component-type-helpers@3.3.9: {} - vue-demi@0.14.10(vue@3.5.39(typescript@5.9.3)): + vue-demi@0.14.10(vue@3.5.40(typescript@5.9.3)): dependencies: - vue: 3.5.39(typescript@5.9.3) + vue: 3.5.40(typescript@5.9.3) - vue@3.5.39(typescript@5.9.3): + vue@3.5.40(typescript@5.9.3): dependencies: - '@vue/compiler-dom': 3.5.39 - '@vue/compiler-sfc': 3.5.39 - '@vue/runtime-dom': 3.5.39 - '@vue/server-renderer': 3.5.39(vue@3.5.39(typescript@5.9.3)) - '@vue/shared': 3.5.39 + '@vue/compiler-dom': 3.5.40 + '@vue/compiler-sfc': 3.5.40 + '@vue/runtime-dom': 3.5.40 + '@vue/server-renderer': 3.5.40 + '@vue/shared': 3.5.40 optionalDependencies: typescript: 5.9.3 From 8503b1d4b7e9533b29cd75c7f08e7ccea75e72ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Aug 2026 13:37:32 +0200 Subject: [PATCH 08/16] chore(deps): bump the github-actions group with 13 updates (#4668) Bumps the github-actions group with 13 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `3` | `7` | | [pnpm/action-setup](https://github.com/pnpm/action-setup) | `2` | `6` | | [actions/setup-node](https://github.com/actions/setup-node) | `3.8.1` | `7.0.0` | | [softprops/action-gh-release](https://github.com/softprops/action-gh-release) | `1` | `3` | | [actions/stale](https://github.com/actions/stale) | `9` | `11` | | [actions/github-script](https://github.com/actions/github-script) | `7` | `9` | | [peter-evans/find-comment](https://github.com/peter-evans/find-comment) | `2` | `4` | | [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) | `3` | `5` | | [actions/labeler](https://github.com/actions/labeler) | `5` | `7` | | [amannn/action-semantic-pull-request](https://github.com/amannn/action-semantic-pull-request) | `5` | `6` | | [tj-actions/changed-files](https://github.com/tj-actions/changed-files) | `41` | `47` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4` | `7` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `4` | `8` | Updates `actions/checkout` from 3 to 7 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v7) Updates `pnpm/action-setup` from 2 to 6 - [Release notes](https://github.com/pnpm/action-setup/releases) - [Commits](https://github.com/pnpm/action-setup/compare/v2.0.0...v6) Updates `actions/setup-node` from 3.8.1 to 7.0.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3.8.1...v7.0.0) Updates `softprops/action-gh-release` from 1 to 3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](https://github.com/softprops/action-gh-release/compare/v1...v3) Updates `actions/stale` from 9 to 11 - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v9...v11) Updates `actions/github-script` from 7 to 9 - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v7...v9) Updates `peter-evans/find-comment` from 2 to 4 - [Release notes](https://github.com/peter-evans/find-comment/releases) - [Commits](https://github.com/peter-evans/find-comment/compare/v2...v4) Updates `peter-evans/create-or-update-comment` from 3 to 5 - [Release notes](https://github.com/peter-evans/create-or-update-comment/releases) - [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v3...v5) Updates `actions/labeler` from 5 to 7 - [Release notes](https://github.com/actions/labeler/releases) - [Commits](https://github.com/actions/labeler/compare/v5...v7) Updates `amannn/action-semantic-pull-request` from 5 to 6 - [Release notes](https://github.com/amannn/action-semantic-pull-request/releases) - [Changelog](https://github.com/amannn/action-semantic-pull-request/blob/main/CHANGELOG.md) - [Commits](https://github.com/amannn/action-semantic-pull-request/compare/v5...v6) Updates `tj-actions/changed-files` from 41 to 47 - [Release notes](https://github.com/tj-actions/changed-files/releases) - [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md) - [Commits](https://github.com/tj-actions/changed-files/compare/v41...v47) Updates `actions/upload-artifact` from 4 to 7 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v7) Updates `actions/download-artifact` from 4 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: pnpm/action-setup dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/setup-node dependency-version: 7.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: softprops/action-gh-release dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/stale dependency-version: '11' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: peter-evans/find-comment dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: peter-evans/create-or-update-comment dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/labeler dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: amannn/action-semantic-pull-request dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: tj-actions/changed-files dependency-version: '47' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/angular.yml | 12 ++++---- .github/workflows/ci.yml | 10 +++---- .../close-issue-with-banned-phrases.yml | 2 +- .github/workflows/close-stale-prs.yml | 2 +- .github/workflows/comment-icon-preview.yml | 6 ++-- .github/workflows/icons.yml | 12 ++++---- .github/workflows/labeler.yml | 4 +-- .github/workflows/lint-code.yml | 6 ++-- .github/workflows/lint-pr-title.yml | 2 +- .github/workflows/linting-icons.yml | 16 +++++------ .github/workflows/lucide-astro.yml | 12 ++++---- .github/workflows/lucide-font.yml | 8 +++--- .github/workflows/lucide-lab.yml | 6 ++-- .github/workflows/lucide-preact.yml | 6 ++-- .github/workflows/lucide-react-native.yml | 12 ++++---- .github/workflows/lucide-react.yml | 12 ++++---- .github/workflows/lucide-shared.yml | 6 ++-- .github/workflows/lucide-solid.yml | 12 ++++---- .github/workflows/lucide-static.yml | 6 ++-- .github/workflows/lucide-svelte-5.yml | 18 ++++++------ .github/workflows/lucide-vue.yml | 12 ++++---- .github/workflows/lucide.yml | 12 ++++---- .../workflows/pull-request-icon-preview.yml | 10 +++---- .../pull-request-metadata-suggestions.yml | 6 ++-- .github/workflows/release.yml | 28 +++++++++---------- .github/workflows/repo-journal.yml | 2 +- .github/workflows/request-review.yml | 4 +-- 27 files changed, 122 insertions(+), 122 deletions(-) diff --git a/.github/workflows/angular.yml b/.github/workflows/angular.yml index afecdf311..76128e2da 100644 --- a/.github/workflows/angular.yml +++ b/.github/workflows/angular.yml @@ -14,9 +14,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -30,9 +30,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 453493560..00f49c320 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: outputs: RELEASE_ENVIRONMENT: ${{ steps.environment.outputs.RELEASE_ENVIRONMENT }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Fetch tags run: git fetch --all --tags @@ -65,9 +65,9 @@ jobs: outputs: VERSION: ${{ steps.new-version.outputs.NEW_VERSION }} steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -102,7 +102,7 @@ jobs: echo '${{ steps.change-log.outputs.CHANGE_LOG }}' - name: Create Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ steps.new-version.outputs.NEW_VERSION }} name: Version ${{ steps.new-version.outputs.NEW_VERSION }} diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index 6e7369121..2fb1dff84 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -18,7 +18,7 @@ jobs: issues: write steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@v7 - name: Load stopwords from JSON & check issue title & body if: contains(github.event.issue.labels.*.name, '🙌 icon request') diff --git a/.github/workflows/close-stale-prs.yml b/.github/workflows/close-stale-prs.yml index e21e7c4ef..0cdb2f8d1 100644 --- a/.github/workflows/close-stale-prs.yml +++ b/.github/workflows/close-stale-prs.yml @@ -12,7 +12,7 @@ jobs: permissions: pull-requests: write steps: - - uses: actions/stale@v9 + - uses: actions/stale@v11 with: repo-token: ${{ secrets.GITHUB_TOKEN }} stale-pr-message: This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 5 days. diff --git a/.github/workflows/comment-icon-preview.yml b/.github/workflows/comment-icon-preview.yml index fb4a33014..e3b5e4d04 100644 --- a/.github/workflows/comment-icon-preview.yml +++ b/.github/workflows/comment-icon-preview.yml @@ -21,7 +21,7 @@ jobs: github.event.workflow_run.conclusion == 'success' steps: - name: 'Download artifact' - uses: actions/github-script@v7 + uses: actions/github-script@v9 with: script: | let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ @@ -49,7 +49,7 @@ jobs: id: pr-number - name: Find Comment - uses: peter-evans/find-comment@v2 + uses: peter-evans/find-comment@v4 id: pr-comment with: issue-number: ${{ steps.pr-number.outputs.number }} @@ -57,7 +57,7 @@ jobs: body-includes: Added or changed icons - name: Create or update comment - uses: peter-evans/create-or-update-comment@v3 + uses: peter-evans/create-or-update-comment@v5 with: comment-id: ${{ steps.pr-comment.outputs.comment-id }} issue-number: ${{ steps.pr-number.outputs.number }} diff --git a/.github/workflows/icons.yml b/.github/workflows/icons.yml index 47e5b4493..4c246a48c 100644 --- a/.github/workflows/icons.yml +++ b/.github/workflows/icons.yml @@ -16,9 +16,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -32,9 +32,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 458587079..9c84fe711 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -12,5 +12,5 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: actions/labeler@v5 + - uses: actions/checkout@v7 + - uses: actions/labeler@v7 diff --git a/.github/workflows/lint-code.yml b/.github/workflows/lint-code.yml index 72a54d980..297831c50 100644 --- a/.github/workflows/lint-code.yml +++ b/.github/workflows/lint-code.yml @@ -10,9 +10,9 @@ jobs: lint-code: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lint-pr-title.yml b/.github/workflows/lint-pr-title.yml index ad4c61e23..ea29078b4 100644 --- a/.github/workflows/lint-pr-title.yml +++ b/.github/workflows/lint-pr-title.yml @@ -16,7 +16,7 @@ jobs: name: PR Title Lint runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: diff --git a/.github/workflows/linting-icons.yml b/.github/workflows/linting-icons.yml index 6175bf219..9204411ca 100644 --- a/.github/workflows/linting-icons.yml +++ b/.github/workflows/linting-icons.yml @@ -19,9 +19,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -31,7 +31,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46.0.1 + uses: tj-actions/changed-files@v47 with: files: | icons/* @@ -48,9 +48,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -67,6 +67,6 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 - name: Check Uniqueness of Aliases run: "! cat <(printf \"%s\\n\" icons/*.json | while read -r name; do basename \"$name\" .json; done) <(jq -cr 'select(.aliases) | .aliases[] | if type==\"string\" then . else .name end' icons/*.json) | sort | uniq -c | grep -ve '^\\s*1 '" diff --git a/.github/workflows/lucide-astro.yml b/.github/workflows/lucide-astro.yml index d1d2d1ed9..d76be8ccd 100644 --- a/.github/workflows/lucide-astro.yml +++ b/.github/workflows/lucide-astro.yml @@ -18,9 +18,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v2 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: node-version-file: 'package.json' cache: 'pnpm' @@ -34,9 +34,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 - - uses: actions/setup-node@v3.8.1 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: node-version-file: 'package.json' cache: 'pnpm' diff --git a/.github/workflows/lucide-font.yml b/.github/workflows/lucide-font.yml index 1b495dc9e..42e5c2400 100644 --- a/.github/workflows/lucide-font.yml +++ b/.github/workflows/lucide-font.yml @@ -16,9 +16,9 @@ jobs: lucide-font: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -33,7 +33,7 @@ jobs: run: pnpm build:font - name: 'Upload to Artifacts' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: lucide-font path: lucide-font diff --git a/.github/workflows/lucide-lab.yml b/.github/workflows/lucide-lab.yml index f4c62c39c..23500346d 100644 --- a/.github/workflows/lucide-lab.yml +++ b/.github/workflows/lucide-lab.yml @@ -16,9 +16,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-preact.yml b/.github/workflows/lucide-preact.yml index ceb84f091..26c5796f5 100644 --- a/.github/workflows/lucide-preact.yml +++ b/.github/workflows/lucide-preact.yml @@ -19,9 +19,9 @@ jobs: lucide-preact: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-react-native.yml b/.github/workflows/lucide-react-native.yml index 67bba34ac..1243b5bf6 100644 --- a/.github/workflows/lucide-react-native.yml +++ b/.github/workflows/lucide-react-native.yml @@ -19,9 +19,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -35,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-react.yml b/.github/workflows/lucide-react.yml index 07b4cc79c..3c5bf64a6 100644 --- a/.github/workflows/lucide-react.yml +++ b/.github/workflows/lucide-react.yml @@ -20,9 +20,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -36,9 +36,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-shared.yml b/.github/workflows/lucide-shared.yml index f59868cc7..581d4a20a 100644 --- a/.github/workflows/lucide-shared.yml +++ b/.github/workflows/lucide-shared.yml @@ -16,9 +16,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-solid.yml b/.github/workflows/lucide-solid.yml index 3272a6aec..ec0f09905 100644 --- a/.github/workflows/lucide-solid.yml +++ b/.github/workflows/lucide-solid.yml @@ -19,9 +19,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -35,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-static.yml b/.github/workflows/lucide-static.yml index d31955f3b..a6c5080d5 100644 --- a/.github/workflows/lucide-static.yml +++ b/.github/workflows/lucide-static.yml @@ -14,9 +14,9 @@ jobs: lucide-static: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-svelte-5.yml b/.github/workflows/lucide-svelte-5.yml index ca43bafae..8f96e85b6 100644 --- a/.github/workflows/lucide-svelte-5.yml +++ b/.github/workflows/lucide-svelte-5.yml @@ -19,9 +19,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -35,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -51,9 +51,9 @@ jobs: typecheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide-vue.yml b/.github/workflows/lucide-vue.yml index 19f782f9f..771b36280 100644 --- a/.github/workflows/lucide-vue.yml +++ b/.github/workflows/lucide-vue.yml @@ -19,9 +19,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -35,9 +35,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/lucide.yml b/.github/workflows/lucide.yml index bc49dc3c1..cccbb8407 100644 --- a/.github/workflows/lucide.yml +++ b/.github/workflows/lucide.yml @@ -18,9 +18,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -34,9 +34,9 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/pull-request-icon-preview.yml b/.github/workflows/pull-request-icon-preview.yml index 70050730b..28c37ed4a 100644 --- a/.github/workflows/pull-request-icon-preview.yml +++ b/.github/workflows/pull-request-icon-preview.yml @@ -17,18 +17,18 @@ jobs: pull-requests: write steps: - - uses: actions/checkout@v6 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: actions/setup-node@v7.0.0 with: node-version-file: 'package.json' - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v46 + uses: tj-actions/changed-files@v47 with: files: icons/*.svg - - uses: actions/setup-node@v6 + - uses: actions/setup-node@v7.0.0 - name: Install svgson for code preview (safer and faster than installing all deps) run: npm install svgson@5.3.1 --force @@ -43,7 +43,7 @@ jobs: env: CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: pr_number path: pr/ diff --git a/.github/workflows/pull-request-metadata-suggestions.yml b/.github/workflows/pull-request-metadata-suggestions.yml index 6c09ed722..a94b29e7f 100644 --- a/.github/workflows/pull-request-metadata-suggestions.yml +++ b/.github/workflows/pull-request-metadata-suggestions.yml @@ -19,11 +19,11 @@ jobs: steps: # We checkout the main branch of main repository for security reasons. # This is to prevent the workflow from running on a forked repository. - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: repository: lucide-icons/lucide - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fb5422a1a..f87af412c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,9 +57,9 @@ jobs: '@lucide/vue', ] steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -90,10 +90,10 @@ jobs: contents: read steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -122,9 +122,9 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v6 - - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v6 + - uses: actions/checkout@v7 + - uses: pnpm/action-setup@v6 + - uses: actions/setup-node@v7.0.0 with: cache: 'pnpm' node-version-file: 'package.json' @@ -141,7 +141,7 @@ jobs: BLOB_READ_WRITE_TOKEN: ${{ secrets.BLOB_READ_WRITE_TOKEN }} - name: 'Upload to Artifacts' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: lucide-font path: lucide-font @@ -153,15 +153,15 @@ jobs: permissions: contents: write # Required to upload the release assets steps: - - uses: actions/checkout@v6 - - uses: actions/download-artifact@v4 + - uses: actions/checkout@v7 + - uses: actions/download-artifact@v8 - name: Zip font and icons run: | zip -r lucide-font-${{ needs.prepare.outputs.VERSION }}.zip lucide-font zip -r lucide-icons-${{ needs.prepare.outputs.VERSION }}.zip icons - name: Release zip and fonts - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 with: tag_name: ${{ needs.prepare.outputs.VERSION }} diff --git a/.github/workflows/repo-journal.yml b/.github/workflows/repo-journal.yml index 3ec7642d1..2be78d817 100644 --- a/.github/workflows/repo-journal.yml +++ b/.github/workflows/repo-journal.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Set up Node.js environment - uses: actions/setup-node@v4 + uses: actions/setup-node@v7.0.0 with: node-version: 24 diff --git a/.github/workflows/request-review.yml b/.github/workflows/request-review.yml index e9c7c1a11..3f87de0d1 100644 --- a/.github/workflows/request-review.yml +++ b/.github/workflows/request-review.yml @@ -15,13 +15,13 @@ jobs: contents: read pull-requests: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v7 with: fetch-depth: 0 ref: refs/pull/${{ github.event.pull_request.number }}/merge - name: Get changed files id: changed-files - uses: tj-actions/changed-files@v41 + uses: tj-actions/changed-files@v47 with: files: icons/*.svg - run: | From 701be9088a6d592c776f7d070c2565aee350380c Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 13:41:39 +0200 Subject: [PATCH 09/16] feat(icons): added layer reordering icons (#4617) * Added icons/layer-arrow-up.svg * Added icons/layer-arrow-up.json * Added icons/layers-arrow-up.svg * Added icons/layers-arrow-up.json * Added icons/layers-arrow-down.svg * Added icons/layers-arrow-down.json * Added icons/layer-arrow-down.svg * Added icons/layer-arrow-down.json * Apply suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(icons): add missing use cases to layer reordering icons --------- Co-authored-by: Eric Fennis Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- icons/layer-arrow-down.json | 35 ++++++++++++++++++++++++++++++++++ icons/layer-arrow-down.svg | 16 ++++++++++++++++ icons/layer-arrow-up.json | 34 +++++++++++++++++++++++++++++++++ icons/layer-arrow-up.svg | 15 +++++++++++++++ icons/layers-arrow-down.json | 36 +++++++++++++++++++++++++++++++++++ icons/layers-arrow-down.svg | 17 +++++++++++++++++ icons/layers-arrow-up.json | 37 ++++++++++++++++++++++++++++++++++++ icons/layers-arrow-up.svg | 16 ++++++++++++++++ 8 files changed, 206 insertions(+) create mode 100644 icons/layer-arrow-down.json create mode 100644 icons/layer-arrow-down.svg create mode 100644 icons/layer-arrow-up.json create mode 100644 icons/layer-arrow-up.svg create mode 100644 icons/layers-arrow-down.json create mode 100644 icons/layers-arrow-down.svg create mode 100644 icons/layers-arrow-up.json create mode 100644 icons/layers-arrow-up.svg diff --git a/icons/layer-arrow-down.json b/icons/layer-arrow-down.json new file mode 100644 index 000000000..23cb90006 --- /dev/null +++ b/icons/layer-arrow-down.json @@ -0,0 +1,35 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "lowering a selected layer by one step", + "moving an item backward in layer order" + ], + "tags": [ + "move back", + "backward", + "lower", + "demote", + "step back", + "behind", + "reorder", + "arrange", + "layer", + "layers", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layer-arrow-down.svg b/icons/layer-arrow-down.svg new file mode 100644 index 000000000..e11232dc0 --- /dev/null +++ b/icons/layer-arrow-down.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/layer-arrow-up.json b/icons/layer-arrow-up.json new file mode 100644 index 000000000..a9df28a11 --- /dev/null +++ b/icons/layer-arrow-up.json @@ -0,0 +1,34 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "raising a selected layer by one step", + "moving an item forward in layer order" + ], + "tags": [ + "move forward", + "forward", + "raise", + "lift", + "promote", + "advance", + "step forward", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layer-arrow-up.svg b/icons/layer-arrow-up.svg new file mode 100644 index 000000000..5f018c88e --- /dev/null +++ b/icons/layer-arrow-up.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/layers-arrow-down.json b/icons/layers-arrow-down.json new file mode 100644 index 000000000..8ab271b7a --- /dev/null +++ b/icons/layers-arrow-down.json @@ -0,0 +1,36 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "sending a selected object to the back of a stack", + "moving an item behind all others in layer order" + ], + "tags": [ + "send to back", + "send backward", + "back", + "background", + "bottom", + "bottommost", + "lower", + "demote", + "behind", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout" + ] +} diff --git a/icons/layers-arrow-down.svg b/icons/layers-arrow-down.svg new file mode 100644 index 000000000..10489169c --- /dev/null +++ b/icons/layers-arrow-down.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/icons/layers-arrow-up.json b/icons/layers-arrow-up.json new file mode 100644 index 000000000..90e6476a3 --- /dev/null +++ b/icons/layers-arrow-up.json @@ -0,0 +1,37 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "danielbayley", + "jguddas", + "karsa-mistmere" + ], + "use-cases": [ + "bringing a selected object to the front of a stack", + "moving an item in front of all others in layer order" + ], + "tags": [ + "bring to front", + "bring forward", + "front", + "foreground", + "top", + "topmost", + "raise", + "lift", + "promote", + "reorder", + "arrange", + "stack", + "stacking", + "z-index", + "depth", + "graphics", + "design" + ], + "categories": [ + "design", + "layout", + "arrows" + ] +} diff --git a/icons/layers-arrow-up.svg b/icons/layers-arrow-up.svg new file mode 100644 index 000000000..65847d3e5 --- /dev/null +++ b/icons/layers-arrow-up.svg @@ -0,0 +1,16 @@ + + + + + + From f3a26ccff137ac9980c778aa91ea4f15557dd3d9 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 13:55:43 +0200 Subject: [PATCH 10/16] chore(icons): refine & rename various emoji icons (#4606) * feat(icons): refine & rename various emoji icons * feat(icons): rename to unicode name & add more tags * feat(icons): rename accidental aliases * feat(icons): even better anger * fix(icons): remove toBeRemovedInVersion --- icons/{angry.json => face-angry.json} | 15 +++++++-- icons/{laugh.svg => face-angry.svg} | 8 +++-- ...{annoyed.json => face-expressionless.json} | 13 ++++++-- .../{annoyed.svg => face-expressionless.svg} | 6 ++-- icons/face-grinning.json | 31 +++++++++++++++++++ icons/{angry.svg => face-grinning.svg} | 8 ++--- icons/face-neutral.json | 31 +++++++++++++++++++ icons/{smile.svg => face-neutral.svg} | 6 ++-- ...frown.json => face-slightly-frowning.json} | 14 +++++++-- .../{frown.svg => face-slightly-frowning.svg} | 6 ++-- ...s.json => face-slightly-smiling-plus.json} | 15 ++++++--- ...lus.svg => face-slightly-smiling-plus.svg} | 8 ++--- ...{smile.json => face-slightly-smiling.json} | 17 ++++++++-- icons/{meh.svg => face-slightly-smiling.svg} | 6 ++-- icons/laugh.json | 18 ----------- icons/meh.json | 19 ------------ 16 files changed, 147 insertions(+), 74 deletions(-) rename icons/{angry.json => face-angry.json} (52%) rename icons/{laugh.svg => face-angry.svg} (60%) rename icons/{annoyed.json => face-expressionless.json} (53%) rename icons/{annoyed.svg => face-expressionless.svg} (77%) create mode 100644 icons/face-grinning.json rename icons/{angry.svg => face-grinning.svg} (62%) create mode 100644 icons/face-neutral.json rename icons/{smile.svg => face-neutral.svg} (66%) rename icons/{frown.json => face-slightly-frowning.json} (56%) rename icons/{frown.svg => face-slightly-frowning.svg} (65%) rename icons/{smile-plus.json => face-slightly-smiling-plus.json} (64%) rename icons/{smile-plus.svg => face-slightly-smiling-plus.svg} (60%) rename icons/{smile.json => face-slightly-smiling.json} (52%) rename icons/{meh.svg => face-slightly-smiling.svg} (65%) delete mode 100644 icons/laugh.json delete mode 100644 icons/meh.json diff --git a/icons/angry.json b/icons/face-angry.json similarity index 52% rename from icons/angry.json rename to icons/face-angry.json index 178069075..b05521ac3 100644 --- a/icons/angry.json +++ b/icons/face-angry.json @@ -6,12 +6,23 @@ ], "use-cases": [], "tags": [ - "emoji", "anger", - "face", + "rage", + "fury", + "resentment", + "irritation", + "disgust", + "emoji", "emotion" ], "categories": [ "emoji" + ], + "aliases": [ + { + "name": "angry", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/laugh.svg b/icons/face-angry.svg similarity index 60% rename from icons/laugh.svg rename to icons/face-angry.svg index 41b443c7f..b7c18de72 100644 --- a/icons/laugh.svg +++ b/icons/face-angry.svg @@ -9,8 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > + + + + + - - - diff --git a/icons/annoyed.json b/icons/face-expressionless.json similarity index 53% rename from icons/annoyed.json rename to icons/face-expressionless.json index b38f2e28e..a01567e4b 100644 --- a/icons/annoyed.json +++ b/icons/face-expressionless.json @@ -5,12 +5,21 @@ ], "use-cases": [], "tags": [ - "emoji", "nuisance", - "face", + "annoyed", + "annoyance", + "frustration", + "emoji", "emotion" ], "categories": [ "emoji" + ], + "aliases": [ + { + "name": "annoyed", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/annoyed.svg b/icons/face-expressionless.svg similarity index 77% rename from icons/annoyed.svg rename to icons/face-expressionless.svg index 3279b6621..a10550bbb 100644 --- a/icons/annoyed.svg +++ b/icons/face-expressionless.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/face-grinning.json b/icons/face-grinning.json new file mode 100644 index 000000000..d90e6de32 --- /dev/null +++ b/icons/face-grinning.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "karsa-mistmere", + "ericfennis" + ], + "use-cases": [], + "tags": [ + "happy", + "happiness", + "good", + "laugh", + "broad smile", + "pleasure", + "good cheer", + "humour", + "funny", + "emoji", + "emotion" + ], + "categories": [ + "emoji" + ], + "aliases": [ + { + "name": "laugh", + "deprecated": true, + "deprecationReason": "alias.name" + } + ] +} diff --git a/icons/angry.svg b/icons/face-grinning.svg similarity index 62% rename from icons/angry.svg rename to icons/face-grinning.svg index 41e4361ad..ada21a91b 100644 --- a/icons/angry.svg +++ b/icons/face-grinning.svg @@ -9,10 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - - - diff --git a/icons/face-neutral.json b/icons/face-neutral.json new file mode 100644 index 000000000..abbf36413 --- /dev/null +++ b/icons/face-neutral.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "mittalyashu", + "ericfennis" + ], + "use-cases": [], + "tags": [ + "emoji", + "neutral", + "emotion", + "meh", + "blank stare", + "social masking", + "irritation", + "concern", + "deadpan" + ], + "categories": [ + "emoji" + ], + "aliases": [ + { + "name": "meh", + "deprecated": true, + "deprecationReason": "alias.name" + } + ] +} diff --git a/icons/smile.svg b/icons/face-neutral.svg similarity index 66% rename from icons/smile.svg rename to icons/face-neutral.svg index 59e020763..afa79b090 100644 --- a/icons/smile.svg +++ b/icons/face-neutral.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/frown.json b/icons/face-slightly-frowning.json similarity index 56% rename from icons/frown.json rename to icons/face-slightly-frowning.json index 39d33df13..3fc21e638 100644 --- a/icons/frown.json +++ b/icons/face-slightly-frowning.json @@ -9,13 +9,21 @@ "use-cases": [], "tags": [ "emoji", - "face", "bad", - "sad", - "emotion" + "sadness", + "emotion", + "concern", + "disappointment" ], "categories": [ "emoji", "account" + ], + "aliases": [ + { + "name": "frown", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/frown.svg b/icons/face-slightly-frowning.svg similarity index 65% rename from icons/frown.svg rename to icons/face-slightly-frowning.svg index 370dbc736..61c813289 100644 --- a/icons/frown.svg +++ b/icons/face-slightly-frowning.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/smile-plus.json b/icons/face-slightly-smiling-plus.json similarity index 64% rename from icons/smile-plus.json rename to icons/face-slightly-smiling-plus.json index faa6caa98..5641fbcc2 100644 --- a/icons/smile-plus.json +++ b/icons/face-slightly-smiling-plus.json @@ -6,19 +6,26 @@ ], "use-cases": [], "tags": [ - "emoji", - "face", + "smile", "happy", "good", - "emotion", "react", "reaction", - "add" + "emoji", + "add", + "emotion" ], "categories": [ "emoji", "social", "notifications", "communication" + ], + "aliases": [ + { + "name": "smile-plus", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/smile-plus.svg b/icons/face-slightly-smiling-plus.svg similarity index 60% rename from icons/smile-plus.svg rename to icons/face-slightly-smiling-plus.svg index 47bbf6b0f..3c58cc0b2 100644 --- a/icons/smile-plus.svg +++ b/icons/face-slightly-smiling-plus.svg @@ -9,10 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - + + + + diff --git a/icons/smile.json b/icons/face-slightly-smiling.json similarity index 52% rename from icons/smile.json rename to icons/face-slightly-smiling.json index b622e70e8..d083317e6 100644 --- a/icons/smile.json +++ b/icons/face-slightly-smiling.json @@ -8,14 +8,27 @@ ], "use-cases": [], "tags": [ - "emoji", - "face", + "smile", "happy", + "happiness", "good", + "positive", + "friendly", + "patronizing", + "passive aggressive", + "ironic", + "emoji", "emotion" ], "categories": [ "emoji", "account" + ], + "aliases": [ + { + "name": "smile", + "deprecated": true, + "deprecationReason": "alias.name" + } ] } diff --git a/icons/meh.svg b/icons/face-slightly-smiling.svg similarity index 65% rename from icons/meh.svg rename to icons/face-slightly-smiling.svg index 78ac8d1e2..750065b43 100644 --- a/icons/meh.svg +++ b/icons/face-slightly-smiling.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > + + + - - - diff --git a/icons/laugh.json b/icons/laugh.json deleted file mode 100644 index 1c07dc1da..000000000 --- a/icons/laugh.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "karsa-mistmere", - "ericfennis" - ], - "use-cases": [], - "tags": [ - "emoji", - "face", - "happy", - "good", - "emotion" - ], - "categories": [ - "emoji" - ] -} diff --git a/icons/meh.json b/icons/meh.json deleted file mode 100644 index 8676a7377..000000000 --- a/icons/meh.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "colebemis", - "csandman", - "mittalyashu", - "ericfennis" - ], - "use-cases": [], - "tags": [ - "emoji", - "face", - "neutral", - "emotion" - ], - "categories": [ - "emoji" - ] -} From 0f7ac1f9883b69f496fb05b666d5ff269c7d97b9 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 14:28:58 +0200 Subject: [PATCH 11/16] fix(scripts): removed toBeRemovedInVersion from all scripts and tools (#4674) * fix(scripts): remove toBeRemovedInVersion from all scripts and tools * fix(scripts): fixed linting --- icons/mic-signal.json | 3 +-- scripts/rename/renameIcon.function.mts | 1 - .../building/aliases/generateAliasesFiles.ts | 1 - tools/build-icons/building/generateIconFiles.ts | 7 +------ tools/build-icons/types.ts | 2 -- tools/build-icons/utils/deprecationReasonTemplate.ts | 11 +++-------- 6 files changed, 5 insertions(+), 20 deletions(-) diff --git a/icons/mic-signal.json b/icons/mic-signal.json index 5ef7b1ebe..045a0fab5 100644 --- a/icons/mic-signal.json +++ b/icons/mic-signal.json @@ -39,8 +39,7 @@ { "name": "podcast", "deprecated": true, - "deprecationReason": "alias.name", - "toBeRemovedInVersion": "v1.0" + "deprecationReason": "alias.name" } ] } diff --git a/scripts/rename/renameIcon.function.mts b/scripts/rename/renameIcon.function.mts index 77b56ff13..07be27a6f 100644 --- a/scripts/rename/renameIcon.function.mts +++ b/scripts/rename/renameIcon.function.mts @@ -52,7 +52,6 @@ export async function renameIcon(ICONS_DIR: string, oldName: string, newName: st name: oldName, deprecated: true, deprecationReason: 'alias.name', - toBeRemovedInVersion: 'v1.0', }, ]; fs.writeFileSync(newJsonPath, JSON.stringify(jsonData, null, 2)); diff --git a/tools/build-icons/building/aliases/generateAliasesFiles.ts b/tools/build-icons/building/aliases/generateAliasesFiles.ts index d15c90da0..781754c94 100644 --- a/tools/build-icons/building/aliases/generateAliasesFiles.ts +++ b/tools/build-icons/building/aliases/generateAliasesFiles.ts @@ -110,7 +110,6 @@ export default async function generateAliasesFiles({ ? deprecationReasonTemplate(alias.deprecationReason, { componentName: toPascalCase(iconName), iconName, - toBeRemovedInVersion: alias.toBeRemovedInVersion, }) : ''; diff --git a/tools/build-icons/building/generateIconFiles.ts b/tools/build-icons/building/generateIconFiles.ts index f020f4ef3..37932c45a 100644 --- a/tools/build-icons/building/generateIconFiles.ts +++ b/tools/build-icons/building/generateIconFiles.ts @@ -48,16 +48,11 @@ function generateIconFiles({ ]); const getSvg = () => readSvg(`${iconName}.svg`, iconsDir); - const { - deprecated = false, - toBeRemovedInVersion = undefined, - aliases = [], - } = iconMetaData[iconName]; + const { deprecated = false, aliases = [] } = iconMetaData[iconName]; const deprecationReason = deprecated ? deprecationReasonTemplate(iconMetaData[iconName].deprecationReason ?? '', { componentName, iconName, - toBeRemovedInVersion, }) : ''; diff --git a/tools/build-icons/types.ts b/tools/build-icons/types.ts index 1806eb346..63682140d 100644 --- a/tools/build-icons/types.ts +++ b/tools/build-icons/types.ts @@ -32,13 +32,11 @@ export type AliasDeprecation = { name: string; deprecated: true; deprecationReason: AliasDeprecationReason; - toBeRemovedInVersion?: string; }; export type IconDeprecationReason = 'icon.renamed' | ''; export type IconMetadataBase = { - toBeRemovedInVersion?: string; categories: string[]; aliases?: AliasDeprecation[]; tags: string[]; diff --git a/tools/build-icons/utils/deprecationReasonTemplate.ts b/tools/build-icons/utils/deprecationReasonTemplate.ts index a8c2c8e4e..223bfe5e2 100644 --- a/tools/build-icons/utils/deprecationReasonTemplate.ts +++ b/tools/build-icons/utils/deprecationReasonTemplate.ts @@ -4,25 +4,20 @@ export default function deprecationReasonTemplate( deprecationReason: AliasDeprecationReason | IconDeprecationReason, { componentName, - toBeRemovedInVersion, }: { componentName: string; iconName: string; - toBeRemovedInVersion?: string; }, ) { const resourceName = deprecationReason.startsWith('icon') ? 'icon' : 'alias'; - const removalNotice = toBeRemovedInVersion - ? ` This ${resourceName} will be removed in ${toBeRemovedInVersion}` - : ''; switch (deprecationReason) { case 'alias.typo': - return `Renamed because of typo, use {@link ${componentName}} instead.${removalNotice}`; + return `Renamed because of typo, use {@link ${componentName}} instead.`; case 'alias.duplicate': - return `The icon was combined with another icon that shares the same use case, use {@link ${componentName}} instead.${removalNotice}`; + return `The icon was combined with another icon that shares the same use case, use {@link ${componentName}} instead.`; case 'alias.name': - return `The name of this icon was changed because it didn't meet our guidelines anymore, use {@link ${componentName}} instead.${removalNotice}`; + return `The name of this icon was changed because it didn't meet our guidelines anymore, use {@link ${componentName}} instead.`; default: throw new Error(`Unknown deprecation reason: ${deprecationReason}`); } From 31f5872aa0623082a9548bbee6e25b00eda8fcb4 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 14:32:14 +0200 Subject: [PATCH 12/16] feat(icons): added `audio-lines-x` icon (#4590) * Added icons/audio-lines-x.svg * Added icons/audio-lines-x.json * fix(icons/audio-lines-x): fill in metadata * Update icons/audio-lines-x.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: Eric Fennis Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- icons/audio-lines-x.json | 55 ++++++++++++++++++++++++++++++++++++++++ icons/audio-lines-x.svg | 20 +++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 icons/audio-lines-x.json create mode 100644 icons/audio-lines-x.svg diff --git a/icons/audio-lines-x.json b/icons/audio-lines-x.json new file mode 100644 index 000000000..c6d77ea54 --- /dev/null +++ b/icons/audio-lines-x.json @@ -0,0 +1,55 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley", + "karsa-mistmere" + ], + "use-cases": [ + "indicating muted, blocked, or unavailable audio playback", + "showing that an audio track, waveform, or signal has been removed", + "marking controls that disable sound, music, voice, or broadcast output", + "representing cancelled recording, paused monitoring, or silenced audio analysis", + "identifying error states for sound processing, voice activity, or media levels", + "showing a device's speaker or system volume is turned off", + "indicating a user's microphone or input is muted", + "signaling muted notifications or alerts", + "representing muted voice chat in conferencing or multiplayer games" + ], + "tags": [ + "sound", + "noise", + "mute", + "silence", + "disabled", + "cancel", + "remove", + "unavailable", + "listen", + "hearing", + "equalizer", + "equaliser", + "hertz", + "frequency", + "wavelength", + "vibrate", + "sine", + "waveform", + "synthesizer", + "synthesiser", + "levels", + "track", + "music", + "playback", + "radio", + "broadcast", + "airwaves", + "voice", + "vocals", + "singer", + "song" + ], + "categories": [ + "multimedia", + "communication" + ] +} diff --git a/icons/audio-lines-x.svg b/icons/audio-lines-x.svg new file mode 100644 index 000000000..eb855e736 --- /dev/null +++ b/icons/audio-lines-x.svg @@ -0,0 +1,20 @@ + + + + + + + + + + From 07df1c7ca295d64b709f8dc915391e5dde61f974 Mon Sep 17 00:00:00 2001 From: Cong Date: Thu, 6 Aug 2026 20:52:57 +0800 Subject: [PATCH 13/16] feat(lab): added `chinese-character` icon to lab (#4212) * Added icons/chinese-character.svg * Added icons/chinese-character.json * Move to lab --------- Co-authored-by: Eric Fennis --- lab/chinese-character.json | 15 +++++++++++++++ lab/chinese-character.svg | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 lab/chinese-character.json create mode 100644 lab/chinese-character.svg diff --git a/lab/chinese-character.json b/lab/chinese-character.json new file mode 100644 index 000000000..d639af9f2 --- /dev/null +++ b/lab/chinese-character.json @@ -0,0 +1,15 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "congemcd", + "rrod497" + ], + "tags": [ + "text", + "language", + "chinese" + ], + "categories": [ + "text" + ] +} diff --git a/lab/chinese-character.svg b/lab/chinese-character.svg new file mode 100644 index 000000000..a17541863 --- /dev/null +++ b/lab/chinese-character.svg @@ -0,0 +1,16 @@ + + + + + + From 0f8d48b266e7af1e2bab49ff12ab6ec0795ed204 Mon Sep 17 00:00:00 2001 From: Karsa Date: Thu, 6 Aug 2026 22:36:02 +0200 Subject: [PATCH 14/16] test(packages): updates unit test snapshots with face-slightly-smiling (#4676) --- .../__snapshots__/lucide-astro.spec.ts.snap | 44 ++-- .../dynamicImports.spec.tsx.snap | 22 +- packages/svelte/tests/ContextWrapper.svelte | 6 +- packages/svelte/tests/TestSlots.svelte | 6 +- packages/svelte/tests/TestSlotsTitle.svelte | 6 +- .../__snapshots__/lucide-svelte.spec.ts.snap | 222 ++++++++---------- packages/svelte/tests/lucide-svelte.spec.ts | 2 +- .../lucide-vue-next.spec.ts.snap | 130 ++++------ .../__snapshots__/lucide-vue.spec.ts.snap | 130 ++++------ packages/vue/tests/lucide-vue.spec.ts | 2 +- 10 files changed, 227 insertions(+), 343 deletions(-) diff --git a/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap b/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap index a6ff7f2e4..35f95548d 100644 --- a/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap +++ b/packages/astro/tests/__snapshots__/lucide-astro.spec.ts.snap @@ -12,27 +12,19 @@ exports[`Using lucide icon components > should add a non-default attribute to th stroke-linejoin="round" aria-hidden="true" style="position: absolute" - class="lucide lucide-smile" + class="lucide lucide-face-slightly-smiling" > + + + + + + - - - - - - `; @@ -127,27 +119,19 @@ exports[`Using lucide icon components > should pass children to the icon slot 1` stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" - class="lucide lucide-smile" + class="lucide lucide-face-slightly-smiling" > + + + + + + - - - - - -

Hello World

diff --git a/packages/lucide-react/tests/__snapshots__/dynamicImports.spec.tsx.snap b/packages/lucide-react/tests/__snapshots__/dynamicImports.spec.tsx.snap index 81acb4297..c4e6bb68a 100644 --- a/packages/lucide-react/tests/__snapshots__/dynamicImports.spec.tsx.snap +++ b/packages/lucide-react/tests/__snapshots__/dynamicImports.spec.tsx.snap @@ -10,27 +10,19 @@ exports[`Using dynamicImports > should render icons dynamically by using the dyn stroke-width="1" stroke-linecap="round" stroke-linejoin="round" - class="lucide lucide-smile" + class="lucide lucide-face-slightly-smiling" aria-label="smile" > + + + + + + - - - - - - `; diff --git a/packages/svelte/tests/ContextWrapper.svelte b/packages/svelte/tests/ContextWrapper.svelte index 61a2f6973..3fbd12311 100644 --- a/packages/svelte/tests/ContextWrapper.svelte +++ b/packages/svelte/tests/ContextWrapper.svelte @@ -1,5 +1,5 @@ - + Test - + diff --git a/packages/svelte/tests/TestSlots.svelte b/packages/svelte/tests/TestSlots.svelte index b82f27827..0e5d345d2 100644 --- a/packages/svelte/tests/TestSlots.svelte +++ b/packages/svelte/tests/TestSlots.svelte @@ -1,10 +1,10 @@ - + Test - + diff --git a/packages/svelte/tests/TestSlotsTitle.svelte b/packages/svelte/tests/TestSlotsTitle.svelte index dd6122d41..a04922d3e 100644 --- a/packages/svelte/tests/TestSlotsTitle.svelte +++ b/packages/svelte/tests/TestSlotsTitle.svelte @@ -1,10 +1,10 @@ - + Air conditioning - + diff --git a/packages/svelte/tests/__snapshots__/lucide-svelte.spec.ts.snap b/packages/svelte/tests/__snapshots__/lucide-svelte.spec.ts.snap index b06d5b54f..58f367ded 100644 --- a/packages/svelte/tests/__snapshots__/lucide-svelte.spec.ts.snap +++ b/packages/svelte/tests/__snapshots__/lucide-svelte.spec.ts.snap @@ -3,7 +3,7 @@ exports[`Using lucide icon components > should add a class to the element 1`] = ` @@ -59,7 +53,7 @@ exports[`Using lucide icon components > should adjust the size, stroke color and
@@ -124,27 +112,19 @@ exports[`Using lucide icon components > should not scale the strokeWidth when ab stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" - class="lucide-icon lucide lucide-smile" + class="lucide-icon lucide lucide-face-slightly-smiling" > + + + + + + - - - - - - `; @@ -152,7 +132,7 @@ exports[`Using lucide icon components > should render an component 1`] = `
@@ -209,7 +183,7 @@ exports[`Using lucide icon components > should render an component 1`] = ` exports[`Using lucide icon components > should render an icon slot 1`] = `
should render an icon slot 1`] = ` width="24" xmlns="http://www.w3.org/2000/svg" > + + + + + + + + + + + + + + + should render an icon slot 1`] = ` - - - - - - - - - - - - - - - Test diff --git a/packages/svelte/tests/lucide-svelte.spec.ts b/packages/svelte/tests/lucide-svelte.spec.ts index ec0cb6604..da19e096b 100644 --- a/packages/svelte/tests/lucide-svelte.spec.ts +++ b/packages/svelte/tests/lucide-svelte.spec.ts @@ -33,7 +33,7 @@ describe('Using lucide icon components', () => { expect(IconComponent).toMatchSnapshot(); expect(IconComponent).toHaveClass(testClass); expect(IconComponent).toHaveClass('lucide'); - expect(IconComponent).toHaveClass('lucide-smile'); + expect(IconComponent).toHaveClass('lucide-face-slightly-smiling'); }); it('should add a style attribute to the element', () => { diff --git a/packages/vue/tests/__snapshots__/lucide-vue-next.spec.ts.snap b/packages/vue/tests/__snapshots__/lucide-vue-next.spec.ts.snap index 88156ce1b..a0a83c7e9 100644 --- a/packages/vue/tests/__snapshots__/lucide-vue-next.spec.ts.snap +++ b/packages/vue/tests/__snapshots__/lucide-vue-next.spec.ts.snap @@ -3,7 +3,7 @@ exports[`Using lucide icon components > should add a class to the element 1`] = `
should add a class to the element 1`] = width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -41,7 +35,7 @@ exports[`Using lucide icon components > should add a class to the element 1`] = exports[`Using lucide icon components > should add a style attribute to the element 1`] = `
should add a style attribute to the elem width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -80,7 +68,7 @@ exports[`Using lucide icon components > should add a style attribute to the elem exports[`Using lucide icon components > should adjust the size, stroke color and stroke width 1`] = `
should adjust the size, stroke color and width="48" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -118,7 +100,7 @@ exports[`Using lucide icon components > should adjust the size, stroke color and exports[`Using lucide icon components > should pass children to the icon slot 1`] = `
should pass children to the icon slot 1` width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - - Hello World @@ -161,7 +137,7 @@ exports[`Using lucide icon components > should pass children to the icon slot 1` exports[`Using lucide icon components > should render an component 1`] = `
should render an component 1`] = ` width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; diff --git a/packages/vue/tests/__snapshots__/lucide-vue.spec.ts.snap b/packages/vue/tests/__snapshots__/lucide-vue.spec.ts.snap index 88156ce1b..a0a83c7e9 100644 --- a/packages/vue/tests/__snapshots__/lucide-vue.spec.ts.snap +++ b/packages/vue/tests/__snapshots__/lucide-vue.spec.ts.snap @@ -3,7 +3,7 @@ exports[`Using lucide icon components > should add a class to the element 1`] = `
should add a class to the element 1`] = width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -41,7 +35,7 @@ exports[`Using lucide icon components > should add a class to the element 1`] = exports[`Using lucide icon components > should add a style attribute to the element 1`] = `
should add a style attribute to the elem width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -80,7 +68,7 @@ exports[`Using lucide icon components > should add a style attribute to the elem exports[`Using lucide icon components > should adjust the size, stroke color and stroke width 1`] = `
should adjust the size, stroke color and width="48" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; @@ -118,7 +100,7 @@ exports[`Using lucide icon components > should adjust the size, stroke color and exports[`Using lucide icon components > should pass children to the icon slot 1`] = `
should pass children to the icon slot 1` width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - - Hello World @@ -161,7 +137,7 @@ exports[`Using lucide icon components > should pass children to the icon slot 1` exports[`Using lucide icon components > should render an component 1`] = `
should render an component 1`] = ` width="24" xmlns="http://www.w3.org/2000/svg" > + + + - - -
`; diff --git a/packages/vue/tests/lucide-vue.spec.ts b/packages/vue/tests/lucide-vue.spec.ts index bde2e0fd5..857200343 100644 --- a/packages/vue/tests/lucide-vue.spec.ts +++ b/packages/vue/tests/lucide-vue.spec.ts @@ -59,7 +59,7 @@ describe('Using lucide icon components', () => { expect(icon).toHaveClass('my-icon'); expect(icon).toHaveClass('lucide'); - expect(icon).toHaveClass('lucide-smile-icon'); + expect(icon).toHaveClass('lucide-face-slightly-smiling-icon'); }); it('should add a style attribute to the element', () => { From 08e27e3387dd372588e3f9e1f38037d786d6b990 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 09:32:02 +0200 Subject: [PATCH 15/16] Fix post-release: download lucide-font artifact by name into directory (#4675) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com> --- .github/workflows/release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f87af412c..214a845e8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -92,6 +92,9 @@ jobs: steps: - uses: actions/checkout@v7 - uses: actions/download-artifact@v8 + with: + name: lucide-font + path: lucide-font - uses: pnpm/action-setup@v6 - uses: actions/setup-node@v7.0.0 with: @@ -155,6 +158,9 @@ jobs: steps: - uses: actions/checkout@v7 - uses: actions/download-artifact@v8 + with: + name: lucide-font + path: lucide-font - name: Zip font and icons run: | zip -r lucide-font-${{ needs.prepare.outputs.VERSION }}.zip lucide-font From 232b1ea84bcd0ffd647e58daa9fc846adcf40393 Mon Sep 17 00:00:00 2001 From: "Omoshola E." Date: Fri, 7 Aug 2026 08:48:02 +0100 Subject: [PATCH 16/16] feat(icons): add shield-lock icon (#3508) * feat: add shield-lock icon * Update icons/shield-lock.json use more descriptive tags Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update icons/shield-lock.json added space between tag Co-authored-by: Karsa * fix: added valid shield-lock icon * fix(icons): changed `spade` icon (#3502) * Updated icons/spade.svg * Updated icons/spade.json * fix: added modified shield-lock icon * feat(icons):added shield-lock icon * feat(icons):added shield-lock icon (centered) * fix(icons): align shield with base icon * feat(icons): fill in missing metadata --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Karsa --- icons/shield-lock.json | 37 +++++++++++++++++++++++++++++++++++++ icons/shield-lock.svg | 15 +++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 icons/shield-lock.json create mode 100644 icons/shield-lock.svg diff --git a/icons/shield-lock.json b/icons/shield-lock.json new file mode 100644 index 000000000..f760f9c63 --- /dev/null +++ b/icons/shield-lock.json @@ -0,0 +1,37 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "caisere", + "karsa-mistmere" + ], + "use-cases": [ + "encryption settings", + "secure login", + "privacy controls", + "security software", + "secure file storage" + ], + "tags": [ + "antivirus", + "authentication", + "authorization", + "credentials", + "cybersecurity", + "data protection", + "defense", + "encryption", + "guard", + "login", + "password", + "privacy", + "safeguard", + "ssl", + "tls", + "two-factor authentication", + "verification", + "vpn" + ], + "categories": [ + "security" + ] +} diff --git a/icons/shield-lock.svg b/icons/shield-lock.svg new file mode 100644 index 000000000..20cc5b941 --- /dev/null +++ b/icons/shield-lock.svg @@ -0,0 +1,15 @@ + + + + +