UNPKG

@storm-software/workspace-tools

Version:

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

49 lines (46 loc) 1.67 kB
import { withRunExecutor } from "./chunk-7P2LGXFI.mjs"; import { writeInfo } from "./chunk-NODM27UV.mjs"; import { __name } from "./chunk-2BPV2XV2.mjs"; // src/executors/size-limit/executor.ts import { joinPathFragments } from "@nx/devkit"; import esBuildPlugin from "@size-limit/esbuild"; import esBuildWhyPlugin from "@size-limit/esbuild-why"; import filePlugin from "@size-limit/file"; import sizeLimit from "size-limit"; async function sizeLimitExecutorFn(options, context, config) { if (!context?.projectName || !context.projectsConfigurations?.projects || !context.projectsConfigurations.projects[context.projectName]) { throw new Error("The Size-Limit process failed because the context is not valid. Please run this command from a workspace."); } writeInfo(`\u{1F4CF} Running Size-Limit on ${context.projectName}`, config); sizeLimit([ filePlugin, esBuildPlugin, esBuildWhyPlugin ], { checks: options.entry ?? context.projectsConfigurations.projects[context.projectName]?.sourceRoot ?? joinPathFragments(context.projectsConfigurations.projects[context.projectName]?.root ?? "./", "src") }).then((result) => { writeInfo(`\u{1F4CF} ${context.projectName} Size-Limit result: ${JSON.stringify(result)}`, config); }); return { success: true }; } __name(sizeLimitExecutorFn, "sizeLimitExecutorFn"); var executor_default = withRunExecutor("Size-Limit Performance Test Executor", sizeLimitExecutorFn, { skipReadingConfig: false, hooks: { applyDefaultOptions: /* @__PURE__ */ __name((options) => { return options; }, "applyDefaultOptions") } }); export { sizeLimitExecutorFn, executor_default };