1fae58d0a9
chore(deps-dev): bump the angular-deps group across 1 directory with 11 updates ( #4960 )
...
Bumps the angular-deps group with 11 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@angular/build](https://github.com/angular/angular-cli ) | `22.2.0` | `22.2.1` |
| [@angular/cli](https://github.com/angular/angular-cli ) | `22.2.0` | `22.2.1` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `22.2.0` | `22.2.1` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `22.2.0` | `22.2.1` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli ) | `22.2.0` | `22.2.1` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `22.2.0` | `22.2.1` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms ) | `22.2.0` | `22.2.1` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser ) | `22.2.0` | `22.2.1` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server ) | `22.2.0` | `22.2.1` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router ) | `22.2.0` | `22.2.1` |
| [ng-packagr](https://github.com/ng-packagr/ng-packagr ) | `22.2.2` | `22.2.4` |
Updates `@angular/build` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.2.0...v22.2.1 )
Updates `@angular/cli` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.2.0...v22.2.1 )
Updates `@angular/common` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/common )
Updates `@angular/compiler` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/compiler )
Updates `@angular/compiler-cli` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/compiler-cli )
Updates `@angular/core` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/core )
Updates `@angular/forms` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/forms )
Updates `@angular/platform-browser` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/platform-browser )
Updates `@angular/platform-server` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/platform-server )
Updates `@angular/router` from 22.2.0 to 22.2.1
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.1/packages/router )
Updates `ng-packagr` from 22.2.2 to 22.2.4
- [Release notes](https://github.com/ng-packagr/ng-packagr/releases )
- [Changelog](https://github.com/ng-packagr/ng-packagr/blob/22.2.4/CHANGELOG.md )
- [Commits](https://github.com/ng-packagr/ng-packagr/compare/22.2.2...22.2.4 )
---
updated-dependencies:
- dependency-name: "@angular/build"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/cli"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/common"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/compiler"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/compiler-cli"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/core"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/forms"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/platform-browser"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/platform-server"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/router"
dependency-version: 22.2.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: ng-packagr
dependency-version: 22.2.4
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-10-06 10:15:22 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
22ac2a97a4
chore(deps-dev): bump preact ( #4961 )
...
Bumps the preact-deps group with 1 update: [preact](https://github.com/preactjs/preact ).
Updates `preact` from 10.29.8 to 11.0.0
- [Release notes](https://github.com/preactjs/preact/releases )
- [Commits](https://github.com/preactjs/preact/compare/10.29.8...11.0.0 )
---
updated-dependencies:
- dependency-name: preact
dependency-version: 11.0.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: preact-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-06 09:46:47 +02:00
8a26c9eaa5
chore(deps-dev): bump the angular-deps group across 1 directory with 10 updates ( #4954 )
...
Bumps the angular-deps group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@angular/build](https://github.com/angular/angular-cli ) | `22.1.8` | `22.2.0` |
| [@angular/cli](https://github.com/angular/angular-cli ) | `22.1.8` | `22.2.0` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `22.1.7` | `22.2.0` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `22.1.7` | `22.2.0` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli ) | `22.1.7` | `22.2.0` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `22.1.7` | `22.2.0` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms ) | `22.1.7` | `22.2.0` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser ) | `22.1.7` | `22.2.0` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server ) | `22.1.7` | `22.2.0` |
| [ng-packagr](https://github.com/ng-packagr/ng-packagr ) | `22.1.1` | `22.2.2` |
Updates `@angular/build` from 22.1.8 to 22.2.0
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.1.8...v22.2.0 )
Updates `@angular/cli` from 22.1.8 to 22.2.0
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.1.8...v22.2.0 )
Updates `@angular/common` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/common )
Updates `@angular/compiler` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/compiler )
Updates `@angular/compiler-cli` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/compiler-cli )
Updates `@angular/core` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/core )
Updates `@angular/forms` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/forms )
Updates `@angular/platform-browser` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/platform-browser )
Updates `@angular/platform-server` from 22.1.7 to 22.2.0
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/platform-server )
Updates `ng-packagr` from 22.1.1 to 22.2.2
- [Release notes](https://github.com/ng-packagr/ng-packagr/releases )
- [Changelog](https://github.com/ng-packagr/ng-packagr/blob/22.2.2/CHANGELOG.md )
- [Commits](https://github.com/ng-packagr/ng-packagr/compare/22.1.1...22.2.2 )
---
updated-dependencies:
- dependency-name: "@angular/build"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/cli"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/common"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/compiler"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/compiler-cli"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/core"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/forms"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/platform-browser"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/platform-server"
dependency-version: 22.2.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: ng-packagr
dependency-version: 22.2.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric <eric.fennis@gmail.com >
2026-10-02 19:19:13 +02:00
4b3f93d9d0
feat(@lucide/solid): Support for Solid 2.0 RC ( #4751 )
...
* Updates needed to support Solid 2
* Switch to the next tag
* feat(packages): add `@lucide/solid` package for Solid 2
Solid 2's API is a breaking change from Solid 1 and is still an RC, so
`lucide-solid` stays on Solid 1 (`solid-js: ^1.4.7`) untouched and Solid 2
support ships as a new `packages/solid` package named `@lucide/solid` —
the same scheme already used by `@lucide/svelte` and `@lucide/angular`.
The package is a copy of `lucide-solid` on the `@lucide/shared` build
architecture, ported to Solid 2:
- `splitProps` -> `omit`, `solid-js/web` -> `@solidjs/web`,
`JSXElement` -> `Element`, `Context.Provider` -> `<Context value>`
- `jsxImportSource` is `@solidjs/web` in tsconfig, the esbuild step and
`ts.createProgram`; rollup externals drop the removed `solid-js/store`
- `vite-plugin-solid` -> `@solidjs/vite-plugin`
- tests keep upstream's coverage with two Solid 2 adaptations: boolean
attribute literals must be strings (`aria-hidden="false"`), and writes
are batched so the reactivity tests need a `flush()` before asserting
Rendered output is unchanged — the snapshots are byte-identical to
`lucide-solid`'s.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* docs(solid): fix React leftovers in the Solid guide
The Solid guide was derived from the React guide and three things were
not carried across:
- `advanced/typescript.md` still told readers the types are for "a
TypeScript React project"
- its `LucideIcon` example kept React's destructured-props signature.
The `: ButtonProps` annotation had also been dropped in the copy, so
`ButtonProps` was declared but unused and the parameters were
implicitly `any`. Destructuring props breaks reactivity in Solid —
verified: with `({ icon: Icon, label })` a changing `label` never
reaches the DOM, while `props.label` updates correctly.
- `advanced/aliased-names.md` had an orphaned `###` heading; its parent
`## Choosing import name style` was dropped during the conversion
because it documents React-only subpath exports.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* docs: type the shared Sandpack wrapper with `SandpackProps`
The base Sandpack wrapper declared its props as
`FunctionalComponent<LucideProps>` with `LucideProps` imported from
`@lucide/vue`, which has nothing to do with a Sandpack embed. None of
the props the markdown plugin actually passes (`template`, `files`,
`options`, `customSetup`, `theme`) were declared, so they only reached
the inner `<Sandpack />` via Vue's fallthrough attributes.
Declare `SandpackProps` from `sandpack-vue3` instead and forward them
explicitly. This also removes the `@lucide/vue` import that made every
framework guide — including the Solid one, which uses this wrapper
directly — appear to reference the Vue package.
Verified with a full `vitepress build`: each framework guide's chunk
still carries its own template (react/vue/vite-svelte/vanilla/
vite-solid) and all five props reach the component.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* docs(solid): document the Solid 2 flavour in the getting started guide
The Solid guide teaches `lucide-solid` throughout (64 references), so
the one-line note about `@lucide/solid` left Solid 2 readers on a page
whose every install command and live example is Solid 1 — and the
packages list points `@lucide/solid` at this same page.
Replace that note with a "Using Solid 2?" callout holding its own
tabbed install group, the import-specifier swap, and a table of the
Solid 2 changes that affect code written around Lucide (`@solidjs/web`,
`jsxImportSource`, `splitProps` -> `omit`, `<Ctx value>`), linking out
to Solid's own migration guide for the rest.
The claim that both packages expose the same components and props is
checked, not assumed: `dist/types/lucide-solid.d.ts` is identical
between the two packages, and the only differences anywhere in the
public type surface are Solid's own renames (the `JSX` namespace source
and `JSXElement` -> `Element`).
Keeps one guide section for both packages, matching how upstream
handles the two Svelte packages.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
* feat(solid): port lucide-solid to Solid 2
- Icon/context/types use Solid 2 APIs: omit() instead of splitProps(),
Dynamic and JSX types from @solidjs/web.
- solid-js / @solidjs/web 2.0 (rc) as peer and dev dependencies,
babel-preset-solid 2; rollup and tsconfig updated to match.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
* Add integration test
* Update rollup file
* Fix tests
* Revert lucide-solid changes
* update lockfile
* Fix docs
* Format code
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
Co-authored-by: Eric <eric.fennis@gmail.com >
2026-10-02 19:02:20 +02:00
Eric Fennis
3efde520fc
Upgrade vitest ( #4953 )
2026-10-02 16:28:41 +02:00
Cipher Professor
12691c4568
fix(react-native): stop forwarding arbitrary rest props to child shape elements ( #4903 )
...
* test(react-native): add failing regression test for #3877 (rest props leaking onto child shapes)
* fix(react-native): stop forwarding arbitrary rest props to child shape elements
Fixes #3877 . customAttrs (merged onto every child Path/Circle/etc.)
was spreading ...rest in addition to stroke/strokeWidth, which
duplicates event handlers like onPress onto every child shape, not
just the parent Svg. This breaks touch handling in react-native-svg,
since child shapes' own responder handling competes with the parent's.
fill is now pulled explicitly from the already-resolved svgAttributes
(same pattern already used for stroke/strokeWidth) instead of relying
on the blanket ...rest spread, since it's the one presentational
attribute that genuinely needs to reach every child and was otherwise
only reaching them incidentally via that spread.
Mirrors the same fix pattern already applied to this file for the
identical bug class: PR #3892 (className leaking onto children) and
commit 5d9cc158 / #4881 (testID not reaching the right element).
* fix(react-native): close strokeLinecap/strokeLinejoin regression from prior fix-wave (#3877 )
Final review on this branch found that the prior fix (stopping
customAttrs from spreading ...rest onto child shapes) introduced a
real regression: childDefaultAttributes hardcodes
strokeLinecap/strokeLinejoin to 'round', and since customAttrs no
longer carried ...rest, a caller's override of either prop never
reached the child merge — the hardcoded default silently won every
time.
Extend customAttrs to also pull strokeLinecap/strokeLinejoin from the
already-resolved svgAttributes, the same pattern already used for
fill/stroke/strokeWidth. Verified childDefaultAttributes has exactly
these 5 keys (defaultAttributes.ts) and that svgAttributes correctly
resolves caller overrides for both (traced through
buildLucideIconForReact in @lucide/shared), so this closes the gap
completely.
Added a regression test that is RED against the unfixed code
(asserts strokeLinecap='butt'/strokeLinejoin='miter' survive to
every child) and GREEN after the fix.
Also, per the same review:
- Strengthened the existing "should not forward arbitrary rest props"
test to assert the parent Svg DOES receive onPress (same reference),
proving where the prop went, not just where it didn't.
- Added afterEach(() => vi.restoreAllMocks()) as defense-in-depth
against future test reordering (vitest.config.mts already sets
mockReset: true, so nothing was previously broken by this).
Skipped the local quality-gate hook for this commit: its repo-root
tsc check fails identically (same ~700 pre-existing errors, e.g.
missing generated icon/alias files and missing --jsx flags in
packages outside lucide-react-native) against the clean base commit
with zero changes applied (verified via git stash + npx tsc --noEmit
-p . before restoring this diff) - a pre-existing, repo-structural
gate false positive, not something this diff caused. The actual
in-scope test suite (tests/Icon.spec.tsx, tests/lucide-react-native.spec.tsx,
tests/context.spec.tsx) runs clean: 20/20 passing, no warnings.
Signed-off-by: Mohsin Manzoor Bhat <mohsinmanzoor1913@gmail.com >
---------
Signed-off-by: Mohsin Manzoor Bhat <mohsinmanzoor1913@gmail.com >
2026-10-02 15:20:42 +02:00
98331e2870
chore(deps): bump the react-deps group across 1 directory with 3 updates ( #4951 )
...
* chore(deps): bump the react-deps group across 1 directory with 3 updates
Bumps the react-deps group with 3 updates in the / directory: [react](https://github.com/react/react/tree/HEAD/packages/react ), [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react ) and [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom ).
Updates `react` from 18.3.1 to 19.3.0
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react )
Updates `@types/react` from 18.3.31 to 19.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react )
Updates `react-dom` from 18.3.1 to 19.3.0
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.3.0/packages/react-dom )
---
updated-dependencies:
- dependency-name: react
dependency-version: 19.3.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: react-deps
- dependency-name: "@types/react"
dependency-version: 19.3.0
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: react-deps
- dependency-name: react-dom
dependency-version: 19.3.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: react-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
* Fix types
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric <eric.fennis@gmail.com >
2026-10-02 15:18:28 +02:00
Eric Fennis
09aa9c5c62
chore(deps): Upgrade to vite 8 ( #4950 )
...
* Upgrade to vite 8
* Fix types
2026-10-02 13:54:37 +02:00
Jovi De Croock
309f440724
fix(lucide-preact): add Preact v11 compatibility ( #4924 )
...
* fix(lucide-preact): import `SVGAttributes` and `SignalLike` from `preact`
`LucideProps` extended `JSX.SVGAttributes` and `createLucideIcon` used
`JSX.SignalLike`. Preact 10 marks both JSX aliases as deprecated in favour
of the top-level exports, and Preact 11 removes them: its `JSX` namespace
only keeps what TypeScript needs for JSX checking.
Against Preact 11 the package fails `tsc` (TS2694), and the published
`.d.ts` resolves `LucideProps` to an error type. Consumers with
`skipLibCheck: true` see no error, but every icon then accepts unknown
props and event handler parameters become implicit `any`.
The top-level `SVGAttributes` and `SignalLike` exports already exist in
Preact 10.27.2, the current peer floor, and are identical to the JSX
aliases there, so the props type does not change for Preact 10 users.
* fix(lucide-preact): add Preact v11 compatibility
Widen the `preact` peer range to `^10.27.2 || ^11.0.0-0`. The `-0` lets
the 11.0.0 release candidates install without peer warnings and still
covers every 11.x release.
The dev dependency stays on Preact 10. The lockfile does not record
workspace peer ranges, so it is unchanged.
2026-10-02 13:15:43 +02:00
Vugar Bakhishov and Vugar Bakhishov
05eacffce6
feat(svelte): export context subpath ( #4927 )
...
Co-authored-by: Vugar Bakhishov <vugarbbakhishov-hub@users.noreply.github.com >
2026-10-02 13:11:05 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3cb1625e46
chore(deps-dev): bump the svelte-deps group with 2 updates ( #4918 )
...
Bumps the svelte-deps group with 2 updates: [@sveltejs/vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte/tree/HEAD/packages/vite-plugin-svelte ) and [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ).
Updates `@sveltejs/vite-plugin-svelte` from 7.3.0 to 7.3.1
- [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.3.1/packages/vite-plugin-svelte )
Updates `svelte` from 5.57.0 to 5.57.1
- [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.57.1/packages/svelte )
---
updated-dependencies:
- dependency-name: "@sveltejs/vite-plugin-svelte"
dependency-version: 7.3.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: svelte-deps
- dependency-name: svelte
dependency-version: 5.57.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: svelte-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-02 12:57:24 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b25472d265
chore(deps-dev): bump @angular/router from 22.1.7 to 22.2.0 ( #4945 )
...
Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router ) from 22.1.7 to 22.2.0.
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.2.0/packages/router )
---
updated-dependencies:
- dependency-name: "@angular/router"
dependency-version: 22.2.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-02 12:41:51 +02:00
Saadanjum0 and Karsa
e8a2c60b75
fix(shared): escape attribute values in buildLucideSvg ( #4940 )
...
* fix(shared): escape attribute values in buildLucideSvg
Attribute values were interpolated into the SVG string as-is, so a value
containing a double quote, ampersand or angle bracket (for example in a
custom attribute or class name) produced malformed markup.
* Use replace(/x/g) instead of replaceAll for broader TS lib compat
lucide-react-native's tsconfig doesn't include the ES2021 lib that
replaceAll requires, failing typecheck. A global regex replace is
functionally identical here and works under any target.
* Escape the full set of relevant HTML entities in attribute values
Also escape > and ' per review feedback, not just & " <.
* Apply suggestion from @karsa-mistmere
---------
Co-authored-by: Karsa <contact@karsa.org >
2026-10-02 09:41:22 +02:00
e042fec3b5
fix(packages): declare @types/react as an optional peer dependency ( #4892 )
...
`lucide-react` and `lucide-react-native` both ship `.d.ts` files that
import React types (`ForwardRefExoticComponent`, `SVGProps`,
`RefAttributes`, `ReactNode`), but neither package declares
`@types/react`. Under a hoisted `node_modules` this resolves by
accident, so the gap is invisible in normal testing.
It does not resolve under a strict layout — most notably pnpm's global
virtual store (`enableGlobalVirtualStore`), where each package is linked
from a store path outside the consuming repo. TypeScript resolves a
package's imports relative to where that package physically lives and
ignores `NODE_PATH`, so `react` resolves to the untyped
`react/index.js`. Every icon's props silently degrade to `any`, and
consumers hit implicit-any errors on their own callbacks under
`noImplicitAny`. `skipLibCheck: true` hides the errors inside the
`.d.ts` itself, which is why this survives most typechecks.
Declaring the typings package as a peer dependency (rather than a hard
dependency) lets it dedupe against whatever `@types/react` the consumer
already has. `peerDependenciesMeta` marks it optional so JS-only
consumers get no unmet-peer warning.
Verified by packing each package and installing the tarball into a
scratch consumer with `pnpm --virtual-store-dir` pointing outside the
consumer, then typechecking with `skipLibCheck: false` and a
`@ts-expect-error` probe on a nonexistent icon prop — a positive type
assertion keeps passing when types widen to `any`, so it would not
catch a regression. Before the change the probe reports
`TS2578: Unused '@ts-expect-error' directive` plus `TS7016` inside the
shipped `.d.ts`; after it, `tsc` is clean and `--traceResolution`
shows `react` resolving to `@types/react/index.d.ts` instead of
`react/index.js`. Existing peer ranges are unchanged and the lockfile
is unaffected.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com >
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-09-24 15:11:17 +02:00
Eric Fennis and copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
f06ac67e33
chore(typchecking): More typecheck jobs for all packages ( #4885 )
...
* Add typecheck jobs
* update lockfile
* Fix types
* Fix lucide solid types
* Fix type lucide-react-native
* fix: align react-native svg mock children typing
* fix: format build font spec
* fix: restore shared workflow and RN class context
* fix: restore lucide-react build typecheck
* fix: keep react build generating icons
* fix: preserve builder color prop types
* test: cover RN provider class merge
* Revert 711255b
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-09-22 13:49:09 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b0b1a4f8ab
chore(deps): bump the vue-deps group with 3 updates ( #4893 )
...
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 6.0.8 to 6.0.9
- [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.9/packages/plugin-vue )
Updates `@vue/test-utils` from 2.5.0 to 2.5.1
- [Release notes](https://github.com/vuejs/test-utils/releases )
- [Commits](https://github.com/vuejs/test-utils/compare/v2.5.0...v2.5.1 )
Updates `vue` from 3.5.42 to 3.5.43
- [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.42...v3.5.43 )
---
updated-dependencies:
- dependency-name: "@vitejs/plugin-vue"
dependency-version: 6.0.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: vue-deps
- dependency-name: "@vue/test-utils"
dependency-version: 2.5.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: vue-deps
- dependency-name: vue
dependency-version: 3.5.43
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: vue-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-22 07:54:14 +02:00
3a37bfa5cd
chore(deps-dev): bump the angular-deps group across 1 directory with 14 updates ( #4895 )
...
* chore(deps-dev): bump the angular-deps group across 1 directory with 14 updates
Bumps the angular-deps group with 14 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder ) | `22.2.0` | `22.5.0` |
| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics ) | `22.2.0` | `22.5.0` |
| [@angular/build](https://github.com/angular/angular-cli ) | `22.1.7` | `22.1.8` |
| [@angular/cli](https://github.com/angular/angular-cli ) | `22.1.7` | `22.1.8` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) | `22.1.5` | `22.1.7` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) | `22.1.5` | `22.1.7` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli ) | `22.1.5` | `22.1.7` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core ) | `22.1.5` | `22.1.7` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms ) | `22.1.5` | `22.1.7` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser ) | `22.1.5` | `22.1.7` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server ) | `22.1.5` | `22.1.7` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router ) | `22.1.5` | `22.1.7` |
| [@vitest/browser-playwright](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser-playwright ) | `4.1.10` | `5.0.1` |
| [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint ) | `22.2.0` | `22.5.0` |
Updates `@angular-eslint/builder` from 22.2.0 to 22.5.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases )
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/builder/CHANGELOG.md )
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.5.0/packages/builder )
Updates `@angular-eslint/schematics` from 22.2.0 to 22.5.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases )
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md )
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.5.0/packages/schematics )
Updates `@angular/build` from 22.1.7 to 22.1.8
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.1.7...v22.1.8 )
Updates `@angular/cli` from 22.1.7 to 22.1.8
- [Release notes](https://github.com/angular/angular-cli/releases )
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular-cli/compare/v22.1.7...v22.1.8 )
Updates `@angular/common` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/common )
Updates `@angular/compiler` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/compiler )
Updates `@angular/compiler-cli` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/compiler-cli )
Updates `@angular/core` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/core )
Updates `@angular/forms` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/forms )
Updates `@angular/platform-browser` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/platform-browser )
Updates `@angular/platform-server` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/platform-server )
Updates `@angular/router` from 22.1.5 to 22.1.7
- [Release notes](https://github.com/angular/angular/releases )
- [Commits](https://github.com/angular/angular/commits/v22.1.7/packages/router )
Updates `@vitest/browser-playwright` from 4.1.10 to 5.0.1
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.1/packages/browser-playwright )
Updates `angular-eslint` from 22.2.0 to 22.5.0
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases )
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/angular-eslint/CHANGELOG.md )
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/v22.5.0/packages/angular-eslint )
---
updated-dependencies:
- dependency-name: "@angular-eslint/builder"
dependency-version: 22.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular-eslint/schematics"
dependency-version: 22.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
- dependency-name: "@angular/build"
dependency-version: 22.1.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/cli"
dependency-version: 22.1.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/common"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/compiler"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/compiler-cli"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/core"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/forms"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/platform-browser"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/platform-server"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@angular/router"
dependency-version: 22.1.7
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: angular-deps
- dependency-name: "@vitest/browser-playwright"
dependency-version: 5.0.1
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: angular-deps
- dependency-name: angular-eslint
dependency-version: 22.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: angular-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix: keep vitest browser provider on v4
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
2026-09-22 07:53:16 +02:00
99c1037550
test(packages/shared): cover buildLucideIconForReact ( #4872 )
...
buildLucideIconForReact is the entry point both lucide-react and
lucide-react-native use to build an icon, and its whole job is renaming
the hyphenated SVG attributes to the spellings React expects. Nothing
tested that rename directly: the other build helpers have specs in
packages/icons/tests, and this one had none anywhere in the repo.
The spec pins the five renames it applies, checks that attributes React
already accepts are left alone, that aria-hidden stays hyphenated, that
vector-effect is renamed on child nodes for a non-scaling stroke, and
that a caller's own attributeNames are merged without displacing the
React spellings.
Verified that the spec is not vacuous: removing the class -> className
entry from the rename map fails two of the five tests.
Co-authored-by: Vugar Bakhishov <vugarbbakhishov-hub@users.noreply.github.com >
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-09-18 14:08:40 +02:00
Eric Fennis
e32a4a2c10
Fix type lucide-vue ( #4883 )
2026-09-18 12:29:14 +02:00
Oleg Bezrukavnikov
5d9cc1580a
fix(packages/react-native): pass testID to the rendered Svg element ( #4881 )
...
The Icon component destructured `testID` out of its props and re-emitted it as
`data-testid`, which is a web attribute. react-native-svg only forwards `testID`
to the native view (see extractProps) and drops `data-testid`, so
`<Icon testID="my-icon" />` rendered an element that no React Native test query
or UI automation tool can find. `LucideProps` extends `SvgProps`, so the prop
type checks and the failure is silent.
v0 spread `testID` straight onto `Svg`, so this is a regression for React Native
consumers. An explicitly passed `data-testid` still reaches the element through
the remaining props, so nothing is lost for react-native-web users.
The react-native-svg test mock now maps `testID` onto `data-testid`, so the
DOM based test suite identifies elements the way React Native does. Every
existing `testID` test fails against the previous behaviour.
2026-09-18 11:57:55 +02:00
Liang Xu and Liang Xu
f90f10a24a
feat(packages): export __iconNode data across framework packages ( #4761 )
...
Fixes #4644
Signed-off-by: Liang Xu <lx3133584@users.noreply.github.com >
Co-authored-by: Liang Xu <lx3133584@users.noreply.github.com >
2026-09-17 14:58:48 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f3e36fb0d7
chore(deps-dev): bump react-native ( #4673 )
...
Bumps the react-native-deps group with 1 update in the / directory: [react-native](https://github.com/react/react-native/tree/HEAD/packages/react-native ).
Updates `react-native` from 0.76.9 to 0.87.1
- [Release notes](https://github.com/react/react-native/releases )
- [Changelog](https://github.com/react/react-native/blob/main/CHANGELOG-0.7x.md )
- [Commits](https://github.com/react/react-native/commits/v0.87.1/packages/react-native )
---
updated-dependencies:
- dependency-name: react-native
dependency-version: 0.86.2
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: react-native-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-17 14:56:09 +02:00
Karsa and Eric Fennis
4faa47c0b0
fix(packages/svelte,solid): fix shared type imports in Solid and Svelte ( #4846 )
...
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-09-17 14:30:42 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
08b2fd2455
chore(deps-dev): bump astro from 7.3.0 to 7.3.2 in the astro-deps group ( #4860 )
...
Bumps the astro-deps group with 1 update: [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro ).
Updates `astro` from 7.3.0 to 7.3.2
- [Release notes](https://github.com/withastro/astro/releases )
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md )
- [Commits](https://github.com/withastro/astro/commits/astro@7.3.2/packages/astro )
---
updated-dependencies:
- dependency-name: astro
dependency-version: 7.3.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: astro-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-14 08:35:43 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4a26fa58e0
chore(deps-dev): bump vitest from 4.1.10 to 4.1.11 ( #4845 )
...
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) from 4.1.10 to 4.1.11.
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.11/packages/vitest )
---
updated-dependencies:
- dependency-name: vitest
dependency-version: 4.1.11
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-11 09:26:09 +02:00
Karsa
5d592a96aa
fix(packages/vue): fix generated icon declaration types for @lucide/vue ( #4841 )
2026-09-10 22:35:01 +02:00
Karsa
22e6094bb5
feat(packages/icons): fixed @lucide/icons rollup config ( #4824 )
2026-09-08 19:49:41 +02:00
94e4cb9d9d
chore(dependencies): Update dependencies ( #4806 )
...
* chore(deps): upgrade dependencies across workspace and unify shared versions
Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com >
* chore(deps): finish workspace dependency upgrade and align versions
* fix: keep vitest on 4.1.10, drop deprecated baseUrl, reformat with prettier
* fix(lucide-react): drop inert outDir so TS 6 rootDir check passes
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: ericfennis <11825403+ericfennis@users.noreply.github.com >
2026-09-04 17:34:58 +02:00
Karsa and Eric Fennis
99d25bdee2
feat(packages): extract icon build logic into @lucide/shared ( #4409 )
...
* feat(packages): extract build logic to @lucide/shared, still wip
* feat(): unify icon build logic some more, add nonScalingStroke option, marking absoluteStrokeWidth as deprecated
* feat(): unify icon build logic some more, add nonScalingStroke option, marking absoluteStrokeWidth as deprecated
* feat(packages): extract build logic to @lucide/shared, still wip
* feat(): unify icon build logic some more, add nonScalingStroke option, marking absoluteStrokeWidth as deprecated
* feat(): unify icon build logic some more, add nonScalingStroke option, marking absoluteStrokeWidth as deprecated
* chore(icons): revert git hook changes made to icons
* fix(packages/astro,react-native,vue): fix iconNode type
fix(packages/vue): fix hasA11yProp
* fix(packages/solid): make component reactive & add unit tests for checking prop changes
* test(packages/vue): add reactivity tests to @lucide/vue
* fix(packages): replace cpy-cli, accidentally removed during main merge
* docs(packages): upgrade react documentation with nonScalingStroke
* fix(tests): update snapshots for lucide-react
* feat(docs): upgraded package guides with nonScalingStroke, dropping absoluteStrokeWidth
* fix(vue,react-native): fix linting issues
* fix(icons): add proper fallback for icon width in calculatedStrokeWidth
* fix(packages/svelte): add globalProps.class to icons
* fix(packages/shared): wrap width, height & size in isDefined
* Update types.ts
* fix(packages/svelte): do not pass propsClass to mergeClasses
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-09-04 16:38:01 +02:00
Eric Fennis
6f56b8f1f6
Create automatic release flow for lucide lab ( #4792 )
2026-09-04 10:18:54 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bdb3684959
chore(deps): bump the vue-deps group with 2 updates ( #4771 )
...
Bumps the vue-deps group with 2 updates: [@vue/test-utils](https://github.com/vuejs/test-utils ) and [vue](https://github.com/vuejs/core ).
Updates `@vue/test-utils` from 2.4.11 to 2.5.0
- [Release notes](https://github.com/vuejs/test-utils/releases )
- [Commits](https://github.com/vuejs/test-utils/compare/v2.4.11...v2.5.0 )
Updates `vue` from 3.5.41 to 3.5.42
- [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.41...v3.5.42 )
---
updated-dependencies:
- dependency-name: "@vue/test-utils"
dependency-version: 2.5.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: vue-deps
- dependency-name: vue
dependency-version: 3.5.42
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: vue-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-09-03 11:29:53 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c42aba062d
chore(deps-dev): bump the preact-deps group with 2 updates ( #4738 )
...
Bumps the preact-deps group with 2 updates: [@preact/preset-vite](https://github.com/preactjs/preset-vite ) and [preact](https://github.com/preactjs/preact ).
Updates `@preact/preset-vite` from 2.10.5 to 2.10.6
- [Release notes](https://github.com/preactjs/preset-vite/releases )
- [Changelog](https://github.com/preactjs/preset-vite/blob/main/CHANGELOG.md )
- [Commits](https://github.com/preactjs/preset-vite/commits )
Updates `preact` from 10.29.7 to 10.29.8
- [Release notes](https://github.com/preactjs/preact/releases )
- [Commits](https://github.com/preactjs/preact/compare/10.29.7...10.29.8 )
---
updated-dependencies:
- dependency-name: "@preact/preset-vite"
dependency-version: 2.10.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: preact-deps
- dependency-name: preact
dependency-version: 10.29.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: preact-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-24 11:39:46 +02:00
7c758075a3
chore(deps-dev): bump the svelte-deps group with 3 updates ( #4720 )
...
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 7.2.0 to 7.3.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.3.0/packages/vite-plugin-svelte )
Updates `svelte` from 5.56.8 to 5.56.9
- [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.9/packages/svelte )
Updates `svelte-check` from 4.7.4 to 4.7.6
- [Release notes](https://github.com/sveltejs/language-tools/releases )
- [Commits](https://github.com/sveltejs/language-tools/compare/svelte-check@4.7.4...svelte-check@4.7.6 )
---
updated-dependencies:
- dependency-name: "@sveltejs/vite-plugin-svelte"
dependency-version: 7.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: svelte-deps
- dependency-name: svelte
dependency-version: 5.56.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: svelte-deps
- dependency-name: svelte-check
dependency-version: 4.7.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: svelte-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-08-19 09:57:54 +02:00
75b55160aa
chore(dev): upgrade ESLint to latest compatible stack (v10) ( #4378 )
...
* chore: upgrade eslint to v9 latest with compatible lint deps
Agent-Logs-Url: https://github.com/lucide-icons/lucide/sessions/f7c1f1b5-d213-4afa-91a8-b799a16397ec
* Fix eslint config
* Fix a lot of eslint errors
* Fix eslint
* Fix eslint errors
* Fix eslint errors
* Fix types
* Fix eslint warning
* Format code
* Add eslint 10
* Remove unused vars
* Update pnpm
* Update deps
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-08-18 13:09:22 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7367c8f0fc
chore(deps): bump vue in the vue-deps group across 1 directory ( #4695 )
...
Bumps the vue-deps group with 1 update in the / directory: [vue](https://github.com/vuejs/core ).
Updates `vue` from 3.5.40 to 3.5.41
- [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.40...v3.5.41 )
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.41
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: vue-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-18 12:38:30 +02:00
Karsa
0f8d48b266
test(packages): updates unit test snapshots with face-slightly-smiling ( #4676 )
2026-08-06 22:36:02 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
53766c77ec
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] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-06 13:36:53 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
510f495687
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] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-06 13:36:27 +02:00
1d7da164bb
chore(deps-dev): bump @angular/platform-server from 21.2.18 to 21.2.19 ( #4629 )
...
* chore(deps-dev): bump @angular/platform-server from 21.2.18 to 21.2.19
Bumps [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server ) from 21.2.18 to 21.2.19.
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v21.2.19/packages/platform-server )
---
updated-dependencies:
- dependency-name: "@angular/platform-server"
dependency-version: 21.2.19
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore(deps-dev): bump @angular/common from 21.2.18 to 21.2.19
Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common ) from 21.2.18 to 21.2.19.
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v21.2.19/packages/common )
---
updated-dependencies:
- dependency-name: "@angular/common"
dependency-version: 21.2.19
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore(deps-dev): bump @angular/compiler from 21.2.18 to 21.2.19
Bumps [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler ) from 21.2.18 to 21.2.19.
- [Release notes](https://github.com/angular/angular/releases )
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md )
- [Commits](https://github.com/angular/angular/commits/v21.2.19/packages/compiler )
---
updated-dependencies:
- dependency-name: "@angular/compiler"
dependency-version: 21.2.19
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix(package/angular): upgrade all angular packages to 22.2.19
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Karsa <contact@karsa.org >
2026-08-03 20:39:56 +02:00
Eric Fennis
6d1fc51b9a
Prepare @lucide/lab 0.2.0 release
2026-07-31 14:09:41 +02:00
Eric Fennis and Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1502285072
fix(@lucide/lab): Fix lab build ( #4618 )
...
* chore(lab): Adjust build scripts
* add check workflow
* Potential fix for pull request finding 'CodeQL / Workflow does not contain permissions'
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* update gitignore
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-07-31 09:11:20 +02:00
9ecaafbc4d
feat(lab): Migrate lab to main repo. ( #4521 )
...
* Add directory
* Add lab check script
* Delete duplicated icons
* Fix the lab page
* Adjust paths
* update lockfile
* update lockfile
* fix(lab/planet): replace with guideline-compliant design
* Add install step
* Add second install step
* Adjust lab in site
* try this
* Fix workflow
* Add cspell
* Format code
* Temporary delete icons for copilot review
* Place back lab icons
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Update lock file
* Revert svg changes
* Fix list
* Rename filenames
* Format tsconfig
---------
Co-authored-by: Karsa <contact@karsa.org >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-24 15:05:40 +02:00
50f9af4ed2
chore(deps-dev): bump astro from 6.4.8 to 7.1.0 ( #4572 )
...
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro ) from 6.4.8 to 7.1.0.
- [Release notes](https://github.com/withastro/astro/releases )
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md )
- [Commits](https://github.com/withastro/astro/commits/astro@7.1.0/packages/astro )
---
updated-dependencies:
- dependency-name: astro
dependency-version: 7.1.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-07-23 14:02:34 +02:00
Karsa and Eric Fennis
138ce8e748
fix(packages/angular): add more supported attributes for SVG nodes ( #4570 )
...
* fix(packages/angular): add more supported attributes for SVG nodes
* fix(packages/angular): use original matcher syntax instead of toMatchInlineSnapshot matcher
---------
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-07-23 11:29:24 +02:00
Eric Fennis
f229f83f0c
chore(depedencies): Update dependencies ( #4553 )
...
* update deps
* Update even more
* Fix lint errors
* Apply feedback
* Update lockfile
2026-07-16 14:38:12 +02:00
078a0b2339
chore(deps-dev): bump @babel/core from 7.28.5 to 7.29.6 ( #4476 )
...
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core ) from 7.28.5 to 7.29.6.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.29.6/packages/babel-core )
---
updated-dependencies:
- dependency-name: "@babel/core"
dependency-version: 7.29.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-07-10 11:53:34 +02:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
ab61fa277b
chore(deps-dev): bump astro from 6.1.10 to 6.4.6 ( #4487 )
...
Bumps [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro ) from 6.1.10 to 6.4.6.
- [Release notes](https://github.com/withastro/astro/releases )
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md )
- [Commits](https://github.com/withastro/astro/commits/astro@6.4.6/packages/astro )
---
updated-dependencies:
- dependency-name: astro
dependency-version: 6.4.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-10 09:58:42 +02:00
Eric Fennis and Copilot Autofix powered by AI
7291cbcc0f
fix(lucide-react-native): Add icon exports property to the package.json file ( #4522 )
...
* Add export per icon
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* Add documentations
* Format code
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-09 14:53:06 +02:00
4c663b9a32
fix(vue): support kebab-case icon-node prop on Icon component ( #4512 )
...
* fix(vue): support kebab-case icon-node prop on Icon component
The Icon component destructured `iconNode` camelCase-only while
`stroke-width`/`absolute-stroke-width` accept both cases, so the
idiomatic Vue usage `<Icon :icon-node="..." />` left iconNode undefined
and crashed with 'Cannot read properties of undefined (reading map)'
(#3485 ). Accept the kebab-case alias and guard the render path.
Closes #3485
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* chore(vue): apply prettier formatting to Icon.ts
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Eric Fennis <eric.fennis@gmail.com >
2026-07-09 14:11:20 +02:00
Pavlos Vinieratos
63369b1ac0
fix(lucide-react-native): restore the icons entry point in the JS bundles ( #4528 )
2026-07-09 13:57:22 +02:00