Merge branch 'main' of https://github.com/lucide-icons/lucide into update-nitro

This commit is contained in:
Eric Fennis
2026-03-05 12:39:07 +01:00
9 changed files with 172 additions and 2067 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ permissions:
# This is added to make sure we wait until last release is done, this is needed for the font-build process
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: continuous-integration
jobs:
create-release:
+1 -1
View File
@@ -43,7 +43,7 @@ docs/.vitepress/.temp
docs/.vitepress/data/iconNodes
docs/.vitepress/data/iconMetaData.ts
docs/.vitepress/data/releaseMetaData.json
docs/.vitepress/data/releaseMetaData
docs/.vitepress/data/releaseMetadata
docs/.vitepress/data/categoriesData.json
docs/.vitepress/data/iconDetails
docs/.vitepress/data/relatedIcons.json
+22
View File
@@ -0,0 +1,22 @@
{
"$schema": "../icon.schema.json",
"contributors": [
"KISHORE-KUMAR-S"
],
"tags": [
"shape",
"geometry",
"rounded",
"smooth",
"outline",
"form",
"boundary",
"curve",
"shapes",
"ellipse",
"oval"
],
"categories": [
"shapes"
]
}
+13
View File
@@ -0,0 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<ellipse cx="12" cy="12" rx="10" ry="6" />
</svg>

After

Width:  |  Height:  |  Size: 253 B

