@storm-software/workspace-tools 1.271.2 → 1.272.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 (53) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +440 -60
  3. package/config/base.json +2 -4
  4. package/dist/{chunk-GQQLBQPQ.mjs → chunk-4K5FV2MH.mjs} +3 -3
  5. package/dist/{chunk-QFWQZOVG.mjs → chunk-6LP3KKXE.mjs} +1 -1
  6. package/dist/{chunk-AOFWKOAI.js → chunk-7CA3TDXD.js} +4 -4
  7. package/dist/{chunk-FOFNKU5G.js → chunk-7IYOBX35.js} +24 -17
  8. package/dist/{chunk-EU6N7QT3.js → chunk-7RVW57VK.js} +5 -5
  9. package/dist/{chunk-UIPUSUAB.js → chunk-C6YYTK6Q.js} +9 -5
  10. package/dist/{chunk-SNMXP6JV.mjs → chunk-EXYV2BKT.mjs} +3 -3
  11. package/dist/{chunk-BFD7HHVZ.mjs → chunk-EZPQKO5C.mjs} +3 -3
  12. package/dist/{chunk-23BZQTB2.mjs → chunk-GMG4M2RZ.mjs} +10 -6
  13. package/dist/{chunk-4S66IYQF.mjs → chunk-I2GT7ECM.mjs} +2 -2
  14. package/dist/{chunk-O6RRIC6I.js → chunk-KQBEYBS7.js} +4 -4
  15. package/dist/{chunk-4BECJRPP.js → chunk-LJDV7HFT.js} +1 -1
  16. package/dist/{chunk-M725BO42.mjs → chunk-PCVYQGOH.mjs} +2 -2
  17. package/dist/{chunk-TSYIV33W.js → chunk-WGDJV4SH.js} +5 -5
  18. package/dist/{chunk-4QRA66TH.mjs → chunk-X2L5HFRH.mjs} +18 -11
  19. package/dist/{chunk-22UY7NFX.js → chunk-X5VIC7HP.js} +5 -5
  20. package/dist/executors.js +7 -7
  21. package/dist/executors.mjs +6 -6
  22. package/dist/index.js +7 -7
  23. package/dist/index.mjs +6 -6
  24. package/dist/src/executors/cargo-build/executor.js +3 -3
  25. package/dist/src/executors/cargo-build/executor.mjs +2 -2
  26. package/dist/src/executors/cargo-check/executor.js +3 -3
  27. package/dist/src/executors/cargo-check/executor.mjs +2 -2
  28. package/dist/src/executors/cargo-clippy/executor.js +3 -3
  29. package/dist/src/executors/cargo-clippy/executor.mjs +2 -2
  30. package/dist/src/executors/cargo-doc/executor.js +3 -3
  31. package/dist/src/executors/cargo-doc/executor.mjs +2 -2
  32. package/dist/src/executors/cargo-format/executor.js +3 -3
  33. package/dist/src/executors/cargo-format/executor.mjs +2 -2
  34. package/dist/src/plugins/rust/cargo-toml.js +3 -3
  35. package/dist/src/plugins/rust/cargo-toml.mjs +2 -2
  36. package/dist/src/plugins/rust/index.js +3 -3
  37. package/dist/src/plugins/rust/index.mjs +2 -2
  38. package/dist/src/plugins/typescript/index.js +2 -2
  39. package/dist/src/plugins/typescript/index.mjs +1 -1
  40. package/dist/src/plugins/typescript/project-config.js +2 -2
  41. package/dist/src/plugins/typescript/project-config.mjs +1 -1
  42. package/dist/src/plugins/typescript/tsup.js +9 -3
  43. package/dist/src/plugins/typescript/tsup.mjs +9 -3
  44. package/dist/src/plugins/typescript/untyped-schema.d.mts +1 -2
  45. package/dist/src/plugins/typescript/untyped-schema.d.ts +1 -2
  46. package/dist/src/plugins/typescript/untyped-schema.js +10 -4
  47. package/dist/src/plugins/typescript/untyped-schema.mjs +10 -4
  48. package/dist/src/plugins/typescript/untyped-schema.ts +31 -25
  49. package/dist/src/utils/cargo.js +2 -2
  50. package/dist/src/utils/cargo.mjs +1 -1
  51. package/dist/src/utils/index.js +2 -2
  52. package/dist/src/utils/index.mjs +1 -1
  53. package/package.json +7 -7
