123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import svelte from 'rollup-plugin-svelte';
- import resolve from '@rollup/plugin-node-resolve';
- import svelteConfig from './svelte.config.mjs';
- import fs from 'fs'
- import { getRollupPlugins } from '../../.build/build-icons.mjs'
- const pkg = JSON.parse(fs.readFileSync('package.json', 'utf-8'))
- const packageName = '@tabler/icons-svelte';
- const outputFileName = 'tabler-icons-svelte';
- const outputDir = 'dist';
- const inputs = ['./src/tabler-icons-svelte.js'];
- const bundles = [
- {
- format: 'es',
- inputs,
- outputDir,
- },
- {
- format: 'esm',
- inputs,
- outputDir,
- preserveModules: true,
- },
- {
- format: 'svelte',
- inputs,
- outputDir,
- preserveModules: true,
- },
- ];
- const configs = bundles
- .map(({ inputs, outputDir, format, minify, preserveModules }) =>
- inputs.map(input => ({
- input,
- plugins: [
- ...(format !== 'svelte' ? [
- svelte({
- ...svelteConfig,
- include: 'src/**/*.svelte',
- compilerOptions: {
- dev: false,
- css: false,
- hydratable: true,
- },
- emitCss: false,
- }),
- resolve({
- browser: true,
- exportConditions: ['svelte'],
- extensions: ['.svelte']
- }),
- ] : []),
- ...getRollupPlugins(pkg, minify),
- ],
- external: format === 'svelte' ? [/\.svelte/] : ['svelte'],
- output: {
- name: packageName,
- ...(preserveModules
- ? {
- dir: `${outputDir}/${format}`,
- }
- : {
- file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`,
- }),
- preserveModules,
- format: format === 'svelte' ? 'esm' : format,
- sourcemap: true,
- globals: {
- svelte: 'svelte',
- },
- },
- })),
- )
- .flat();
- export default configs;
|