+112 -136
View File
@@ -199,7 +199,7 @@ importers:
version: 1.15.4
nitropack:
specifier: ^2.12.4
version: 2.13.1(@vercel/blob@2.0.0)(encoding@0.1.13)(xml2js@0.6.2)
version: 2.13.1(@vercel/blob@2.3.0)(encoding@0.1.13)(xml2js@0.6.2)
rollup-plugin-copy:
specifier: ^3.5.0
version: 3.5.0
@@ -226,7 +226,7 @@ importers:
version: 6.9.1
astro:
specifier: ^5.16.0
version: 5.16.0(@types/node@24.10.1)(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0)(jiti@2.6.1)(less@4.2.0)(rollup@4.59.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.0)
version: 5.16.0(@types/node@24.10.1)(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0)(jiti@2.6.1)(less@4.2.0)(rollup@4.59.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.0)
jest-serializer-html:
specifier: ^7.1.0
version: 7.1.0
@@ -810,6 +810,9 @@ importers:
tools/build-font:
dependencies:
'@vercel/blob':
specifier: ^2.3.0
version: 2.3.0
fs-extra:
specifier: ^11.2.0
version: 11.3.2
@@ -1178,8 +1181,8 @@ packages:
resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
engines: {node: '>=6.9.0'}
'@babel/code-frame@7.28.6':
resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==}
'@babel/code-frame@7.29.0':
resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
engines: {node: '>=6.9.0'}
'@babel/compat-data@7.26.8':
@@ -1449,8 +1452,8 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
'@babel/parser@7.28.6':
resolution: {integrity: sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==}
'@babel/parser@7.29.0':
resolution: {integrity: sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -2397,6 +2400,10 @@ packages:
resolution: {integrity: sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==}
engines: {node: '>=6.9.0'}
'@babel/types@7.29.0':
resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==}
engines: {node: '>=6.9.0'}
'@capsizecss/unpack@3.0.1':
resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==}
engines: {node: '>=18'}
@@ -3574,14 +3581,6 @@ packages:
'@ioredis/commands@1.5.1':
resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==}
'@isaacs/balanced-match@4.0.1':
resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
engines: {node: 20 || >=22}
'@isaacs/brace-expansion@5.0.0':
resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
engines: {node: 20 || >=22}
'@isaacs/cliui@8.0.2':
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
@@ -5602,8 +5601,8 @@ packages:
cpu: [x64]
os: [win32]
'@vercel/blob@2.0.0':
resolution: {integrity: sha512-oAj7Pdy83YKSwIaMFoM7zFeLYWRc+qUpW3PiDSblxQMnGFb43qs4bmfq7dr/+JIfwhs6PTwe1o2YBwKhyjWxXw==}
'@vercel/blob@2.3.0':
resolution: {integrity: sha512-oYWiJbWRQ7gz9Mj0X/NHFJ3OcLMOBzq/2b3j6zeNrQmtFo6dHwU8FAwNpxVIYddVMd+g8eqEi7iRueYx8FtM0Q==}
engines: {node: '>=20.0.0'}
'@vercel/nft@1.3.2':
@@ -9979,10 +9978,6 @@ packages:
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
minimatch@10.1.1:
resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==}
engines: {node: 20 || >=22}
minimatch@10.2.4:
resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
engines: {node: 18 || 20 || >=22}
@@ -10058,10 +10053,6 @@ packages:
resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
engines: {node: '>=8'}
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
minipass@7.1.3:
resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -10681,10 +10672,6 @@ packages:
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
engines: {node: '>=16 || 14 >=14.18'}
path-scurry@2.0.0:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
path-scurry@2.0.2:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
@@ -12706,6 +12693,10 @@ packages:
resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==}
engines: {node: '>=18.17'}
undici@6.23.0:
resolution: {integrity: sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==}
engines: {node: '>=18.17'}
unenv@2.0.0-rc.24:
resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==}
@@ -14198,11 +14189,11 @@ snapshots:
'@babel/code-frame@7.27.1':
dependencies:
'@babel/helper-validator-identifier': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
picocolors: 1.1.1
'@babel/code-frame@7.28.6':
'@babel/code-frame@7.29.0':
dependencies:
'@babel/helper-validator-identifier': 7.28.5
js-tokens: 4.0.0
@@ -14221,7 +14212,7 @@ snapshots:
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.16.12)
'@babel/helpers': 7.26.9
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.1
'@babel/traverse': 7.27.1
'@babel/types': 7.28.6
@@ -14242,7 +14233,7 @@ snapshots:
'@babel/helper-compilation-targets': 7.26.5
'@babel/helper-module-transforms': 7.26.0(@babel/core@7.25.2)
'@babel/helpers': 7.26.9
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.1
'@babel/traverse': 7.27.1
'@babel/types': 7.28.6
@@ -14262,7 +14253,7 @@ snapshots:
'@babel/helper-compilation-targets': 7.27.2
'@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0)
'@babel/helpers': 7.28.2
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.2
'@babel/traverse': 7.28.0
'@babel/types': 7.28.6
@@ -14302,7 +14293,7 @@ snapshots:
'@babel/generator@7.27.1':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
@@ -14310,7 +14301,7 @@ snapshots:
'@babel/generator@7.28.0':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
@@ -14318,7 +14309,7 @@ snapshots:
'@babel/generator@7.28.5':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
@@ -14326,7 +14317,7 @@ snapshots:
'@babel/generator@7.28.6':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
@@ -14685,9 +14676,9 @@ snapshots:
dependencies:
'@babel/types': 7.28.6
'@babel/parser@7.28.6':
'@babel/parser@7.29.0':
dependencies:
'@babel/types': 7.28.6
'@babel/types': 7.29.0
'@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.28.5(@babel/core@7.28.5)':
dependencies:
@@ -15162,7 +15153,7 @@ snapshots:
dependencies:
'@babel/core': 7.16.12
'@babel/helper-plugin-utils': 7.27.1
'@babel/template': 7.27.2
'@babel/template': 7.28.6
'@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.5)':
dependencies:
@@ -15920,32 +15911,32 @@ snapshots:
'@babel/template@7.16.7':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@babel/template@7.27.1':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@babel/template@7.27.2':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@babel/template@7.28.6':
dependencies:
'@babel/code-frame': 7.28.6
'@babel/parser': 7.28.6
'@babel/code-frame': 7.29.0
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@babel/traverse@7.27.1':
dependencies:
'@babel/code-frame': 7.27.1
'@babel/generator': 7.27.1
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.2
'@babel/types': 7.28.6
debug: 4.4.3
@@ -15958,7 +15949,7 @@ snapshots:
'@babel/code-frame': 7.27.1
'@babel/generator': 7.28.0
'@babel/helper-globals': 7.28.0
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.2
'@babel/types': 7.28.6
debug: 4.4.3
@@ -15970,7 +15961,7 @@ snapshots:
'@babel/code-frame': 7.27.1
'@babel/generator': 7.28.5
'@babel/helper-globals': 7.28.0
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.2
'@babel/types': 7.28.6
debug: 4.4.3
@@ -15979,10 +15970,10 @@ snapshots:
'@babel/traverse@7.28.6':
dependencies:
'@babel/code-frame': 7.28.6
'@babel/code-frame': 7.29.0
'@babel/generator': 7.28.6
'@babel/helper-globals': 7.28.0
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.28.6
'@babel/types': 7.28.6
debug: 4.4.3
@@ -15999,6 +15990,11 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
'@babel/types@7.29.0':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.28.5
'@capsizecss/unpack@3.0.1':
dependencies:
fontkit: 2.0.4
@@ -16815,12 +16811,6 @@ snapshots:
'@ioredis/commands@1.5.1': {}
'@isaacs/balanced-match@4.0.1': {}
'@isaacs/brace-expansion@5.0.0':
dependencies:
'@isaacs/balanced-match': 4.0.1
'@isaacs/cliui@8.0.2':
dependencies:
string-width: 5.1.2
@@ -16832,7 +16822,7 @@ snapshots:
'@isaacs/fs-minipass@4.0.1':
dependencies:
minipass: 7.1.2
minipass: 7.1.3
'@isaacs/ttlcache@1.4.1': {}
@@ -17744,7 +17734,7 @@ snapshots:
'@react-native/codegen@0.76.9(@babel/preset-env@7.28.5(@babel/core@7.28.5))':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/preset-env': 7.28.5(@babel/core@7.28.5)
glob: 7.2.3
hermes-parser: 0.23.1
@@ -18537,7 +18527,7 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@types/babel__generator': 7.6.4
'@types/babel__template': 7.4.1
@@ -18549,7 +18539,7 @@ snapshots:
'@types/babel__template@7.4.1':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
'@types/babel__traverse@7.20.1':
@@ -18691,7 +18681,7 @@ snapshots:
'@types/minimatch@6.0.0':
dependencies:
minimatch: 10.1.1
minimatch: 10.2.4
'@types/minimist@1.2.5': {}
@@ -19054,21 +19044,20 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.6.2':
optional: true
'@vercel/blob@2.0.0':
'@vercel/blob@2.3.0':
dependencies:
async-retry: 1.3.3
is-buffer: 2.0.5
is-node-process: 1.2.0
throttleit: 2.1.0
undici: 5.28.5
optional: true
undici: 6.23.0
'@vercel/nft@1.3.2(encoding@0.1.13)(rollup@4.59.0)':
dependencies:
'@mapbox/node-pre-gyp': 2.0.3(encoding@0.1.13)
'@rollup/pluginutils': 5.3.0(rollup@4.59.0)
acorn: 8.15.0
acorn-import-attributes: 1.9.5(acorn@8.15.0)
acorn: 8.16.0
acorn-import-attributes: 1.9.5(acorn@8.16.0)
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -19163,7 +19152,7 @@ snapshots:
'@vue/compiler-core@3.5.24':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@vue/shared': 3.5.24
entities: 4.5.0
estree-walker: 2.0.2
@@ -19176,7 +19165,7 @@ snapshots:
'@vue/compiler-sfc@2.7.14':
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
postcss: 8.5.6
source-map: 0.6.1
@@ -19414,28 +19403,28 @@ snapshots:
acorn-globals@7.0.1:
dependencies:
acorn: 8.15.0
acorn: 8.16.0
acorn-walk: 8.3.3
acorn-import-assertions@1.9.0(acorn@8.15.0):
acorn-import-assertions@1.9.0(acorn@8.16.0):
dependencies:
acorn: 8.15.0
acorn: 8.16.0
acorn-import-attributes@1.9.5(acorn@8.15.0):
acorn-import-attributes@1.9.5(acorn@8.16.0):
dependencies:
acorn: 8.15.0
acorn: 8.16.0
acorn-jsx@5.3.2(acorn@8.14.1):
dependencies:
acorn: 8.14.1
acorn-jsx@5.3.2(acorn@8.15.0):
acorn-jsx@5.3.2(acorn@8.16.0):
dependencies:
acorn: 8.15.0
acorn: 8.16.0
acorn-walk@8.3.3:
dependencies:
acorn: 8.15.0
acorn: 8.16.0
acorn@8.12.1: {}
@@ -19713,7 +19702,7 @@ snapshots:
dependencies:
tslib: 2.8.1
astro@5.16.0(@types/node@24.10.1)(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0)(jiti@2.6.1)(less@4.2.0)(rollup@4.59.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.0):
astro@5.16.0(@types/node@24.10.1)(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0)(jiti@2.6.1)(less@4.2.0)(rollup@4.59.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(typescript@5.9.3)(yaml@2.8.0):
dependencies:
'@astrojs/compiler': 2.13.0
'@astrojs/internal-helpers': 0.7.5
@@ -19768,7 +19757,7 @@ snapshots:
ultrahtml: 1.6.0
unifont: 0.6.0
unist-util-visit: 5.0.0
unstorage: 1.17.3(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0)
unstorage: 1.17.3(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0)
vfile: 6.0.3
vite: 6.4.1(@types/node@24.10.1)(jiti@2.6.1)(less@4.2.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(yaml@2.8.0)
vitefu: 1.1.1(vite@6.4.1(@types/node@24.10.1)(jiti@2.6.1)(less@4.2.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(yaml@2.8.0))
@@ -19822,7 +19811,6 @@ snapshots:
async-retry@1.3.3:
dependencies:
retry: 0.13.1
optional: true
async-sema@3.1.1: {}
@@ -20278,7 +20266,7 @@ snapshots:
fs-minipass: 3.0.3
glob: 10.5.0
lru-cache: 10.4.3
minipass: 7.1.2
minipass: 7.1.3
minipass-collect: 2.0.1
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
@@ -20510,7 +20498,7 @@ snapshots:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
'@types/estree': 1.0.8
acorn: 8.15.0
acorn: 8.16.0
estree-walker: 3.0.3
periscopic: 3.1.0
@@ -21923,8 +21911,8 @@ snapshots:
espree@10.4.0:
dependencies:
acorn: 8.15.0
acorn-jsx: 5.3.2(acorn@8.15.0)
acorn: 8.16.0
acorn-jsx: 5.3.2(acorn@8.16.0)
eslint-visitor-keys: 4.2.1
espree@9.6.1:
@@ -22309,7 +22297,7 @@ snapshots:
fs-minipass@3.0.3:
dependencies:
minipass: 7.1.2
minipass: 7.1.3
fs-monkey@1.0.6: {}
@@ -22417,7 +22405,7 @@ snapshots:
foreground-child: 3.3.1
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
minipass: 7.1.3
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
@@ -22425,10 +22413,10 @@ snapshots:
dependencies:
foreground-child: 3.3.1
jackspeak: 4.1.1
minimatch: 10.1.1
minipass: 7.1.2
minimatch: 10.2.4
minipass: 7.1.3
package-json-from-dist: 1.0.1
path-scurry: 2.0.0
path-scurry: 2.0.2
glob@13.0.6:
dependencies:
@@ -23029,8 +23017,7 @@ snapshots:
is-buffer@1.1.6: {}
is-buffer@2.0.5:
optional: true
is-buffer@2.0.5: {}
is-builtin-module@3.2.1:
dependencies:
@@ -23102,8 +23089,7 @@ snapshots:
is-negative-zero@2.0.3: {}
is-node-process@1.2.0:
optional: true
is-node-process@1.2.0: {}
is-number-object@1.1.1:
dependencies:
@@ -23238,7 +23224,7 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.16.12
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 7.7.3
@@ -23318,7 +23304,7 @@ snapshots:
jest-message-util@29.7.0:
dependencies:
'@babel/code-frame': 7.28.6
'@babel/code-frame': 7.29.0
'@jest/types': 29.6.3
'@types/stack-utils': 2.0.1
chalk: 4.1.2
@@ -23422,7 +23408,7 @@ snapshots:
jscodeshift@0.14.0(@babel/preset-env@7.28.5(@babel/core@7.28.5)):
dependencies:
'@babel/core': 7.28.5
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.5)
'@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.5)
'@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.5)
@@ -23509,7 +23495,7 @@ snapshots:
jsonc-eslint-parser@2.4.0:
dependencies:
acorn: 8.15.0
acorn: 8.16.0
eslint-visitor-keys: 3.4.3
espree: 9.6.1
semver: 7.7.3
@@ -23874,7 +23860,7 @@ snapshots:
magicast@0.5.1:
dependencies:
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
source-map-js: 1.2.1
@@ -23921,7 +23907,7 @@ snapshots:
cacache: 18.0.4
http-cache-semantics: 4.2.0
is-lambda: 1.0.1
minipass: 7.1.2
minipass: 7.1.3
minipass-fetch: 3.0.4
minipass-flush: 1.0.5
minipass-pipeline: 1.2.4
@@ -24255,7 +24241,7 @@ snapshots:
dependencies:
'@babel/core': 7.28.5
'@babel/generator': 7.28.6
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/types': 7.28.6
flow-enums-runtime: 0.0.6
metro: 0.81.5
@@ -24276,7 +24262,7 @@ snapshots:
'@babel/code-frame': 7.27.1
'@babel/core': 7.28.5
'@babel/generator': 7.28.5
'@babel/parser': 7.28.6
'@babel/parser': 7.29.0
'@babel/template': 7.27.2
'@babel/traverse': 7.28.5
'@babel/types': 7.28.6
@@ -24558,10 +24544,6 @@ snapshots:
minimalistic-assert@1.0.1: {}
minimatch@10.1.1:
dependencies:
'@isaacs/brace-expansion': 5.0.0
minimatch@10.2.4:
dependencies:
brace-expansion: 5.0.4
@@ -24602,7 +24584,7 @@ snapshots:
minipass-collect@2.0.1:
dependencies:
minipass: 7.1.2
minipass: 7.1.3
minipass-fetch@1.4.1:
dependencies:
@@ -24622,7 +24604,7 @@ snapshots:
minipass-fetch@3.0.4:
dependencies:
minipass: 7.1.2
minipass: 7.1.3
minipass-sized: 1.0.3
minizlib: 2.1.2
optionalDependencies:
@@ -24651,8 +24633,6 @@ snapshots:
minipass@5.0.0: {}
minipass@7.1.2: {}
minipass@7.1.3: {}
minisearch@7.2.0: {}
@@ -24664,7 +24644,7 @@ snapshots:
minizlib@3.1.0:
dependencies:
minipass: 7.1.2
minipass: 7.1.3
mitt@3.0.1: {}
@@ -24676,7 +24656,7 @@ snapshots:
mlly@1.8.0:
dependencies:
acorn: 8.15.0
acorn: 8.16.0
pathe: 2.0.3
pkg-types: 1.3.1
ufo: 1.6.3
@@ -24781,7 +24761,7 @@ snapshots:
node-gyp-build: 4.8.4
optional: true
nitropack@2.13.1(@vercel/blob@2.0.0)(encoding@0.1.13)(xml2js@0.6.2):
nitropack@2.13.1(@vercel/blob@2.3.0)(encoding@0.1.13)(xml2js@0.6.2):
dependencies:
'@cloudflare/kv-asset-handler': 0.4.2
'@rollup/plugin-alias': 6.0.0(rollup@4.59.0)
@@ -24848,7 +24828,7 @@ snapshots:
unenv: 2.0.0-rc.24
unimport: 5.7.0
unplugin-utils: 0.3.1
unstorage: 1.17.4(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0)
unstorage: 1.17.4(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0)
untyped: 2.0.0
unwasm: 0.5.3
youch: 4.1.0
@@ -25437,7 +25417,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
'@babel/code-frame': 7.28.6
'@babel/code-frame': 7.29.0
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -25509,12 +25489,7 @@ snapshots:
path-scurry@1.11.1:
dependencies:
lru-cache: 10.4.3
minipass: 7.1.2
path-scurry@2.0.0:
dependencies:
lru-cache: 11.2.2
minipass: 7.1.2
minipass: 7.1.3
path-scurry@2.0.2:
dependencies:
@@ -27295,7 +27270,7 @@ snapshots:
ssri@10.0.5:
dependencies:
minipass: 7.1.2
minipass: 7.1.3
ssri@8.0.1:
dependencies:
@@ -27734,7 +27709,7 @@ snapshots:
dependencies:
'@isaacs/fs-minipass': 4.0.1
chownr: 3.0.0
minipass: 7.1.2
minipass: 7.1.3
minizlib: 3.1.0
yallist: 5.0.0
@@ -27757,21 +27732,21 @@ snapshots:
terser@5.14.2:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.15.0
acorn: 8.16.0
commander: 2.20.3
source-map-support: 0.5.21
terser@5.39.2:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.15.0
acorn: 8.16.0
commander: 2.20.3
source-map-support: 0.5.21
terser@5.44.1:
dependencies:
'@jridgewell/source-map': 0.3.11
acorn: 8.15.0
acorn: 8.16.0
commander: 2.20.3
source-map-support: 0.5.21
@@ -27799,8 +27774,7 @@ snapshots:
throat@5.0.0: {}
throttleit@2.1.0:
optional: true
throttleit@2.1.0: {}
through2@2.0.5:
dependencies:
@@ -28067,7 +28041,7 @@ snapshots:
unctx@2.5.0:
dependencies:
acorn: 8.15.0
acorn: 8.16.0
estree-walker: 3.0.3
magic-string: 0.30.21
unplugin: 2.3.11
@@ -28082,6 +28056,8 @@ snapshots:
undici@6.21.3: {}
undici@6.23.0: {}
unenv@2.0.0-rc.24:
dependencies:
pathe: 2.0.3
@@ -28263,22 +28239,22 @@ snapshots:
'@unrs/resolver-binding-win32-ia32-msvc': 1.6.2
'@unrs/resolver-binding-win32-x64-msvc': 1.6.2
unstorage@1.17.3(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0):
unstorage@1.17.3(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0):
dependencies:
anymatch: 3.1.3
chokidar: 4.0.3
destr: 2.0.5
h3: 1.15.4
h3: 1.15.5
lru-cache: 10.4.3
node-fetch-native: 1.6.7
ofetch: 1.5.1
ufo: 1.6.1
ufo: 1.6.3
optionalDependencies:
'@vercel/blob': 2.0.0
'@vercel/blob': 2.3.0
db0: 0.3.4
ioredis: 5.10.0
unstorage@1.17.4(@vercel/blob@2.0.0)(db0@0.3.4)(ioredis@5.10.0):
unstorage@1.17.4(@vercel/blob@2.3.0)(db0@0.3.4)(ioredis@5.10.0):
dependencies:
anymatch: 3.1.3
chokidar: 5.0.0
@@ -28289,7 +28265,7 @@ snapshots:
ofetch: 1.5.1
ufo: 1.6.3
optionalDependencies:
'@vercel/blob': 2.0.0
'@vercel/blob': 2.3.0
db0: 0.3.4
ioredis: 5.10.0
@@ -28429,7 +28405,7 @@ snapshots:
vite@6.3.6(@types/node@24.10.1)(jiti@2.6.1)(less@4.2.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.44.1)(yaml@2.8.0):
dependencies:
esbuild: 0.25.12
fdir: 6.4.6(picomatch@4.0.3)
fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
rollup: 4.59.0
@@ -28718,8 +28694,8 @@ snapshots:
'@webassemblyjs/ast': 1.11.1
'@webassemblyjs/wasm-edit': 1.11.1
'@webassemblyjs/wasm-parser': 1.11.1
acorn: 8.15.0
acorn-import-assertions: 1.9.0(acorn@8.15.0)
acorn: 8.16.0
acorn-import-assertions: 1.9.0(acorn@8.16.0)
browserslist: 4.24.2
chrome-trace-event: 1.0.4
enhanced-resolve: 5.18.1
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -6,12 +6,13 @@
"main": "main.ts",
"type": "module",
"scripts": {
"start": "node ./src/main.ts"
"start": "node --env-file-if-exists=.env ./src/main.ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@vercel/blob": "^2.3.0",
"fs-extra": "^11.2.0",
"minimist": "^1.2.8",
"oslllo-svg-fixer": "^5.0.0",
+15 -14
View File
@@ -2,18 +2,18 @@ import { type IconAliases } from '@lucide/helpers';
import path from 'path';
import { promises as fs } from 'fs';
import { cwd } from 'process';
import { put } from '@vercel/blob';
const VERCEL_BLOB_CODEPOINTS_PATH = 'latest/font/codepoints.json';
export type CodePoints = Record<string, number>;
async function getLatestCodePoints(): Promise<CodePoints> {
// This is for the first release where no codepoints.json exists yet
const codepointsContents = await fs.readFile(path.join(cwd(), 'codepoints.json'), 'utf-8');
const codepointsContents = await fetch(
`https://geoxmjocxfnaryc4.public.blob.vercel-storage.com/${VERCEL_BLOB_CODEPOINTS_PATH}`,
);
return JSON.parse(codepointsContents) as CodePoints;
// TODO: Next releases will use the codepoints.json from latest release in lucide-static.
// const codepointsContents = await fetch('https://unpkg.com/lucide-static@latest/font/codepoints.json')
// return codepointsContents.json() as Promise<CodePoints>
return codepointsContents.json() as Promise<CodePoints>;
}
interface AllocateCodePointsOptions {
@@ -27,10 +27,10 @@ export async function allocateCodePoints({
}: AllocateCodePointsOptions): Promise<CodePoints> {
const baseCodePoints = await getLatestCodePoints();
const endCodePoint = Math.max(...Object.values(baseCodePoints));
await Promise.all(
iconsWithAliases.map(async ([iconName, aliases]) => {
const endCodePoint = Math.max(...Object.values(baseCodePoints));
if (!baseCodePoints[iconName]) {
console.log('Code point not found creating new one for', iconName);
baseCodePoints[iconName] = endCodePoint + 1;
@@ -49,11 +49,12 @@ export async function allocateCodePoints({
);
if (saveCodePoints) {
await fs.writeFile(
path.join(cwd(), 'codepoints.json'),
JSON.stringify(baseCodePoints, null, 2),
'utf-8',
);
const content = JSON.stringify(baseCodePoints, null, 2);
await fs.writeFile(path.join(cwd(), 'codepoints.json'), content, 'utf-8');
await put(VERCEL_BLOB_CODEPOINTS_PATH, content, { access: 'public', allowOverwrite: true });
console.log('Code points saved to codepoints.json and uploaded to Vercel Blob Storage.');
}
return baseCodePoints;
+6
View File
@@ -20,6 +20,12 @@ const iconsDir = path.join(repoRoot, 'icons');
const outlinedDir = path.join(repoRoot, 'outlined');
const targetDir = path.join(repoRoot, outputDir);
if (saveCodePoints && !process.env.BLOB_READ_WRITE_TOKEN) {
throw new Error(
'Saving code points requires BLOB_READ_WRITE_TOKEN environment variable to be set.',
);
}
const iconsWithAliases = await getAllIconAliases(iconsDir);
await outlineSVG({