import * as Comlink from 'comlink' import type { Manifest } from '$lib/types' import type { ImportMap } from './system' import TranspileWorker from './transpile.worker?worker' export interface Transpile { transform>( input: Input, options: { manifest: Manifest modules?: Record preload?: string[] }, ): Promise findImports( code: string, options: { manifest: Manifest }, ): Promise } export default load() function load(): Transpile { if (import.meta.env.SSR) { return { async transform(...args) { const { default: api } = await import('./transpile.api') return api.transform(...args) }, async findImports(...args) { const { default: api } = await import('./transpile.api') return api.findImports(...args) }, } } return Comlink.wrap(new TranspileWorker()) as Transpile }