UNPKG

@storm-software/workspace-tools

Version:

Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.

86 lines (83 loc) 3.01 kB
import { withRunExecutor } from "./chunk-7P2LGXFI.mjs"; import { writeInfo } from "./chunk-NODM27UV.mjs"; import { joinPaths } from "./chunk-ATIBREWM.mjs"; import { __name } from "./chunk-2BPV2XV2.mjs"; // src/executors/unbuild/executor.ts import { defu } from "defu"; import { createJiti } from "jiti"; async function unbuildExecutorFn(options, context, config) { writeInfo("\u{1F4E6} Running Storm Unbuild executor on the workspace", config); if (!context.projectsConfigurations?.projects || !context.projectName || !context.projectsConfigurations.projects[context.projectName]) { throw new Error("The Build process failed because the context is not valid. Please run this command from a workspace root directory."); } if (!context.projectsConfigurations.projects[context.projectName].root) { throw new Error("The Build process failed because the project root is not valid. Please run this command from a workspace root directory."); } if (!context.projectsConfigurations.projects[context.projectName].sourceRoot) { throw new Error("The Build process failed because the project's source root is not valid. Please run this command from a workspace root directory."); } const jiti = createJiti(config.workspaceRoot, { fsCache: config.skipCache ? false : joinPaths(config.workspaceRoot, config.directories.cache || "node_modules/.cache/storm", "jiti"), interopDefault: true }); const stormUnbuild = await jiti.import(jiti.esmResolve("@storm-software/unbuild/build")); await stormUnbuild.build(defu({ ...options, projectRoot: context.projectsConfigurations.projects[context.projectName].root, projectName: context.projectName, sourceRoot: context.projectsConfigurations.projects[context.projectName].sourceRoot, platform: options.platform }, { stubOptions: { jiti: { fsCache: config.skipCache ? false : joinPaths(config.workspaceRoot, config.directories.cache || "node_modules/.cache/storm", "jiti") } }, rollup: { emitCJS: true, watch: false, dts: { respectExternal: true }, esbuild: { target: options.target, format: "esm", platform: options.platform, minify: options.minify ?? !options.debug, sourcemap: options.sourcemap ?? options.debug, treeShaking: options.treeShaking } } })); return { success: true }; } __name(unbuildExecutorFn, "unbuildExecutorFn"); var executor_default = withRunExecutor("TypeScript Unbuild build", unbuildExecutorFn, { skipReadingConfig: false, hooks: { applyDefaultOptions: /* @__PURE__ */ __name(async (options, config) => { options.debug ??= false; options.treeShaking ??= true; options.platform ??= "neutral"; options.entry ??= [ "{sourceRoot}" ]; options.tsconfig ??= "{projectRoot}/tsconfig.json"; return options; }, "applyDefaultOptions") } }); export { unbuildExecutorFn, executor_default };