import { defineConfig, Rolldown } from 'tsdown' const RE_CUSTOM = /\.custom$/ export default defineConfig({ dts: { generator: 'oxc', // generator: 'tsc', customLanguages: [ { extensionPatterns: [RE_CUSTOM], tsFileExtensionInfos: [ { extension: 'custom', isMixedContent: true, scriptKind: 7 /* Deferred */, }, ], toTsFilename: (id: string): string => id.replace(RE_CUSTOM, '.custom.ts'), }, ], }, plugins: [ { name: 'prepend-plugin', options(opt) { const plugin: Rolldown.Plugin = { name: 'convert-custom-to-ts', options(opt) { console.log(opt.plugins) }, transform: { order: 'pre', filter: { id: RE_CUSTOM }, handler(code) { return { code: code.replace('', ''), moduleType: 'ts', } }, }, } opt.plugins = [plugin, opt.plugins] }, }, ], })