UNPKG

@storm-software/workspace-tools

Version:

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

106 lines (103 loc) 3.18 kB
import { withRunExecutor } from "./chunk-EYZGKQNH.mjs"; import { writeInfo } from "./chunk-MMA4S6LZ.mjs"; import { joinPaths } from "./chunk-TBW5MCN6.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 }; } var executor_default = withRunExecutor( "TypeScript Unbuild build", unbuildExecutorFn, { skipReadingConfig: false, hooks: { applyDefaultOptions: async (options, config) => { options.debug ??= false; options.treeShaking ??= true; options.buildOnly ??= false; options.platform ??= "neutral"; options.entry ??= ["{sourceRoot}"]; options.tsconfig ??= "{projectRoot}/tsconfig.json"; return options; } } } ); export { unbuildExecutorFn, executor_default };