diff --git a/packages/lucide-preact/scripts/exportTemplate.mts b/packages/lucide-preact/scripts/exportTemplate.mts
index 8eaa0baa6..94c7922a9 100644
--- a/packages/lucide-preact/scripts/exportTemplate.mts
+++ b/packages/lucide-preact/scripts/exportTemplate.mts
@@ -8,9 +8,14 @@ export default defineExportTemplate(
return `
import createLucideIcon from '../createLucideIcon';
-import type { LucideIconData } from '../types';
+import type { LucideIconNode, LucideIconData } from '../types';
-const iconData: LucideIconData = ${JSON.stringify(iconData)};
+export const __iconData: LucideIconData = ${JSON.stringify(iconData)};
+
+/**
+ * @deprecated Access \`__iconData\` instead.
+ */
+export const __iconNode: LucideIconNode[] = __iconData.node;
/**
* @component @name ${componentName}
@@ -23,7 +28,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)};
* @returns {JSX.Element} JSX Element
* ${deprecated ? `@deprecated ${deprecationReason}` : ''}
*/
-const ${componentName} = createLucideIcon(iconData);
+const ${componentName} = createLucideIcon(__iconData);
export default ${componentName};
`;
diff --git a/packages/lucide-preact/tests/createLucideIcon.spec.tsx b/packages/lucide-preact/tests/createLucideIcon.spec.tsx
index f2b20a952..22b9e1251 100644
--- a/packages/lucide-preact/tests/createLucideIcon.spec.tsx
+++ b/packages/lucide-preact/tests/createLucideIcon.spec.tsx
@@ -1,9 +1,18 @@
import { describe, it, expect } from 'vitest';
import { createLucideIcon } from '../src/lucide-preact';
+import { __iconData, __iconNode } from '../src/icons/air-vent';
import { airVent } from './testIconNodes';
import { render } from '@testing-library/preact';
describe('Using createLucideIcon', () => {
+ it('should export __iconData and __iconNode from icon module', () => {
+ expect(__iconData).toBeDefined();
+ expect(__iconData.node).toBeDefined();
+ expect(__iconNode).toBeDefined();
+ expect(Array.isArray(__iconNode)).toBe(true);
+ expect(__iconNode.length).toBeGreaterThan(0);
+ });
+
it('should create a component from icon data', () => {
const AirVent = createLucideIcon({
name: 'air-vent',
diff --git a/packages/lucide-react-native/scripts/exportTemplate.mts b/packages/lucide-react-native/scripts/exportTemplate.mts
index c09cf5042..64cec733c 100644
--- a/packages/lucide-react-native/scripts/exportTemplate.mts
+++ b/packages/lucide-react-native/scripts/exportTemplate.mts
@@ -8,9 +8,14 @@ export default defineExportTemplate(
return `
import createLucideIcon from '../createLucideIcon';
-import type { LucideIconData } from '../types';
+import type { LucideIconNode, LucideIconData } from '../types';
-const iconData: LucideIconData = ${JSON.stringify(iconData)};
+export const __iconData: LucideIconData = ${JSON.stringify(iconData)};
+
+/**
+ * @deprecated Access \`__iconData\` instead.
+ */
+export const __iconNode: LucideIconNode[] = __iconData.node;
/**
* @component @name ${componentName}
@@ -23,7 +28,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)};
* @returns {JSX.Element} JSX Element
* ${deprecated ? `@deprecated ${deprecationReason}` : ''}
*/
-const ${componentName} = createLucideIcon(iconData);
+const ${componentName} = createLucideIcon(__iconData);
export default ${componentName};
`;
diff --git a/packages/lucide-solid/scripts/exportTemplate.mts b/packages/lucide-solid/scripts/exportTemplate.mts
index 6a2b6d376..0dcdc8f5c 100644
--- a/packages/lucide-solid/scripts/exportTemplate.mts
+++ b/packages/lucide-solid/scripts/exportTemplate.mts
@@ -8,9 +8,14 @@ export default defineExportTemplate(
return `
import Icon from '../Icon';
-import type { LucideIconData, LucideProps } from '../types';
+import type { LucideIconData, LucideIconNode, LucideProps } from '../types';
-const iconData: LucideIconData = ${JSON.stringify(iconData)};
+export const __iconData: LucideIconData = ${JSON.stringify(iconData)};
+
+/**
+ * @deprecated Access \`__iconData\` instead.
+ */
+export const __iconNode: LucideIconNode[] = __iconData.node;
/**
* @component @name ${componentName}
@@ -24,7 +29,7 @@ const iconData: LucideIconData = ${JSON.stringify(iconData)};
* ${deprecated ? `@deprecated ${deprecationReason}` : ''}
*/
const ${componentName} = (props: LucideProps) => (
-
+
)
export default ${componentName};