@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
62 lines (57 loc) • 1.95 kB
JavaScript
import { init_esm_shims, __name } from './chunk-QH7NXH7H.js';
import '@stryke/path/file-path-fns';
import '@stryke/path/replace';
import '@stryke/type-checks/is-string';
import defu from 'defu';
import '@stryke/convert/parse-type-definition';
import '@stryke/fs/list-files';
import '@stryke/hash/hash';
import '@stryke/path/join-paths';
// src/lib/esbuild/options.ts
init_esm_shims();
// src/lib/entry.ts
init_esm_shims();
// src/lib/esbuild/options.ts
function resolveESBuildOptions(context, options = {}, bundleOptions = {}) {
return defu({
alias: bundleOptions.alias,
sourcemap: false
}, {
alias: context.vfs.runtimeIdMap.keys().reduce((ret, id) => {
const path = context.vfs.runtimeIdMap.get(id);
if (path) {
ret[id] = path;
}
return ret;
}, {})
}, bundleOptions.override ?? {}, context.options.variant === "esbuild" ? context.options.override : {}, {
platform: context.options.platform,
format: options?.format,
target: options?.target,
globalName: options?.globalName,
minify: context.options.mode !== "development",
metafile: context.options.mode === "development",
sourcemap: context.options.mode === "development",
bundle: options?.bundle,
treeShaking: Boolean(context.options.build?.treeshake) || context.options.build?.treeShaking,
keepNames: options?.keepNames,
splitting: options?.splitting,
outdir: context.options.output.outputPath,
tsconfig: context.tsconfig.tsconfigFilePath,
banner: options?.banner,
footer: options?.footer,
plugins: options?.plugins
}, context.options.variant === "esbuild" ? context.options.build : {}, {
platform: "neutral",
format: "esm",
minify: true,
sourcemap: false,
bundle: true,
treeShaking: true,
keepNames: true,
splitting: true,
logLevel: "silent"
});
}
__name(resolveESBuildOptions, "resolveESBuildOptions");
export { resolveESBuildOptions };