@shell-shock/nx 0.0.78 → 0.0.80

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 (69) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -1
  3. package/dist/base/base-executor.schema.d.ts +16 -4
  4. package/dist/base/base-executor.schema.json +20 -13
  5. package/dist/{base-executor-CXGfAvut.mjs → base-executor-DxPjWb68.mjs} +28 -14
  6. package/dist/base-executor-DxPjWb68.mjs.map +1 -0
  7. package/dist/{base-executor-CjzYhdJI.js → base-executor-X4qL_j3i.js} +27 -13
  8. package/dist/executors/build/executor.d.mts +14 -4
  9. package/dist/executors/build/executor.d.mts.map +1 -1
  10. package/dist/executors/build/executor.d.ts +14 -4
  11. package/dist/executors/build/executor.d.ts.map +1 -1
  12. package/dist/executors/build/executor.js +1 -1
  13. package/dist/executors/build/executor.mjs +1 -1
  14. package/dist/executors/build/executor.mjs.map +1 -1
  15. package/dist/executors/build/schema.d.ts +16 -4
  16. package/dist/executors/build/schema.json +20 -13
  17. package/dist/executors/clean/executor.d.mts +14 -4
  18. package/dist/executors/clean/executor.d.mts.map +1 -1
  19. package/dist/executors/clean/executor.d.ts +14 -4
  20. package/dist/executors/clean/executor.d.ts.map +1 -1
  21. package/dist/executors/clean/executor.js +1 -1
  22. package/dist/executors/clean/executor.mjs +1 -1
  23. package/dist/executors/clean/schema.d.ts +16 -4
  24. package/dist/executors/clean/schema.json +20 -13
  25. package/dist/executors/docs/executor.d.mts +14 -4
  26. package/dist/executors/docs/executor.d.mts.map +1 -1
  27. package/dist/executors/docs/executor.d.ts +14 -4
  28. package/dist/executors/docs/executor.d.ts.map +1 -1
  29. package/dist/executors/docs/executor.js +1 -1
  30. package/dist/executors/docs/executor.mjs +1 -1
  31. package/dist/executors/docs/schema.d.ts +16 -4
  32. package/dist/executors/docs/schema.json +20 -13
  33. package/dist/executors/lint/executor.d.mts +14 -4
  34. package/dist/executors/lint/executor.d.mts.map +1 -1
  35. package/dist/executors/lint/executor.d.ts +14 -4
  36. package/dist/executors/lint/executor.d.ts.map +1 -1
  37. package/dist/executors/lint/executor.js +1 -1
  38. package/dist/executors/lint/executor.mjs +1 -1
  39. package/dist/executors/lint/schema.d.ts +16 -4
  40. package/dist/executors/lint/schema.json +20 -13
  41. package/dist/executors/prepare/executor.d.mts +14 -4
  42. package/dist/executors/prepare/executor.d.mts.map +1 -1
  43. package/dist/executors/prepare/executor.d.ts +14 -4
  44. package/dist/executors/prepare/executor.d.ts.map +1 -1
  45. package/dist/executors/prepare/executor.js +1 -1
  46. package/dist/executors/prepare/executor.mjs +1 -1
  47. package/dist/executors/prepare/schema.d.ts +16 -4
  48. package/dist/executors/prepare/schema.json +20 -13
  49. package/dist/index.d.mts +14 -4
  50. package/dist/index.d.mts.map +1 -1
  51. package/dist/index.d.ts +14 -4
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +1 -1
  54. package/dist/index.mjs +1 -1
  55. package/dist/plugin/index.d.mts +1 -1
  56. package/dist/plugin/index.d.mts.map +1 -1
  57. package/dist/plugin/index.d.ts +1 -1
  58. package/dist/plugin/index.d.ts.map +1 -1
  59. package/dist/plugin/index.js +128 -24
  60. package/dist/plugin/index.mjs +128 -24
  61. package/dist/plugin/index.mjs.map +1 -1
  62. package/docs/api/base-executor.schema.md +11 -4
  63. package/docs/api/build/schema.md +11 -4
  64. package/docs/api/clean/schema.md +11 -4
  65. package/docs/api/docs/schema.md +11 -4
  66. package/docs/api/lint/schema.md +11 -4
  67. package/docs/api/prepare/schema.md +11 -4
  68. package/package.json +16 -16
  69. package/dist/base-executor-CXGfAvut.mjs.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  # Changelog for Shell Shock - Nx
4
4
 
5
+ ## [0.0.80](https://github.com/storm-software/shell-shock/releases/tag/nx%400.0.80) (04/29/2026)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **core:** Various major fixes/updates to core processing ([0bc4fd4](https://github.com/storm-software/shell-shock/commit/0bc4fd4))
10
+
11
+ ### Updated Dependencies
12
+
13
+ - Updated **core** to **v0.17.8**
14
+
15
+ ## [0.0.79](https://github.com/storm-software/shell-shock/releases/tag/nx%400.0.79) (04/15/2026)
16
+
17
+ ### Miscellaneous
18
+
19
+ - **monorepo:** Update Shell Shock assets' CDN url ([398b8d5](https://github.com/storm-software/shell-shock/commit/398b8d5))
20
+
21
+ ### Updated Dependencies
22
+
23
+ - Updated **core** to **v0.17.7**
24
+
5
25
  ## [0.0.78](https://github.com/storm-software/shell-shock/releases/tag/nx%400.0.78) (04/15/2026)
