@storm-software/workspace-tools 1.270.2 → 1.271.1

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 (287) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +1 -1
  3. package/dist/chunk-4QYM3VS4.mjs +282 -0
  4. package/dist/{chunk-ZP76EMBE.js → chunk-FYXWAGK3.js} +97 -27
  5. package/dist/chunk-MJMN2T4N.mjs +166 -0
  6. package/dist/chunk-RZVF4LHT.js +282 -0
  7. package/dist/executors.js +6 -6
  8. package/dist/executors.mjs +6 -6
  9. package/dist/index.d.mts +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +6 -6
  12. package/dist/index.mjs +8 -8
  13. package/dist/src/executors/npm-publish/executor.js +3 -3
  14. package/dist/src/executors/npm-publish/executor.mjs +2 -2
  15. package/dist/src/generators/preset/files/LICENSE +201 -0
  16. package/dist/src/utils/index.d.mts +1 -1
  17. package/dist/src/utils/index.d.ts +1 -1
  18. package/dist/src/utils/index.js +2 -2
  19. package/dist/src/utils/index.mjs +3 -3
  20. package/dist/src/utils/pnpm-deps-update.d.mts +3 -3
  21. package/dist/src/utils/pnpm-deps-update.d.ts +3 -3
  22. package/dist/src/utils/pnpm-deps-update.js +2 -2
  23. package/dist/src/utils/pnpm-deps-update.mjs +3 -3
  24. package/docs/api/base/base-executor.schema.md +16 -0
  25. package/docs/api/base/base-generator.schema.md +15 -0
  26. package/docs/api/base/cargo-base-executor.schema.md +90 -0
  27. package/docs/api/base/typescript-build-executor.schema.md +126 -0
  28. package/docs/api/base/typescript-library-generator.schema.md +129 -0
  29. package/docs/api/executors/cargo-build/schema.md +89 -0
  30. package/docs/api/executors/cargo-check/schema.md +90 -0
  31. package/docs/api/executors/cargo-clippy/schema.md +99 -0
  32. package/docs/api/executors/cargo-doc/schema.md +130 -0
  33. package/docs/api/executors/cargo-format/schema.md +90 -0
  34. package/docs/api/executors/cargo-publish/schema.md +117 -0
  35. package/docs/api/executors/clean-package/schema.md +65 -0
  36. package/docs/api/executors/esbuild/schema.md +126 -0
  37. package/docs/api/executors/npm-publish/schema.md +64 -0
  38. package/docs/api/executors/size-limit/schema.md +25 -0
  39. package/docs/api/executors/typia/schema.md +46 -0
  40. package/docs/api/executors/unbuild/schema.md +222 -0
  41. package/docs/api/generators/browser-library/files/README.md +58 -0
  42. package/docs/api/generators/browser-library/schema.md +129 -0
  43. package/docs/api/generators/config-schema/schema.md +25 -0
  44. package/docs/api/generators/init/schema.md +15 -0
  45. package/docs/api/generators/neutral-library/files/README.md +58 -0
  46. package/docs/api/generators/neutral-library/schema.md +129 -0
  47. package/docs/api/generators/node-library/files/README.md +63 -0
  48. package/docs/api/generators/node-library/schema.md +129 -0
  49. package/docs/api/generators/preset/schema.md +110 -0
  50. package/docs/api/generators/release-version/schema.md +160 -0
  51. package/package.json +13 -35
  52. package/dist/chunk-CMH2A42G.js +0 -467
  53. package/dist/chunk-HMJTTE4A.mjs +0 -96
  54. package/dist/chunk-I54IKCIV.mjs +0 -467
  55. package/docs/executors/rollup.md +0 -88
  56. package/executors.ts +0 -23
  57. package/generators.ts +0 -14
  58. package/index.ts +0 -5
  59. package/project.json +0 -58
  60. package/src/base/base-executor.ts +0 -200
  61. package/src/base/base-executor.untyped.ts +0 -18
  62. package/src/base/base-generator.ts +0 -130
  63. package/src/base/base-generator.untyped.ts +0 -16
  64. package/src/base/cargo-base-executor.untyped.ts +0 -73
  65. package/src/base/index.ts +0 -8
  66. package/src/base/typescript-build-executor.untyped.ts +0 -153
  67. package/src/base/typescript-library-generator.ts +0 -415
  68. package/src/base/typescript-library-generator.untyped.ts +0 -106
  69. package/src/executors/cargo-build/executor.spec.ts +0 -18
  70. package/src/executors/cargo-build/executor.ts +0 -28
  71. package/src/executors/cargo-build/untyped.ts +0 -18
  72. package/src/executors/cargo-check/executor.spec.ts +0 -18
  73. package/src/executors/cargo-check/executor.ts +0 -27
  74. package/src/executors/cargo-check/untyped.ts +0 -11
  75. package/src/executors/cargo-clippy/executor.spec.ts +0 -18
  76. package/src/executors/cargo-clippy/executor.ts +0 -28
  77. package/src/executors/cargo-clippy/untyped.ts +0 -18
  78. package/src/executors/cargo-doc/executor.spec.ts +0 -18
  79. package/src/executors/cargo-doc/executor.ts +0 -39
  80. package/src/executors/cargo-doc/untyped.ts +0 -44
  81. package/src/executors/cargo-format/executor.spec.ts +0 -18
  82. package/src/executors/cargo-format/executor.ts +0 -28
  83. package/src/executors/cargo-format/untyped.ts +0 -11
  84. package/src/executors/cargo-publish/executor.spec.ts +0 -11
  85. package/src/executors/cargo-publish/executor.ts +0 -139
  86. package/src/executors/cargo-publish/untyped.ts +0 -33
  87. package/src/executors/clean-package/constants.ts +0 -99
  88. package/src/executors/clean-package/executor.spec.ts +0 -18
  89. package/src/executors/clean-package/executor.ts +0 -214
  90. package/src/executors/clean-package/types.ts +0 -6
  91. package/src/executors/clean-package/untyped.ts +0 -60
  92. package/src/executors/clean-package/utils.ts +0 -85
  93. package/src/executors/esbuild/executor.spec.ts +0 -11
  94. package/src/executors/esbuild/executor.ts +0 -67
  95. package/src/executors/esbuild/untyped.ts +0 -20
  96. package/src/executors/npm-publish/executor.spec.ts +0 -11
  97. package/src/executors/npm-publish/executor.ts +0 -680
  98. package/src/executors/npm-publish/untyped.ts +0 -56
  99. package/src/executors/size-limit/executor.spec.ts +0 -18
  100. package/src/executors/size-limit/executor.ts +0 -88
  101. package/src/executors/size-limit/untyped.ts +0 -22
  102. package/src/executors/typia/executor.ts +0 -54
  103. package/src/executors/typia/untyped.ts +0 -48
  104. package/src/executors/unbuild/executor.spec.ts +0 -11
  105. package/src/executors/unbuild/executor.ts +0 -136
  106. package/src/executors/unbuild/untyped.ts +0 -152
  107. package/src/generators/browser-library/generator.spec.ts +0 -20
  108. package/src/generators/browser-library/generator.ts +0 -109
  109. package/src/generators/browser-library/untyped.ts +0 -29
  110. package/src/generators/config-schema/generator.spec.ts +0 -20
  111. package/src/generators/config-schema/generator.ts +0 -90
  112. package/src/generators/config-schema/untyped.ts +0 -19
  113. package/src/generators/init/init.ts +0 -32
  114. package/src/generators/init/untyped.ts +0 -16
  115. package/src/generators/neutral-library/generator.spec.ts +0 -20
  116. package/src/generators/neutral-library/generator.ts +0 -81
  117. package/src/generators/neutral-library/untyped.ts +0 -29
  118. package/src/generators/node-library/generator.spec.ts +0 -20
  119. package/src/generators/node-library/generator.ts +0 -84
  120. package/src/generators/node-library/untyped.ts +0 -29
  121. package/src/generators/preset/files/.all-contributorsrc.template +0 -48
  122. package/src/generators/preset/files/.editorconfig +0 -454
  123. package/src/generators/preset/files/.env.template +0 -38
  124. package/src/generators/preset/files/.gitattributes +0 -52
  125. package/src/generators/preset/files/.github/.nvmrc +0 -1
  126. package/src/generators/preset/files/.github/CODEOWNERS +0 -3
  127. package/src/generators/preset/files/.github/CODE_OF_CONDUCT.md +0 -125
  128. package/src/generators/preset/files/.github/CONTRIBUTING.md.template +0 -15
  129. package/src/generators/preset/files/.github/FUNDING.yml +0 -3
  130. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/bug-report.yml.template +0 -102
  131. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/documentation.yml.template +0 -56
  132. package/src/generators/preset/files/.github/ISSUE_TEMPLATE/feature-request.yml.template +0 -60
  133. package/src/generators/preset/files/.github/PULL_REQUEST_TEMPLATE.md.template +0 -39
  134. package/src/generators/preset/files/.github/SECURITY.md +0 -9
  135. package/src/generators/preset/files/.github/codecov.yml +0 -29
  136. package/src/generators/preset/files/.github/dependabot.yml +0 -64
  137. package/src/generators/preset/files/.github/labels.yml +0 -84
  138. package/src/generators/preset/files/.github/renovate.json +0 -4
  139. package/src/generators/preset/files/.github/renovate.json.template +0 -63
  140. package/src/generators/preset/files/.github/stale.yml +0 -55
  141. package/src/generators/preset/files/.github/workflows/build-release.yml.template +0 -25
  142. package/src/generators/preset/files/.github/workflows/code-review.yml +0 -18
  143. package/src/generators/preset/files/.github/workflows/codeql.yml +0 -84
  144. package/src/generators/preset/files/.github/workflows/dependabot-update.yml +0 -32
  145. package/src/generators/preset/files/.github/workflows/git-guardian.yml +0 -23
  146. package/src/generators/preset/files/.github/workflows/greetings.yml +0 -31
  147. package/src/generators/preset/files/.github/workflows/labels.yml +0 -31
  148. package/src/generators/preset/files/.github/workflows/lock.yml +0 -26
  149. package/src/generators/preset/files/.log4brains.yml.template +0 -5
  150. package/src/generators/preset/files/.markdownlint.json +0 -155
  151. package/src/generators/preset/files/.verdaccio/config.yml.template +0 -40
  152. package/src/generators/preset/files/.vscode/README.md +0 -32
  153. package/src/generators/preset/files/.vscode/cspell.json +0 -3
  154. package/src/generators/preset/files/.vscode/extensions.json +0 -14
  155. package/src/generators/preset/files/.vscode/launch.json +0 -37
  156. package/src/generators/preset/files/.vscode/settings.json +0 -401
  157. package/src/generators/preset/files/.vscode/tasks.json +0 -4
  158. package/src/generators/preset/files/.whitesource +0 -14
  159. package/src/generators/preset/files/assets/diagrams/.gitkeep +0 -0
  160. package/src/generators/preset/files/assets/icons/dark/.gitkeep +0 -0
  161. package/src/generators/preset/files/assets/icons/light/.gitkeep +0 -0
  162. package/src/generators/preset/files/assets/logos/.gitkeep +0 -0
  163. package/src/generators/preset/files/docs/api-reference/.gitkeep +0 -0
  164. package/src/generators/preset/generator.spec.ts +0 -20
  165. package/src/generators/preset/generator.ts +0 -315
  166. package/src/generators/preset/untyped.ts +0 -88
  167. package/src/generators/release-version/generator.spec.ts +0 -20
  168. package/src/generators/release-version/generator.ts +0 -920
  169. package/src/generators/release-version/untyped.ts +0 -156
  170. package/src/plugins/rust/cargo-toml.ts +0 -434
  171. package/src/plugins/rust/index.ts +0 -1
  172. package/src/plugins/typescript/index.ts +0 -1
  173. package/src/plugins/typescript/project-config.ts +0 -564
  174. package/src/plugins/typescript/tsup.ts +0 -198
  175. package/src/types.ts +0 -130
  176. package/src/utils/apply-workspace-tokens.ts +0 -73
  177. package/src/utils/cargo.ts +0 -219
  178. package/src/utils/create-cli-options.ts +0 -23
  179. package/src/utils/get-project-configurations.ts +0 -27
  180. package/src/utils/index.ts +0 -12
  181. package/src/utils/lock-file.ts +0 -159
  182. package/src/utils/package-helpers.ts +0 -54
  183. package/src/utils/plugin-helpers.ts +0 -112
  184. package/src/utils/pnpm-deps-update.ts +0 -111
  185. package/src/utils/project-tags.ts +0 -162
  186. package/src/utils/toml.ts +0 -204
  187. package/src/utils/typia-transform.ts +0 -8
  188. package/src/utils/versions.ts +0 -19
  189. package/tsconfig.json +0 -30
  190. package/tsup.config.ts +0 -36
  191. /package/{src/generators/preset/files/LICENSE → LICENSE} +0 -0
  192. /package/{src → dist/src}/base/base-executor.schema.d.ts +0 -0
  193. /package/{src → dist/src}/base/base-executor.schema.json +0 -0
  194. /package/{src → dist/src}/base/base-executor.schema.md +0 -0
  195. /package/{src → dist/src}/base/base-generator.schema.d.ts +0 -0
  196. /package/{src → dist/src}/base/base-generator.schema.json +0 -0
  197. /package/{src → dist/src}/base/base-generator.schema.md +0 -0
  198. /package/{src → dist/src}/base/cargo-base-executor.schema.d.ts +0 -0
  199. /package/{src → dist/src}/base/cargo-base-executor.schema.json +0 -0
  200. /package/{src → dist/src}/base/cargo-base-executor.schema.md +0 -0
  201. /package/{src → dist/src}/base/typescript-build-executor.schema.d.ts +0 -0
  202. /package/{src → dist/src}/base/typescript-build-executor.schema.json +0 -0
  203. /package/{src → dist/src}/base/typescript-build-executor.schema.md +0 -0
  204. /package/{src → dist/src}/base/typescript-library-generator.schema.d.ts +0 -0
  205. /package/{src → dist/src}/base/typescript-library-generator.schema.json +0 -0
  206. /package/{src → dist/src}/base/typescript-library-generator.schema.md +0 -0
  207. /package/{src → dist/src}/executors/cargo-build/schema.d.ts +0 -0
  208. /package/{src → dist/src}/executors/cargo-build/schema.json +0 -0
  209. /package/{src → dist/src}/executors/cargo-build/schema.md +0 -0
  210. /package/{src → dist/src}/executors/cargo-check/schema.d.ts +0 -0
  211. /package/{src → dist/src}/executors/cargo-check/schema.json +0 -0
  212. /package/{src → dist/src}/executors/cargo-check/schema.md +0 -0
  213. /package/{src → dist/src}/executors/cargo-clippy/schema.d.ts +0 -0
  214. /package/{src → dist/src}/executors/cargo-clippy/schema.json +0 -0
  215. /package/{src → dist/src}/executors/cargo-clippy/schema.md +0 -0
  216. /package/{src → dist/src}/executors/cargo-doc/schema.d.ts +0 -0
  217. /package/{src → dist/src}/executors/cargo-doc/schema.json +0 -0
  218. /package/{src → dist/src}/executors/cargo-doc/schema.md +0 -0
  219. /package/{src → dist/src}/executors/cargo-format/schema.d.ts +0 -0
  220. /package/{src → dist/src}/executors/cargo-format/schema.json +0 -0
  221. /package/{src → dist/src}/executors/cargo-format/schema.md +0 -0
  222. /package/{src → dist/src}/executors/cargo-publish/schema.d.ts +0 -0
  223. /package/{src → dist/src}/executors/cargo-publish/schema.json +0 -0
  224. /package/{src → dist/src}/executors/cargo-publish/schema.md +0 -0
  225. /package/{src → dist/src}/executors/clean-package/schema.d.ts +0 -0
  226. /package/{src → dist/src}/executors/clean-package/schema.json +0 -0
  227. /package/{src → dist/src}/executors/clean-package/schema.md +0 -0
  228. /package/{src → dist/src}/executors/esbuild/schema.d.ts +0 -0
  229. /package/{src → dist/src}/executors/esbuild/schema.json +0 -0
  230. /package/{src → dist/src}/executors/esbuild/schema.md +0 -0
  231. /package/{src → dist/src}/executors/npm-publish/schema.d.ts +0 -0
  232. /package/{src → dist/src}/executors/npm-publish/schema.json +0 -0
  233. /package/{src → dist/src}/executors/npm-publish/schema.md +0 -0
  234. /package/{src → dist/src}/executors/size-limit/schema.d.ts +0 -0
  235. /package/{src → dist/src}/executors/size-limit/schema.json +0 -0
  236. /package/{src → dist/src}/executors/size-limit/schema.md +0 -0
  237. /package/{src → dist/src}/executors/typia/schema.d.ts +0 -0
  238. /package/{src → dist/src}/executors/typia/schema.json +0 -0
  239. /package/{src → dist/src}/executors/typia/schema.md +0 -0
  240. /package/{src → dist/src}/executors/unbuild/schema.d.ts +0 -0
  241. /package/{src → dist/src}/executors/unbuild/schema.json +0 -0
  242. /package/{src → dist/src}/executors/unbuild/schema.md +0 -0
  243. /package/{src → dist/src}/generators/browser-library/files/README.md +0 -0
  244. /package/{src → dist/src}/generators/browser-library/files/jest.config.ts +0 -0
  245. /package/{src → dist/src}/generators/browser-library/files/src/index.ts.template +0 -0
  246. /package/{src → dist/src}/generators/browser-library/files/tsconfig.spec.json +0 -0
  247. /package/{src → dist/src}/generators/browser-library/schema.d.ts +0 -0
  248. /package/{src → dist/src}/generators/browser-library/schema.json +0 -0
  249. /package/{src → dist/src}/generators/browser-library/schema.md +0 -0
  250. /package/{src → dist/src}/generators/config-schema/schema.d.ts +0 -0
  251. /package/{src → dist/src}/generators/config-schema/schema.json +0 -0
  252. /package/{src → dist/src}/generators/config-schema/schema.md +0 -0
  253. /package/{src → dist/src}/generators/init/schema.d.ts +0 -0
  254. /package/{src → dist/src}/generators/init/schema.json +0 -0
  255. /package/{src → dist/src}/generators/init/schema.md +0 -0
  256. /package/{src → dist/src}/generators/neutral-library/files/README.md +0 -0
  257. /package/{src → dist/src}/generators/neutral-library/files/jest.config.ts +0 -0
  258. /package/{src → dist/src}/generators/neutral-library/files/src/index.ts.template +0 -0
  259. /package/{src → dist/src}/generators/neutral-library/files/tsconfig.spec.json +0 -0
  260. /package/{src → dist/src}/generators/neutral-library/schema.d.ts +0 -0
  261. /package/{src → dist/src}/generators/neutral-library/schema.json +0 -0
  262. /package/{src → dist/src}/generators/neutral-library/schema.md +0 -0
  263. /package/{src → dist/src}/generators/node-library/files/README.md +0 -0
  264. /package/{src → dist/src}/generators/node-library/files/jest.config.ts +0 -0
  265. /package/{src → dist/src}/generators/node-library/files/src/index.ts.template +0 -0
  266. /package/{src → dist/src}/generators/node-library/files/tsconfig.spec.json +0 -0
  267. /package/{src → dist/src}/generators/node-library/schema.d.ts +0 -0
  268. /package/{src → dist/src}/generators/node-library/schema.json +0 -0
  269. /package/{src → dist/src}/generators/node-library/schema.md +0 -0
  270. /package/{src → dist/src}/generators/preset/files/README.md.template +0 -0
  271. /package/{src → dist/src}/generators/preset/files/docs/readme-templates/README.footer.md.template +0 -0
  272. /package/{src → dist/src}/generators/preset/files/docs/readme-templates/README.header.md.template +0 -0
  273. /package/{src → dist/src}/generators/preset/files/eslint.config.js.template +0 -0
  274. /package/{src → dist/src}/generators/preset/files/knip.json +0 -0
  275. /package/{src → dist/src}/generators/preset/files/lefthook.json +0 -0
  276. /package/{src → dist/src}/generators/preset/files/nx.json +0 -0
  277. /package/{src → dist/src}/generators/preset/files/pnpm-workspace.yaml +0 -0
  278. /package/{src → dist/src}/generators/preset/files/socket.yaml +0 -0
  279. /package/{src → dist/src}/generators/preset/files/storm.json.template +0 -0
  280. /package/{src → dist/src}/generators/preset/files/tsconfig.base.json.template +0 -0
  281. /package/{src → dist/src}/generators/preset/schema.d.ts +0 -0
  282. /package/{src → dist/src}/generators/preset/schema.json +0 -0
  283. /package/{src → dist/src}/generators/preset/schema.md +0 -0
  284. /package/{src → dist/src}/generators/release-version/schema.d.ts +0 -0
  285. /package/{src → dist/src}/generators/release-version/schema.json +0 -0
  286. /package/{src → dist/src}/generators/release-version/schema.md +0 -0
  287. /package/{src → dist/src}/plugins/typescript/untyped-schema.ts +0 -0
