mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-12 13:38:32 +00:00
@lucide/lab@0.9.0
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d9d05635ca |
feat(metadata): apply tag groups to variant icons (#5038)
* feat(metadata): reusable tag groups with `$group:` A `$group:<group-name>` marker in `tags` is replaced in place with the tags of `groups/<group-name>.json`: a small set of tags for what a variant suffix means, such as `-minus` → remove, delete. - Read groups in `readGroups` and resolve markers next to `$extends:`, failing on unknown groups and on `$group:` outside `tags` - Add `group.schema.json` and lint, spell-check and format `groups/*.json` - `pnpm checkIcons` also fails on literals a group already provides, and warns about icons that list a group's tags by hand and unused groups - Add the `minus`, `plus` and `x` groups and use them in `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(icons): apply tag groups to variant icons Add 23 groups for common variant suffixes and use them in 89 icons, removing the literal tags a group now provides. No icon loses a resolved tag; 65 icons gain tags from their group. Groups: alert, check, clock, code, cog, currency, dot, heart, key, lock, off, pause, pen, percent, play, question-mark, search, slash, sparkles, star, stop, sync, user. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Add favorite * feat(icons): extend base icon metadata in variant icons Use `$extends:<base>` in 703 variant icons whose tags or categories already include every value of their base icon, and remove the 1952 tags and 1058 categories the base now provides. The base is the longest prefix of the icon name that is an icon, e.g. `clipboard-pen-line` extends `clipboard-pen`. - `tags` extend their base in 417 icons, `categories` in 675 - Only applied where the base adds nothing new, so the resolved tags and categories of every icon are unchanged - `contributors` are left as they are Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YBLsKpZMoKKKVeibcuRXnC * Apply batched suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> * Apply feedback * Updated groups * Apply updates * Apply more extends and groups * Stricter checks * Remove more duplicates * Update tags * Apply batched suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix tags * feat(metadata): reusable tag groups with `$group:` A `$group:<group-name>` marker in `tags` is replaced in place with the tags of `groups/<group-name>.json`: a small set of tags for what a variant suffix means, such as `-minus` → remove, delete. - Read groups in `readGroups` and resolve markers next to `$extends:`, failing on unknown groups and on `$group:` outside `tags` - Add `group.schema.json` and lint, spell-check and format `groups/*.json` - `pnpm checkIcons` also fails on literals a group already provides, and warns about icons that list a group's tags by hand and unused groups - Add the `minus`, `plus` and `x` groups and use them in `alarm-clock-minus`, `file-minus`, `file-plus` and `file-x` Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(icons): apply tag groups to variant icons Add 23 groups for common variant suffixes and use them in 89 icons, removing the literal tags a group now provides. No icon loses a resolved tag; 65 icons gain tags from their group. Groups: alert, check, clock, code, cog, currency, dot, heart, key, lock, off, pause, pen, percent, play, question-mark, search, slash, sparkles, star, stop, sync, user. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Add favorite * feat(icons): extend base icon metadata in variant icons Use `$extends:<base>` in 703 variant icons whose tags or categories already include every value of their base icon, and remove the 1952 tags and 1058 categories the base now provides. The base is the longest prefix of the icon name that is an icon, e.g. `clipboard-pen-line` extends `clipboard-pen`. - `tags` extend their base in 417 icons, `categories` in 675 - Only applied where the base adds nothing new, so the resolved tags and categories of every icon are unchanged - `contributors` are left as they are Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YBLsKpZMoKKKVeibcuRXnC * Apply batched suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> * Apply feedback * Updated groups * Apply updates * Apply more extends and groups * Stricter checks * Remove more duplicates * Update tags * Apply batched suggestions from code review Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Fix tags --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Karsa <contact@karsa.org> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
55b9969b82 |
ci(lint): split lint jobs and annotate Prettier and JSON schema errors in PRs (#4982)
* ci: split lint-code into ESLint, Prettier and JSON Schema jobs with PR annotations - ESLint: annotations via setup-node's built-in eslint-stylish problem matcher. - Prettier: new scripts/lintFormat.mts formats unformatted files in memory, diffs them and emits line-level `::error` annotations with the expected code. - JSON Schema: replace ajv-cli with a local ESLint rule (Ajv draft 2020-12) that validates icons/categories JSON against their `$schema` and reports at the offending property. eslint-plugin-json-schema-validator was not used because it runs Ajv in draft-07 mode and ignores `dependentRequired`. All annotations use workflow commands, so they work on fork PRs with a read-only token. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * Improve root value check and property error handling Enhance error reporting for JSON schema validation. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * style(lint): format jsonSchemaPlugin with Prettier Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * test commit * fix(lint): annotate syntax errors from Prettier and ESLint in PRs - ESLint/JSON Schema jobs use a small GitHub formatter that prints `::error` workflow commands. setup-node's eslint-stylish matcher skipped parsing errors because they have no rule id. - lintFormat.mts annotates Prettier syntax errors (exit code 2) at their line and column instead of only printing stderr, and still checks the other files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * ci(lint): spell check icon and category metadata with cspell annotations - New "Spelling" job runs scripts/lintSpelling.mts, which turns cspell findings into `::error` annotations (with cspell's suggested fix when it has one). - cspell accepts both US and British English, ignores contributor usernames and deprecated `alias.typo` aliases. - Add existing search tags and domain terms to .cspell/custom-words.txt so the current metadata passes. - Add `lint:spelling` to `pnpm lint` and lint-staged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * fix(lint): pin JSON schemas per file set and drop typo tags - json-schema/no-invalid now takes the schema from config (icon.schema.json for icons, category.schema.json for categories) and reports a `$schema` that points elsewhere, so metadata can't opt out of validation. - Remove the misspelled `frigerator` and `sterisk` tags and their allowlist entries. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * fix(icons): split joined-word tags into separate words Tags like `groupchat` and `timemachine` become `group chat` and `time machine` so they read naturally and pass the spell check without allowlisting. Where the spaced tag already existed (`smart home`) the joined one is dropped. cspell now skips all alias names, since they are icon names that can't change (e.g. the deprecated `palmtree` alias). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FVxEtqNswEDq1N23taZYh8 * Revert * Try another error * Revert error --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> |
||
|
|
45740bef8b |
feat(metadata): Require use-cases in meta json (#4321)
* Require use-cases in meta json Co-authored-by: Copilot <copilot@github.com> * adjust schema * Adjust icon meta json files * Add usecases to tags.json --------- Co-authored-by: Copilot <copilot@github.com> |
||
|
|
63deb3e4f9 |
feat(icons): added scan-qr-code icon (#2247)
* Created 'scan-qrcode' * Rename scan-qrcode to scan-qrcode.svg * added scan-qrcode.json * Update icons/scan-qrcode.svg * Rename scan-qrcode.json to scan-qr-code.json * Rename scan-qrcode.svg to scan-qr-code.svg * Update icons/scan-qr-code.json * Update icons/scan-qr-code.json Co-authored-by: Eric Fennis <eric.fennis@gmail.com> --------- Co-authored-by: Jakob Guddas <github@jguddas.de> Co-authored-by: Eric Fennis <eric.fennis@gmail.com> |