@shell-shock/nx 0.0.79 → 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.
- package/CHANGELOG.md +10 -0
- package/dist/base/base-executor.schema.d.ts +16 -4
- package/dist/base/base-executor.schema.json +20 -13
- package/dist/{base-executor-CXGfAvut.mjs → base-executor-DxPjWb68.mjs} +28 -14
- package/dist/base-executor-DxPjWb68.mjs.map +1 -0
- package/dist/{base-executor-CjzYhdJI.js → base-executor-X4qL_j3i.js} +27 -13
- package/dist/executors/build/executor.d.mts +14 -4
- package/dist/executors/build/executor.d.mts.map +1 -1
- package/dist/executors/build/executor.d.ts +14 -4
- package/dist/executors/build/executor.d.ts.map +1 -1
- package/dist/executors/build/executor.js +1 -1
- package/dist/executors/build/executor.mjs +1 -1
- package/dist/executors/build/executor.mjs.map +1 -1
- package/dist/executors/build/schema.d.ts +16 -4
- package/dist/executors/build/schema.json +20 -13
- package/dist/executors/clean/executor.d.mts +14 -4
- package/dist/executors/clean/executor.d.mts.map +1 -1
- package/dist/executors/clean/executor.d.ts +14 -4
- package/dist/executors/clean/executor.d.ts.map +1 -1
- package/dist/executors/clean/executor.js +1 -1
- package/dist/executors/clean/executor.mjs +1 -1
- package/dist/executors/clean/schema.d.ts +16 -4
- package/dist/executors/clean/schema.json +20 -13
- package/dist/executors/docs/executor.d.mts +14 -4
- package/dist/executors/docs/executor.d.mts.map +1 -1
- package/dist/executors/docs/executor.d.ts +14 -4
- package/dist/executors/docs/executor.d.ts.map +1 -1
- package/dist/executors/docs/executor.js +1 -1
- package/dist/executors/docs/executor.mjs +1 -1
- package/dist/executors/docs/schema.d.ts +16 -4
- package/dist/executors/docs/schema.json +20 -13
- package/dist/executors/lint/executor.d.mts +14 -4
- package/dist/executors/lint/executor.d.mts.map +1 -1
- package/dist/executors/lint/executor.d.ts +14 -4
- package/dist/executors/lint/executor.d.ts.map +1 -1
- package/dist/executors/lint/executor.js +1 -1
- package/dist/executors/lint/executor.mjs +1 -1
- package/dist/executors/lint/schema.d.ts +16 -4
- package/dist/executors/lint/schema.json +20 -13
- package/dist/executors/prepare/executor.d.mts +14 -4
- package/dist/executors/prepare/executor.d.mts.map +1 -1
- package/dist/executors/prepare/executor.d.ts +14 -4
- package/dist/executors/prepare/executor.d.ts.map +1 -1
- package/dist/executors/prepare/executor.js +1 -1
- package/dist/executors/prepare/executor.mjs +1 -1
- package/dist/executors/prepare/schema.d.ts +16 -4
- package/dist/executors/prepare/schema.json +20 -13
- package/dist/index.d.mts +14 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/plugin/index.d.mts +1 -1
- package/dist/plugin/index.d.mts.map +1 -1
- package/dist/plugin/index.d.ts +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +128 -24
- package/dist/plugin/index.mjs +128 -24
- package/dist/plugin/index.mjs.map +1 -1
- package/docs/api/base-executor.schema.md +11 -4
- package/docs/api/build/schema.md +11 -4
- package/docs/api/clean/schema.md +11 -4
- package/docs/api/docs/schema.md +11 -4
- package/docs/api/lint/schema.md +11 -4
- package/docs/api/prepare/schema.md +11 -4
- package/package.json +16 -16
- package/dist/base-executor-CXGfAvut.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
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
|
+
|
|
5
15
|
## [0.0.79](https://github.com/storm-software/shell-shock/releases/tag/nx%400.0.79) (04/15/2026)
|
|
6
16
|
|
|
7
17
|
### Miscellaneous
|
|
@@ -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 {
|
|
25
|
-
const api = await
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
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.
|
|
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-
|
|
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 {
|
|
53
|
-
const api = await
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
|
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
|
|
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 +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 {
|
|
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
|
}
|