6
26
 
7
27
  ### Updated Dependencies
package/README.md CHANGED
@@ -249,7 +249,7 @@ generation of development tools, please reach out on our
249
249
 
250
250
  <div align="center"><a href="https://stormsoftware.com" target="_blank"><img src="https://public.storm-cdn.com/storm-software/icon-circle-fill-dark.png" alt="Storm Software" width="200px"/></a></div>
251
251
  <br />
252
- <div align="center"><a href="https://stormsoftware.com" target="_blank"><img src="https://public.storm-cdn.com/visit-us-text.svg" alt="Visit us at stormsoftware.com" height="90px"/></a></div>
252
+ <div align="center"><a href="https://stormsoftware.com" target="_blank"><picture><source media="(prefers-color-scheme: dark)" srcset="https://public.storm-cdn.com/misc/text/visit-us-dark.png"><source media="(prefers-color-scheme: light)" srcset="https://public.storm-cdn.com/misc/text/visit-us-light.png"><img src="https://public.storm-cdn.com/misc/text/visit-us-dark.png" height="90px" alt="Visit us at stormsoftware.com" /></picture></a></div>
253
253
 
254
254
  <br />
255
255
 
@@ -8,7 +8,6 @@ export interface BaseExecutorSchema {
8
8
  *
9
9
  * The path to the Powerlines configuration file. Alias for `configFile`.
10
10
  *
11
- * @default "{projectRoot}/powerlines.config.ts"
12
11
  *
13
12
  * @format path
14
13
  */
@@ -19,7 +18,6 @@ export interface BaseExecutorSchema {
19
18
  *
20
19
  * The path to the Powerlines configuration file. Alias for `config`.
21
20
  *
22
- * @default "{projectRoot}/powerlines.config.ts"
23
21
  *
24
22
  * @format path
25
23
  */
@@ -40,7 +38,6 @@ export interface BaseExecutorSchema {
40
38
  *
41
39
  * The path to the tsconfig file
42
40
  *
43
- * @default "{projectRoot}/tsconfig.json"
44
41
  *
45
42
  * @format path
46
43
  */
@@ -74,6 +71,14 @@ export interface BaseExecutorSchema {
74
71
  */
75
72
  sourceMap?: boolean,
76
73
 
74
+ /**
75
+ * Minify
76
+ *
77
+ * Minify the output
78
+ *
79
+ */
80
+ minify?: boolean,
81
+
77
82
  /**
78
83
  * Format
79
84
  *
@@ -88,7 +93,6 @@ export interface BaseExecutorSchema {
88
93
  *
89
94
  * The platform to build
90
95
  *
91
- * @default "neutral"
92
96
  *
93
97
  * @enum neutral,node,browser
94
98
  */
@@ -153,5 +157,13 @@ export interface BaseExecutorSchema {
153
157
  *
154
158
  */
155
159
  assets?: Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>,
160
+
161
+ /**
162
+ * Additional Arguments
163
+ *
164
+ * The additional arguments provided during execution of the command
165
+ *
166
+ */
167
+ additionalArgs?: Record<string, string>,
156
168
  }
157
169
 
@@ -9,16 +9,14 @@
9
9
  "type": "string",
10
10
  "format": "path",
11
11
  "description": "The path to the Powerlines configuration file. Alias for `configFile`.",
12
- "id": "#config",
13
- "default": "{projectRoot}/powerlines.config.ts"
12
+ "id": "#config"
14
13
  },
15
14
  "configFile": {
16
15
  "title": "Powerlines Configuration File",
17
16
  "type": "string",
18
17
  "format": "path",
19
18
  "description": "The path to the Powerlines configuration file. Alias for `config`.",
20
- "id": "#configFile",
21
- "default": "{projectRoot}/powerlines.config.ts"
19
+ "id": "#configFile"
22
20
  },
23
21
  "input": {
24
22
  "title": "Input Entry File(s)",
@@ -35,8 +33,7 @@
35
33
  "type": "string",
36
34
  "format": "path",
37
35
  "description": "The path to the tsconfig file",
38
- "id": "#tsconfig",
39
- "default": "{projectRoot}/tsconfig.json"
36
+ "id": "#tsconfig"
40
37
  },
41
38
  "outputPath": {
42
39
  "title": "Output Path",
@@ -70,6 +67,12 @@
70
67
  "description": "Generate a sourcemap",
71
68
  "id": "#sourceMap"
72
69
  },
70
+ "minify": {
71
+ "title": "Minify",
72
+ "type": "boolean",
73
+ "description": "Minify the output",
74
+ "id": "#minify"
75
+ },
73
76
  "format": {
74
77
  "title": "Format",
75
78
  "type": "array",
@@ -97,8 +100,7 @@
97
100
  "node",
98
101
  "browser"
99
102
  ],
100
- "id": "#platform",
101
- "default": "neutral"
103
+ "id": "#platform"
102
104
  },
103
105
  "external": {
104
106
  "title": "External",
@@ -168,22 +170,27 @@
168
170
  "description": "The `assets` values",
169
171
  "id": "#assets",
170
172
  "default": {}
173
+ },
174
+ "additionalArgs": {
175
+ "title": "Additional Arguments",
176
+ "type": "object",
177
+ "tsType": "Record<string, string>",
178
+ "description": "The additional arguments provided during execution of the command",
179
+ "id": "#additionalArgs",
180
+ "default": {}
171
181
  }
172
182
  },
173
183
  "type": "object",
174
184
  "default": {
175
- "config": "{projectRoot}/powerlines.config.ts",
176
- "configFile": "{projectRoot}/powerlines.config.ts",
177
- "tsconfig": "{projectRoot}/tsconfig.json",
178
185
  "copyPath": {},
179
186
  "format": [
180
187
  "cjs",
181
188
  "esm"
182
189
  ],
183
- "platform": "neutral",
184
190
  "external": [],
185
191
  "noExternal": [],
186
192
  "define": {},
187
- "assets": {}
193
+ "assets": {},
194
+ "additionalArgs": {}
188
195
  }
189
196
  }