@@ -1,200 +0,0 @@
1
- import type { ExecutorContext, PromiseExecutor } from "@nx/devkit";
2
- import type { StormWorkspaceConfig } from "@storm-software/config";
3
- import {
4
- applyWorkspaceProjectTokens,
5
- applyWorkspaceTokens,
6
- findWorkspaceRoot,
7
- formatLogMessage,
8
- getConfig,
9
- getStopwatch,
10
- ProjectTokenizerOptions,
11
- writeDebug,
12
- writeError,
13
- writeFatal,
14
- writeInfo,
15
- writeSuccess,
16
- writeTrace
17
- } from "@storm-software/config-tools";
18
- import { defu } from "defu";
19
- import { BaseExecutorOptions, BaseExecutorResult } from "../types";
20
- import { BaseExecutorSchema } from "./base-executor.schema.d";
21
-
22
- export const withRunExecutor =
23
- <TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema>(
24
- name: string,
25
- executorFn: (
26
- options: TExecutorSchema,
27
- context: ExecutorContext,
28
- config: StormWorkspaceConfig
29
- ) =>
30
- | Promise<BaseExecutorResult | null | undefined>
31
- | AsyncGenerator<any, BaseExecutorResult | null | undefined>
32
- | BaseExecutorResult
33
- | null
34
- | undefined,
35
- executorOptions: BaseExecutorOptions<TExecutorSchema> = {}
36
- ): PromiseExecutor<TExecutorSchema> =>
37
- async (
38
- _options: TExecutorSchema,
39
- context: ExecutorContext
40
- ): Promise<{ success: boolean }> => {
41
- const stopwatch = getStopwatch(name);
42
- let options = _options;
43
-
44
- let config = {} as StormWorkspaceConfig;
45
- try {
46
- if (
47
- !context.projectsConfigurations?.projects ||
48
- !context.projectName ||
49
- !context.projectsConfigurations.projects[context.projectName]
50
- ) {
51
- throw new Error(
52
- "The Build process failed because the context is not valid. Please run this command from a workspace."
53
- );
54
- }
55
-
56
- const workspaceRoot = findWorkspaceRoot();
57
- const projectRoot =
58
- context.projectsConfigurations.projects[context.projectName]!.root ||
59
- workspaceRoot;
60
- const sourceRoot =
61
- context.projectsConfigurations.projects[context.projectName]!
62
- .sourceRoot ||
63
- projectRoot ||
64
- workspaceRoot;
65
- const projectName = context.projectName;
66
- config.workspaceRoot = workspaceRoot;
67
-
68
- writeInfo(`⚡ Running the ${name} executor for ${projectName} `, config);
69
-
70
- if (!executorOptions.skipReadingConfig) {
71
- writeTrace(
72
- `Loading the Storm Config from environment variables and storm.config.js file...
73
- - workspaceRoot: ${workspaceRoot}
74
- - projectRoot: ${projectRoot}
75
- - sourceRoot: ${sourceRoot}
76
- - projectName: ${projectName}\n`,
77
- config
78
- );
79
-
80
- config = await getConfig(workspaceRoot);
81
- }
82
-
83
- if (executorOptions?.hooks?.applyDefaultOptions) {
84
- writeDebug("Running the applyDefaultOptions hook...", config);
85
- options = await Promise.resolve(
86
- executorOptions.hooks.applyDefaultOptions(options, config)
87
- );
88
- writeDebug("Completed the applyDefaultOptions hook", config);
89
- }
90
-
91
- writeTrace(
92
- `Executor schema options ⚙️
93
- ${formatLogMessage(options)}
94
- `,
95
- config
96
- );
97
-
98
- const tokenized = (await applyWorkspaceTokens<ProjectTokenizerOptions>(
99
- options,
100
- defu(
101
- { workspaceRoot, projectRoot, sourceRoot, projectName, config },
102
- config,
103
- context.projectsConfigurations.projects[context.projectName]
104
- ),
105
- applyWorkspaceProjectTokens
106
- )) as TExecutorSchema;
107
-
108
- writeTrace(
109
- `Executor schema tokenized options ⚙️
110
- ${formatLogMessage(tokenized)}
111
- `,
112
- config
113
- );
114
-
115
- if (executorOptions?.hooks?.preProcess) {
116
- writeDebug("Running the preProcess hook...", config);
117
- await Promise.resolve(
118
- executorOptions.hooks.preProcess(tokenized, config)
119
- );
120
- writeDebug("Completed the preProcess hook", config);
121
- }
122
-
123
- const ret = executorFn(tokenized, context, config);
124
- if (_isFunction((ret as AsyncGenerator)?.next)) {
125
- const asyncGen = ret as AsyncGenerator;
126
- for await (const iter of asyncGen) {
127
- void iter;
128
- }
129
- }
130
-
131
- const result = await Promise.resolve(
132
- ret as
133
- | Promise<BaseExecutorResult | null | undefined>
134
- | BaseExecutorResult
135
- | null
136
- | undefined
137
- );
138
- if (
139
- result &&
140
- (!result.success ||
141
- (result.error &&
142
- (result?.error as Error)?.message &&
143
- typeof (result?.error as Error)?.message === "string" &&
144
- (result?.error as Error)?.name &&
145
- typeof (result?.error as Error)?.name === "string"))
146
- ) {
147
- writeTrace(
148
- `Failure determined by the ${name} executor \n${formatLogMessage(result)}`,
149
- config
150
- );
151
- console.error(result);
152
-
153
- throw new Error(`The ${name} executor failed to run`, {
154
- cause: result?.error
155
- });
156
- }
157
-
158
- if (executorOptions?.hooks?.postProcess) {
159
- writeDebug("Running the postProcess hook...", config);
160
- await Promise.resolve(executorOptions.hooks.postProcess(config));
161
- writeDebug("Completed the postProcess hook", config);
162
- }
163
-
164
- writeSuccess(`Completed running the ${name} task executor!\n`, config);
165
-
166
- return {
167
- success: true
168
- };
169
- } catch (error) {
170
- writeFatal(
171
- "A fatal error occurred while running the executor - the process was forced to terminate",
172
- config
173
- );
174
- writeError(
175
- `An exception was thrown in the executor's process \n - Details: ${error.message}\n - Stacktrace: ${error.stack}`,
176
- config
177
- );
178
-
179
- return {
180
- success: false
181
- };
182
- } finally {
183
- stopwatch();
184
- }
185
- };
186
-
187
- const _isFunction = (
188
- value: unknown
189
- ): value is ((params?: unknown) => unknown) & ((param?: any) => any) => {
190
- try {
191
- return (
192
- value instanceof Function ||
193
- typeof value === "function" ||
194
- !!(value?.constructor && (value as any)?.call && (value as any)?.apply)
195
- );
196
- // biome-ignore lint/correctness/noUnusedVariables: <explanation>
197
- } catch (e) {
198
- return false;
199
- }
200
- };
@@ -1,18 +0,0 @@
1
- import { defineUntypedSchema } from "untyped";
2
-
3
- export default defineUntypedSchema({
4
- $schema: {
5
- id: "baseExecutor",
6
- title: "Base Executor",
7
- description: "A base type definition for an executor schema",
8
- },
9
- outputPath: {
10
- $schema: {
11
- title: "Output Path",
12
- type: "string",
13
- format: "path",
14
- description: "The output path for the build",
15
- },
16
- $default: "dist/{projectRoot}",
17
- },
18
- });
@@ -1,130 +0,0 @@
1
- import type { GeneratorCallback, Tree } from "@nx/devkit";
2
- import type { StormWorkspaceConfig } from "@storm-software/config";
3
- import {
4
- applyWorkspaceBaseTokens,
5
- applyWorkspaceTokens,
6
- findWorkspaceRoot,
7
- getConfig,
8
- getStopwatch,
9
- writeDebug,
10
- writeError,
11
- writeFatal,
12
- writeInfo,
13
- writeSuccess,
14
- writeTrace
15
- } from "@storm-software/config-tools";
16
- import type { BaseGeneratorOptions, BaseGeneratorResult } from "../types";
17
- import type { BaseGeneratorSchema } from "./base-generator.schema.d";
18
-
19
- export const withRunGenerator =
20
- <TGeneratorSchema extends BaseGeneratorSchema = BaseGeneratorSchema>(
21
- name: string,
22
- generatorFn: (
23
- tree: Tree,
24
- options: TGeneratorSchema,
25
- config?: StormWorkspaceConfig
26
- ) =>
27
- | Promise<BaseGeneratorResult | null | undefined>
28
- | BaseGeneratorResult
29
- | null
30
- | undefined,
31
- generatorOptions: BaseGeneratorOptions<TGeneratorSchema> = {
32
- skipReadingConfig: false
33
- }
34
- ) =>
35
- async (
36
- tree: Tree,
37
- _options: TGeneratorSchema
38
- ): Promise<GeneratorCallback | BaseGeneratorResult> => {
39
- const stopwatch = getStopwatch(name);
40
- let options = _options;
41
-
42
- let config: StormWorkspaceConfig | undefined;
43
- try {
44
- writeInfo(`⚡ Running the ${name} generator...\n\n`, config);
45
-
46
- const workspaceRoot = findWorkspaceRoot();
47
- if (!generatorOptions.skipReadingConfig) {
48
- writeDebug(
49
- `Loading the Storm Config from environment variables and storm.config.js file...
50
- - workspaceRoot: ${workspaceRoot}`,
51
- config
52
- );
53
-
54
- config = await getConfig(workspaceRoot);
55
- }
56
-
57
- if (generatorOptions?.hooks?.applyDefaultOptions) {
58
- writeDebug("Running the applyDefaultOptions hook...", config);
59
- options = await Promise.resolve(
60
- generatorOptions.hooks.applyDefaultOptions(options, config)
61
- );
62
- writeDebug("Completed the applyDefaultOptions hook", config);
63
- }
64
-
65
- writeTrace(
66
- `Generator schema options ⚙️ \n${Object.keys(options ?? {})
67
- .map(key => ` - ${key}=${JSON.stringify(options[key])}`)
68
- .join("\n")}`,
69
- config
70
- );
71
-
72
- const tokenized = (await applyWorkspaceTokens(
73
- options as Record<string, any>,
74
- { workspaceRoot: tree.root, config },
75
- applyWorkspaceBaseTokens
76
- )) as TGeneratorSchema;
77
-
78
- if (generatorOptions?.hooks?.preProcess) {
79
- writeDebug("Running the preProcess hook...", config);
80
- await Promise.resolve(
81
- generatorOptions.hooks.preProcess(tokenized, config)
82
- );
83
- writeDebug("Completed the preProcess hook", config);
84
- }
85
-
86
- // Run the generator function
87
- const result = await Promise.resolve(
88
- generatorFn(tree, tokenized, config)
89
- );
90
- if (result) {
91
- if (
92
- result.success === false ||
93
- (result.error &&
94
- (result?.error as Error)?.message &&
95
- typeof (result?.error as Error)?.message === "string" &&
96
- (result?.error as Error)?.name &&
97
- typeof (result?.error as Error)?.name === "string")
98
- ) {
99
- throw new Error(`The ${name} generator failed to run`, {
100
- cause: result?.error
101
- });
102
- } else if (result.success && result.data) {
103
- return result as any;
104
- }
105
- }
106
-
107
- if (generatorOptions?.hooks?.postProcess) {
108
- writeDebug("Running the postProcess hook...", config);
109
- await Promise.resolve(generatorOptions.hooks.postProcess(config));
110
- writeDebug("Completed the postProcess hook", config);
111
- }
112
-
113
- return () => {
114
- writeSuccess(`Completed running the ${name} generator!\n`, config);
115
- };
116
- } catch (error) {
117
- return () => {
118
- writeFatal(
119
- "A fatal error occurred while running the generator - the process was forced to terminate",
120
- config
121
- );
122
- writeError(
123
- `An exception was thrown in the generator's process \n - Details: ${error.message}\n - Stacktrace: ${error.stack}`,
124
- config
125
- );
126
- };
127
- } finally {
128
- stopwatch();
129
- }
130
- };
@@ -1,16 +0,0 @@
1
- import { defineUntypedSchema } from "untyped";
2
-
3
- export default defineUntypedSchema({
4
- $schema: {
5
- id: "BaseGeneratorSchema",
6
- title: "Base Generator",
7
- description: "A type definition for the base Generator schema",
8
- },
9
- directory: {
10
- $schema: {
11
- title: "Directory",
12
- type: "string",
13
- description: "The directory to create the library in",
14
- },
15
- },
16
- });
@@ -1,73 +0,0 @@
1
- import { defineUntypedSchema } from "untyped";
2
- import baseExecutorSchema from "./base-executor.untyped";
3
-
4
- export default defineUntypedSchema({
5
- ...baseExecutorSchema,
6
- $schema: {
7
- id: "cargoBaseExecutor",
8
- title: "Cargo Base Executor",
9
- description:
10
- "A base type definition for a Cargo/rust related executor schema",
11
- },
12
- package: {
13
- $schema: {
14
- title: "Cargo.toml Path",
15
- type: "string",
16
- format: "path",
17
- description: "The path to the Cargo.toml file",
18
- },
19
- $default: "{projectRoot}/Cargo.toml",
20
- },
21
- toolchain: {
22
- $schema: {
23
- title: "Toolchain",
24
- description: "The type of toolchain to use for the build",
25
- enum: ["stable", "beta", "nightly"],
26
- default: "stable",
27
- },
28
- $default: "stable",
29
- },
30
- target: {
31
- $schema: {
32
- title: "Target",
33
- type: "string",
34
- description: "The target to build",
35
- },
36
- },
37
- allTargets: {
38
- $schema: {
39
- title: "All Targets",
40
- type: "boolean",
41
- description: "Build all targets",
42
- },
43
- },
44
- profile: {
45
- $schema: {
46
- title: "Profile",
47
- type: "string",
48
- description: "The profile to build",
49
- },
50
- },
51
- release: {
52
- $schema: {
53
- title: "Release",
54
- type: "boolean",
55
- description: "Build in release mode",
56
- },
57
- },
58
- features: {
59
- $schema: {
60
- title: "Features",
61
- type: "string",
62
- description: "The features to build",
63
- oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }],
64
- },
65
- },
66
- allFeatures: {
67
- $schema: {
68
- title: "All Features",
69
- type: "boolean",
70
- description: "Build all features",
71
- },
72
- },
73
- });
package/src/base/index.ts DELETED
@@ -1,8 +0,0 @@
1
- export * from "./base-executor";
2
- export { default as baseExecutorSchema } from "./base-executor.untyped";
3
- export * from "./base-generator";
4
- export { default as baseGeneratorSchema } from "./base-generator.untyped";
5
- export { default as cargoBaseExecutorSchema } from "./cargo-base-executor.untyped";
6
- export { default as typescriptBuildExecutorSchema } from "./typescript-build-executor.untyped";
7
- export * from "./typescript-library-generator";
8
- export { default as typescriptLibraryGeneratorSchema } from "./typescript-library-generator.untyped";
@@ -1,153 +0,0 @@
1
- import { defineUntypedSchema } from "untyped";
2
- import baseExecutorSchema from "./base-executor.untyped";
3
-
4
- export default defineUntypedSchema({
5
- ...baseExecutorSchema,
6
- $schema: {
7
- id: "TypeScriptBuildExecutorSchema",
8
- title: "TypeScript Build Executor",
9
- description:
10
- "A type definition for the base TypeScript build executor schema",
11
- required: ["entry", "tsconfig"],
12
- },
13
- entry: {
14
- $schema: {
15
- title: "Entry File(s)",
16
- format: "path",
17
- type: "array",
18
- description: "The entry file or files to build",
19
- items: { type: "string" },
20
- },
21
- $default: ["{sourceRoot}/index.ts"],
22
- },
23
- tsconfig: {
24
- $schema: {
25
- title: "TSConfig Path",
26
- type: "string",
27
- format: "path",
28
- description: "The path to the tsconfig file",
29
- },
30
- $default: "{projectRoot}/tsconfig.json",
31
- },
32
- bundle: {
33
- $schema: {
34
- title: "Bundle",
35
- type: "boolean",
36
- description: "Bundle the output",
37
- },
38
- },
39
- minify: {
40
- $schema: {
41
- title: "Minify",
42
- type: "boolean",
43
- description: "Minify the output",
44
- },
45
- },
46
- debug: {
47
- $schema: {
48
- title: "Debug",
49
- type: "boolean",
50
- description: "Debug the output",
51
- },
52
- },
53
- sourcemap: {
54
- $schema: {
55
- title: "Sourcemap",
56
- type: "boolean",
57
- description: "Generate a sourcemap",
58
- },
59
- },
60
- silent: {
61
- $schema: {
62
- title: "Silent",
63
- type: "boolean",
64
- description:
65
- "Should the build run silently - only report errors back to the user",
66
- },
67
- $default: false,
68
- },
69
- target: {
70
- $schema: {
71
- title: "Target",
72
- type: "string",
73
- description: "The target to build",
74
- enum: [
75
- "es3",
76
- "es5",
77
- "es6",
78
- "es2015",
79
- "es2016",
80
- "es2017",
81
- "es2018",
82
- "es2019",
83
- "es2020",
84
- "es2021",
85
- "es2022",
86
- "es2023",
87
- "es2024",
88
- "esnext",
89
- "node12",
90
- "node14",
91
- "node16",
92
- "node18",
93
- "node20",
94
- "node22",
95
- "browser",
96
- "chrome58",
97
- "chrome59",
98
- "chrome60",
99
- ],
100
- },
101
- $default: "esnext",
102
- $resolve: (val: string = "esnext") => val.toLowerCase(),
103
- },
104
- format: {
105
- $schema: {
106
- title: "Format",
107
- type: "array",
108
- description: "The format to build",
109
- items: {
110
- type: "string",
111
- enum: ["cjs", "esm", "iife"],
112
- },
113
- },
114
- $resolve: (val: string[] = ["cjs", "esm"]) => ([] as string[]).concat(val),
115
- },
116
- platform: {
117
- $schema: {
118
- title: "Platform",
119
- type: "string",
120
- description: "The platform to build",
121
- enum: ["neutral", "node", "browser"],
122
- },
123
- $default: "neutral",
124
- },
125
- external: {
126
- $schema: {
127
- title: "External",
128
- type: "array",
129
- description: "The external dependencies",
130
- },
131
- $resolve: (val: string[] = []) => ([] as string[]).concat(val),
132
- },
133
- define: {
134
- $schema: {
135
- title: "Define",
136
- type: "object",
137
- tsType: "Record<string, string>",
138
- description: "The define values",
139
- },
140
- $resolve: (val: Record<string, string> = {}) => val,
141
- $default: {},
142
- },
143
- env: {
144
- $schema: {
145
- title: "Environment Variables",
146
- type: "object",
147
- tsType: "Record<string, string>",
148
- description: "The environment variable values",
149
- },
150
- $resolve: (val: Record<string, string> = {}) => val,
151
- $default: {},
152
- },
153
- });