@storm-software/workspace-tools 1.271.2 → 1.272.0

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