mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-05-18 12:37:48 +02:00
* Add new lucide angular package * feat(packages/angular): added initial @lucide/angular package * feat(packages/angular): update readme * feat(packages/angular): update angular.json * docs(packages/angular): added (for now) full documentation for @lucide/angular * docs(packages/angular): added migration guide from lucide-angular * fix(github): fix package label syntax 😅 * fix(lint): fix linting issues * fix(github/angular): add prebuild stage * fix(github/angular): add prebuild stage & fix tests * fix(github/angular): fix LucideIconComponentType, update with _real_ public members * fix(github/angular): add prebuild to build step manually * fix(github/angular): downgrade vitest * fix(packages/angular): fix migration guide code example * fix(packages): add vitest + @vitest/* to pnpm overrides * fix(packages): update pnpm-lock with merged version * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(packages): fix aria-hidden logic * fix(packages): update pnpm-lock * fix(packages): extract vitest and jsdom to root devDependencies * Fix copy utils script * Format code * feat(packages/angular): switched to self-describing IconData object from separate node+name – no more toKebabCase hackery feat(packages/angular): renamed LucideIconComponentType => LucideIcon, and LucideIcon => LucideDynamicIcon feat(packages/angular): added backwards compatible CSS class support feat(packages/angular): switched to vector-effect: non-scaling-stroke implementation from computed stroke width feat(packages/angular): rewrote icon provider to only accept a list of self-described icons – no more toKebabCase hackery & as an added bonus automatic backwards compatible alias support 🚀 feat(packages/angular): added legacy icon node helper function for passing legacy icons to providers test(packages/angular): added unit tests on LUCIDE_CONFIG provider usage * fix(packages/angular): fix linting issues * feat(packages/angular): extract createLucideIcon logic into helper function, refactor export template to use the iconData object as defined in ExportTemplate * Replace author * Remove private field * fix(packages/angular): remove createLucideIcon, it breaks the package :'( * fix(packages/angular): fix rendering order of child elements (_before_ projected content) * Format package.json * Update docs/guide/packages/angular.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/angular/MIGRATION.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Eric Fennis <eric.fennis@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
103 lines
4.2 KiB
JSON
103 lines
4.2 KiB
JSON
{
|
|
"private": true,
|
|
"scripts": {
|
|
"build": "pnpm -r --filter './packages/**' build",
|
|
"test": "pnpm -r --filter './packages/**' test",
|
|
"test:update": "pnpm -r --filter './packages/**' --filter !'./packages/lucide-angular' test -- -u",
|
|
"lucide": "pnpm --filter lucide",
|
|
"lucide-angular": "pnpm --filter lucide-angular",
|
|
"lucide-react": "pnpm --filter lucide-react",
|
|
"lucide-react-native": "pnpm --filter lucide-react-native",
|
|
"lucide-preact": "pnpm --filter lucide-preact",
|
|
"lucide-solid": "pnpm --filter lucide-solid",
|
|
"lucide-vue": "pnpm --filter lucide-vue",
|
|
"lucide-astro": "pnpm --filter @lucide/astro",
|
|
"lucide-vue-next": "pnpm --filter lucide-vue-next",
|
|
"lucide-svelte": "pnpm --filter lucide-svelte",
|
|
"lucide-static": "pnpm --filter lucide-static",
|
|
"build:outline-icons": "pnpm --filter outline-svg start",
|
|
"build:font": "pnpm --filter build-font start",
|
|
"optimize": "node ./scripts/optimizeSvgs.mts",
|
|
"addjsons": "node ./scripts/addMissingIconJsonFiles.mts",
|
|
"checkIcons": "node ./scripts/checkIconsAndCategories.mts",
|
|
"generate:changelog": "node ./scripts/generateChangelog.mts",
|
|
"generate:backers": "node scripts/updateOpenCollectiveBackers.mts",
|
|
"generate:contributors": "node ./scripts/updateContributors.mts icons/*.svg",
|
|
"generate:nextJSAliases": "node ./scripts/generateNextJSAliases.mts",
|
|
"suggest:tags": "node ./scripts/suggestTags.mts",
|
|
"suggest:tags:watch": "node --env-file .env --watch ./scripts/suggestTags.mts ",
|
|
"postinstall": "husky install",
|
|
"lint:es": "eslint .",
|
|
"lint:format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --check",
|
|
"lint:format-fix": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write",
|
|
"lint:json:icons": "ajv --spec=draft2020 -s icon.schema.json -d 'icons/*.json' > /dev/null",
|
|
"lint:json:categories": "ajv --spec=draft2020 -s category.schema.json -d 'categories/*.json' > /dev/null",
|
|
"lint:json": "pnpm run lint:json:icons && pnpm run lint:json:categories",
|
|
"lint": "pnpm lint:es && pnpm lint:format && pnpm lint:json",
|
|
"format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write",
|
|
"prepare": "husky install",
|
|
"gi": "node ./scripts/generate/generateIcons.mts",
|
|
"rename": "node ./scripts/rename/renameIcon.mts",
|
|
"renamePattern": "node ./scripts/rename/renamePattern.mts"
|
|
},
|
|
"devDependencies": {
|
|
"@actions/core": "^1.11.1",
|
|
"@actions/github": "^6.0.1",
|
|
"@html-eslint/eslint-plugin": "^0.19.1",
|
|
"@html-eslint/parser": "^0.19.1",
|
|
"@octokit/rest": "^19.0.13",
|
|
"@types/yargs": "^17.0.33",
|
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
"@typescript-eslint/parser": "^6.21.0",
|
|
"@vitest/coverage-v8": "4.0.12",
|
|
"@vitest/ui": "4.0.12",
|
|
"ajv-cli": "^5.0.0",
|
|
"dotenv": "^17.0.0",
|
|
"eslint": "^8.57.1",
|
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
"eslint-config-prettier": "^8.10.0",
|
|
"eslint-import-resolver-alias": "^1.1.2",
|
|
"eslint-import-resolver-custom-alias": "^1.3.2",
|
|
"eslint-import-resolver-typescript": "^3.10.1",
|
|
"eslint-plugin-import": "^2.31.0",
|
|
"husky": "^8.0.3",
|
|
"jsdom": "^27.3.0",
|
|
"lint-staged": "^13.3.0",
|
|
"minimist": "^1.2.8",
|
|
"openai": "^5.8.1",
|
|
"p-memoize": "^7.1.1",
|
|
"prettier": "3.2.4",
|
|
"prettier-plugin-astro": "^0.14.1",
|
|
"semver": "^7.7.3",
|
|
"simple-git": "^3.32.3",
|
|
"svgo": "^3.3.2",
|
|
"svgson": "^5.3.1",
|
|
"vitest": "4.0.12",
|
|
"yargs": "^17.7.2",
|
|
"zod": "^3.25.67"
|
|
},
|
|
"engines": {
|
|
"node": ">=24.11.1"
|
|
},
|
|
"packageManager": "pnpm@10.24.0+sha512.01ff8ae71b4419903b65c60fb2dc9d34cf8bb6e06d03bde112ef38f7a34d6904c424ba66bea5cdcf12890230bf39f9580473140ed9c946fef328b6e5238a345a",
|
|
"pnpm": {
|
|
"packageExtensions": {
|
|
"vue-template-compiler": {
|
|
"peerDependencies": {
|
|
"vue": "2.7.14"
|
|
}
|
|
}
|
|
},
|
|
"overrides": {
|
|
"axios": "^1.12.0",
|
|
"cross-spawn": "7.0.5",
|
|
"fast-json-patch": "^3.1.1",
|
|
"form-data": "^4.0.4",
|
|
"semver": "^7.7.3",
|
|
"vite-prerender-plugin": "0.5.12",
|
|
"webpack-dev-middleware": "^5.3.4"
|
|
}
|
|
}
|
|
}
|