@storm-stack/core
Version:
A build toolkit and runtime used by Storm Software in TypeScript applications
72 lines (67 loc) • 3.12 kB
JavaScript
;
var chunkJ5FGHGMA_cjs = require('./chunk-J5FGHGMA.cjs');
var chunkUY2GAVJJ_cjs = require('./chunk-UY2GAVJJ.cjs');
var chunk3ONWID2V_cjs = require('./chunk-3ONWID2V.cjs');
var build = require('@storm-software/esbuild/build');
var filePathFns = require('@stryke/path/file-path-fns');
var replace = require('@stryke/path/replace');
var isFunction = require('@stryke/type-checks/is-function');
var defu = require('defu');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var defu__default = /*#__PURE__*/_interopDefault(defu);
async function esbuild(context, override = {}) {
const options = defu__default.default(override ?? {}, context.options.esbuild.override, {
entry: context.entry.reduce((ret, entry) => {
ret[entry.output || replace.replacePath(entry.input.file, context.projectJson?.sourceRoot || context.options.projectRoot).replace(filePathFns.findFileExtension(entry.input.file) || "", "") || replace.replacePath(entry.file, context.projectJson?.sourceRoot || context.options.projectRoot).replace(filePathFns.findFileExtension(entry.file) || "", "")] = entry.file;
return ret;
}, {}),
assets: context.options.output.assets,
outputPath: context.options.output.outputPath,
mode: context.options.mode,
platform: context.options.platform,
projectRoot: context.options.projectRoot,
sourceRoot: context.options.sourceRoot,
tsconfig: context.tsconfig.tsconfigFilePath,
tsconfigRaw: context.tsconfig.tsconfigJson,
external: context.options.external,
noExternal: context.options.noExternal,
skipNodeModulesBundle: context.options.skipNodeModulesBundle
}, context.options.esbuild, {
banner: {
js: context.options.mode !== "production" ? "\n// \u26A1 Built with Storm Stack \n" : " "
},
reflectionLevel: "minimal",
minify: context.options.mode !== "development",
metafile: context.options.mode === "development",
sourcemap: context.options.mode === "development",
dts: context.options.projectType !== "application",
noExternal: Array.from(context.vfs.runtimeIdMap.keys())
});
await build.build(defu__default.default({
config: false,
clean: true,
esbuildOptions(opts, ctx) {
if (isFunction.isFunction(options.esbuildOptions)) {
options.esbuildOptions(opts, ctx);
}
opts.alias = defu__default.default(opts.alias ?? {}, Array.from(context.vfs.runtimeIdMap.keys()).reduce((ret, id) => {
if (context.vfs.runtimeIdMap.has(id) && context.vfs.runtimeIdMap.get(id)) {
ret[id] = context.vfs.runtimeIdMap.get(id);
}
return ret;
}, {}));
},
esbuildPlugins: [
chunkJ5FGHGMA_cjs.resolverPlugin(context, {
external: options.external,
noExternal: options.noExternal,
skipNodeModulesBundle: options.skipNodeModulesBundle
}),
chunkUY2GAVJJ_cjs.compilerPlugin(context)
]
}, options));
}
chunk3ONWID2V_cjs.__name(esbuild, "esbuild");
exports.esbuild = esbuild;
//# sourceMappingURL=chunk-ZIWSOBSL.cjs.map
//# sourceMappingURL=chunk-ZIWSOBSL.cjs.map