package/README.md CHANGED
@@ -21,7 +21,7 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
21
21
 
22
22
  <h3 align="center">💻 Visit <a href="https://stormsoftware.com" target="_blank">stormsoftware.com</a> to stay up to date with this developer</h3><br />
23
23
 
24
- [![Version](https://img.shields.io/badge/version-1.271.1-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
24
+ [![Version](https://img.shields.io/badge/version-1.272.1-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
@@ -46,38 +46,57 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
46
46
  - [Storm Workspace Tools](#storm-workspace-tools)
47
47
  - [Installing](#installing)
48
48
  - [Executors](#executors)
49
- - [typia](#typia)
49
+ - [Typia Executor](#typia-executor)
50
50
  - [Example](#example)
51
- - [esbuild](#esbuild)
51
+ - [Options](#options)
52
+ - [ESBuild Executor](#esbuild-executor)
52
53
  - [Example](#example-1)
53
- - [unbuild](#unbuild)
54
+ - [Options](#options-1)
55
+ - [Unbuild Executor](#unbuild-executor)
54
56
  - [Example](#example-2)
55
- - [clean-package](#clean-package)
57
+ - [Options](#options-2)
58
+ - [Clean Package Executor](#clean-package-executor)
56
59
  - [Example](#example-3)
57
- - [size-limit](#size-limit)
60
+ - [Options](#options-3)
61
+ - [Size Limit Executor](#size-limit-executor)
58
62
  - [Example](#example-4)
59
- - [npm-publish](#npm-publish)
63
+ - [Options](#options-4)
64
+ - [Npm Publish Executor](#npm-publish-executor)
60
65
  - [Example](#example-5)
61
- - [cargo-publish](#cargo-publish)
66
+ - [Options](#options-5)
67
+ - [Cargo Publish Executor](#cargo-publish-executor)
62
68
  - [Example](#example-6)
63
- - [cargo-build](#cargo-build)
69
+ - [Options](#options-6)
70
+ - [Cargo Build Executor](#cargo-build-executor)
64
71
  - [Example](#example-7)
65
- - [cargo-check](#cargo-check)
72
+ - [Options](#options-7)
73
+ - [Cargo Check Executor](#cargo-check-executor)
66
74
  - [Example](#example-8)
67
- - [cargo-format](#cargo-format)
75
+ - [Options](#options-8)
76
+ - [Cargo Format Executor](#cargo-format-executor)
68
77
  - [Example](#example-9)
69
- - [cargo-clippy](#cargo-clippy)
78
+ - [Options](#options-9)
79
+ - [Cargo Clippy Executor](#cargo-clippy-executor)
70
80
  - [Example](#example-10)
71
- - [cargo-doc](#cargo-doc)
81
+ - [Options](#options-10)
82
+ - [Cargo Doc Executor](#cargo-doc-executor)
72
83
  - [Example](#example-11)
84
+ - [Options](#options-11)
73
85
  - [Generators](#generators)
74
- - [init](#init)
75
- - [preset](#preset)
76
- - [node-library](#node-library)
77
- - [config-schema](#config-schema)
78
- - [neutral-library](#neutral-library)
79
- - [browser-library](#browser-library)
80
- - [release-version](#release-version)
86
+ - [Init Generator](#init-generator)
87
+ - [Options](#options-12)
88
+ - [Preset Generator](#preset-generator)
89
+ - [Options](#options-13)
90
+ - [Node Library Generator](#node-library-generator)
91
+ - [Options](#options-14)
92
+ - [Config Schema Generator](#config-schema-generator)
93
+ - [Options](#options-15)
94
+ - [Neutral Library Generator](#neutral-library-generator)
95
+ - [Options](#options-16)
96
+ - [Browser Library Generator](#browser-library-generator)
97
+ - [Options](#options-17)
98
+ - [Release Version Generator](#release-version-generator)
99
+ - [Options](#options-18)
81
100
  - [Building](#building)
82
101
  - [Running unit tests](#running-unit-tests)
83
102
  - [Storm Workspaces](#storm-workspaces)
@@ -138,9 +157,9 @@ the workspace's projects:
138
157
  <!-- markdownlint-disable -->
139
158
 
140
159
 
141
- ## typia
160
+ ## Typia Executor
142
161
 
143
- Run the \`typia\` generator to create runtime type validators
162
+ A type definition for a Typia executor schema
144
163
 
145
164
  ### Example
146
165
 
@@ -150,13 +169,27 @@ This executor can be used by executing the following in a command line utility:
150
169
  nx run my-project:typia
151
170
  ```
152
171
 
153
- **Please note:** _The typia executor should be included in the desired projects's `project.json` file._
172
+ **Please note:** _The typia executor should be included in the desired projects's `project.json` file.All required options must be included in the `options` property of the json._
154
173
 
174
+ ### Options
155
175
 
176
+ The following executor options are available:
156
177
 
157
- ## esbuild
178
+ | Option | Type | Description | Default |
179
+ | --------- | ------ | ------------- | --------- |
180
+ | **outputPath \*** | `string` | The output path for the build | "{sourceRoot}/__generated__/typia" |
181
+ | **entry \*** | `string[]` | The entry file or files to build | `[]` |
182
+ | **tsconfig \*** | `string` | The path to the tsconfig file | "{projectRoot}/tsconfig.json" |
183
+ | clean | `boolean` | Clean the output directory before building | `true` |
158
184
 
159
- Run the \`esbuild\` build process on a selected project
185
+
186
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
187
+
188
+
189
+
190
+ ## ESBuild Executor
191
+
192
+ A type definition for an ESBuild executor schema
160
193
 
161
194
  ### Example
162
195
 
@@ -168,11 +201,33 @@ nx run my-project:esbuild
168
201
 
169
202
  **Please note:** _The esbuild executor should be included in the desired projects's `project.json` file._
170
203
 
204
+ ### Options
205
+
206
+ The following executor options are available:
171
207
 
208
+ | Option | Type | Description | Default |
209
+ | --------- | ------ | ------------- | --------- |
210
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
211
+ | entry | `string[]` | The entry file or files to build | `[]` |
212
+ | tsconfig | `string` | The path to the tsconfig file | "{projectRoot}/tsconfig.json" |
213
+ | bundle | `boolean` | Bundle the output | |
214
+ | minify | `boolean` | Minify the output | |
215
+ | debug | `boolean` | Debug the output | |
216
+ | sourcemap | `boolean` | Generate a sourcemap | |
217
+ | silent | `boolean` | Should the build run silently - only report errors back to the user | |
218
+ | target | "es3" \| "es5" \| "es6" \| "es2015" \| "es2016" \| "es2017" \| "es2018" \| "es2019" \| "es2020" \| "es2021" \| "es2022" \| "es2023" \| "es2024" \| "esnext" \| "node12" \| "node14" \| "node16" \| "node18" \| "node20" \| "node22" \| "browser" \| "chrome58" \| "chrome59" \| "chrome60" | The target to build | "esnext" |
219
+ | format | "cjs" \| "esm" \| "iife" | The format to build | "esm" |
220
+ | platform | "neutral" \| "node" \| "browser" | The platform to build | "neutral" |
221
+ | external | `any[]` | The external dependencies | `[]` |
222
+ | define | `object` | The define values | `[object Object]` |
223
+ | env | `object` | The environment variable values | `[object Object]` |
172
224
 
173
- ## unbuild
174
225
 
175
- Run the \`unbuild\` build process on a selected project
226
+
227
+
228
+ ## Unbuild Executor
229
+
230
+ A type definition for a unbuild executor schema
176
231
 
177
232
  ### Example
178
233
 
@@ -182,13 +237,51 @@ This executor can be used by executing the following in a command line utility:
182
237
  nx run my-project:unbuild
183
238
  ```
184
239
 
185
- **Please note:** _The unbuild executor should be included in the desired projects's `project.json` file._
240
+ **Please note:** _The unbuild executor should be included in the desired projects's `project.json` file.All required options must be included in the `options` property of the json._
241
+
242
+ ### Options
243
+
244
+ The following executor options are available:
186
245
 
246
+ | Option | Type | Description | Default |
247
+ | --------- | ------ | ------------- | --------- |
248
+ | outputPath | `string` | The output path for the build | |
249
+ | **entry \*** | `string[]` | The directory to use as input for the build | `[]` |
250
+ | tsconfig | `string` | The path to the tsconfig file | "{projectRoot}/tsconfig.json" |
251
+ | bundle | `boolean` | Bundle the output | |
252
+ | minify | `boolean` | Minify the output | |
253
+ | debug | `boolean` | Debug the output | |
254
+ | sourcemap | `boolean` | Generate a sourcemap | |
255
+ | silent | `boolean` | Should the build run silently - only report errors back to the user | |
256
+ | target | "es3" \| "es5" \| "es6" \| "es2015" \| "es2016" \| "es2017" \| "es2018" \| "es2019" \| "es2020" \| "es2021" \| "es2022" \| "es2023" \| "es2024" \| "esnext" \| "node12" \| "node14" \| "node16" \| "node18" \| "node20" \| "node22" \| "browser" \| "chrome58" \| "chrome59" \| "chrome60" | The target to build | "esnext" |
257
+ | format | `string[]` | The format to build | `[]` |
258
+ | platform | "neutral" \| "node" \| "browser" | The platform to build | "neutral" |
259
+ | external | `any[]` | The external dependencies | `[]` |
260
+ | define | `object` | The define values | `[object Object]` |
261
+ | env | `object` | The environment variable values | `[object Object]` |
262
+ | **name \*** | `string` | The name of the project/build | "{projectName}" |
263
+ | treeShaking | `boolean` | Enable tree shaking | `true` |
264
+ | watch | `boolean` | Watch for changes | |
265
+ | clean | `boolean` | Clean the output directory before building | `true` |
266
+ | stub | `boolean` | Stub the output | |
267
+ | buildOnly | `boolean` | Should the build process skip generating a package.json and copying assets | |
268
+ | watchOptions | `object` | Watch options | `[object Object]` |
269
+ | stubOptions | `object` | Stub options | `[object Object]` |
270
+ | dependencies | `string[]` | The dependencies to install | |
271
+ | peerDependencies | `string[]` | The peer dependencies to install | |
272
+ | devDependencies | `string[]` | The dev dependencies to install | |
273
+ | alias | `object` | The alias to use | `[object Object]` |
274
+ | replace | `object` | The replace to use | `[object Object]` |
275
+ | rollup | `object` | The rollup options | `[object Object]` |
187
276
 
188
277
 
189
- ## clean-package
278
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
190
279
 
191
- Remove configuration files, fields, and scripts for development before publishing package. The executor will remove these unnecessary files and fields to make the distributable package as light as possible (for scenarios like edge computing, limited memory environments, etc.)
280
+
281
+
282
+ ## Clean Package Executor
283
+
284
+ The clean package executor is responsible for removing unnecessary files and fields from a distributable package to make it as light as possible (for scenarios like edge computing, limited memory environments, etc.)
192
285
 
193
286
  ### Example
194
287
 
@@ -200,11 +293,25 @@ nx run my-project:clean-package
200
293
 
201
294
  **Please note:** _The clean-package executor should be included in the desired projects's `project.json` file._
202
295
 
296
+ ### Options
297
+
298
+ The following executor options are available:
299
+
300
+ | Option | Type | Description | Default |
301
+ | --------- | ------ | ------------- | --------- |
302
+ | outputPath | `string` | The path to the output | "dist/{projectRoot}" |
303
+ | packageJsonPath | `string` | The path to the package.json that will be modified | "{outputPath}/package.json" |
304
+ | ignoredFiles | `string` | The files to ignore | |
305
+ | fields | `string` | The fields to include | "" |
306
+ | cleanReadMe | `boolean` | Clean the read me | `true` |
307
+ | cleanComments | `boolean` | Clean the comments | `true` |
203
308
 
204
309
 
205
- ## size-limit
206
310
 
207
- Run a size-limit performance test on the project
311
+
312
+ ## Size Limit Executor
313
+
314
+ A type definition for a Size Limit executor schema
208
315
 
209
316
  ### Example
210
317
 
@@ -216,11 +323,21 @@ nx run my-project:size-limit
216
323
 
217
324
  **Please note:** _The size-limit executor should be included in the desired projects's `project.json` file._
218
325
 
326
+ ### Options
327
+
328
+ The following executor options are available:
329
+
330
+ | Option | Type | Description | Default |
331
+ | --------- | ------ | ------------- | --------- |
332
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
333
+ | entry | `string[]` | The path to the entry file | |
334
+
219
335
 
220
336
 
221
- ## npm-publish
222
337
 
223
- Publish a package to the NPM registry
338
+ ## Npm Publish Executor
339
+
340
+ A type definition for a Npm Publish executor schema
224
341
 
225
342
  ### Example
226
343
 
@@ -232,11 +349,25 @@ nx run my-project:npm-publish
232
349
 
233
350
  **Please note:** _The npm-publish executor should be included in the desired projects's `project.json` file._
234
351
 
352
+ ### Options
353
+
354
+ The following executor options are available:
355
+
356
+ | Option | Type | Description | Default |
357
+ | --------- | ------ | ------------- | --------- |
358
+ | packageRoot | `string` | The path to the package root | |
359
+ | registry | `string` | The registry to publish to | "https://registry.npmjs.org/" |
360
+ | tag | `string` | The tag to publish with | "latest" |
361
+ | otp | `number` | The one time password | |
362
+ | dryRun | `boolean` | Perform a dry run | |
363
+ | firstRelease | `boolean` | Publish the first release | |
235
364
 
236
365
 
237
- ## cargo-publish
238
366
 
239
- Publish a Rust crate to the crates.io registry
367
+
368
+ ## Cargo Publish Executor
369
+
370
+ A type definition for a Cargo/rust Publish executor schema
240
371
 
241
372
  ### Example
242
373
 
@@ -248,11 +379,31 @@ nx run my-project:cargo-publish
248
379
 
249
380
  **Please note:** _The cargo-publish executor should be included in the desired projects's `project.json` file._
250
381
 
382
+ ### Options
383
+
384
+ The following executor options are available:
251
385
 
386
+ | Option | Type | Description | Default |
387
+ | --------- | ------ | ------------- | --------- |
388
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
389
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
390
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
391
+ | target | `string` | The target to build | |
392
+ | allTargets | `boolean` | Build all targets | |
393
+ | profile | `string` | The profile to build | |
394
+ | release | `boolean` | Build in release mode | |
395
+ | features | `string` | The features to build | |
396
+ | allFeatures | `boolean` | Build all features | |
397
+ | registry | `string` | The registry to publish to | |
398
+ | packageRoot | `string` | The path to the package root | |
399
+ | dryRun | `boolean` | Perform a dry run | |
252
400
 
253
- ## cargo-build
254
401
 
255
- Build a Rust project with Cargo Build
402
+
403
+
404
+ ## Cargo Build Executor
405
+
406
+ A type definition for a Cargo/rust build executor schema
256
407
 
257
408
  ### Example
258
409
 
@@ -264,11 +415,28 @@ nx run my-project:cargo-build
264
415
 
265
416
  **Please note:** _The cargo-build executor should be included in the desired projects's `project.json` file._
266
417
 
418
+ ### Options
419
+
420
+ The following executor options are available:
421
+
422
+ | Option | Type | Description | Default |
423
+ | --------- | ------ | ------------- | --------- |
424
+ | outputPath | `string` | The path to the output directory | |
425
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
426
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
427
+ | target | `string` | The target to build | |
428
+ | allTargets | `boolean` | Build all targets | |
429
+ | profile | `string` | The profile to build | |
430
+ | release | `boolean` | Build in release mode | |
431
+ | features | `string` | The features to build | |
432
+ | allFeatures | `boolean` | Build all features | |
267
433
 
268
434
 
269
- ## cargo-check
270
435
 
271
- Check a Rust project with Cargo Check
436
+
437
+ ## Cargo Check Executor
438
+
439
+ A type definition for a Cargo/rust check executor schema
272
440
 
273
441
  ### Example
274
442
 
@@ -280,11 +448,28 @@ nx run my-project:cargo-check
280
448
 
281
449
  **Please note:** _The cargo-check executor should be included in the desired projects's `project.json` file._
282
450
 
451
+ ### Options
452
+
453
+ The following executor options are available:
454
+
455
+ | Option | Type | Description | Default |
456
+ | --------- | ------ | ------------- | --------- |
457
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
458
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
459
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
460
+ | target | `string` | The target to build | |
461
+ | allTargets | `boolean` | Build all targets | |
462
+ | profile | `string` | The profile to build | |
463
+ | release | `boolean` | Build in release mode | |
464
+ | features | `string` | The features to build | |
465
+ | allFeatures | `boolean` | Build all features | |
466
+
283
467
 
284
468
 
285
- ## cargo-format
286
469
 
287
- Format a Rust project with Cargo Fmt
470
+ ## Cargo Format Executor
471
+
472
+ A type definition for a Cargo/rust format executor schema
288
473
 
289
474
  ### Example
290
475
 
@@ -296,11 +481,28 @@ nx run my-project:cargo-format
296
481
 
297
482
  **Please note:** _The cargo-format executor should be included in the desired projects's `project.json` file._
298
483
 
484
+ ### Options
485
+
486
+ The following executor options are available:
487
+
488
+ | Option | Type | Description | Default |
489
+ | --------- | ------ | ------------- | --------- |
490
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
491
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
492
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
493
+ | target | `string` | The target to build | |
494
+ | allTargets | `boolean` | Build all targets | |
495
+ | profile | `string` | The profile to build | |
496
+ | release | `boolean` | Build in release mode | |
497
+ | features | `string` | The features to build | |
498
+ | allFeatures | `boolean` | Build all features | |
499
+
500
+
299
501
 
300
502
 
301
- ## cargo-clippy
503
+ ## Cargo Clippy Executor
302
504
 
303
- Lint a Rust project with Cargo Clippy
505
+ A type definition for a Cargo/rust clippy executor schema
304
506
 
305
507
  ### Example
306
508
 
@@ -312,11 +514,29 @@ nx run my-project:cargo-clippy
312
514
 
313
515
  **Please note:** _The cargo-clippy executor should be included in the desired projects's `project.json` file._
314
516
 
517
+ ### Options
315
518
 
519
+ The following executor options are available:
316
520
 
317
- ## cargo-doc
521
+ | Option | Type | Description | Default |
522
+ | --------- | ------ | ------------- | --------- |
523
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
524
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
525
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
526
+ | target | `string` | The target to build | |
527
+ | allTargets | `boolean` | Build all targets | |
528
+ | profile | `string` | The profile to build | |
529
+ | release | `boolean` | Build in release mode | |
530
+ | features | `string` | The features to build | |
531
+ | allFeatures | `boolean` | Build all features | |
532
+ | fix | `boolean` | Automatically fix issues | |
318
533
 
319
- Create docs for a Rust project with Cargo Doc
534
+
535
+
536
+
537
+ ## Cargo Doc Executor
538
+
539
+ A type definition for a Cargo/rust documentation executor schema
320
540
 
321
541
  ### Example
322
542
 
@@ -328,6 +548,27 @@ nx run my-project:cargo-doc
328
548
 
329
549
  **Please note:** _The cargo-doc executor should be included in the desired projects's `project.json` file._
330
550
 
551
+ ### Options
552
+
553
+ The following executor options are available:
554
+
555
+ | Option | Type | Description | Default |
556
+ | --------- | ------ | ------------- | --------- |
557
+ | outputPath | `string` | The output path for the build | "dist/{projectRoot}" |
558
+ | package | `string` | The path to the Cargo.toml file | "{projectRoot}/Cargo.toml" |
559
+ | toolchain | "stable" \| "beta" \| "nightly" | The type of toolchain to use for the build | "stable" |
560
+ | target | `string` | The target to build | |
561
+ | allTargets | `boolean` | Build all targets | |
562
+ | profile | `string` | The profile to build | |
563
+ | release | `boolean` | Build in release mode | |
564
+ | features | `string` | The features to build | |
565
+ | allFeatures | `boolean` | Build all features | |
566
+ | lib | `boolean` | Generate documentation for the library | `[object Object]` |
567
+ | bins | `boolean` | Generate documentation for the bins | `[object Object]` |
568
+ | examples | `boolean` | Generate documentation for the examples | `[object Object]` |
569
+ | noDeps | `boolean` | Do not generate documentation for dependencies | `[object Object]` |
570
+
571
+
331
572
 
332
573
 
333
574
  <!-- markdownlint-restore -->
@@ -345,45 +586,184 @@ management:
345
586
  <!-- markdownlint-disable -->
346
587
 
347
588
 
348
- ## init
589
+ ## Init Generator
590
+
591
+ A type definition for an init generator schema
592
+
593
+ ### Options
594
+
595
+ The following executor options are available:
596
+
597
+ | Option | Type | Description | Default |
598
+ | --------- | ------ | ------------- | --------- |
599
+ | skipFormat | `boolean` | Skip formatting the generated files | |
600
+
601
+
602
+
603
+
604
+ ## Preset Generator
605
+
606
+ A type definition for a preset generator schema
607
+
608
+ ### Options
609
+
610
+ The following executor options are available:
611
+
612
+ | Option | Type | Description | Default |
613
+ | --------- | ------ | ------------- | --------- |
614
+ | **directory \*** | `string` | The directory to create the library in | |
615
+ | **name \*** | `string` | The name of the workspace | |
616
+ | organization | `string` | The organization of the workspace | "storm-software" |
617
+ | includeApps | `boolean` | Include apps in the workspace | `true` |
618
+ | includeRust | `boolean` | Include Rust support in the workspace | |
619
+ | namespace | `string` | The namespace of the workspace | "storm-software" |
620
+ | description | `string` | The description of the workspace | |
621
+ | repositoryUrl | `string` | The URL of the repository | |
622
+ | nxCloud | `string` | Nx Cloud configuration | |
623
+ | mode | `string` | The mode of the Nx client | |
624
+ | packageManager | "npm" \| "pnpm" \| "yarn" \| "bun" | The package manager to use | "pnpm" |
625
+
626
+
627
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
628
+
629
+
630
+
631
+ ## Node Library Generator
632
+
633
+ A type definition for a NodeJs library generator schema
634
+
635
+ ### Options
636
+
637
+ The following executor options are available:
638
+
639
+ | Option | Type | Description | Default |
640
+ | --------- | ------ | ------------- | --------- |
641
+ | **directory \*** | `string` | The directory to create the library in | |
642
+ | **name \*** | `string` | The name of the library | |
643
+ | description | `string` | The description of the library | |
644
+ | buildExecutor | `string` | The executor to use for building the library | "@storm-software/workspace-tools:unbuild" |
645
+ | platform | "node" \| "neutral" | The platform to target with the library | "node" |
646
+ | importPath | `string` | The import path for the library | |
647
+ | tags | `string` | The tags for the library | |
648
+ | unitTestRunner | "jest" \| "vitest" \| "none" | The unit test runner to use | |
649
+ | testEnvironment | "jsdom" \| "node" | The test environment to use | |
650
+ | pascalCaseFiles | `boolean` | Use PascalCase for file names | |
651
+ | strict | `boolean` | Enable strict mode | `true` |
652
+ | publishable | `boolean` | Make the library publishable | |
653
+ | buildable | `boolean` | Make the library buildable | `true` |
654
+
655
+
656
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
657
+
658
+
659
+
660
+ ## Config Schema Generator
661
+
662
+ A type definition for a config schema generator schema
663
+
664
+ ### Options
665
+
666
+ The following executor options are available:
667
+
668
+ | Option | Type | Description | Default |
669
+ | --------- | ------ | ------------- | --------- |
670
+ | directory | `string` | The directory to create the library in | |
671
+ | outputFile | `string` | The file to write the schema to | "{workspaceRoot}/storm-workspace.schema.json" |
672
+
673
+
674
+
349
675
 
350
- Initialize the `@storm-software/workspace-tools` plugin.
676
+ ## Neutral Library Generator
351
677
 
678
+ A type definition for a neutral library generator schema
352
679
 
680
+ ### Options
353
681
 
354
- ## preset
682
+ The following executor options are available:
355
683
 
356
- Storm workspace preset generator
684
+ | Option | Type | Description | Default |
685
+ | --------- | ------ | ------------- | --------- |
686
+ | **directory \*** | `string` | The directory to create the library in | |
687
+ | **name \*** | `string` | The name of the library | |
688
+ | description | `string` | The description of the library | |
689
+ | buildExecutor | `string` | The executor to use for building the library | "@storm-software/workspace-tools:unbuild" |
690
+ | platform | "neutral" | The platform to target with the library | "neutral" |
691
+ | importPath | `string` | The import path for the library | |
692
+ | tags | `string` | The tags for the library | |
693
+ | unitTestRunner | "jest" \| "vitest" \| "none" | The unit test runner to use | |
694
+ | testEnvironment | "jsdom" \| "node" | The test environment to use | |
695
+ | pascalCaseFiles | `boolean` | Use PascalCase for file names | |
696
+ | strict | `boolean` | Enable strict mode | `true` |
697
+ | publishable | `boolean` | Make the library publishable | |
698
+ | buildable | `boolean` | Make the library buildable | `true` |
357
699
 
358
700
 
701
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
359
702
 
360
- ## node-library
361
703
 
362
- Create a new NodeJs TypeScript library package in the Storm workspace
363
704
 
705
+ ## Browser Library Generator
364
706
 
707
+ A type definition for a browser library generator schema
365
708
 
366
- ## config-schema
709
+ ### Options
367
710
 
368
- Create a Storm JSON schema based on the workspaces project configurations
711
+ The following executor options are available:
369
712
 
713
+ | Option | Type | Description | Default |
714
+ | --------- | ------ | ------------- | --------- |
715
+ | **directory \*** | `string` | The directory to create the library in | |
716
+ | **name \*** | `string` | The name of the library | |
717
+ | description | `string` | The description of the library | |
718
+ | buildExecutor | `string` | The executor to use for building the library | "@storm-software/workspace-tools:unbuild" |
719
+ | platform | "browser" \| "neutral" | The platform to target with the library | "browser" |
720
+ | importPath | `string` | The import path for the library | |
721
+ | tags | `string` | The tags for the library | |
722
+ | unitTestRunner | "jest" \| "vitest" \| "none" | The unit test runner to use | |
723
+ | testEnvironment | "jsdom" \| "node" | The test environment to use | |
724
+ | pascalCaseFiles | `boolean` | Use PascalCase for file names | |
725
+ | strict | `boolean` | Enable strict mode | `true` |
726
+ | publishable | `boolean` | Make the library publishable | |
727
+ | buildable | `boolean` | Make the library buildable | `true` |
370
728
 
371
729
 
372
- ## neutral-library
730
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
373
731
 
374
- Create a new Neutral TypeScript library package in the Storm workspace
375
732
 
376
733
 
734
+ ## Release Version Generator
377
735
 
378
- ## browser-library
736
+ A type definition for a release version generator schema
379
737
 
380
- Create a new browser TypeScript library package in the Storm workspace
738
+ ### Options
381
739
 
740
+ The following executor options are available:
382
741
 
742
+ | Option | Type | Description | Default |
743
+ | --------- | ------ | ------------- | --------- |
744
+ | **projects \*** | `object[]` | The projects to release | |
745
+ | **releaseGroup \*** | `object` | The release group | `[object Object]` |
746
+ | **projectGraph \*** | `object` | The project graph | `[object Object]` |
747
+ | **specifier \*** | `string` | The specifier | |
748
+ | specifierSource | `string` | The specifier source | |
749
+ | preid | `string` | The preid | |
750
+ | packageRoot | `string` | The package root | |
751
+ | currentVersionResolver | `string` | The current version resolver | "git-tag" |
752
+ | currentVersionResolverMetadata | `object` | The current version resolver metadata | `[object Object]` |
753
+ | fallbackCurrentVersionResolver | `string` | The fallback current version resolver | "disk" |
754
+ | firstRelease | `boolean` | Release the first version | |
755
+ | versionPrefix | "" \| "auto" \| "~" \| "^" \| "=" | The version prefix | |
756
+ | skipLockFileUpdate | `boolean` | Skip lock file update | |
757
+ | installArgs | `string` | The install arguments | |
758
+ | installIgnoreScripts | `boolean` | Ignore scripts | |
759
+ | conventionalCommitsConfig | `object` | The conventional commits config | `[object Object]` |
760
+ | deleteVersionPlans | `boolean` | Delete version plans | |
761
+ | updateDependents | `string` | Update dependents | |
762
+ | logUnchangedProjects | `boolean` | Log unchanged projects | |
763
+ | preserveLocalDependencyProtocols | `boolean` | Preserve local dependency protocols | |
383
764
 
384
- ## release-version
385
765
 
386
- The release version generator used in Storm Workspaces
766
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
387
767
 
388
768
 
389
769