mirror of
https://github.com/lucide-icons/lucide.git
synced 2025-12-16 19:37:40 +01:00
Improve types export for lucide-react (#1424)
* Add types plugin * Add js doc comment * Only enable dynamic imports for CJS and ESM builds * Add documentation * Adjust docs * Add test for dynamic import * Adjust note * Adjustment in docs
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import plugins, { replace } from '@lucide/rollup-plugins';
|
||||
import pkg from './package.json' assert { type: 'json' };
|
||||
import dts from "rollup-plugin-dts";
|
||||
|
||||
const packageName = 'LucideReact';
|
||||
const outputFileName = 'lucide-react';
|
||||
@@ -21,19 +22,21 @@ const bundles = [
|
||||
format: 'cjs',
|
||||
inputs,
|
||||
outputDir,
|
||||
aliasesSupport: true
|
||||
aliasesSupport: true,
|
||||
withDynamicImports: true,
|
||||
},
|
||||
{
|
||||
format: 'esm',
|
||||
inputs,
|
||||
outputDir,
|
||||
preserveModules: true,
|
||||
aliasesSupport: true
|
||||
aliasesSupport: true,
|
||||
withDynamicImports: true,
|
||||
},
|
||||
];
|
||||
|
||||
const configs = bundles
|
||||
.map(({ inputs, outputDir, format, minify, preserveModules, aliasesSupport }) =>
|
||||
.map(({ inputs, outputDir, format, minify, preserveModules, aliasesSupport, withDynamicImports }) =>
|
||||
inputs.map(input => ({
|
||||
input,
|
||||
plugins: [
|
||||
@@ -47,6 +50,15 @@ const configs = bundles
|
||||
}),
|
||||
] : []
|
||||
),
|
||||
...(
|
||||
!withDynamicImports ? [
|
||||
replace({
|
||||
"export { default as dynamicIconImports } from './dynamicIconImports';": '',
|
||||
delimiters: ['', ''],
|
||||
preventAssignment: false,
|
||||
}),
|
||||
] : []
|
||||
),
|
||||
...plugins(pkg, minify)
|
||||
],
|
||||
external: ['react', 'prop-types'],
|
||||
@@ -71,4 +83,13 @@ const configs = bundles
|
||||
)
|
||||
.flat();
|
||||
|
||||
export default configs;
|
||||
export default [
|
||||
{
|
||||
input: inputs[0],
|
||||
output: [{
|
||||
file: `dist/${outputFileName}.d.ts`, format: "es"
|
||||
}],
|
||||
plugins: [dts()],
|
||||
},
|
||||
...configs
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user