@powerlines/nx 0.13.238 → 0.13.240

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/src/base/base-executor.js +3 -3
  2. package/dist/src/base/base-executor.mjs +3 -3
  3. package/dist/src/base/base-executor.mjs.map +1 -1
  4. package/dist/src/base/base-executor.schema.d.mts +2 -2
  5. package/dist/src/base/base-executor.schema.d.ts +2 -2
  6. package/dist/src/base/base-executor.schema.json +6 -10
  7. package/dist/src/base/base-executor.untyped.js +6 -4
  8. package/dist/src/base/base-executor.untyped.mjs +6 -4
  9. package/dist/src/base/base-executor.untyped.mjs.map +1 -1
  10. package/dist/src/{base-executor-DyLFdv1F.js → base-executor-DEIyWQO7.js} +3 -3
  11. package/dist/src/{base-executor-Dq5Z0aZo.mjs → base-executor-eMeOxfNW.mjs} +4 -4
  12. package/dist/src/{base-executor-Dq5Z0aZo.mjs.map → base-executor-eMeOxfNW.mjs.map} +1 -1
  13. package/dist/src/{base-executor.untyped-Y9IuR5eg.js → base-executor.untyped-But-48Iy.js} +6 -4
  14. package/dist/src/{base-executor.untyped-CHRd63Zb.mjs → base-executor.untyped-Bz2f75UY.mjs} +7 -5
  15. package/dist/src/base-executor.untyped-Bz2f75UY.mjs.map +1 -0
  16. package/dist/src/executors/build/executor.d.mts +2 -2
  17. package/dist/src/executors/build/executor.d.ts +2 -2
  18. package/dist/src/executors/build/executor.js +1 -1
  19. package/dist/src/executors/build/executor.mjs +1 -1
  20. package/dist/src/executors/build/schema.d.ts +2 -2
  21. package/dist/src/executors/build/schema.json +6 -10
  22. package/dist/src/executors/clean/executor.d.mts +2 -2
  23. package/dist/src/executors/clean/executor.d.ts +2 -2
  24. package/dist/src/executors/clean/executor.js +1 -1
  25. package/dist/src/executors/clean/executor.mjs +1 -1
  26. package/dist/src/executors/clean/schema.d.ts +2 -2
  27. package/dist/src/executors/clean/schema.json +6 -10
  28. package/dist/src/executors/clean/untyped.js +1 -1
  29. package/dist/src/executors/clean/untyped.mjs +1 -1
  30. package/dist/src/executors/docs/executor.d.mts +2 -2
  31. package/dist/src/executors/docs/executor.d.ts +2 -2
  32. package/dist/src/executors/docs/executor.js +1 -1
  33. package/dist/src/executors/docs/executor.mjs +1 -1
  34. package/dist/src/executors/docs/schema.d.ts +2 -2
  35. package/dist/src/executors/docs/schema.json +6 -10
  36. package/dist/src/executors/lint/executor.d.mts +2 -2
  37. package/dist/src/executors/lint/executor.d.ts +2 -2
  38. package/dist/src/executors/lint/executor.js +1 -1
  39. package/dist/src/executors/lint/executor.mjs +1 -1
  40. package/dist/src/executors/lint/schema.d.ts +2 -2
  41. package/dist/src/executors/lint/schema.json +6 -10
  42. package/dist/src/executors/prepare/executor.d.mts +2 -2
  43. package/dist/src/executors/prepare/executor.d.ts +2 -2
  44. package/dist/src/executors/prepare/executor.js +1 -1
  45. package/dist/src/executors/prepare/executor.mjs +1 -1
  46. package/dist/src/executors/prepare/schema.d.ts +2 -2
  47. package/dist/src/executors/prepare/schema.json +6 -10
  48. package/dist/src/executors/prepare/untyped.js +1 -1
  49. package/dist/src/executors/prepare/untyped.mjs +1 -1
  50. package/package.json +18 -18
  51. package/dist/src/base-executor.untyped-CHRd63Zb.mjs.map +0 -1
@@ -63,9 +63,9 @@ function withExecutor(command, executorFn, options = {}) {
63
63
  ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.format) ? { format: options.format } : {}
64
64
  },