@@ -21,25 +21,39 @@ function withExecutor(command, executorFn) {
21
21
  if (!context.projectName || !context.projectsConfigurations?.projects || !context.projectsConfigurations.projects[context.projectName] || !context.projectsConfigurations.projects[context.projectName]?.root) throw new Error("The executor requires `projectsConfigurations` on the context object.");
22
22
  const projectConfig = context.projectsConfigurations.projects[context.projectName];
23
23
  const jiti = createJiti(context.root, { cache: false });
24
- const { ShellShockAPI } = await jiti.import(jiti.esmResolve("@shell-shock/core"));
25
- const api = await ShellShockAPI.from(defu({
26
- name: projectConfig.name,
24
+ const { createShellShock } = await jiti.import(jiti.esmResolve("@shell-shock/core"));
25
+ const api = await createShellShock({
27
26
  root: projectConfig.root,
28
- sourceRoot: projectConfig.sourceRoot,
29
- description: projectConfig.metadata?.description,
30
- projectType: projectConfig.projectType,
31
- output: { path: options.outputPath }
32
- }, options, workspaceConfig.workspaceRoot));
27
+ cwd: workspaceConfig.workspaceRoot,
28
+ configFile: options.configFile
29
+ });
33
30
  try {
34
31
  return await Promise.resolve(executorFn(defu({
35
32
  projectName: context.projectName,
36
33
  options,
34
+ command,
37
35
  workspaceConfig,
38
- inlineConfig: {
36
+ inlineConfig: defu({
39
37
  command,
40
- configFile: options.configFile
41
- },
42
- command
38
+ configFile: options.configFile,
39
+ description: projectConfig.metadata?.description,
40
+ projectType: projectConfig.projectType,
41
+ output: {
42
+ path: options.outputPath,
43
+ copy: options.copyPath === false ? false : {
44
+ path: options.copyPath,
45
+ assets: options.assets
46
+ },
47
+ minify: options.minify,
48
+ sourceMap: options.sourceMap
49
+ },
50
+ logLevel: options.logLevel,
51
+ resolve: {
52
+ external: options.external,
53
+ noExternal: options.noExternal,
54
+ skipNodeModulesBundle: options.skipNodeModulesBundle
55
+ }
56
+ }, options)
43
57
  }, context), api));
44
58
  } catch (error) {
45
59
  writeError(`An error occurred while executing the Shell Shock ${command} command executor: ${isError(error) ? `${error.message}
@@ -52,7 +66,7 @@ ${error.stack}` : "Unknown error"}`);
52
66
  }, {
53
67
  skipReadingConfig: false,
54
68
  hooks: { applyDefaultOptions: (options) => {
55
- options.outputPath ??= "dist/{projectRoot}";
69
+ options.copyPath ??= "dist/{projectRoot}";
56
70
  options.configFile ??= "{projectRoot}/shell-shock.config.ts";
57
71
  return options;
58
72
  } }
@@ -61,4 +75,4 @@ ${error.stack}` : "Unknown error"}`);
61
75
 
62
76
  //#endregion
63
77
  export { withExecutor as t };
64
- //# sourceMappingURL=base-executor-CXGfAvut.mjs.map
78
+ //# sourceMappingURL=base-executor-DxPjWb68.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-executor-DxPjWb68.mjs","names":[],"sources":["../src/base/base-executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\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/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\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 type { ShellShockAPI } from \"@shell-shock/core\";\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 { isError } from \"@stryke/type-checks/is-error\";\nimport defu from \"defu\";\nimport { createJiti } from \"jiti\";\nimport type {\n InlineConfig,\n LogLevel,\n OutputConfig,\n PowerlinesCommand\n} from \"powerlines\";\nimport type { BaseExecutorSchema } from \"./base-executor.schema\";\n\nexport type ShellShockExecutorContext<\n TCommand extends PowerlinesCommand = PowerlinesCommand,\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n> = ExecutorContext & {\n projectName: string;\n command: TCommand;\n options: TExecutorSchema;\n inlineConfig: InlineConfig;\n workspaceConfig: StormWorkspaceConfig;\n};\n\n/**\n * A utility function to create a Shell Shock executor that can be used with the `withRunExecutor` function.\n *\n * @remarks\n * This function is designed to simplify the creation of Shell Shock 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 * @returns A Promise that resolves to the result of the executor function.\n */\nexport function withExecutor<\n TCommand extends PowerlinesCommand = PowerlinesCommand,\n TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema\n>(\n command: TCommand,\n executorFn: (\n context: ShellShockExecutorContext<TCommand, TExecutorSchema>,\n api: ShellShockAPI\n ) =>\n | Promise<BaseExecutorResult | null | undefined>\n | BaseExecutorResult\n | null\n | undefined\n): PromiseExecutor<TExecutorSchema> {\n return withRunExecutor(\n `Shell Shock ${command} 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 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 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, { cache: false });\n const { createShellShock } = await jiti.import<{\n createShellShock: typeof import(\"@shell-shock/core\").createShellShock;\n }>(jiti.esmResolve(\"@shell-shock/core\"));\n\n const api = await createShellShock({\n root: projectConfig.root,\n cwd: workspaceConfig.workspaceRoot,\n configFile: options.configFile\n });\n\n try {\n return await Promise.resolve(\n executorFn(\n defu(\n {\n projectName: context.projectName,\n options,\n command,\n workspaceConfig,\n inlineConfig: defu(\n {\n command,\n configFile: options.configFile,\n description: projectConfig.metadata?.description,\n projectType: projectConfig.projectType,\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 } as OutputConfig,\n logLevel: options.logLevel as LogLevel,\n resolve: {\n external: options.external,\n noExternal: options.noExternal,\n skipNodeModulesBundle: options.skipNodeModulesBundle\n }\n },\n options\n )\n },\n context\n ),\n api\n )\n );\n } catch (error) {\n writeError(\n `An error occurred while executing the Shell Shock ${\n command\n } command executor: ${\n isError(error)\n ? `${error.message}\n\n${error.stack}`\n : \"Unknown error\"\n }`\n );\n\n return { success: false };\n } finally {\n await api.finalize();\n }\n },\n {\n skipReadingConfig: false,\n hooks: {\n applyDefaultOptions: (options: Partial<TExecutorSchema>) => {\n options.copyPath ??= \"dist/{projectRoot}\";\n options.configFile ??= \"{projectRoot}/shell-shock.config.ts\";\n\n return options as TExecutorSchema;\n }\n }\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAwDA,SAAgB,aAId,SACA,YAQkC;AAClC,QAAO,gBACL,eAAe,QAAQ,oBACvB,OACE,SACA,SACA,oBACmD;AACnD,MAAI,CAAC,QAAQ,YACX,OAAM,IAAI,MACR,6DACD;AAGH,MACE,CAAC,QAAQ,eACT,CAAC,QAAQ,wBAAwB,YACjC,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,gBACjD,CAAC,QAAQ,uBAAuB,SAAS,QAAQ,cAAc,KAE/D,OAAM,IAAI,MACR,wEACD;EAGH,MAAM,gBACJ,QAAQ,uBAAuB,SAAS,QAAQ;EAElD,MAAM,OAAO,WAAW,QAAQ,MAAM,EAAE,OAAO,OAAO,CAAC;EACvD,MAAM,EAAE,qBAAqB,MAAM,KAAK,OAErC,KAAK,WAAW,oBAAoB,CAAC;EAExC,MAAM,MAAM,MAAM,iBAAiB;GACjC,MAAM,cAAc;GACpB,KAAK,gBAAgB;GACrB,YAAY,QAAQ;GACrB,CAAC;AAEF,MAAI;AACF,UAAO,MAAM,QAAQ,QACnB,WACE,KACE;IACE,aAAa,QAAQ;IACrB;IACA;IACA;IACA,cAAc,KACZ;KACE;KACA,YAAY,QAAQ;KACpB,aAAa,cAAc,UAAU;KACrC,aAAa,cAAc;KAC3B,QAAQ;MACN,MAAM,QAAQ;MACd,MACE,QAAQ,aAAa,QACjB,QACA;OACE,MAAM,QAAQ;OACd,QAAQ,QAAQ;OACjB;MACP,QAAQ,QAAQ;MAChB,WAAW,QAAQ;MACpB;KACD,UAAU,QAAQ;KAClB,SAAS;MACP,UAAU,QAAQ;MAClB,YAAY,QAAQ;MACpB,uBAAuB,QAAQ;MAChC;KACF,EACD,QACD;IACF,EACD,QACD,EACD,IACD,CACF;WACM,OAAO;AACd,cACE,qDACE,QACD,qBACC,QAAQ,MAAM,GACV,GAAG,MAAM,QAAQ;;EAE/B,MAAM,UACQ,kBAEP;AAED,UAAO,EAAE,SAAS,OAAO;YACjB;AACR,SAAM,IAAI,UAAU;;IAGxB;EACE,mBAAmB;EACnB,OAAO,EACL,sBAAsB,YAAsC;AAC1D,WAAQ,aAAa;AACrB,WAAQ,eAAe;AAEvB,UAAO;KAEV;EACF,CACF"}
@@ -49,25 +49,39 @@ function withExecutor(command, executorFn) {
49
49
  if (!context.projectName || !context.projectsConfigurations?.projects || !context.projectsConfigurations.projects[context.projectName] || !context.projectsConfigurations.projects[context.projectName]?.root) throw new Error("The executor requires `projectsConfigurations` on the context object.");
50
50
  const projectConfig = context.projectsConfigurations.projects[context.projectName];
51
51
  const jiti$1 = (0, jiti.createJiti)(context.root, { cache: false });
52
- const { ShellShockAPI } = await jiti$1.import(jiti$1.esmResolve("@shell-shock/core"));
53
- const api = await ShellShockAPI.from((0, defu.default)({
54
- name: projectConfig.name,
52
+ const { createShellShock } = await jiti$1.import(jiti$1.esmResolve("@shell-shock/core"));
53
+ const api = await createShellShock({
55
54
  root: projectConfig.root,
56
- sourceRoot: projectConfig.sourceRoot,
57
- description: projectConfig.metadata?.description,
58
- projectType: projectConfig.projectType,
59
- output: { path: options.outputPath }
60
- }, options, workspaceConfig.workspaceRoot));
55
+ cwd: workspaceConfig.workspaceRoot,
56
+ configFile: options.configFile
57
+ });
61
58
  try {
62
59
  return await Promise.resolve(executorFn((0, defu.default)({
63
60
  projectName: context.projectName,
64
61
  options,
62
+ command,
65
63
  workspaceConfig,
66
- inlineConfig: {
64
+ inlineConfig: (0, defu.default)({
67
65
  command,
68
- configFile: options.configFile
69
- },
70
- command
66
+ configFile: options.configFile,
67
+ description: projectConfig.metadata?.description,
68
+ projectType: projectConfig.projectType,
69
+ output: {
70
+ path: options.outputPath,
71
+ copy: options.copyPath === false ? false : {
72
+ path: options.copyPath,
73
+ assets: options.assets
74
+ },
75
+ minify: options.minify,
76
+ sourceMap: options.sourceMap
77
+ },
78
+ logLevel: options.logLevel,
79
+ resolve: {
80
+ external: options.external,
81
+ noExternal: options.noExternal,
82
+ skipNodeModulesBundle: options.skipNodeModulesBundle
83
+ }
84
+ }, options)
71
85
  }, context), api));
72
86
  } catch (error) {
73
87
  (0, _storm_software_config_tools_logger.writeError)(`An error occurred while executing the Shell Shock ${command} command executor: ${(0, _stryke_type_checks_is_error.isError)(error) ? `${error.message}
@@ -80,7 +94,7 @@ ${error.stack}` : "Unknown error"}`);
80
94
  }, {
81
95
  skipReadingConfig: false,
82
96
  hooks: { applyDefaultOptions: (options) => {
83
- options.outputPath ??= "dist/{projectRoot}";
97
+ options.copyPath ??= "dist/{projectRoot}";
84
98
  options.configFile ??= "{projectRoot}/shell-shock.config.ts";
85
99
  return options;
86
100
  } }
@@ -9,7 +9,6 @@ interface BuildExecutorSchema {
9
9
  *
10
10
  * The path to the Powerlines configuration file. Alias for `configFile`.
11
11
  *
12
- * @default "{projectRoot}/powerlines.config.ts"
13
12
  *
14
13
  * @format path
15
14
  */
@@ -19,7 +18,6 @@ interface BuildExecutorSchema {
19
18
  *
20
19
  * The path to the Powerlines configuration file. Alias for `config`.
21
20
  *
22
- * @default "{projectRoot}/powerlines.config.ts"
23
21
  *
24
22
  * @format path
25
23
  */
@@ -38,7 +36,6 @@ interface BuildExecutorSchema {
38
36
  *
39
37
  * The path to the tsconfig file
40
38
  *
41
- * @default "{projectRoot}/tsconfig.json"
42
39
  *
43
40
  * @format path
44
41
  */
@@ -68,6 +65,13 @@ interface BuildExecutorSchema {
68
65
  *
69
66
  */
70
67
  sourceMap?: boolean;
68
+ /**
69
+ * Minify
70
+ *
71
+ * Minify the output
72
+ *
73
+ */
74
+ minify?: boolean;
71
75
  /**
72
76
  * Format
73
77
  *
@@ -81,7 +85,6 @@ interface BuildExecutorSchema {
81
85
  *
82
86
  * The platform to build
83
87
  *
84
- * @default "neutral"
85
88
  *
86
89
  * @enum neutral,node,browser
87
90
  */
@@ -145,6 +148,13 @@ interface BuildExecutorSchema {
145
148
  ignore?: string[];
146
149
  dot?: boolean;
147
150
  }>;
151
+ /**
152
+ * Additional Arguments
153
+ *
154
+ * The additional arguments provided during execution of the command
155
+ *
156
+ */
157
+ additionalArgs?: Record<string, string>;
148
158
  /**
149
159
  * Auto Install
150
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.mts","names":["BuildExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","autoInstall","skipCache"],"sources":["../../../src/executors/build/schema.d.ts","../../../src/executors/build/executor.ts"],"mappings":";;;;;UAIiBA,mBAAAA;;;;;;;;;;EAUhBG,MAAAA;;;;;;;;;;EAWAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;;EAWRK,QAAAA;ECrBmD;;;;;;;;ED+BnDC,UAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;;EASAC,MAAAA,GAAST,KAAAA;;;;;;;;;;EAWTU,QAAAA;;;;;;;EAQAC,QAAAA,GAAWX,KAAAA;;;;;;;EAQXY,UAAAA,GAAaZ,KAAAA;;;;;;;EAQba,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAASf,MAAAA;;;;;;;EAQTgB,MAAAA,GAASjB,KAAAA;IAAQI,KAAAA;IAAgBc,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cC3HK,QAAA,EAAU,eAAA,CAAgB,mBAAA"}
1
+ {"version":3,"file":"executor.d.mts","names":["BuildExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../src/executors/build/schema.d.ts","../../../src/executors/build/executor.ts"],"mappings":";;;;;UAIiBA,mBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;;;;;ACnBmD;ED6BnDC,UAAAA;ECP8B;;;;;;;;EDiB9BC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cCxIK,QAAA,EAAU,eAAA,CAAgB,mBAAA"}
@@ -9,7 +9,6 @@ interface BuildExecutorSchema {
9
9
  *
10
10
  * The path to the Powerlines configuration file. Alias for `configFile`.
11
11
  *
12
- * @default "{projectRoot}/powerlines.config.ts"
13
12
  *
14
13
  * @format path
15
14
  */
@@ -19,7 +18,6 @@ interface BuildExecutorSchema {
19
18
  *
20
19
  * The path to the Powerlines configuration file. Alias for `config`.
21
20
  *
22
- * @default "{projectRoot}/powerlines.config.ts"
23
21
  *
24
22
  * @format path
25
23
  */
@@ -38,7 +36,6 @@ interface BuildExecutorSchema {
38
36
  *
39
37
  * The path to the tsconfig file
40
38
  *
41
- * @default "{projectRoot}/tsconfig.json"
42
39
  *
43
40
  * @format path
44
41
  */
@@ -68,6 +65,13 @@ interface BuildExecutorSchema {
68
65
  *
69
66
  */
70
67
  sourceMap?: boolean;
68
+ /**
69
+ * Minify
70
+ *
71
+ * Minify the output
72
+ *
73
+ */
74
+ minify?: boolean;
71
75
  /**
72
76
  * Format
73
77
  *
@@ -81,7 +85,6 @@ interface BuildExecutorSchema {
81
85
  *
82
86
  * The platform to build
83
87
  *
84
- * @default "neutral"
85
88
  *
86
89
  * @enum neutral,node,browser
87
90
  */
@@ -145,6 +148,13 @@ interface BuildExecutorSchema {
145
148
  ignore?: string[];
146
149
  dot?: boolean;
147
150
  }>;
151
+ /**
152
+ * Additional Arguments
153
+ *
154
+ * The additional arguments provided during execution of the command
155
+ *
156
+ */
157
+ additionalArgs?: Record<string, string>;
148
158
  /**
149
159
  * Auto Install
150
160
  *
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","names":["BuildExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","autoInstall","skipCache"],"sources":["../../../src/executors/build/schema.d.ts","../../../src/executors/build/executor.ts"],"mappings":";;;;;UAIiBA,mBAAAA;;;;;;;;;;EAUhBG,MAAAA;;;;;;;;;;EAWAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;;EAWRK,QAAAA;ECrBmD;;;;;;;;ED+BnDC,UAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;;EASAC,MAAAA,GAAST,KAAAA;;;;;;;;;;EAWTU,QAAAA;;;;;;;EAQAC,QAAAA,GAAWX,KAAAA;;;;;;;EAQXY,UAAAA,GAAaZ,KAAAA;;;;;;;EAQba,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAASf,MAAAA;;;;;;;EAQTgB,MAAAA,GAASjB,KAAAA;IAAQI,KAAAA;IAAgBc,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cC3HK,QAAA,EAAU,eAAA,CAAgB,mBAAA;AAAA"}
1
+ {"version":3,"file":"executor.d.ts","names":["BuildExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../src/executors/build/schema.d.ts","../../../src/executors/build/executor.ts"],"mappings":";;;;;UAIiBA,mBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;;;;;ACnBmD;ED6BnDC,UAAAA;ECP8B;;;;;;;;EDiB9BC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cCxIK,QAAA,EAAU,eAAA,CAAgB,mBAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-CjzYhdJI.js');
1
+ const require_base_executor = require('../../base-executor-X4qL_j3i.js');
2
2
  let defu = require("defu");
3
3
  defu = require_base_executor.__toESM(defu);
4
4
 
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-CXGfAvut.mjs";
1
+ import { t as withExecutor } from "../../base-executor-DxPjWb68.mjs";
2
2
  import defu from "defu";
3
3
 
4
4
  //#region src/executors/build/executor.ts
@@ -1 +1 @@
1
- {"version":3,"file":"executor.mjs","names":[],"sources":["../../../src/executors/build/executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\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/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { PromiseExecutor } from \"@nx/devkit\";\nimport type { ShellShockAPI } from \"@shell-shock/core/api\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport defu from \"defu\";\nimport type { BuildInlineConfig } from \"powerlines\";\nimport type { ShellShockExecutorContext } from \"../../base/base-executor\";\nimport { withExecutor } from \"../../base/base-executor\";\nimport type { BuildExecutorSchema } from \"./schema\";\n\nasync function executorFn(\n context: ShellShockExecutorContext<\"build\", BuildExecutorSchema>,\n api: ShellShockAPI\n): Promise<BaseExecutorResult> {\n await api.build(\n defu(\n {\n command: \"build\",\n skipCache: context.options.skipCache,\n autoInstall: context.options.autoInstall\n },\n context.inlineConfig\n ) as BuildInlineConfig\n );\n\n return {\n success: true\n };\n}\n\nconst executor: PromiseExecutor<BuildExecutorSchema> = withExecutor<\n \"build\",\n BuildExecutorSchema\n>(\"build\", executorFn);\n\nexport default executor;\n"],"mappings":";;;;AA2BA,eAAe,WACb,SACA,KAC6B;AAC7B,OAAM,IAAI,MACR,KACE;EACE,SAAS;EACT,WAAW,QAAQ,QAAQ;EAC3B,aAAa,QAAQ,QAAQ;EAC9B,EACD,QAAQ,aACT,CACF;AAED,QAAO,EACL,SAAS,MACV;;AAGH,MAAM,WAAiD,aAGrD,SAAS,WAAW"}
1
+ {"version":3,"file":"executor.mjs","names":[],"sources":["../../../src/executors/build/executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Shell Shock\n\n This code was released as part of the Shell Shock project. Shell Shock\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/shell-shock.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/shell-shock\n Documentation: https://docs.stormsoftware.com/projects/shell-shock\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { PromiseExecutor } from \"@nx/devkit\";\nimport type { ShellShockAPI } from \"@shell-shock/core/api\";\nimport type { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport defu from \"defu\";\nimport type { ShellShockExecutorContext } from \"../../base/base-executor\";\nimport { withExecutor } from \"../../base/base-executor\";\nimport type { BuildExecutorSchema } from \"./schema\";\n\nasync function executorFn(\n context: ShellShockExecutorContext<\"build\", BuildExecutorSchema>,\n api: ShellShockAPI\n): Promise<BaseExecutorResult> {\n await api.build(\n defu(\n {\n command: \"build\",\n skipCache: context.options.skipCache,\n autoInstall: context.options.autoInstall\n },\n context.inlineConfig\n )\n );\n\n return {\n success: true\n };\n}\n\nconst executor: PromiseExecutor<BuildExecutorSchema> = withExecutor<\n \"build\",\n BuildExecutorSchema\n>(\"build\", executorFn);\n\nexport default executor;\n"],"mappings":";;;;AA0BA,eAAe,WACb,SACA,KAC6B;AAC7B,OAAM,IAAI,MACR,KACE;EACE,SAAS;EACT,WAAW,QAAQ,QAAQ;EAC3B,aAAa,QAAQ,QAAQ;EAC9B,EACD,QAAQ,aACT,CACF;AAED,QAAO,EACL,SAAS,MACV;;AAGH,MAAM,WAAiD,aAGrD,SAAS,WAAW"}
@@ -8,7 +8,6 @@ export interface BuildExecutorSchema {
8
8
  *
9
9
  * The path to the Powerlines configuration file. Alias for `configFile`.
10
10
  *
11
- * @default "{projectRoot}/powerlines.config.ts"
12
11
  *
13
12
  * @format path
14
13
  */
@@ -19,7 +18,6 @@ export interface BuildExecutorSchema {
19
18
  *
20
19
  * The path to the Powerlines configuration file. Alias for `config`.
21
20
  *
22
- * @default "{projectRoot}/powerlines.config.ts"
23
21
  *
24
22
  * @format path
25
23
  */
@@ -40,7 +38,6 @@ export interface BuildExecutorSchema {
40
38
  *
41
39
  * The path to the tsconfig file
42
40
  *
43
- * @default "{projectRoot}/tsconfig.json"
44
41
  *
45
42
  * @format path
46
43
  */
@@ -74,6 +71,14 @@ export interface BuildExecutorSchema {
74
71
  */
75
72
  sourceMap?: boolean,
76
73
 
74
+ /**
75
+ * Minify
76
+ *
77
+ * Minify the output
78
+ *
79
+ */
80
+ minify?: boolean,
81
+
77
82
  /**
78
83
  * Format
79
84
  *
@@ -88,7 +93,6 @@ export interface BuildExecutorSchema {
88
93
  *
89
94
  * The platform to build
90
95
  *
91
- * @default "neutral"
92
96
  *
93
97
  * @enum neutral,node,browser
94
98
  */
@@ -154,6 +158,14 @@ export interface BuildExecutorSchema {
154
158
  */
155
159
  assets?: Array<{ input?: string; output?: string; glob: string; ignore?: string[]; dot?: boolean; }>,
156
160
 
161
+ /**
162
+ * Additional Arguments
163
+ *
164
+ * The additional arguments provided during execution of the command
165
+ *
166
+ */
167
+ additionalArgs?: Record<string, string>,
168
+
157
169
  /**
158
170
  * Auto Install
159
171
  *
@@ -9,16 +9,14 @@
9
9
  "type": "string",
10
10
  "format": "path",
11
11
  "description": "The path to the Powerlines configuration file. Alias for `configFile`.",
12
- "id": "#config",
13
- "default": "{projectRoot}/powerlines.config.ts"
12
+ "id": "#config"
14
13
  },
15
14
  "configFile": {
16
15
  "title": "Powerlines Configuration File",
17
16
  "type": "string",
18
17
  "format": "path",
19
18
  "description": "The path to the Powerlines configuration file. Alias for `config`.",
20
- "id": "#configFile",
21
- "default": "{projectRoot}/powerlines.config.ts"
19
+ "id": "#configFile"
22
20
  },
23
21
  "input": {
24
22
  "title": "Input Entry File(s)",
@@ -35,8 +33,7 @@
35
33
  "type": "string",
36
34
  "format": "path",
37
35
  "description": "The path to the tsconfig file",
38
- "id": "#tsconfig",
39
- "default": "{projectRoot}/tsconfig.json"
36
+ "id": "#tsconfig"
40
37
  },
41
38
  "outputPath": {
42
39
  "title": "Output Path",
@@ -70,6 +67,12 @@
70
67
  "description": "Generate a sourcemap",
71
68
  "id": "#sourceMap"
72
69
  },
70
+ "minify": {
71
+ "title": "Minify",
72
+ "type": "boolean",
73
+ "description": "Minify the output",
74
+ "id": "#minify"
75
+ },
73
76
  "format": {
74
77
  "title": "Format",
75
78
  "type": "array",
@@ -97,8 +100,7 @@
97
100
  "node",
98
101
  "browser"
99
102
  ],
100
- "id": "#platform",
101
- "default": "neutral"
103
+ "id": "#platform"
102
104
  },
103
105
  "external": {
104
106
  "title": "External",
@@ -169,6 +171,14 @@
169
171
  "id": "#assets",
170
172
  "default": {}
171
173
  },
174
+ "additionalArgs": {
175
+ "title": "Additional Arguments",
176
+ "type": "object",
177
+ "tsType": "Record<string, string>",
178
+ "description": "The additional arguments provided during execution of the command",
179
+ "id": "#additionalArgs",
180
+ "default": {}
181
+ },
172
182
  "autoInstall": {
173
183
  "title": "Auto Install",
174
184
  "type": "boolean",
@@ -184,18 +194,15 @@
184
194
  },
185
195
  "type": "object",
186
196
  "default": {
187
- "config": "{projectRoot}/powerlines.config.ts",
188
- "configFile": "{projectRoot}/powerlines.config.ts",
189
- "tsconfig": "{projectRoot}/tsconfig.json",
190
197
  "copyPath": {},
191
198
  "format": [
192
199
  "cjs",
193
200
  "esm"
194
201
  ],
195
- "platform": "neutral",
196
202
  "external": [],
197
203
  "noExternal": [],
198
204
  "define": {},
199
- "assets": {}
205
+ "assets": {},
206
+ "additionalArgs": {}
200
207
  }
201
208
  }