/// SPDX-License-Identifier: GPL-3.0-or-later /// SPDX-FileCopyrightText: Copyright © 2016-2025 Tony Garnock-Jones import { defineConfig, type Options } from 'tsup'; import { withIifeExternalPlugin } from '../../iifeExternalPlugin.js'; import { syndicatePlugin } from '@syndicate-lang/esbuild-plugin'; function options(prefix: string, minify: boolean): Options { return withIifeExternalPlugin({ '@preserves/core': 'Preserves', '@syndicate-lang/core': 'Syndicate', }, { entry: { [prefix]: 'src/index.ts', }, format: ['cjs', 'esm', 'iife'], outExtension({ format }) { switch (format) { case 'cjs': return { js: '.cjs' }; case 'esm': return { js: '.mjs' }; case 'iife': return { js: '.js' }; } }, globalName: 'SyndicateHtml2', sourcemap: true, clean: true, minify, target: 'es2017', esbuildPlugins: [syndicatePlugin()], }); } export default defineConfig([options('syndicate-html2', false), options('syndicate-html2.min', true)]);