65
65
  resolve: (0, _stryke_type_checks_is_set_array.isSetArray)(options.external) || (0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) || (0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? {
66
- external: (0, _stryke_type_checks_is_set_array.isSetArray)(options.external) ? options.external : void 0,
67
- noExternal: (0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) ? options.noExternal : void 0,
68
- skipNodeModulesBundle: (0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? options.skipNodeModulesBundle : void 0
66
+ ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.external) ? { external: options.external } : {},
67
+ ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) ? { noExternal: options.noExternal } : {},
68
+ ...(0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? { skipNodeModulesBundle: options.skipNodeModulesBundle } : {}
69
69
  } : void 0,
70
70
  define: (0, _stryke_type_checks_is_set_object.isSetObject)(options.define) ? options.define : void 0,
71
71
  assets: (0, _stryke_type_checks_is_set_object.isSetObject)(options.assets) ? options.assets : void 0
@@ -60,9 +60,9 @@ function withExecutor(command, executorFn, options = {}) {
60
60
  ...isSetArray(options.format) ? { format: options.format } : {}
61
61
  },
62
62
  resolve: isSetArray(options.external) || isSetArray(options.noExternal) || isSet(options.skipNodeModulesBundle) ? {
63
- external: isSetArray(options.external) ? options.external : void 0,
64
- noExternal: isSetArray(options.noExternal) ? options.noExternal : void 0,
65
- skipNodeModulesBundle: isSet(options.skipNodeModulesBundle) ? options.skipNodeModulesBundle : void 0
63
+ ...isSetArray(options.external) ? { external: options.external } : {},
64
+ ...isSetArray(options.noExternal) ? { noExternal: options.noExternal } : {},
65
+ ...isSet(options.skipNodeModulesBundle) ? { skipNodeModulesBundle: options.skipNodeModulesBundle } : {}
66
66
  } : void 0,
67
67
  define: isSetObject(options.define) ? options.define : void 0,
68
68
  assets: isSetObject(options.assets) ? options.assets : void 0
@@ -1 +1 @@
1
- {"version":3,"file":"base-executor.mjs","names":[],"sources":["../../../src/base/base-executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ExecutorContext, PromiseExecutor } from \"@nx/devkit\";\nimport { writeError } from \"@storm-software/config-tools/logger\";\nimport type { StormWorkspaceConfig } from \"@storm-software/config/types\";\nimport { withRunExecutor } from \"@storm-software/workspace-tools/base/base-executor\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { DeepPartial } from \"@stryke/types/base\";\nimport defu from \"defu\";\nimport { createJiti } from \"jiti\";\nimport type {\n ExecutionApiParams,\n ExecutionOptions,\n FrameworkOptions,\n InlineConfig,\n Mode,\n OutputConfig\n} from \"powerlines\";\nimport type { BaseExecutorSchema } from \"./base-executor.schema\";\n\nexport type PowerlinesExecutorContext<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n> = ExecutorContext & {\n projectName: string;\n command: string;\n options: TExecutorSchema;\n inlineConfig: InlineConfig;\n workspaceConfig: StormWorkspaceConfig;\n};\n\nexport type PowerlinesExecutorApi = (\n inlineConfig: InlineConfig\n) => Promise<void>;\n\nexport interface WithExecutorOptions {\n /**\n * The import path for the executor API module, which is used to dynamically import the API function that will be called during execution. This value should be a string representing the module path, and it defaults to \"powerlines/api\" if not provided. The specified module should export a default function that matches the expected signature for the executor API, which will be invoked with the execution parameters when the executor is run.\n *\n * @defaultValue \"powerlines/api\"\n */\n importPath?: string;\n\n /**\n * Default options to be merged with the execution options, which can be used to provide default values for certain execution parameters or to override specific options for all executions of the executor. This value should be an object that matches the shape of the `ExecutionOptions` type, and it will be merged with the options provided during execution to create the final set of options that will be passed to the executor API function.\n *\n * @remarks\n * This can be useful for setting default values for options that are commonly used across multiple executions, or for providing a consistent set of options for all executions of the executor without requiring the caller to specify them each time.\n */\n defaultOptions?: DeepPartial<ExecutionOptions>;\n\n /**\n * Details about the framework being used in the current execution, which can be used by plugins and other parts of the system to customize behavior based on the framework.\n *\n * @remarks\n * This should only be used by framework plugins to ensure the correct framework name is applied\n *\n * @defaultValue\n * ```ts\n * {\n * name: \"powerlines\",\n * orgId: \"storm-software\"\n * }\n * ```\n */\n framework?: FrameworkOptions;\n}\n\n/**\n * A utility function to create a Powerlines executor that can be used with the `withRunExecutor` function.\n *\n * @remarks\n * This function is designed to simplify the creation of Powerlines executors by providing a consistent interface and error handling.\n *\n * @param command - The command that the executor will handle (e.g., \"new\", \"prepare\", \"build\", etc.).\n * @param executorFn - The function that will be executed when the command is run.\n * @param options - Additional options for configuring the executor, such as the import path for the API module and default execution options.\n * @returns A Promise that resolves to the result of the executor function.\n */\nexport function withExecutor<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n>(\n command: string,\n executorFn: (\n context: PowerlinesExecutorContext<TExecutorSchema>,\n api: PowerlinesExecutorApi\n ) =>\n | Promise<BaseExecutorResult | null | undefined>\n | BaseExecutorResult\n | null\n | undefined,\n options: WithExecutorOptions = {}\n): PromiseExecutor<TExecutorSchema> {\n const {\n importPath = \"powerlines/api\",\n defaultOptions = {},\n framework = {} as FrameworkOptions\n } = options;\n\n framework.name ??= \"powerlines\";\n framework.orgId ??= \"storm-software\";\n\n return withRunExecutor(\n `${titleCase(framework.name)} - ${titleCase(command)} executor`,\n async (\n options: TExecutorSchema,\n context: ExecutorContext,\n workspaceConfig: StormWorkspaceConfig\n ): Promise<BaseExecutorResult | null | undefined> => {\n if (!context.projectName) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectName\\` on the context object.`\n );\n }\n\n if (\n !context.projectName ||\n !context.projectsConfigurations?.projects ||\n !context.projectsConfigurations.projects[context.projectName] ||\n !context.projectsConfigurations.projects[context.projectName]?.root\n ) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectsConfigurations\\` on the context object.`\n );\n }\n\n const projectConfig =\n context.projectsConfigurations.projects[context.projectName]!;\n\n const jiti = createJiti(context.root, {\n cache: false,\n tsconfigPaths: true\n });\n // Load via jiti — static require() of powerlines/plugin-utils fails when Nx\n // registers ts-node + tsconfig paths (maps to ESM .ts source under type:module).\n const [{ formatExecutionId, getName }, api] = await Promise.all([\n jiti.import<{\n formatExecutionId: (\n projectName: string,\n command: string,\n configIndex?: number\n ) => string;\n getName: (cwd: string, root: string) => Promise<string>;\n }>(\"powerlines/plugin-utils\"),\n jiti\n .import<{\n default: (params: ExecutionApiParams) => Promise<void>;\n }>(jiti.esmResolve(importPath))\n .then(mod => mod.default)\n ]);\n\n try {\n return await Promise.resolve(\n executorFn(\n defu(\n {\n projectName: context.projectName,\n options,\n workspaceConfig,\n command,\n inlineConfig: defu(\n {\n command,\n root: projectConfig.root,\n configFile: options.configFile || options.config,\n configIndex: options.configIndex,\n projectType: projectConfig.projectType,\n mode: options.mode as Mode,\n output: {\n path: options.outputPath,\n copy:\n options.copyPath === false\n ? false\n : {\n path: options.copyPath,\n assets: options.assets\n },\n minify: options.minify,\n sourceMap: options.sourceMap,\n ...(isSetArray(options.format)\n ? { format: options.format }\n : {})\n } as OutputConfig,\n resolve:\n isSetArray(options.external) ||\n isSetArray(options.noExternal) ||\n isSet(options.skipNodeModulesBundle)\n ? {\n external: isSetArray(options.external)\n ? options.external\n : undefined,\n noExternal: isSetArray(options.noExternal)\n ? options.noExternal\n : undefined,\n skipNodeModulesBundle: isSet(\n options.skipNodeModulesBundle\n )\n ? options.skipNodeModulesBundle\n : undefined\n }\n : undefined,\n define: isSetObject(options.define)\n ? options.define\n : undefined,\n assets: isSetObject(options.assets)\n ? options.assets\n : undefined\n },\n omit(options, [\n \"config\",\n \"configFile\",\n \"outputPath\",\n \"copyPath\",\n \"sourceMap\",\n \"minify\",\n \"format\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"mode\",\n \"define\",\n \"assets\"\n ])\n ) as InlineConfig\n },\n context\n ),\n async (inlineConfig: InlineConfig) => {\n const name =\n inlineConfig.name ||\n context.projectName ||\n (await getName(context.root, projectConfig.root));\n\n return api({\n options: defu(defaultOptions, {\n name,\n executionId: formatExecutionId(\n name,\n command,\n options.configIndex ?? 0\n ),\n cwd: context.root,\n root: projectConfig.root,\n configFile:\n options.configFile ||\n options.config ||\n joinPaths(\n projectConfig.root,\n `${kebabCase(framework.name)}.config.ts`\n ),\n configIndex: options.configIndex,\n framework\n }) as ExecutionOptions,\n command,\n inlineConfig\n });\n }\n )\n );\n } catch (error) {\n writeError(\n `An error occurred while executing the ${titleCase(\n framework.name\n )} - ${titleCase(command)} executor: ${\n isError(error)\n ? `${error.message}\n\n${error.stack}`\n : \"Unknown error\"\n }`\n );\n\n return { success: false };\n }\n },\n {\n skipReadingConfig: false,\n hooks: {\n applyDefaultOptions: (options: Partial<TExecutorSchema>) => {\n options.copyPath ??= \"dist/{projectRoot}\";\n\n return options as TExecutorSchema;\n }\n }\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,SAAgB,aAGd,SACA,YAQA,UAA+B,CAAC,GACE;CAClC,MAAM,EACJ,aAAa,kBACb,iBAAiB,CAAC,GAClB,YAAY,CAAC,MACX;CAEJ,UAAU,SAAS;CACnB,UAAU,UAAU;CAEpB,OAAO,gBACL,GAAG,UAAU,UAAU,IAAI,EAAE,KAAK,UAAU,OAAO,EAAE,YACrD,OACE,SACA,SACA,oBACmD;EACnD,IAAI,CAAC,QAAQ,aACX,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,0DACJ;EAGF,IACE,CAAC,QAAQ,eACT,CAAC,QAAQ,wBAAwB,YACjC,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,gBACjD,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,YAAY,EAAE,MAE/D,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,qEACJ;EAGF,MAAM,gBACJ,QAAQ,uBAAuB,SAAS,QAAQ;EAElD,MAAM,OAAO,WAAW,QAAQ,MAAM;GACpC,OAAO;GACP,eAAe;EACjB,CAAC;EAGD,MAAM,CAAC,EAAE,mBAAmB,WAAW,OAAO,MAAM,QAAQ,IAAI,CAC9D,KAAK,OAOF,yBAAyB,GAC5B,KACG,OAEE,KAAK,WAAW,UAAU,CAAC,CAAC,CAC9B,MAAK,QAAO,IAAI,OAAO,CAC5B,CAAC;EAED,IAAI;GACF,OAAO,MAAM,QAAQ,QACnB,WACE,KACE;IACE,aAAa,QAAQ;IACrB;IACA;IACA;IACA,cAAc,KACZ;KACE;KACA,MAAM,cAAc;KACpB,YAAY,QAAQ,cAAc,QAAQ;KAC1C,aAAa,QAAQ;KACrB,aAAa,cAAc;KAC3B,MAAM,QAAQ;KACd,QAAQ;MACN,MAAM,QAAQ;MACd,MACE,QAAQ,aAAa,QACjB,QACA;OACE,MAAM,QAAQ;OACd,QAAQ,QAAQ;MAClB;MACN,QAAQ,QAAQ;MAChB,WAAW,QAAQ;MACnB,GAAI,WAAW,QAAQ,MAAM,IACzB,EAAE,QAAQ,QAAQ,OAAO,IACzB,CAAC;KACP;KACA,SACE,WAAW,QAAQ,QAAQ,KAC3B,WAAW,QAAQ,UAAU,KAC7B,MAAM,QAAQ,qBAAqB,IAC/B;MACE,UAAU,WAAW,QAAQ,QAAQ,IACjC,QAAQ,WACR;MACJ,YAAY,WAAW,QAAQ,UAAU,IACrC,QAAQ,aACR;MACJ,uBAAuB,MACrB,QAAQ,qBACV,IACI,QAAQ,wBACR;KACN,IACA;KACN,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;KACJ,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;IACN,GACA,KAAK,SAAS;KACZ;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF,CAAC,CACH;GACF,GACA,OACF,GACA,OAAO,iBAA+B;IACpC,MAAM,OACJ,aAAa,QACb,QAAQ,eACP,MAAM,QAAQ,QAAQ,MAAM,cAAc,IAAI;IAEjD,OAAO,IAAI;KACT,SAAS,KAAK,gBAAgB;MAC5B;MACA,aAAa,kBACX,MACA,SACA,QAAQ,eAAe,CACzB;MACA,KAAK,QAAQ;MACb,MAAM,cAAc;MACpB,YACE,QAAQ,cACR,QAAQ,UACR,UACE,cAAc,MACd,GAAG,UAAU,UAAU,IAAI,EAAE,WAC/B;MACF,aAAa,QAAQ;MACrB;KACF,CAAC;KACD;KACA;IACF,CAAC;GACH,CACF,CACF;EACF,SAAS,OAAO;GACd,WACE,yCAAyC,UACvC,UAAU,IACZ,EAAE,KAAK,UAAU,OAAO,EAAE,aACxB,QAAQ,KAAK,IACT,GAAG,MAAM,QAAQ;;EAE/B,MAAM,UACQ,iBAER;GAEA,OAAO,EAAE,SAAS,MAAM;EAC1B;CACF,GACA;EACE,mBAAmB;EACnB,OAAO,EACL,sBAAsB,YAAsC;GAC1D,QAAQ,aAAa;GAErB,OAAO;EACT,EACF;CACF,CACF;AACF"}
1
+ {"version":3,"file":"base-executor.mjs","names":[],"sources":["../../../src/base/base-executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ExecutorContext, PromiseExecutor } from \"@nx/devkit\";\nimport { writeError } from \"@storm-software/config-tools/logger\";\nimport type { StormWorkspaceConfig } from \"@storm-software/config/types\";\nimport { withRunExecutor } from \"@storm-software/workspace-tools/base/base-executor\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { DeepPartial } from \"@stryke/types/base\";\nimport defu from \"defu\";\nimport { createJiti } from \"jiti\";\nimport type {\n ExecutionApiParams,\n ExecutionOptions,\n FrameworkOptions,\n InlineConfig,\n Mode,\n OutputConfig\n} from \"powerlines\";\nimport type { BaseExecutorSchema } from \"./base-executor.schema\";\n\nexport type PowerlinesExecutorContext<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n> = ExecutorContext & {\n projectName: string;\n command: string;\n options: TExecutorSchema;\n inlineConfig: InlineConfig;\n workspaceConfig: StormWorkspaceConfig;\n};\n\nexport type PowerlinesExecutorApi = (\n inlineConfig: InlineConfig\n) => Promise<void>;\n\nexport interface WithExecutorOptions {\n /**\n * The import path for the executor API module, which is used to dynamically import the API function that will be called during execution. This value should be a string representing the module path, and it defaults to \"powerlines/api\" if not provided. The specified module should export a default function that matches the expected signature for the executor API, which will be invoked with the execution parameters when the executor is run.\n *\n * @defaultValue \"powerlines/api\"\n */\n importPath?: string;\n\n /**\n * Default options to be merged with the execution options, which can be used to provide default values for certain execution parameters or to override specific options for all executions of the executor. This value should be an object that matches the shape of the `ExecutionOptions` type, and it will be merged with the options provided during execution to create the final set of options that will be passed to the executor API function.\n *\n * @remarks\n * This can be useful for setting default values for options that are commonly used across multiple executions, or for providing a consistent set of options for all executions of the executor without requiring the caller to specify them each time.\n */\n defaultOptions?: DeepPartial<ExecutionOptions>;\n\n /**\n * Details about the framework being used in the current execution, which can be used by plugins and other parts of the system to customize behavior based on the framework.\n *\n * @remarks\n * This should only be used by framework plugins to ensure the correct framework name is applied\n *\n * @defaultValue\n * ```ts\n * {\n * name: \"powerlines\",\n * orgId: \"storm-software\"\n * }\n * ```\n */\n framework?: FrameworkOptions;\n}\n\n/**\n * A utility function to create a Powerlines executor that can be used with the `withRunExecutor` function.\n *\n * @remarks\n * This function is designed to simplify the creation of Powerlines executors by providing a consistent interface and error handling.\n *\n * @param command - The command that the executor will handle (e.g., \"new\", \"prepare\", \"build\", etc.).\n * @param executorFn - The function that will be executed when the command is run.\n * @param options - Additional options for configuring the executor, such as the import path for the API module and default execution options.\n * @returns A Promise that resolves to the result of the executor function.\n */\nexport function withExecutor<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n>(\n command: string,\n executorFn: (\n context: PowerlinesExecutorContext<TExecutorSchema>,\n api: PowerlinesExecutorApi\n ) =>\n | Promise<BaseExecutorResult | null | undefined>\n | BaseExecutorResult\n | null\n | undefined,\n options: WithExecutorOptions = {}\n): PromiseExecutor<TExecutorSchema> {\n const {\n importPath = \"powerlines/api\",\n defaultOptions = {},\n framework = {} as FrameworkOptions\n } = options;\n\n framework.name ??= \"powerlines\";\n framework.orgId ??= \"storm-software\";\n\n return withRunExecutor(\n `${titleCase(framework.name)} - ${titleCase(command)} executor`,\n async (\n options: TExecutorSchema,\n context: ExecutorContext,\n workspaceConfig: StormWorkspaceConfig\n ): Promise<BaseExecutorResult | null | undefined> => {\n if (!context.projectName) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectName\\` on the context object.`\n );\n }\n\n if (\n !context.projectName ||\n !context.projectsConfigurations?.projects ||\n !context.projectsConfigurations.projects[context.projectName] ||\n !context.projectsConfigurations.projects[context.projectName]?.root\n ) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectsConfigurations\\` on the context object.`\n );\n }\n\n const projectConfig =\n context.projectsConfigurations.projects[context.projectName]!;\n\n const jiti = createJiti(context.root, {\n cache: false,\n tsconfigPaths: true\n });\n // Load via jiti — static require() of powerlines/plugin-utils fails when Nx\n // registers ts-node + tsconfig paths (maps to ESM .ts source under type:module).\n const [{ formatExecutionId, getName }, api] = await Promise.all([\n jiti.import<{\n formatExecutionId: (\n projectName: string,\n command: string,\n configIndex?: number\n ) => string;\n getName: (cwd: string, root: string) => Promise<string>;\n }>(\"powerlines/plugin-utils\"),\n jiti\n .import<{\n default: (params: ExecutionApiParams) => Promise<void>;\n }>(jiti.esmResolve(importPath))\n .then(mod => mod.default)\n ]);\n\n try {\n return await Promise.resolve(\n executorFn(\n defu(\n {\n projectName: context.projectName,\n options,\n workspaceConfig,\n command,\n inlineConfig: defu(\n {\n command,\n root: projectConfig.root,\n configFile: options.configFile || options.config,\n configIndex: options.configIndex,\n projectType: projectConfig.projectType,\n mode: options.mode as Mode,\n output: {\n path: options.outputPath,\n copy:\n options.copyPath === false\n ? false\n : {\n path: options.copyPath,\n assets: options.assets\n },\n minify: options.minify,\n sourceMap: options.sourceMap,\n ...(isSetArray(options.format)\n ? { format: options.format }\n : {})\n } as OutputConfig,\n resolve:\n isSetArray(options.external) ||\n isSetArray(options.noExternal) ||\n isSet(options.skipNodeModulesBundle)\n ? {\n ...(isSetArray(options.external)\n ? { external: options.external }\n : {}),\n ...(isSetArray(options.noExternal)\n ? { noExternal: options.noExternal }\n : {}),\n ...(isSet(options.skipNodeModulesBundle)\n ? {\n skipNodeModulesBundle:\n options.skipNodeModulesBundle\n }\n : {})\n }\n : undefined,\n define: isSetObject(options.define)\n ? options.define\n : undefined,\n assets: isSetObject(options.assets)\n ? options.assets\n : undefined\n },\n omit(options, [\n \"config\",\n \"configFile\",\n \"outputPath\",\n \"copyPath\",\n \"sourceMap\",\n \"minify\",\n \"format\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"mode\",\n \"define\",\n \"assets\"\n ])\n ) as InlineConfig\n },\n context\n ),\n async (inlineConfig: InlineConfig) => {\n const name =\n inlineConfig.name ||\n context.projectName ||\n (await getName(context.root, projectConfig.root));\n\n return api({\n options: defu(defaultOptions, {\n name,\n executionId: formatExecutionId(\n name,\n command,\n options.configIndex ?? 0\n ),\n cwd: context.root,\n root: projectConfig.root,\n configFile:\n options.configFile ||\n options.config ||\n joinPaths(\n projectConfig.root,\n `${kebabCase(framework.name)}.config.ts`\n ),\n configIndex: options.configIndex,\n framework\n }) as ExecutionOptions,\n command,\n inlineConfig\n });\n }\n )\n );\n } catch (error) {\n writeError(\n `An error occurred while executing the ${titleCase(\n framework.name\n )} - ${titleCase(command)} executor: ${\n isError(error)\n ? `${error.message}\n\n${error.stack}`\n : \"Unknown error\"\n }`\n );\n\n return { success: false };\n }\n },\n {\n skipReadingConfig: false,\n hooks: {\n applyDefaultOptions: (options: Partial<TExecutorSchema>) => {\n options.copyPath ??= \"dist/{projectRoot}\";\n\n return options as TExecutorSchema;\n }\n }\n }\n );\n}\n"],"mappings":"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"}
@@ -100,14 +100,14 @@ interface BaseExecutorSchema {
100
100
  * The external dependencies
101
101
  *
102
102
  */
103
- external?: Array<any>;
103
+ external?: Array<string>;
104
104
  /**
105
105
  * No External
106
106
  *
107
107
  * The dependencies that should not be treated as external
108
108
  *
109
109
  */
110
- noExternal?: Array<any>;
110
+ noExternal?: Array<string>;
111
111
  /**
112
112
  * Skip Node Modules Bundle
113
113
  *
@@ -100,14 +100,14 @@ interface BaseExecutorSchema {
100
100
  * The external dependencies
101
101
  *
102
102
  */
103
- external?: Array<any>;
103
+ external?: Array<string>;
104
104
  /**
105
105
  * No External
106
106
  *
107
107
  * The dependencies that should not be treated as external
108
108
  *
109
109
  */
110
- noExternal?: Array<any>;
110
+ noExternal?: Array<string>;
111
111
  /**
112
112
  * Skip Node Modules Bundle
113
113
  *
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -187,8 +185,6 @@
187
185
  "default": {
188
186
  "configIndex": 0,
189
187
  "copyPath": {},
190
- "external": [],
191
- "noExternal": [],
192
188
  "define": {},
193
189
  "assets": {},
194
190
  "additionalArgs": {}
@@ -102,17 +102,19 @@ var base_executor_untyped_default = (0, untyped.defineUntypedSchema)({
102
102
  $schema: {
103
103
  title: "External",
104
104
  type: "array",
105
- description: "The external dependencies"
105
+ description: "The external dependencies",
106
+ items: { type: "string" }
106
107
  },
107
- $resolve: (val = []) => [].concat(val)
108
+ $resolve: (val) => Array.isArray(val) ? val : void 0
108
109
  },
109
110
  noExternal: {
110
111
  $schema: {
111
112
  title: "No External",
112
113
  type: "array",
113
- description: "The dependencies that should not be treated as external"
114
+ description: "The dependencies that should not be treated as external",
115
+ items: { type: "string" }
114
116
  },
115
- $resolve: (val = []) => [].concat(val)
117
+ $resolve: (val) => Array.isArray(val) ? val : void 0
116
118
  },
117
119
  skipNodeModulesBundle: { $schema: {
118
120
  title: "Skip Node Modules Bundle",
@@ -102,17 +102,19 @@ var base_executor_untyped_default = defineUntypedSchema({
102
102
  $schema: {
103
103
  title: "External",
104
104
  type: "array",
105
- description: "The external dependencies"
105
+ description: "The external dependencies",
106
+ items: { type: "string" }
106
107
  },
107
- $resolve: (val = []) => [].concat(val)
108
+ $resolve: (val) => Array.isArray(val) ? val : void 0
108
109
  },
109
110
  noExternal: {
110
111
  $schema: {
111
112
  title: "No External",
112
113
  type: "array",
113
- description: "The dependencies that should not be treated as external"
114
+ description: "The dependencies that should not be treated as external",
115
+ items: { type: "string" }
114
116
  },
115
- $resolve: (val = []) => [].concat(val)
117
+ $resolve: (val) => Array.isArray(val) ? val : void 0
116
118
  },
117
119
  skipNodeModulesBundle: { $schema: {
118
120
  title: "Skip Node Modules Bundle",
@@ -1 +1 @@
1
- {"version":3,"file":"base-executor.untyped.mjs","names":[],"sources":["../../../src/base/base-executor.untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"BaseExecutorSchema\",\n title: \"Base Executor\",\n description:\n \"A shared/base schema type definition for Powerlines executors\",\n required: []\n },\n config: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `configFile`.\"\n }\n },\n configFile: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `config`.\"\n }\n },\n configIndex: {\n $schema: {\n title: \"Powerlines Configuration Index\",\n type: \"number\",\n description:\n \"The index in the Powerlines configuration file to use (if an array of configurations are provided).\"\n },\n $default: 0\n },\n input: {\n $schema: {\n title: \"Input Entry File(s)\",\n format: \"path\",\n type: \"array\",\n description: \"The entry file(s) that serve as the input for the project\",\n items: { type: \"string\" }\n }\n },\n tsconfig: {\n $schema: {\n title: \"TSConfig Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the tsconfig file\"\n }\n },\n outputPath: {\n $schema: {\n title: \"Output Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the output directory for the build artifacts\"\n }\n },\n copyPath: {\n $schema: {\n title: \"Copy Path\",\n description: \"A directory path to copy the build artifacts into\",\n oneOf: [\n { type: \"string\", format: \"path\" },\n { type: \"boolean\", enum: [false] }\n ]\n }\n },\n sourceMap: {\n $schema: {\n title: \"Sourcemap\",\n type: \"boolean\",\n description: \"Generate a sourcemap\"\n }\n },\n minify: {\n $schema: {\n title: \"Minify\",\n type: \"boolean\",\n description: \"Minify the output\"\n }\n },\n format: {\n $schema: {\n title: \"Format\",\n type: \"array\",\n description: \"The format to build\",\n items: {\n type: \"string\",\n enum: [\"cjs\", \"esm\", \"iife\"]\n }\n },\n $resolve: (val?: string[]) =>\n val?.filter(format => [\"cjs\", \"esm\", \"iife\"].includes(format))\n },\n platform: {\n $schema: {\n title: \"Platform\",\n type: \"string\",\n description: \"The platform to build\",\n enum: [\"neutral\", \"node\", \"browser\"]\n }\n },\n external: {\n $schema: {\n title: \"External\",\n type: \"array\",\n description: \"The external dependencies\"\n },\n $resolve: (val: string[] = []) => ([] as string[]).concat(val)\n },\n noExternal: {\n $schema: {\n title: \"No External\",\n type: \"array\",\n description: \"The dependencies that should not be treated as external\"\n },\n $resolve: (val: string[] = []) => ([] as string[]).concat(val)\n },\n skipNodeModulesBundle: {\n $schema: {\n title: \"Skip Node Modules Bundle\",\n type: \"boolean\",\n description:\n \"Skip bundling node_modules during the build process (if required)\"\n }\n },\n mode: {\n $schema: {\n title: \"Mode\",\n type: \"string\",\n description: \"The build mode\",\n enum: [\"development\", \"test\", \"production\"]\n }\n },\n logLevel: {\n $schema: {\n title: \"Log Level\",\n type: \"string\",\n description: \"The log level to use for the build process\",\n enum: [\n \"fatal\",\n \"error\",\n \"warn\",\n \"success\",\n \"info\",\n \"debug\",\n \"trace\",\n \"silent\"\n ]\n }\n },\n define: {\n $schema: {\n title: \"Define\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description: \"The `define` values\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n },\n assets: {\n $schema: {\n title: \"Assets\",\n type: \"any\",\n tsType:\n \"Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>\",\n description: \"The `assets` values\"\n }\n },\n additionalArgs: {\n $schema: {\n title: \"Additional Arguments\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description:\n \"The additional arguments provided during execution of the command\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n }\n});\n"],"mappings":";;;AAoBA,oCAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,aAAa;EACX,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;EACJ;EACA,UAAU;CACZ;CACA,OAAO,EACL,SAAS;EACP,OAAO;EACP,QAAQ;EACR,MAAM;EACN,aAAa;EACb,OAAO,EAAE,MAAM,SAAS;CAC1B,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,aAAa;EACb,OAAO,CACL;GAAE,MAAM;GAAU,QAAQ;EAAO,GACjC;GAAE,MAAM;GAAW,MAAM,CAAC,KAAK;EAAE,CACnC;CACF,EACF;CACA,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO;IACL,MAAM;IACN,MAAM;KAAC;KAAO;KAAO;IAAM;GAC7B;EACF;EACA,WAAW,QACT,KAAK,QAAO,WAAU;GAAC;GAAO;GAAO;EAAM,CAAC,CAAC,SAAS,MAAM,CAAC;CACjE;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAW;GAAQ;EAAS;CACrC,EACF;CACA,UAAU;EACR,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;EACf;EACA,WAAW,MAAgB,CAAC,MAAO,CAAC,CAAC,CAAc,OAAO,GAAG;CAC/D;CACA,YAAY;EACV,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;EACf;EACA,WAAW,MAAgB,CAAC,MAAO,CAAC,CAAC,CAAc,OAAO,GAAG;CAC/D;CACA,uBAAuB,EACrB,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;CACJ,EACF;CACA,MAAM,EACJ,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAe;GAAQ;EAAY;CAC5C,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aAAa;EACf;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QACE;EACF,aAAa;CACf,EACF;CACA,gBAAgB;EACd,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aACE;EACJ;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;AACF,CAAC"}
1
+ {"version":3,"file":"base-executor.untyped.mjs","names":[],"sources":["../../../src/base/base-executor.untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"BaseExecutorSchema\",\n title: \"Base Executor\",\n description:\n \"A shared/base schema type definition for Powerlines executors\",\n required: []\n },\n config: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `configFile`.\"\n }\n },\n configFile: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `config`.\"\n }\n },\n configIndex: {\n $schema: {\n title: \"Powerlines Configuration Index\",\n type: \"number\",\n description:\n \"The index in the Powerlines configuration file to use (if an array of configurations are provided).\"\n },\n $default: 0\n },\n input: {\n $schema: {\n title: \"Input Entry File(s)\",\n format: \"path\",\n type: \"array\",\n description: \"The entry file(s) that serve as the input for the project\",\n items: { type: \"string\" }\n }\n },\n tsconfig: {\n $schema: {\n title: \"TSConfig Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the tsconfig file\"\n }\n },\n outputPath: {\n $schema: {\n title: \"Output Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the output directory for the build artifacts\"\n }\n },\n copyPath: {\n $schema: {\n title: \"Copy Path\",\n description: \"A directory path to copy the build artifacts into\",\n oneOf: [\n { type: \"string\", format: \"path\" },\n { type: \"boolean\", enum: [false] }\n ]\n }\n },\n sourceMap: {\n $schema: {\n title: \"Sourcemap\",\n type: \"boolean\",\n description: \"Generate a sourcemap\"\n }\n },\n minify: {\n $schema: {\n title: \"Minify\",\n type: \"boolean\",\n description: \"Minify the output\"\n }\n },\n format: {\n $schema: {\n title: \"Format\",\n type: \"array\",\n description: \"The format to build\",\n items: {\n type: \"string\",\n enum: [\"cjs\", \"esm\", \"iife\"]\n }\n },\n $resolve: (val?: string[]) =>\n val?.filter(format => [\"cjs\", \"esm\", \"iife\"].includes(format))\n },\n platform: {\n $schema: {\n title: \"Platform\",\n type: \"string\",\n description: \"The platform to build\",\n enum: [\"neutral\", \"node\", \"browser\"]\n }\n },\n external: {\n $schema: {\n title: \"External\",\n type: \"array\",\n description: \"The external dependencies\",\n items: { type: \"string\" }\n },\n $resolve: (val?: string[]) => (Array.isArray(val) ? val : undefined)\n },\n noExternal: {\n $schema: {\n title: \"No External\",\n type: \"array\",\n description: \"The dependencies that should not be treated as external\",\n items: { type: \"string\" }\n },\n $resolve: (val?: string[]) => (Array.isArray(val) ? val : undefined)\n },\n skipNodeModulesBundle: {\n $schema: {\n title: \"Skip Node Modules Bundle\",\n type: \"boolean\",\n description:\n \"Skip bundling node_modules during the build process (if required)\"\n }\n },\n mode: {\n $schema: {\n title: \"Mode\",\n type: \"string\",\n description: \"The build mode\",\n enum: [\"development\", \"test\", \"production\"]\n }\n },\n logLevel: {\n $schema: {\n title: \"Log Level\",\n type: \"string\",\n description: \"The log level to use for the build process\",\n enum: [\n \"fatal\",\n \"error\",\n \"warn\",\n \"success\",\n \"info\",\n \"debug\",\n \"trace\",\n \"silent\"\n ]\n }\n },\n define: {\n $schema: {\n title: \"Define\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description: \"The `define` values\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n },\n assets: {\n $schema: {\n title: \"Assets\",\n type: \"any\",\n tsType:\n \"Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>\",\n description: \"The `assets` values\"\n }\n },\n additionalArgs: {\n $schema: {\n title: \"Additional Arguments\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description:\n \"The additional arguments provided during execution of the command\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n }\n});\n"],"mappings":";;;AAoBA,oCAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,aAAa;EACX,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;EACJ;EACA,UAAU;CACZ;CACA,OAAO,EACL,SAAS;EACP,OAAO;EACP,QAAQ;EACR,MAAM;EACN,aAAa;EACb,OAAO,EAAE,MAAM,SAAS;CAC1B,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,aAAa;EACb,OAAO,CACL;GAAE,MAAM;GAAU,QAAQ;EAAO,GACjC;GAAE,MAAM;GAAW,MAAM,CAAC,KAAK;EAAE,CACnC;CACF,EACF;CACA,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO;IACL,MAAM;IACN,MAAM;KAAC;KAAO;KAAO;IAAM;GAC7B;EACF;EACA,WAAW,QACT,KAAK,QAAO,WAAU;GAAC;GAAO;GAAO;EAAM,CAAC,CAAC,SAAS,MAAM,CAAC;CACjE;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAW;GAAQ;EAAS;CACrC,EACF;CACA,UAAU;EACR,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,MAAM,SAAS;EAC1B;EACA,WAAW,QAAoB,MAAM,QAAQ,GAAG,IAAI,MAAM;CAC5D;CACA,YAAY;EACV,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,MAAM,SAAS;EAC1B;EACA,WAAW,QAAoB,MAAM,QAAQ,GAAG,IAAI,MAAM;CAC5D;CACA,uBAAuB,EACrB,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;CACJ,EACF;CACA,MAAM,EACJ,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAe;GAAQ;EAAY;CAC5C,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aAAa;EACf;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QACE;EACF,aAAa;CACf,EACF;CACA,gBAAgB;EACd,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aACE;EACJ;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;AACF,CAAC"}
@@ -62,9 +62,9 @@ function withExecutor(command, executorFn, options = {}) {
62
62
  ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.format) ? { format: options.format } : {}
63
63
  },
64
64
  resolve: (0, _stryke_type_checks_is_set_array.isSetArray)(options.external) || (0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) || (0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? {
65
- external: (0, _stryke_type_checks_is_set_array.isSetArray)(options.external) ? options.external : void 0,
66
- noExternal: (0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) ? options.noExternal : void 0,
67
- skipNodeModulesBundle: (0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? options.skipNodeModulesBundle : void 0
65
+ ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.external) ? { external: options.external } : {},
66
+ ...(0, _stryke_type_checks_is_set_array.isSetArray)(options.noExternal) ? { noExternal: options.noExternal } : {},
67
+ ...(0, _stryke_type_checks_is_set.isSet)(options.skipNodeModulesBundle) ? { skipNodeModulesBundle: options.skipNodeModulesBundle } : {}
68
68
  } : void 0,
69
69
  define: (0, _stryke_type_checks_is_set_object.isSetObject)(options.define) ? options.define : void 0,
70
70
  assets: (0, _stryke_type_checks_is_set_object.isSetObject)(options.assets) ? options.assets : void 0
@@ -60,9 +60,9 @@ function withExecutor(command, executorFn, options = {}) {
60
60
  ...isSetArray(options.format) ? { format: options.format } : {}
61
61
  },
62
62
  resolve: isSetArray(options.external) || isSetArray(options.noExternal) || isSet(options.skipNodeModulesBundle) ? {
63
- external: isSetArray(options.external) ? options.external : void 0,
64
- noExternal: isSetArray(options.noExternal) ? options.noExternal : void 0,
65
- skipNodeModulesBundle: isSet(options.skipNodeModulesBundle) ? options.skipNodeModulesBundle : void 0
63
+ ...isSetArray(options.external) ? { external: options.external } : {},
64
+ ...isSetArray(options.noExternal) ? { noExternal: options.noExternal } : {},
65
+ ...isSet(options.skipNodeModulesBundle) ? { skipNodeModulesBundle: options.skipNodeModulesBundle } : {}
66
66
  } : void 0,
67
67
  define: isSetObject(options.define) ? options.define : void 0,
68
68
  assets: isSetObject(options.assets) ? options.assets : void 0
@@ -114,4 +114,4 @@ ${error.stack}` : "Unknown error"}`);
114
114
 
115
115
  //#endregion
116
116
  export { withExecutor as t };
117
- //# sourceMappingURL=base-executor-Dq5Z0aZo.mjs.map
117
+ //# sourceMappingURL=base-executor-eMeOxfNW.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-executor-Dq5Z0aZo.mjs","names":[],"sources":["../../src/base/base-executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ExecutorContext, PromiseExecutor } from \"@nx/devkit\";\nimport { writeError } from \"@storm-software/config-tools/logger\";\nimport type { StormWorkspaceConfig } from \"@storm-software/config/types\";\nimport { withRunExecutor } from \"@storm-software/workspace-tools/base/base-executor\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { DeepPartial } from \"@stryke/types/base\";\nimport defu from \"defu\";\nimport { createJiti } from \"jiti\";\nimport type {\n ExecutionApiParams,\n ExecutionOptions,\n FrameworkOptions,\n InlineConfig,\n Mode,\n OutputConfig\n} from \"powerlines\";\nimport type { BaseExecutorSchema } from \"./base-executor.schema\";\n\nexport type PowerlinesExecutorContext<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n> = ExecutorContext & {\n projectName: string;\n command: string;\n options: TExecutorSchema;\n inlineConfig: InlineConfig;\n workspaceConfig: StormWorkspaceConfig;\n};\n\nexport type PowerlinesExecutorApi = (\n inlineConfig: InlineConfig\n) => Promise<void>;\n\nexport interface WithExecutorOptions {\n /**\n * The import path for the executor API module, which is used to dynamically import the API function that will be called during execution. This value should be a string representing the module path, and it defaults to \"powerlines/api\" if not provided. The specified module should export a default function that matches the expected signature for the executor API, which will be invoked with the execution parameters when the executor is run.\n *\n * @defaultValue \"powerlines/api\"\n */\n importPath?: string;\n\n /**\n * Default options to be merged with the execution options, which can be used to provide default values for certain execution parameters or to override specific options for all executions of the executor. This value should be an object that matches the shape of the `ExecutionOptions` type, and it will be merged with the options provided during execution to create the final set of options that will be passed to the executor API function.\n *\n * @remarks\n * This can be useful for setting default values for options that are commonly used across multiple executions, or for providing a consistent set of options for all executions of the executor without requiring the caller to specify them each time.\n */\n defaultOptions?: DeepPartial<ExecutionOptions>;\n\n /**\n * Details about the framework being used in the current execution, which can be used by plugins and other parts of the system to customize behavior based on the framework.\n *\n * @remarks\n * This should only be used by framework plugins to ensure the correct framework name is applied\n *\n * @defaultValue\n * ```ts\n * {\n * name: \"powerlines\",\n * orgId: \"storm-software\"\n * }\n * ```\n */\n framework?: FrameworkOptions;\n}\n\n/**\n * A utility function to create a Powerlines executor that can be used with the `withRunExecutor` function.\n *\n * @remarks\n * This function is designed to simplify the creation of Powerlines executors by providing a consistent interface and error handling.\n *\n * @param command - The command that the executor will handle (e.g., \"new\", \"prepare\", \"build\", etc.).\n * @param executorFn - The function that will be executed when the command is run.\n * @param options - Additional options for configuring the executor, such as the import path for the API module and default execution options.\n * @returns A Promise that resolves to the result of the executor function.\n */\nexport function withExecutor<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n>(\n command: string,\n executorFn: (\n context: PowerlinesExecutorContext<TExecutorSchema>,\n api: PowerlinesExecutorApi\n ) =>\n | Promise<BaseExecutorResult | null | undefined>\n | BaseExecutorResult\n | null\n | undefined,\n options: WithExecutorOptions = {}\n): PromiseExecutor<TExecutorSchema> {\n const {\n importPath = \"powerlines/api\",\n defaultOptions = {},\n framework = {} as FrameworkOptions\n } = options;\n\n framework.name ??= \"powerlines\";\n framework.orgId ??= \"storm-software\";\n\n return withRunExecutor(\n `${titleCase(framework.name)} - ${titleCase(command)} executor`,\n async (\n options: TExecutorSchema,\n context: ExecutorContext,\n workspaceConfig: StormWorkspaceConfig\n ): Promise<BaseExecutorResult | null | undefined> => {\n if (!context.projectName) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectName\\` on the context object.`\n );\n }\n\n if (\n !context.projectName ||\n !context.projectsConfigurations?.projects ||\n !context.projectsConfigurations.projects[context.projectName] ||\n !context.projectsConfigurations.projects[context.projectName]?.root\n ) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectsConfigurations\\` on the context object.`\n );\n }\n\n const projectConfig =\n context.projectsConfigurations.projects[context.projectName]!;\n\n const jiti = createJiti(context.root, {\n cache: false,\n tsconfigPaths: true\n });\n // Load via jiti — static require() of powerlines/plugin-utils fails when Nx\n // registers ts-node + tsconfig paths (maps to ESM .ts source under type:module).\n const [{ formatExecutionId, getName }, api] = await Promise.all([\n jiti.import<{\n formatExecutionId: (\n projectName: string,\n command: string,\n configIndex?: number\n ) => string;\n getName: (cwd: string, root: string) => Promise<string>;\n }>(\"powerlines/plugin-utils\"),\n jiti\n .import<{\n default: (params: ExecutionApiParams) => Promise<void>;\n }>(jiti.esmResolve(importPath))\n .then(mod => mod.default)\n ]);\n\n try {\n return await Promise.resolve(\n executorFn(\n defu(\n {\n projectName: context.projectName,\n options,\n workspaceConfig,\n command,\n inlineConfig: defu(\n {\n command,\n root: projectConfig.root,\n configFile: options.configFile || options.config,\n configIndex: options.configIndex,\n projectType: projectConfig.projectType,\n mode: options.mode as Mode,\n output: {\n path: options.outputPath,\n copy:\n options.copyPath === false\n ? false\n : {\n path: options.copyPath,\n assets: options.assets\n },\n minify: options.minify,\n sourceMap: options.sourceMap,\n ...(isSetArray(options.format)\n ? { format: options.format }\n : {})\n } as OutputConfig,\n resolve:\n isSetArray(options.external) ||\n isSetArray(options.noExternal) ||\n isSet(options.skipNodeModulesBundle)\n ? {\n external: isSetArray(options.external)\n ? options.external\n : undefined,\n noExternal: isSetArray(options.noExternal)\n ? options.noExternal\n : undefined,\n skipNodeModulesBundle: isSet(\n options.skipNodeModulesBundle\n )\n ? options.skipNodeModulesBundle\n : undefined\n }\n : undefined,\n define: isSetObject(options.define)\n ? options.define\n : undefined,\n assets: isSetObject(options.assets)\n ? options.assets\n : undefined\n },\n omit(options, [\n \"config\",\n \"configFile\",\n \"outputPath\",\n \"copyPath\",\n \"sourceMap\",\n \"minify\",\n \"format\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"mode\",\n \"define\",\n \"assets\"\n ])\n ) as InlineConfig\n },\n context\n ),\n async (inlineConfig: InlineConfig) => {\n const name =\n inlineConfig.name ||\n context.projectName ||\n (await getName(context.root, projectConfig.root));\n\n return api({\n options: defu(defaultOptions, {\n name,\n executionId: formatExecutionId(\n name,\n command,\n options.configIndex ?? 0\n ),\n cwd: context.root,\n root: projectConfig.root,\n configFile:\n options.configFile ||\n options.config ||\n joinPaths(\n projectConfig.root,\n `${kebabCase(framework.name)}.config.ts`\n ),\n configIndex: options.configIndex,\n framework\n }) as ExecutionOptions,\n command,\n inlineConfig\n });\n }\n )\n );\n } catch (error) {\n writeError(\n `An error occurred while executing the ${titleCase(\n framework.name\n )} - ${titleCase(command)} executor: ${\n isError(error)\n ? `${error.message}\n\n${error.stack}`\n : \"Unknown error\"\n }`\n );\n\n return { success: false };\n }\n },\n {\n skipReadingConfig: false,\n hooks: {\n applyDefaultOptions: (options: Partial<TExecutorSchema>) => {\n options.copyPath ??= \"dist/{projectRoot}\";\n\n return options as TExecutorSchema;\n }\n }\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,SAAgB,aAGd,SACA,YAQA,UAA+B,CAAC,GACE;CAClC,MAAM,EACJ,aAAa,kBACb,iBAAiB,CAAC,GAClB,YAAY,CAAC,MACX;CAEJ,UAAU,SAAS;CACnB,UAAU,UAAU;CAEpB,OAAO,gBACL,GAAG,UAAU,UAAU,IAAI,EAAE,KAAK,UAAU,OAAO,EAAE,YACrD,OACE,SACA,SACA,oBACmD;EACnD,IAAI,CAAC,QAAQ,aACX,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,0DACJ;EAGF,IACE,CAAC,QAAQ,eACT,CAAC,QAAQ,wBAAwB,YACjC,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,gBACjD,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,YAAY,EAAE,MAE/D,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,qEACJ;EAGF,MAAM,gBACJ,QAAQ,uBAAuB,SAAS,QAAQ;EAElD,MAAM,OAAO,WAAW,QAAQ,MAAM;GACpC,OAAO;GACP,eAAe;EACjB,CAAC;EAGD,MAAM,CAAC,EAAE,mBAAmB,WAAW,OAAO,MAAM,QAAQ,IAAI,CAC9D,KAAK,OAOF,yBAAyB,GAC5B,KACG,OAEE,KAAK,WAAW,UAAU,CAAC,CAAC,CAC9B,MAAK,QAAO,IAAI,OAAO,CAC5B,CAAC;EAED,IAAI;GACF,OAAO,MAAM,QAAQ,QACnB,WACE,KACE;IACE,aAAa,QAAQ;IACrB;IACA;IACA;IACA,cAAc,KACZ;KACE;KACA,MAAM,cAAc;KACpB,YAAY,QAAQ,cAAc,QAAQ;KAC1C,aAAa,QAAQ;KACrB,aAAa,cAAc;KAC3B,MAAM,QAAQ;KACd,QAAQ;MACN,MAAM,QAAQ;MACd,MACE,QAAQ,aAAa,QACjB,QACA;OACE,MAAM,QAAQ;OACd,QAAQ,QAAQ;MAClB;MACN,QAAQ,QAAQ;MAChB,WAAW,QAAQ;MACnB,GAAI,WAAW,QAAQ,MAAM,IACzB,EAAE,QAAQ,QAAQ,OAAO,IACzB,CAAC;KACP;KACA,SACE,WAAW,QAAQ,QAAQ,KAC3B,WAAW,QAAQ,UAAU,KAC7B,MAAM,QAAQ,qBAAqB,IAC/B;MACE,UAAU,WAAW,QAAQ,QAAQ,IACjC,QAAQ,WACR;MACJ,YAAY,WAAW,QAAQ,UAAU,IACrC,QAAQ,aACR;MACJ,uBAAuB,MACrB,QAAQ,qBACV,IACI,QAAQ,wBACR;KACN,IACA;KACN,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;KACJ,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;IACN,GACA,KAAK,SAAS;KACZ;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF,CAAC,CACH;GACF,GACA,OACF,GACA,OAAO,iBAA+B;IACpC,MAAM,OACJ,aAAa,QACb,QAAQ,eACP,MAAM,QAAQ,QAAQ,MAAM,cAAc,IAAI;IAEjD,OAAO,IAAI;KACT,SAAS,KAAK,gBAAgB;MAC5B;MACA,aAAa,kBACX,MACA,SACA,QAAQ,eAAe,CACzB;MACA,KAAK,QAAQ;MACb,MAAM,cAAc;MACpB,YACE,QAAQ,cACR,QAAQ,UACR,UACE,cAAc,MACd,GAAG,UAAU,UAAU,IAAI,EAAE,WAC/B;MACF,aAAa,QAAQ;MACrB;KACF,CAAC;KACD;KACA;IACF,CAAC;GACH,CACF,CACF;EACF,SAAS,OAAO;GACd,WACE,yCAAyC,UACvC,UAAU,IACZ,EAAE,KAAK,UAAU,OAAO,EAAE,aACxB,QAAQ,KAAK,IACT,GAAG,MAAM,QAAQ;;EAE/B,MAAM,UACQ,iBAER;GAEA,OAAO,EAAE,SAAS,MAAM;EAC1B;CACF,GACA;EACE,mBAAmB;EACnB,OAAO,EACL,sBAAsB,YAAsC;GAC1D,QAAQ,aAAa;GAErB,OAAO;EACT,EACF;CACF,CACF;AACF"}
1
+ {"version":3,"file":"base-executor-eMeOxfNW.mjs","names":[],"sources":["../../src/base/base-executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { ExecutorContext, PromiseExecutor } from \"@nx/devkit\";\nimport { writeError } from \"@storm-software/config-tools/logger\";\nimport type { StormWorkspaceConfig } from \"@storm-software/config/types\";\nimport { withRunExecutor } from \"@storm-software/workspace-tools/base/base-executor\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport { omit } from \"@stryke/helpers/omit\";\nimport { joinPaths } from \"@stryke/path/join\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSet } from \"@stryke/type-checks/is-set\";\nimport { isSetArray } from \"@stryke/type-checks/is-set-array\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport type { DeepPartial } from \"@stryke/types/base\";\nimport defu from \"defu\";\nimport { createJiti } from \"jiti\";\nimport type {\n ExecutionApiParams,\n ExecutionOptions,\n FrameworkOptions,\n InlineConfig,\n Mode,\n OutputConfig\n} from \"powerlines\";\nimport type { BaseExecutorSchema } from \"./base-executor.schema\";\n\nexport type PowerlinesExecutorContext<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n> = ExecutorContext & {\n projectName: string;\n command: string;\n options: TExecutorSchema;\n inlineConfig: InlineConfig;\n workspaceConfig: StormWorkspaceConfig;\n};\n\nexport type PowerlinesExecutorApi = (\n inlineConfig: InlineConfig\n) => Promise<void>;\n\nexport interface WithExecutorOptions {\n /**\n * The import path for the executor API module, which is used to dynamically import the API function that will be called during execution. This value should be a string representing the module path, and it defaults to \"powerlines/api\" if not provided. The specified module should export a default function that matches the expected signature for the executor API, which will be invoked with the execution parameters when the executor is run.\n *\n * @defaultValue \"powerlines/api\"\n */\n importPath?: string;\n\n /**\n * Default options to be merged with the execution options, which can be used to provide default values for certain execution parameters or to override specific options for all executions of the executor. This value should be an object that matches the shape of the `ExecutionOptions` type, and it will be merged with the options provided during execution to create the final set of options that will be passed to the executor API function.\n *\n * @remarks\n * This can be useful for setting default values for options that are commonly used across multiple executions, or for providing a consistent set of options for all executions of the executor without requiring the caller to specify them each time.\n */\n defaultOptions?: DeepPartial<ExecutionOptions>;\n\n /**\n * Details about the framework being used in the current execution, which can be used by plugins and other parts of the system to customize behavior based on the framework.\n *\n * @remarks\n * This should only be used by framework plugins to ensure the correct framework name is applied\n *\n * @defaultValue\n * ```ts\n * {\n * name: \"powerlines\",\n * orgId: \"storm-software\"\n * }\n * ```\n */\n framework?: FrameworkOptions;\n}\n\n/**\n * A utility function to create a Powerlines executor that can be used with the `withRunExecutor` function.\n *\n * @remarks\n * This function is designed to simplify the creation of Powerlines executors by providing a consistent interface and error handling.\n *\n * @param command - The command that the executor will handle (e.g., \"new\", \"prepare\", \"build\", etc.).\n * @param executorFn - The function that will be executed when the command is run.\n * @param options - Additional options for configuring the executor, such as the import path for the API module and default execution options.\n * @returns A Promise that resolves to the result of the executor function.\n */\nexport function withExecutor<\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n>(\n command: string,\n executorFn: (\n context: PowerlinesExecutorContext<TExecutorSchema>,\n api: PowerlinesExecutorApi\n ) =>\n | Promise<BaseExecutorResult | null | undefined>\n | BaseExecutorResult\n | null\n | undefined,\n options: WithExecutorOptions = {}\n): PromiseExecutor<TExecutorSchema> {\n const {\n importPath = \"powerlines/api\",\n defaultOptions = {},\n framework = {} as FrameworkOptions\n } = options;\n\n framework.name ??= \"powerlines\";\n framework.orgId ??= \"storm-software\";\n\n return withRunExecutor(\n `${titleCase(framework.name)} - ${titleCase(command)} executor`,\n async (\n options: TExecutorSchema,\n context: ExecutorContext,\n workspaceConfig: StormWorkspaceConfig\n ): Promise<BaseExecutorResult | null | undefined> => {\n if (!context.projectName) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectName\\` on the context object.`\n );\n }\n\n if (\n !context.projectName ||\n !context.projectsConfigurations?.projects ||\n !context.projectsConfigurations.projects[context.projectName] ||\n !context.projectsConfigurations.projects[context.projectName]?.root\n ) {\n throw new Error(\n `The ${titleCase(framework.name)} - ${titleCase(\n command\n )} executor requires \\`projectsConfigurations\\` on the context object.`\n );\n }\n\n const projectConfig =\n context.projectsConfigurations.projects[context.projectName]!;\n\n const jiti = createJiti(context.root, {\n cache: false,\n tsconfigPaths: true\n });\n // Load via jiti — static require() of powerlines/plugin-utils fails when Nx\n // registers ts-node + tsconfig paths (maps to ESM .ts source under type:module).\n const [{ formatExecutionId, getName }, api] = await Promise.all([\n jiti.import<{\n formatExecutionId: (\n projectName: string,\n command: string,\n configIndex?: number\n ) => string;\n getName: (cwd: string, root: string) => Promise<string>;\n }>(\"powerlines/plugin-utils\"),\n jiti\n .import<{\n default: (params: ExecutionApiParams) => Promise<void>;\n }>(jiti.esmResolve(importPath))\n .then(mod => mod.default)\n ]);\n\n try {\n return await Promise.resolve(\n executorFn(\n defu(\n {\n projectName: context.projectName,\n options,\n workspaceConfig,\n command,\n inlineConfig: defu(\n {\n command,\n root: projectConfig.root,\n configFile: options.configFile || options.config,\n configIndex: options.configIndex,\n projectType: projectConfig.projectType,\n mode: options.mode as Mode,\n output: {\n path: options.outputPath,\n copy:\n options.copyPath === false\n ? false\n : {\n path: options.copyPath,\n assets: options.assets\n },\n minify: options.minify,\n sourceMap: options.sourceMap,\n ...(isSetArray(options.format)\n ? { format: options.format }\n : {})\n } as OutputConfig,\n resolve:\n isSetArray(options.external) ||\n isSetArray(options.noExternal) ||\n isSet(options.skipNodeModulesBundle)\n ? {\n ...(isSetArray(options.external)\n ? { external: options.external }\n : {}),\n ...(isSetArray(options.noExternal)\n ? { noExternal: options.noExternal }\n : {}),\n ...(isSet(options.skipNodeModulesBundle)\n ? {\n skipNodeModulesBundle:\n options.skipNodeModulesBundle\n }\n : {})\n }\n : undefined,\n define: isSetObject(options.define)\n ? options.define\n : undefined,\n assets: isSetObject(options.assets)\n ? options.assets\n : undefined\n },\n omit(options, [\n \"config\",\n \"configFile\",\n \"outputPath\",\n \"copyPath\",\n \"sourceMap\",\n \"minify\",\n \"format\",\n \"external\",\n \"noExternal\",\n \"skipNodeModulesBundle\",\n \"mode\",\n \"define\",\n \"assets\"\n ])\n ) as InlineConfig\n },\n context\n ),\n async (inlineConfig: InlineConfig) => {\n const name =\n inlineConfig.name ||\n context.projectName ||\n (await getName(context.root, projectConfig.root));\n\n return api({\n options: defu(defaultOptions, {\n name,\n executionId: formatExecutionId(\n name,\n command,\n options.configIndex ?? 0\n ),\n cwd: context.root,\n root: projectConfig.root,\n configFile:\n options.configFile ||\n options.config ||\n joinPaths(\n projectConfig.root,\n `${kebabCase(framework.name)}.config.ts`\n ),\n configIndex: options.configIndex,\n framework\n }) as ExecutionOptions,\n command,\n inlineConfig\n });\n }\n )\n );\n } catch (error) {\n writeError(\n `An error occurred while executing the ${titleCase(\n framework.name\n )} - ${titleCase(command)} executor: ${\n isError(error)\n ? `${error.message}\n\n${error.stack}`\n : \"Unknown error\"\n }`\n );\n\n return { success: false };\n }\n },\n {\n skipReadingConfig: false,\n hooks: {\n applyDefaultOptions: (options: Partial<TExecutorSchema>) => {\n options.copyPath ??= \"dist/{projectRoot}\";\n\n return options as TExecutorSchema;\n }\n }\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAsGA,SAAgB,aAGd,SACA,YAQA,UAA+B,CAAC,GACE;CAClC,MAAM,EACJ,aAAa,kBACb,iBAAiB,CAAC,GAClB,YAAY,CAAC,MACX;CAEJ,UAAU,SAAS;CACnB,UAAU,UAAU;CAEpB,OAAO,gBACL,GAAG,UAAU,UAAU,IAAI,EAAE,KAAK,UAAU,OAAO,EAAE,YACrD,OACE,SACA,SACA,oBACmD;EACnD,IAAI,CAAC,QAAQ,aACX,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,0DACJ;EAGF,IACE,CAAC,QAAQ,eACT,CAAC,QAAQ,wBAAwB,YACjC,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,gBACjD,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,YAAY,EAAE,MAE/D,MAAM,IAAI,MACR,OAAO,UAAU,UAAU,IAAI,EAAE,KAAK,UACpC,OACF,EAAE,qEACJ;EAGF,MAAM,gBACJ,QAAQ,uBAAuB,SAAS,QAAQ;EAElD,MAAM,OAAO,WAAW,QAAQ,MAAM;GACpC,OAAO;GACP,eAAe;EACjB,CAAC;EAGD,MAAM,CAAC,EAAE,mBAAmB,WAAW,OAAO,MAAM,QAAQ,IAAI,CAC9D,KAAK,OAOF,yBAAyB,GAC5B,KACG,OAEE,KAAK,WAAW,UAAU,CAAC,CAAC,CAC9B,MAAK,QAAO,IAAI,OAAO,CAC5B,CAAC;EAED,IAAI;GACF,OAAO,MAAM,QAAQ,QACnB,WACE,KACE;IACE,aAAa,QAAQ;IACrB;IACA;IACA;IACA,cAAc,KACZ;KACE;KACA,MAAM,cAAc;KACpB,YAAY,QAAQ,cAAc,QAAQ;KAC1C,aAAa,QAAQ;KACrB,aAAa,cAAc;KAC3B,MAAM,QAAQ;KACd,QAAQ;MACN,MAAM,QAAQ;MACd,MACE,QAAQ,aAAa,QACjB,QACA;OACE,MAAM,QAAQ;OACd,QAAQ,QAAQ;MAClB;MACN,QAAQ,QAAQ;MAChB,WAAW,QAAQ;MACnB,GAAI,WAAW,QAAQ,MAAM,IACzB,EAAE,QAAQ,QAAQ,OAAO,IACzB,CAAC;KACP;KACA,SACE,WAAW,QAAQ,QAAQ,KAC3B,WAAW,QAAQ,UAAU,KAC7B,MAAM,QAAQ,qBAAqB,IAC/B;MACE,GAAI,WAAW,QAAQ,QAAQ,IAC3B,EAAE,UAAU,QAAQ,SAAS,IAC7B,CAAC;MACL,GAAI,WAAW,QAAQ,UAAU,IAC7B,EAAE,YAAY,QAAQ,WAAW,IACjC,CAAC;MACL,GAAI,MAAM,QAAQ,qBAAqB,IACnC,EACE,uBACE,QAAQ,sBACZ,IACA,CAAC;KACP,IACA;KACN,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;KACJ,QAAQ,YAAY,QAAQ,MAAM,IAC9B,QAAQ,SACR;IACN,GACA,KAAK,SAAS;KACZ;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;IACF,CAAC,CACH;GACF,GACA,OACF,GACA,OAAO,iBAA+B;IACpC,MAAM,OACJ,aAAa,QACb,QAAQ,eACP,MAAM,QAAQ,QAAQ,MAAM,cAAc,IAAI;IAEjD,OAAO,IAAI;KACT,SAAS,KAAK,gBAAgB;MAC5B;MACA,aAAa,kBACX,MACA,SACA,QAAQ,eAAe,CACzB;MACA,KAAK,QAAQ;MACb,MAAM,cAAc;MACpB,YACE,QAAQ,cACR,QAAQ,UACR,UACE,cAAc,MACd,GAAG,UAAU,UAAU,IAAI,EAAE,WAC/B;MACF,aAAa,QAAQ;MACrB;KACF,CAAC;KACD;KACA;IACF,CAAC;GACH,CACF,CACF;EACF,SAAS,OAAO;GACd,WACE,yCAAyC,UACvC,UAAU,IACZ,EAAE,KAAK,UAAU,OAAO,EAAE,aACxB,QAAQ,KAAK,IACT,GAAG,MAAM,QAAQ;;EAE/B,MAAM,UACQ,iBAER;GAEA,OAAO,EAAE,SAAS,MAAM;EAC1B;CACF,GACA;EACE,mBAAmB;EACnB,OAAO,EACL,sBAAsB,YAAsC;GAC1D,QAAQ,aAAa;GAErB,OAAO;EACT,EACF;CACF,CACF;AACF"}
@@ -102,17 +102,19 @@ var base_executor_untyped_default = (0, untyped.defineUntypedSchema)({
102
102
  $schema: {
103
103
  title: "External",
104
104
  type: "array",
105
- description: "The external dependencies"
105
+ description: "The external dependencies",
106
+ items: { type: "string" }
106
107
  },
107
- $resolve: (val = []) => [].concat(val)
108
+ $resolve: (val) => Array.isArray(val) ? val : void 0
108
109
  },
109
110
  noExternal: {
110
111
  $schema: {
111
112
  title: "No External",
112
113
  type: "array",
113
- description: "The dependencies that should not be treated as external"
114
+ description: "The dependencies that should not be treated as external",
115
+ items: { type: "string" }
114
116
  },
115
- $resolve: (val = []) => [].concat(val)
117
+ $resolve: (val) => Array.isArray(val) ? val : void 0
116
118
  },
117
119
  skipNodeModulesBundle: { $schema: {
118
120
  title: "Skip Node Modules Bundle",
@@ -102,17 +102,19 @@ var base_executor_untyped_default = defineUntypedSchema({
102
102
  $schema: {
103
103
  title: "External",
104
104
  type: "array",
105
- description: "The external dependencies"
105
+ description: "The external dependencies",
106
+ items: { type: "string" }
106
107
  },
107
- $resolve: (val = []) => [].concat(val)
108
+ $resolve: (val) => Array.isArray(val) ? val : void 0
108
109
  },
109
110
  noExternal: {
110
111
  $schema: {
111
112
  title: "No External",
112
113
  type: "array",
113
- description: "The dependencies that should not be treated as external"
114
+ description: "The dependencies that should not be treated as external",
115
+ items: { type: "string" }
114
116
  },
115
- $resolve: (val = []) => [].concat(val)
117
+ $resolve: (val) => Array.isArray(val) ? val : void 0
116
118
  },
117
119
  skipNodeModulesBundle: { $schema: {
118
120
  title: "Skip Node Modules Bundle",
@@ -174,4 +176,4 @@ var base_executor_untyped_default = defineUntypedSchema({
174
176
 
175
177
  //#endregion
176
178
  export { base_executor_untyped_default as t };
177
- //# sourceMappingURL=base-executor.untyped-CHRd63Zb.mjs.map
179
+ //# sourceMappingURL=base-executor.untyped-Bz2f75UY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-executor.untyped-Bz2f75UY.mjs","names":[],"sources":["../../src/base/base-executor.untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"BaseExecutorSchema\",\n title: \"Base Executor\",\n description:\n \"A shared/base schema type definition for Powerlines executors\",\n required: []\n },\n config: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `configFile`.\"\n }\n },\n configFile: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `config`.\"\n }\n },\n configIndex: {\n $schema: {\n title: \"Powerlines Configuration Index\",\n type: \"number\",\n description:\n \"The index in the Powerlines configuration file to use (if an array of configurations are provided).\"\n },\n $default: 0\n },\n input: {\n $schema: {\n title: \"Input Entry File(s)\",\n format: \"path\",\n type: \"array\",\n description: \"The entry file(s) that serve as the input for the project\",\n items: { type: \"string\" }\n }\n },\n tsconfig: {\n $schema: {\n title: \"TSConfig Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the tsconfig file\"\n }\n },\n outputPath: {\n $schema: {\n title: \"Output Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the output directory for the build artifacts\"\n }\n },\n copyPath: {\n $schema: {\n title: \"Copy Path\",\n description: \"A directory path to copy the build artifacts into\",\n oneOf: [\n { type: \"string\", format: \"path\" },\n { type: \"boolean\", enum: [false] }\n ]\n }\n },\n sourceMap: {\n $schema: {\n title: \"Sourcemap\",\n type: \"boolean\",\n description: \"Generate a sourcemap\"\n }\n },\n minify: {\n $schema: {\n title: \"Minify\",\n type: \"boolean\",\n description: \"Minify the output\"\n }\n },\n format: {\n $schema: {\n title: \"Format\",\n type: \"array\",\n description: \"The format to build\",\n items: {\n type: \"string\",\n enum: [\"cjs\", \"esm\", \"iife\"]\n }\n },\n $resolve: (val?: string[]) =>\n val?.filter(format => [\"cjs\", \"esm\", \"iife\"].includes(format))\n },\n platform: {\n $schema: {\n title: \"Platform\",\n type: \"string\",\n description: \"The platform to build\",\n enum: [\"neutral\", \"node\", \"browser\"]\n }\n },\n external: {\n $schema: {\n title: \"External\",\n type: \"array\",\n description: \"The external dependencies\",\n items: { type: \"string\" }\n },\n $resolve: (val?: string[]) => (Array.isArray(val) ? val : undefined)\n },\n noExternal: {\n $schema: {\n title: \"No External\",\n type: \"array\",\n description: \"The dependencies that should not be treated as external\",\n items: { type: \"string\" }\n },\n $resolve: (val?: string[]) => (Array.isArray(val) ? val : undefined)\n },\n skipNodeModulesBundle: {\n $schema: {\n title: \"Skip Node Modules Bundle\",\n type: \"boolean\",\n description:\n \"Skip bundling node_modules during the build process (if required)\"\n }\n },\n mode: {\n $schema: {\n title: \"Mode\",\n type: \"string\",\n description: \"The build mode\",\n enum: [\"development\", \"test\", \"production\"]\n }\n },\n logLevel: {\n $schema: {\n title: \"Log Level\",\n type: \"string\",\n description: \"The log level to use for the build process\",\n enum: [\n \"fatal\",\n \"error\",\n \"warn\",\n \"success\",\n \"info\",\n \"debug\",\n \"trace\",\n \"silent\"\n ]\n }\n },\n define: {\n $schema: {\n title: \"Define\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description: \"The `define` values\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n },\n assets: {\n $schema: {\n title: \"Assets\",\n type: \"any\",\n tsType:\n \"Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>\",\n description: \"The `assets` values\"\n }\n },\n additionalArgs: {\n $schema: {\n title: \"Additional Arguments\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description:\n \"The additional arguments provided during execution of the command\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n }\n});\n"],"mappings":";;;AAoBA,oCAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,aAAa;EACX,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;EACJ;EACA,UAAU;CACZ;CACA,OAAO,EACL,SAAS;EACP,OAAO;EACP,QAAQ;EACR,MAAM;EACN,aAAa;EACb,OAAO,EAAE,MAAM,SAAS;CAC1B,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,aAAa;EACb,OAAO,CACL;GAAE,MAAM;GAAU,QAAQ;EAAO,GACjC;GAAE,MAAM;GAAW,MAAM,CAAC,KAAK;EAAE,CACnC;CACF,EACF;CACA,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO;IACL,MAAM;IACN,MAAM;KAAC;KAAO;KAAO;IAAM;GAC7B;EACF;EACA,WAAW,QACT,KAAK,QAAO,WAAU;GAAC;GAAO;GAAO;EAAM,CAAC,CAAC,SAAS,MAAM,CAAC;CACjE;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAW;GAAQ;EAAS;CACrC,EACF;CACA,UAAU;EACR,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,MAAM,SAAS;EAC1B;EACA,WAAW,QAAoB,MAAM,QAAQ,GAAG,IAAI,MAAM;CAC5D;CACA,YAAY;EACV,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO,EAAE,MAAM,SAAS;EAC1B;EACA,WAAW,QAAoB,MAAM,QAAQ,GAAG,IAAI,MAAM;CAC5D;CACA,uBAAuB,EACrB,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;CACJ,EACF;CACA,MAAM,EACJ,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAe;GAAQ;EAAY;CAC5C,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aAAa;EACf;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QACE;EACF,aAAa;CACf,EACF;CACA,gBAAgB;EACd,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aACE;EACJ;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;AACF,CAAC"}
@@ -101,14 +101,14 @@ interface BuildExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -101,14 +101,14 @@ interface BuildExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-DyLFdv1F.js');
1
+ const require_base_executor = require('../../base-executor-DEIyWQO7.js');
2
2
 
3
3
  //#region src/executors/build/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-Dq5Z0aZo.mjs";
1
+ import { t as withExecutor } from "../../base-executor-eMeOxfNW.mjs";
2
2
 
3
3
  //#region src/executors/build/executor.ts
4
4
  async function executorFn(context, api) {
@@ -112,7 +112,7 @@ export interface BuildExecutorSchema {
112
112
  * The external dependencies
113
113
  *
114
114
  */
115
- external?: Array<any>,
115
+ external?: Array<string>,
116
116
 
117
117
  /**
118
118
  * No External
@@ -120,7 +120,7 @@ export interface BuildExecutorSchema {
120
120
  * The dependencies that should not be treated as external
121
121
  *
122
122
  */
123
- noExternal?: Array<any>,
123
+ noExternal?: Array<string>,
124
124
 
125
125
  /**
126
126
  * Skip Node Modules Bundle
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -217,8 +215,6 @@
217
215
  "default": {
218
216
  "configIndex": 0,
219
217
  "copyPath": {},
220
- "external": [],
221
- "noExternal": [],
222
218
  "define": {},
223
219
  "assets": {},
224
220
  "additionalArgs": {},
@@ -101,14 +101,14 @@ interface CleanExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -101,14 +101,14 @@ interface CleanExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-DyLFdv1F.js');
1
+ const require_base_executor = require('../../base-executor-DEIyWQO7.js');
2
2
 
3
3
  //#region src/executors/clean/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-Dq5Z0aZo.mjs";
1
+ import { t as withExecutor } from "../../base-executor-eMeOxfNW.mjs";
2
2
 
3
3
  //#region src/executors/clean/executor.ts
4
4
  async function executorFn(context, api) {
@@ -112,7 +112,7 @@ export interface CleanExecutorSchema {
112
112
  * The external dependencies
113
113
  *
114
114
  */
115
- external?: Array<any>,
115
+ external?: Array<string>,
116
116
 
117
117
  /**
118
118
  * No External
@@ -120,7 +120,7 @@ export interface CleanExecutorSchema {
120
120
  * The dependencies that should not be treated as external
121
121
  *
122
122
  */
123
- noExternal?: Array<any>,
123
+ noExternal?: Array<string>,
124
124
 
125
125
  /**
126
126
  * Skip Node Modules Bundle
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -187,8 +185,6 @@
187
185
  "default": {
188
186
  "configIndex": 0,
189
187
  "copyPath": {},
190
- "external": [],
191
- "noExternal": [],
192
188
  "define": {},
193
189
  "assets": {},
194
190
  "additionalArgs": {}
@@ -1,4 +1,4 @@
1
- const require_base_executor_untyped = require('../../base-executor.untyped-Y9IuR5eg.js');
1
+ const require_base_executor_untyped = require('../../base-executor.untyped-But-48Iy.js');
2
2
  let untyped = require("untyped");
3
3
 
4
4
  //#region src/executors/clean/untyped.ts
@@ -1,4 +1,4 @@
1
- import { t as base_executor_untyped_default } from "../../base-executor.untyped-CHRd63Zb.mjs";
1
+ import { t as base_executor_untyped_default } from "../../base-executor.untyped-Bz2f75UY.mjs";
2
2
  import { defineUntypedSchema } from "untyped";
3
3
 
4
4
  //#region src/executors/clean/untyped.ts
@@ -101,14 +101,14 @@ interface DocsExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -101,14 +101,14 @@ interface DocsExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-DyLFdv1F.js');
1
+ const require_base_executor = require('../../base-executor-DEIyWQO7.js');
2
2
 
3
3
  //#region src/executors/docs/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-Dq5Z0aZo.mjs";
1
+ import { t as withExecutor } from "../../base-executor-eMeOxfNW.mjs";
2
2
 
3
3
  //#region src/executors/docs/executor.ts
4
4
  async function executorFn(context, api) {
@@ -112,7 +112,7 @@ export interface DocsExecutorSchema {
112
112
  * The external dependencies
113
113
  *
114
114
  */
115
- external?: Array<any>,
115
+ external?: Array<string>,
116
116
 
117
117
  /**
118
118
  * No External
@@ -120,7 +120,7 @@ export interface DocsExecutorSchema {
120
120
  * The dependencies that should not be treated as external
121
121
  *
122
122
  */
123
- noExternal?: Array<any>,
123
+ noExternal?: Array<string>,
124
124
 
125
125
  /**
126
126
  * Skip Node Modules Bundle
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -199,8 +197,6 @@
199
197
  "default": {
200
198
  "configIndex": 0,
201
199
  "copyPath": {},
202
- "external": [],
203
- "noExternal": [],
204
200
  "define": {},
205
201
  "assets": {},
206
202
  "additionalArgs": {}
@@ -101,14 +101,14 @@ interface LintExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -101,14 +101,14 @@ interface LintExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-DyLFdv1F.js');
1
+ const require_base_executor = require('../../base-executor-DEIyWQO7.js');
2
2
 
3
3
  //#region src/executors/lint/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-Dq5Z0aZo.mjs";
1
+ import { t as withExecutor } from "../../base-executor-eMeOxfNW.mjs";
2
2
 
3
3
  //#region src/executors/lint/executor.ts
4
4
  async function executorFn(context, api) {
@@ -112,7 +112,7 @@ export interface LintExecutorSchema {
112
112
  * The external dependencies
113
113
  *
114
114
  */
115
- external?: Array<any>,
115
+ external?: Array<string>,
116
116
 
117
117
  /**
118
118
  * No External
@@ -120,7 +120,7 @@ export interface LintExecutorSchema {
120
120
  * The dependencies that should not be treated as external
121
121
  *
122
122
  */
123
- noExternal?: Array<any>,
123
+ noExternal?: Array<string>,
124
124
 
125
125
  /**
126
126
  * Skip Node Modules Bundle
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -199,8 +197,6 @@
199
197
  "default": {
200
198
  "configIndex": 0,
201
199
  "copyPath": {},
202
- "external": [],
203
- "noExternal": [],
204
200
  "define": {},
205
201
  "assets": {},
206
202
  "additionalArgs": {}
@@ -101,14 +101,14 @@ interface PrepareExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -101,14 +101,14 @@ interface PrepareExecutorSchema {
101
101
  * The external dependencies
102
102
  *
103
103
  */
104
- external?: Array<any>;
104
+ external?: Array<string>;
105
105
  /**
106
106
  * No External
107
107
  *
108
108
  * The dependencies that should not be treated as external
109
109
  *
110
110
  */
111
- noExternal?: Array<any>;
111
+ noExternal?: Array<string>;
112
112
  /**
113
113
  * Skip Node Modules Bundle
114
114
  *
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-DyLFdv1F.js');
1
+ const require_base_executor = require('../../base-executor-DEIyWQO7.js');
2
2
 
3
3
  //#region src/executors/prepare/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-Dq5Z0aZo.mjs";
1
+ import { t as withExecutor } from "../../base-executor-eMeOxfNW.mjs";
2
2
 
3
3
  //#region src/executors/prepare/executor.ts
4
4
  async function executorFn(context, api) {
@@ -112,7 +112,7 @@ export interface PrepareExecutorSchema {
112
112
  * The external dependencies
113
113
  *
114
114
  */
115
- external?: Array<any>,
115
+ external?: Array<string>,
116
116
 
117
117
  /**
118
118
  * No External
@@ -120,7 +120,7 @@ export interface PrepareExecutorSchema {
120
120
  * The dependencies that should not be treated as external
121
121
  *
122
122
  */
123
- noExternal?: Array<any>,
123
+ noExternal?: Array<string>,
124
124
 
125
125
  /**
126
126
  * Skip Node Modules Bundle
@@ -109,21 +109,19 @@
109
109
  "title": "External",
110
110
  "type": "array",
111
111
  "description": "The external dependencies",
112
- "id": "#external",
113
- "default": [],
114
112
  "items": {
115
- "type": "any"
116
- }
113
+ "type": "string"
114
+ },
115
+ "id": "#external"
117
116
  },
118
117
  "noExternal": {
119
118
  "title": "No External",
120
119
  "type": "array",
121
120
  "description": "The dependencies that should not be treated as external",
122
- "id": "#noExternal",
123
- "default": [],
124
121
  "items": {
125
- "type": "any"
126
- }
122
+ "type": "string"
123
+ },
124
+ "id": "#noExternal"
127
125
  },
128
126
  "skipNodeModulesBundle": {
129
127
  "title": "Skip Node Modules Bundle",
@@ -199,8 +197,6 @@
199
197
  "default": {
200
198
  "configIndex": 0,
201
199
  "copyPath": {},
202
- "external": [],
203
- "noExternal": [],
204
200
  "define": {},
205
201
  "assets": {},
206
202
  "additionalArgs": {}
@@ -1,4 +1,4 @@
1
- const require_base_executor_untyped = require('../../base-executor.untyped-Y9IuR5eg.js');
1
+ const require_base_executor_untyped = require('../../base-executor.untyped-But-48Iy.js');
2
2
  let untyped = require("untyped");
3
3
 
4
4
  //#region src/executors/prepare/untyped.ts
@@ -1,4 +1,4 @@
1
- import { t as base_executor_untyped_default } from "../../base-executor.untyped-CHRd63Zb.mjs";
1
+ import { t as base_executor_untyped_default } from "../../base-executor.untyped-Bz2f75UY.mjs";
2
2
  import { defineUntypedSchema } from "untyped";
3
3
 
4
4
  //#region src/executors/prepare/untyped.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/nx",
3
- "version": "0.13.238",
3
+ "version": "0.13.240",
4
4
  "private": false,
5
5
  "description": "A Nx plugin to support Powerlines development in Nx monorepos.",
6
6
  "repository": {
@@ -183,27 +183,27 @@
183
183
  ],
184
184
  "dependencies": {
185
185
  "@nx/devkit": "^23.1.1",
186
- "@storm-software/build-tools": "^0.158.291",
187
- "@storm-software/config": "^1.138.67",
188
- "@storm-software/config-tools": "^1.190.131",
189
- "@storm-software/workspace-tools": "^1.297.0",
190
- "@stryke/env": "^0.20.126",
191
- "@stryke/fs": "^0.33.109",
192
- "@stryke/hash": "^0.13.62",
193
- "@stryke/helpers": "^0.10.47",
194
- "@stryke/path": "^0.29.34",
195
- "@stryke/string-format": "^0.17.49",
196
- "@stryke/type-checks": "^0.6.40",
186
+ "@storm-software/build-tools": "^0.158.292",
187
+ "@storm-software/config": "^1.138.68",
188
+ "@storm-software/config-tools": "^1.190.132",
189
+ "@storm-software/workspace-tools": "^1.297.1",
190
+ "@stryke/env": "^0.20.127",
191
+ "@stryke/fs": "^0.33.110",
192
+ "@stryke/hash": "^0.13.63",
193
+ "@stryke/helpers": "^0.10.48",
194
+ "@stryke/path": "^0.29.35",
195
+ "@stryke/string-format": "^0.17.50",
196
+ "@stryke/type-checks": "^0.6.41",
197
197
  "defu": "^6.1.7",
198
198
  "jiti": "^2.7.0",
199
- "powerlines": "^0.47.199"
199
+ "powerlines": "^0.47.201"
200
200
  },
201
201
  "devDependencies": {
202
202
  "@nx/workspace": "23.1.0",
203
- "@storm-software/testing-tools": "^1.119.283",
204
- "@storm-software/tsup": "^0.2.289",
205
- "@storm-software/untyped": "^0.24.273",
206
- "@stryke/types": "^0.12.35",
203
+ "@storm-software/testing-tools": "^1.119.284",
204
+ "@storm-software/tsup": "^0.2.290",
205
+ "@storm-software/untyped": "^0.24.274",
206
+ "@stryke/types": "^0.12.36",
207
207
  "@types/node": "^25.9.5",
208
208
  "eslint-flat-config-utils": "^2.1.4",
209
209
  "jsonc-eslint-parser": "^2.4.2",
@@ -216,5 +216,5 @@
216
216
  "publishConfig": { "access": "public" },
217
217
  "executors": "./executors.json",
218
218
  "generators": "./generators.json",
219
- "gitHead": "6bc89a1a8b66be46465d8534307aa6a1cc1c05f1"
219
+ "gitHead": "2e0e019015261ba2e32669ca2a13b4518b122e5a"
220
220
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-executor.untyped-CHRd63Zb.mjs","names":[],"sources":["../../src/base/base-executor.untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n 🗲 Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"BaseExecutorSchema\",\n title: \"Base Executor\",\n description:\n \"A shared/base schema type definition for Powerlines executors\",\n required: []\n },\n config: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `configFile`.\"\n }\n },\n configFile: {\n $schema: {\n title: \"Powerlines Configuration File\",\n type: \"string\",\n format: \"path\",\n description:\n \"The path to the Powerlines configuration file. Alias for `config`.\"\n }\n },\n configIndex: {\n $schema: {\n title: \"Powerlines Configuration Index\",\n type: \"number\",\n description:\n \"The index in the Powerlines configuration file to use (if an array of configurations are provided).\"\n },\n $default: 0\n },\n input: {\n $schema: {\n title: \"Input Entry File(s)\",\n format: \"path\",\n type: \"array\",\n description: \"The entry file(s) that serve as the input for the project\",\n items: { type: \"string\" }\n }\n },\n tsconfig: {\n $schema: {\n title: \"TSConfig Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the tsconfig file\"\n }\n },\n outputPath: {\n $schema: {\n title: \"Output Path\",\n type: \"string\",\n format: \"path\",\n description: \"The path to the output directory for the build artifacts\"\n }\n },\n copyPath: {\n $schema: {\n title: \"Copy Path\",\n description: \"A directory path to copy the build artifacts into\",\n oneOf: [\n { type: \"string\", format: \"path\" },\n { type: \"boolean\", enum: [false] }\n ]\n }\n },\n sourceMap: {\n $schema: {\n title: \"Sourcemap\",\n type: \"boolean\",\n description: \"Generate a sourcemap\"\n }\n },\n minify: {\n $schema: {\n title: \"Minify\",\n type: \"boolean\",\n description: \"Minify the output\"\n }\n },\n format: {\n $schema: {\n title: \"Format\",\n type: \"array\",\n description: \"The format to build\",\n items: {\n type: \"string\",\n enum: [\"cjs\", \"esm\", \"iife\"]\n }\n },\n $resolve: (val?: string[]) =>\n val?.filter(format => [\"cjs\", \"esm\", \"iife\"].includes(format))\n },\n platform: {\n $schema: {\n title: \"Platform\",\n type: \"string\",\n description: \"The platform to build\",\n enum: [\"neutral\", \"node\", \"browser\"]\n }\n },\n external: {\n $schema: {\n title: \"External\",\n type: \"array\",\n description: \"The external dependencies\"\n },\n $resolve: (val: string[] = []) => ([] as string[]).concat(val)\n },\n noExternal: {\n $schema: {\n title: \"No External\",\n type: \"array\",\n description: \"The dependencies that should not be treated as external\"\n },\n $resolve: (val: string[] = []) => ([] as string[]).concat(val)\n },\n skipNodeModulesBundle: {\n $schema: {\n title: \"Skip Node Modules Bundle\",\n type: \"boolean\",\n description:\n \"Skip bundling node_modules during the build process (if required)\"\n }\n },\n mode: {\n $schema: {\n title: \"Mode\",\n type: \"string\",\n description: \"The build mode\",\n enum: [\"development\", \"test\", \"production\"]\n }\n },\n logLevel: {\n $schema: {\n title: \"Log Level\",\n type: \"string\",\n description: \"The log level to use for the build process\",\n enum: [\n \"fatal\",\n \"error\",\n \"warn\",\n \"success\",\n \"info\",\n \"debug\",\n \"trace\",\n \"silent\"\n ]\n }\n },\n define: {\n $schema: {\n title: \"Define\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description: \"The `define` values\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n },\n assets: {\n $schema: {\n title: \"Assets\",\n type: \"any\",\n tsType:\n \"Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>\",\n description: \"The `assets` values\"\n }\n },\n additionalArgs: {\n $schema: {\n title: \"Additional Arguments\",\n type: \"object\",\n tsType: \"Record<string, string>\",\n description:\n \"The additional arguments provided during execution of the command\"\n },\n $resolve: (val: Record<string, string> = {}) => val,\n $default: {}\n }\n});\n"],"mappings":";;;AAoBA,oCAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aACE;CACJ,EACF;CACA,aAAa;EACX,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;EACJ;EACA,UAAU;CACZ;CACA,OAAO,EACL,SAAS;EACP,OAAO;EACP,QAAQ;EACR,MAAM;EACN,aAAa;EACb,OAAO,EAAE,MAAM,SAAS;CAC1B,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,YAAY,EACV,SAAS;EACP,OAAO;EACP,MAAM;EACN,QAAQ;EACR,aAAa;CACf,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,aAAa;EACb,OAAO,CACL;GAAE,MAAM;GAAU,QAAQ;EAAO,GACjC;GAAE,MAAM;GAAW,MAAM,CAAC,KAAK;EAAE,CACnC;CACF,EACF;CACA,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;GACb,OAAO;IACL,MAAM;IACN,MAAM;KAAC;KAAO;KAAO;IAAM;GAC7B;EACF;EACA,WAAW,QACT,KAAK,QAAO,WAAU;GAAC;GAAO;GAAO;EAAM,CAAC,CAAC,SAAS,MAAM,CAAC;CACjE;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAW;GAAQ;EAAS;CACrC,EACF;CACA,UAAU;EACR,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;EACf;EACA,WAAW,MAAgB,CAAC,MAAO,CAAC,CAAC,CAAc,OAAO,GAAG;CAC/D;CACA,YAAY;EACV,SAAS;GACP,OAAO;GACP,MAAM;GACN,aAAa;EACf;EACA,WAAW,MAAgB,CAAC,MAAO,CAAC,CAAC,CAAc,OAAO,GAAG;CAC/D;CACA,uBAAuB,EACrB,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;CACJ,EACF;CACA,MAAM,EACJ,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GAAC;GAAe;GAAQ;EAAY;CAC5C,EACF;CACA,UAAU,EACR,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACb,MAAM;GACJ;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF;CACF,EACF;CACA,QAAQ;EACN,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aAAa;EACf;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;CACA,QAAQ,EACN,SAAS;EACP,OAAO;EACP,MAAM;EACN,QACE;EACF,aAAa;CACf,EACF;CACA,gBAAgB;EACd,SAAS;GACP,OAAO;GACP,MAAM;GACN,QAAQ;GACR,aACE;EACJ;EACA,WAAW,MAA8B,CAAC,MAAM;EAChD,UAAU,CAAC;CACb;AACF,CAAC"}