UNPKG

@storm-stack/core

Version:

A build toolkit and runtime used by Storm Software in TypeScript applications

36 lines (33 loc) 1.41 kB
import { resolveTsupOptions, resolveTsupEntryOptions } from './chunk-V5CUVG6J.js'; import { compilerPlugin } from './chunk-27OIV4J5.js'; import { resolverPlugin } from './chunk-QBX2SF5C.js'; import { __name } from './chunk-IRPJW6HH.js'; import { build } from '@storm-software/esbuild/build'; import { isParentPath } from '@stryke/path/is-parent-path'; import { joinPaths } from '@stryke/path/join-paths'; import { isFunction } from '@stryke/type-checks/is-function'; import defu from 'defu'; async function tsup(context, override = {}) { const options = defu(resolveTsupOptions(context, override), { entry: Object.fromEntries(Object.entries(resolveTsupEntryOptions(context, context.entry)).map(([key, value]) => [ key, isParentPath(value, context.options.projectRoot) ? value : joinPaths(context.options.projectRoot, value) ])) }, context.options.variant === "tsup" ? context.options.override : {}); await build(defu({ config: false, clean: true, esbuildOptions(buildOptions, ctx) { if (isFunction(options.esbuildOptions)) { options.esbuildOptions(buildOptions, ctx); } buildOptions.alias = defu(buildOptions.alias ?? {}, Object.fromEntries(context.vfs.runtimeIdMap.entries())); }, esbuildPlugins: [ resolverPlugin(context, options), compilerPlugin(context) ] }, options)); } __name(tsup, "tsup"); export { tsup };