add umd, umd.min, es bundles

This commit is contained in:
tabler.developer@gmail.com 2023-03-19 21:17:45 +01:00
parent 0a505485b9
commit 783b33de8e
2 changed files with 59 additions and 84 deletions

View File

@ -9,7 +9,9 @@
"url": "git+https://github.com/tabler/tabler-icons.git"
},
"main": "dist/cjs/index.js",
"main:es": "dist/es/index.js",
"main:umd": "dist/umd/index.js",
"main:umd:min": "dist/umd/index.min.js",
"module": "dist/esm/index.js",
"unpkg": "dist/umd/index.min.js",
"sideEffects": false,

View File

@ -7,108 +7,81 @@ import pkg from "./package.json" assert { type: "json" }
import typescript from "@rollup/plugin-typescript";
import json from '@rollup/plugin-json';
// const packageName = '@tabler/icons';
// const outputFileName = 'tabler-icons';
// const outputDir = 'dist';
// const inputs = ['./src/tabler-icons.js'];
// const bundles = [
// {
// format: 'umd',
// inputs,
// outputDir,
// minify: true,
// },
// {
// format: 'umd',
// inputs,
// outputDir,
// },
// {
// format: 'cjs',
// inputs,
// outputDir,
// },
// {
// format: 'es',
// inputs,
// outputDir,
// },
// {
// format: 'esm',
// inputs,
// outputDir,
// preserveModules: true,
// },
// ];
const sharedOutput = {
name: '@tabler/icons',
sourcemap: true,
}
// const configs = bundles
// .map(({ inputs, outputDir, format, minify, preserveModules }) =>
// inputs.map(input => ({
// input,
// plugins: [
// dts(),
// esbuild({
// minify
// }),
// license({
// banner: `${pkg.name} v${pkg.version} - ${pkg.license}`
// }),
// bundleSize(),
// visualizer({
// sourcemap: false,
// filename: `stats/${pkg.name}${minify ? '-min' : ''}.html`
// }),
// json()
// ].filter(Boolean),
// output: {
// name: packageName,
// ...(preserveModules
// ? {
// dir: `${outputDir}/${format}`,
// }
// : {
// file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
// }),
// format,
// preserveModules,
// sourcemap: true,
// },
// })),
// )
// .flat();
const sharedPlugins = [
license({
banner: `${pkg.name} v${pkg.version} - ${pkg.license}`
}),
bundleSize(),
visualizer({
sourcemap: false,
filename: `stats/${pkg.name}.html`
}),
typescript({ tsconfig: "./tsconfig.json" }),
json()
]
export default [
{
input: "src/index.ts",
output: [
{
...sharedOutput,
file: pkg.main,
format: "cjs",
sourcemap: true,
},
{
...sharedOutput,
file: pkg.module,
format: "esm",
sourcemap: true,
},
{
file: pkg['main:es'],
format: "es",
...sharedOutput,
},
{
file: pkg['main:umd'],
format: "umd",
...sharedOutput,
}
],
plugins: [
esbuild(),
license({
banner: `${pkg.name} v${pkg.version} - ${pkg.license}`
}),
bundleSize(),
visualizer({
sourcemap: false,
filename: `stats/${pkg.name}.html`
}),
typescript({ tsconfig: "./tsconfig.json" }),
json()
],
...sharedPlugins,
esbuild()
]
},
{
input: "src/index.ts",
output: [
{
...sharedOutput,
file: pkg['main:umd:min'],
format: 'umd',
},
],
plugins: [
...sharedPlugins,
esbuild({
minify: true
})
]
},
{
input: "dist/esm/types/index.d.ts",
output: [{ file: "dist/index.d.ts", format: "esm" }],
plugins: [dts(), json()],
output: [
{
file: "dist/index.d.ts",
format: "esm"
}
],
plugins: [
dts(),
json()
]
},
];