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

This commit is contained in:
Eric
2026-11-06 12:09:27 +01:00
3681 changed files with 79078 additions and 25481 deletions
+1 -2
View File
@@ -1,13 +1,12 @@
import { eventHandler, setResponseHeader } from 'h3';
import iconNodes from '~/.vitepress/data/iconNodes/index.ts';
import { IconNodeWithKeys } from '~/.vitepress/theme/types';
import iconMetaData from '~/.vitepress/data/iconMetaData';
import releaseMeta from '~/.vitepress/data/releaseMetaData.json';
import categories from '~/.vitepress/data/categoriesData.json';
const dataResponse = {
icons: Object.entries(iconNodes).reduce((acc, [name, iconNode]) => {
const newIconNode = (iconNode as IconNodeWithKeys).map(([name, { key, ...attrs }]) => {
const newIconNode = iconNode.map(([name, { key, ...attrs }]) => {
return [name, attrs];
});
-1
View File
@@ -41,7 +41,6 @@ export default eventHandler((event) => {
<Diff
oldSrc={oldSrc}
newSrc={newSrc}
showGrid
height={height}
width={width}
>
@@ -48,7 +48,6 @@ export default eventHandler((event) => {
<Diff
oldSrc={oldSrc}
newSrc={newSrc}
showGrid
height={height}
width={width}
>
+1 -2
View File
@@ -1,6 +1,5 @@
import { eventHandler, getQuery, setResponseHeader } from 'h3';
import iconNodes from '~/.vitepress/data/iconNodes';
import { IconNodeWithKeys } from '~/.vitepress/theme/types';
export default eventHandler((event) => {
const query = getQuery(event);
@@ -19,7 +18,7 @@ export default eventHandler((event) => {
return [name, iconNode];
}
const newIconNode = (iconNode as IconNodeWithKeys).map(([name, { key, ...attrs }]) => {
const newIconNode = iconNode.map(([name, { key, ...attrs }]) => {
return [name, attrs];
});
+6 -5
View File
@@ -18,11 +18,12 @@ export default eventHandler((event) => {
return sendError(event, error);
}
const width = getQuery(event).width || undefined;
const height = getQuery(event).height || undefined;
const color = getQuery(event).color || undefined;
const strokeWidth = getQuery(event).strokeWidth || undefined;
const background = getQuery(event).background || undefined;
const query = getQuery<Record<string, string | undefined>>(event);
const width = query.width || undefined;
const height = query.height || undefined;
const color = query.color || undefined;
const strokeWidth = query.strokeWidth || undefined;
const background = query.background || undefined;
const LucideIcon = createLucideIcon(params.iconName, iconNode);
+25
View File
@@ -0,0 +1,25 @@
import { eventHandler, setResponseHeader } from 'h3';
import iconMetaData from '~/.vitepress/data/lab/iconMetaData';
import iconPopularity from '~/.vitepress/data/lab/iconPopularity';
import iconNodes from '~/.vitepress/data/lab/iconNodes';
export default eventHandler((event) => {
setResponseHeader(event, 'Access-Control-Allow-Origin', '*');
return Object.fromEntries(
Object.entries(iconMetaData).map(([iconName, iconData]) => {
// Remove $schema from the response
delete iconData['$schema'];
return [
iconName,
{
name: iconName,
iconNode: iconNodes[iconName],
popularity: iconPopularity[iconName]?.count ?? 0,
...iconData,
},
];
}),
);
});
+14
View File
@@ -0,0 +1,14 @@
import { eventHandler, setResponseHeader } from 'h3';
import iconMetaData from '~/.vitepress/data/lab/iconMetaData';
export default eventHandler((event) => {
setResponseHeader(event, 'Cache-Control', 'public, max-age=86400');
setResponseHeader(event, 'Access-Control-Allow-Origin', '*');
for (const iconDetail in iconMetaData) {
// Remove $schema from the response
delete iconMetaData[iconDetail]['$schema'];
}
return iconMetaData;
});
+30
View File
@@ -0,0 +1,30 @@
import { eventHandler, getQuery, setResponseHeader } from 'h3';
import iconNodes from '~/.vitepress/data/lab/iconNodes';
type IconNodeWithKeys = [elementName: string, attrs: Record<string, string> & { key?: string }][];
export default eventHandler((event) => {
const query = getQuery(event);
const withUniqueKeys = query.withUniqueKeys === 'true';
setResponseHeader(event, 'Cache-Control', 'public, max-age=86400');
setResponseHeader(event, 'Access-Control-Allow-Origin', '*');
if (withUniqueKeys) {
return iconNodes;
}
return Object.entries(iconNodes).reduce((acc, [name, iconNode]) => {
if (withUniqueKeys) {
return [name, iconNode];
}
const newIconNode = (iconNode as IconNodeWithKeys).map(([name, { key, ...attrs }]) => {
return [name, attrs];
});
acc[name] = newIconNode;
return acc;
}, {});
});