@storm-software/workspace-tools 1.159.0 → 1.159.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## 1.159.1 (2024-08-26)
2
+
3
+ ### Bug Fixes
4
+
5
+ - **workspace-tools:** Resolved issues with the lint configuration files
6
+ ([9f7d724c](https://github.com/storm-software/storm-ops/commit/9f7d724c))
7
+
1
8
  ## 1.159.0 (2024-08-26)
2
9
 
3
10
  ### Features
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.158.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.159.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 -->
@@ -59,41 +59,56 @@ This package is part of the <b>⚡Storm-Ops</b> monorepo. The Storm-Ops packages
59
59
  - [Typia Generate Executor](#typia-generate-executor)
60
60
  - [Example](#example-4)
61
61
  - [Options](#options-2)
62
- - [Npm Publish executor](#npm-publish-executor)
62
+ - [Rolldown Builder](#rolldown-builder)
63
63
  - [Example](#example-5)
64
64
  - [Options](#options-3)
65
- - [Cargo Publish executor](#cargo-publish-executor)
65
+ - [Unbuild Builder](#unbuild-builder)
66
66
  - [Example](#example-6)
67
67
  - [Options](#options-4)
68
- - [Rolldown Builder](#rolldown-builder)
68
+ - [Clean Publish Executor](#clean-publish-executor)
69
69
  - [Example](#example-7)
70
70
  - [Options](#options-5)
71
- - [Unbuild Builder](#unbuild-builder)
71
+ - [Size-Limit Test Executor](#size-limit-test-executor)
72
72
  - [Example](#example-8)
73
73
  - [Options](#options-6)
74
- - [Clean Publish Executor](#clean-publish-executor)
74
+ - [Npm Publish executor](#npm-publish-executor)
75
75
  - [Example](#example-9)
76
76
  - [Options](#options-7)
77
- - [Size-Limit Test Executor](#size-limit-test-executor)
77
+ - [Cargo Publish executor](#cargo-publish-executor)
78
78
  - [Example](#example-10)
79
79
  - [Options](#options-8)
80
+ - [Cargo Build](#cargo-build)
81
+ - [Example](#example-11)
82
+ - [Options](#options-9)
83
+ - [Cargo Check](#cargo-check)
84
+ - [Example](#example-12)
85
+ - [Options](#options-10)
86
+ - [Cargo Format](#cargo-format)
87
+ - [Example](#example-13)
88
+ - [Options](#options-11)
89
+ - [Cargo Clippy](#cargo-clippy)
90
+ - [Example](#example-14)
91
+ - [Options](#options-12)
92
+ - [Cargo Doc](#cargo-doc)
93
+ - [Example](#example-15)
94
+ - [Options](#options-13)
80
95
  - [Generators](#generators)
81
96
  - [Init Storm Workspace Plugin](#init-storm-workspace-plugin)
82
- - [Options](#options-9)
97
+ - [Options](#options-14)
83
98
  - [Workspace Preset](#workspace-preset)
84
99
  - [Examples](#examples)
85
- - [Options](#options-10)
100
+ - [Options](#options-15)
86
101
  - [Add Node Library](#add-node-library)
87
- - [Options](#options-11)
102
+ - [Options](#options-16)
88
103
  - [Configuration Schema Creator](#configuration-schema-creator)
89
- - [Options](#options-12)
104
+ - [Options](#options-17)
90
105
  - [Add Neutral Library](#add-neutral-library)
91
- - [Options](#options-13)
106
+ - [Options](#options-18)
92
107
  - [Add browser Library](#add-browser-library)
93
- - [Options](#options-14)
108
+ - [Options](#options-19)
94
109
  - [design-tokens](#design-tokens)
95
110
  - [Storm Release Version Generator](#storm-release-version-generator)
96
- - [Options](#options-15)
111
+ - [Options](#options-20)
97
112
  - [Building](#building)
98
113
  - [Running unit tests](#running-unit-tests)
99
114
  - [Storm Workspaces](#storm-workspaces)
@@ -300,61 +315,6 @@ The following executor options are available:
300
315
 
301
316
 
302
317
 
303
- ## Npm Publish executor
304
-
305
- Publish a package to the NPM registry - DO NOT INVOKE DIRECTLY WITH \`nx run\`. Use \`nx release publish\` instead.
306
-
307
- ### Example
308
-
309
- This executor can be used by executing the following in a command line utility:
310
-
311
- ```cmd
312
- nx run my-project:npm-publish
313
- ```
314
-
315
- **Please note:** _The npm-publish executor should be included in the desired projects's `project.json` file._
316
-
317
- ### Options
318
-
319
- The following executor options are available:
320
-
321
- | Option | Type | Description | Default |
322
- | --------- | ------ | ------------- | --------- |
323
- | packageRoot | `string` | The root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root. | |
324
- | registry | `string` | The NPM registry URL to publish the package to. | |
325
- | tag | `string` | The distribution tag to apply to the published package. | |
326
- | dryRun | `boolean` | Whether to run the command without actually publishing the package to the registry. | |
327
-
328
-
329
-
330
-
331
- ## Cargo Publish executor
332
-
333
- Publish a package to the crates.io registry - DO NOT INVOKE DIRECTLY WITH \`nx run\`. Use \`nx release publish\` instead.
334
-
335
- ### Example
336
-
337
- This executor can be used by executing the following in a command line utility:
338
-
339
- ```cmd
340
- nx run my-project:cargo-publish
341
- ```
342
-
343
- **Please note:** _The cargo-publish executor should be included in the desired projects's `project.json` file._
344
-
345
- ### Options
346
-
347
- The following executor options are available:
348
-
349
- | Option | Type | Description | Default |
350
- | --------- | ------ | ------------- | --------- |
351
- | registry | `string` | The Cargo registry URL to publish the package to. | |
352
- | packageRoot | `string` | The root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root. | |
353
- | dryRun | `boolean` | Whether to run the command without actually publishing the package to the registry. | |
354
-
355
-
356
-
357
-
358
318
  ## Rolldown Builder
359
319
 
360
320
  An executor used by Storm Software to run the Rolldown build process
@@ -493,6 +453,255 @@ The following executor options are available:
493
453
 
494
454
 
495
455
 
456
+ ## Npm Publish executor
457
+
458
+ Publish a package to the NPM registry - DO NOT INVOKE DIRECTLY WITH \`nx run\`. Use \`nx release publish\` instead.
459
+
460
+ ### Example
461
+
462
+ This executor can be used by executing the following in a command line utility:
463
+
464
+ ```cmd
465
+ nx run my-project:npm-publish
466
+ ```
467
+
468
+ **Please note:** _The npm-publish executor should be included in the desired projects's `project.json` file._
469
+
470
+ ### Options
471
+
472
+ The following executor options are available:
473
+
474
+ | Option | Type | Description | Default |
475
+ | --------- | ------ | ------------- | --------- |
476
+ | packageRoot | `string` | The root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root. | |
477
+ | registry | `string` | The NPM registry URL to publish the package to. | |
478
+ | tag | `string` | The distribution tag to apply to the published package. | |
479
+ | dryRun | `boolean` | Whether to run the command without actually publishing the package to the registry. | |
480
+
481
+
482
+
483
+
484
+ ## Cargo Publish executor
485
+
486
+ Publish a package to the crates.io registry - DO NOT INVOKE DIRECTLY WITH \`nx run\`. Use \`nx release publish\` instead.
487
+
488
+ ### Example
489
+
490
+ This executor can be used by executing the following in a command line utility:
491
+
492
+ ```cmd
493
+ nx run my-project:cargo-publish
494
+ ```
495
+
496
+ **Please note:** _The cargo-publish executor should be included in the desired projects's `project.json` file._
497
+
498
+ ### Options
499
+
500
+ The following executor options are available:
501
+
502
+ | Option | Type | Description | Default |
503
+ | --------- | ------ | ------------- | --------- |
504
+ | registry | `string` | The Cargo registry URL to publish the package to. | |
505
+ | packageRoot | `string` | The root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root. | |
506
+ | dryRun | `boolean` | Whether to run the command without actually publishing the package to the registry. | |
507
+
508
+
509
+
510
+
511
+ ## Cargo Build
512
+
513
+ Run a Rust build on the project using Cargo
514
+
515
+ ### Example
516
+
517
+ This executor can be used by executing the following in a command line utility:
518
+
519
+ ```cmd
520
+ nx run my-project:cargo-build
521
+ ```
522
+
523
+ **Please note:** _The cargo-build 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._
524
+
525
+ ### Options
526
+
527
+ The following executor options are available:
528
+
529
+ | Option | Type | Description | Default |
530
+ | --------- | ------ | ------------- | --------- |
531
+ | release | `boolean` | Run the Cargo command for the project in release mode | |
532
+ | profile | `string` | Build artifacts with the specified profile | |
533
+ | outputPath | `string` | The output path of the generated files. | "dist/target/{projectRoot}" |
534
+ | **toolchain \*** | "stable" \| "beta" \| "nightly" | The Rust toolchain to use | "stable" |
535
+ | features | `string` | Features of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported | |
536
+ | allFeatures | `boolean` | Build all binary targets | |
537
+ | target | `string` | | |
538
+ | lib | `boolean` | Build the package's library | |
539
+ | bin | `string` | Build the specified binary. Array of names or common Unix glob patterns is supported | |
540
+ | bins | `boolean` | Build all binary targets | |
541
+ | example | `string` | Build the specified example. Array of names or common Unix glob patterns is supported | |
542
+ | examples | `boolean` | Build all example targets | |
543
+ | test | `string` | Build the specified test. Array of names or common Unix glob patterns is supported | |
544
+ | tests | `boolean` | Build all test targets | |
545
+ | bench | `string` | Build the specified bench. Array of names or common Unix glob patterns is supported | |
546
+ | benches | `boolean` | Build all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target. | |
547
+ | allTargets | `boolean` | Build all test targets | |
548
+
549
+
550
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
551
+
552
+
553
+
554
+ ## Cargo Check
555
+
556
+ Check a Rust project with Cargo
557
+
558
+ ### Example
559
+
560
+ This executor can be used by executing the following in a command line utility:
561
+
562
+ ```cmd
563
+ nx run my-project:cargo-check
564
+ ```
565
+
566
+ **Please note:** _The cargo-check executor should be included in the desired projects's `project.json` file._
567
+
568
+ ### Options
569
+
570
+ The following executor options are available:
571
+
572
+ | Option | Type | Description | Default |
573
+ | --------- | ------ | ------------- | --------- |
574
+ | release | `boolean` | Run the Cargo command for the project in release mode | |
575
+ | profile | `string` | Build artifacts with the specified profile | |
576
+ | toolchain | "stable" \| "beta" \| "nightly" | The Rust toolchain to use | "stable" |
577
+ | features | `string` | Features of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported | |
578
+ | allFeatures | `boolean` | Build all binary targets | |
579
+ | target | `string` | Build the specified target | |
580
+ | lib | `boolean` | Build the package's library | |
581
+ | bin | `string` | Build the specified binary. Array of names or common Unix glob patterns is supported | |
582
+ | bins | `boolean` | Build all binary targets | |
583
+ | example | `string` | Build the specified example. Array of names or common Unix glob patterns is supported | |
584
+ | examples | `boolean` | Build all example targets | |
585
+ | test | `string` | Build the specified test. Array of names or common Unix glob patterns is supported | |
586
+ | tests | `boolean` | Build all test targets | |
587
+ | bench | `string` | Build the specified bench. Array of names or common Unix glob patterns is supported | |
588
+ | benches | `boolean` | Build all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target. | |
589
+ | allTargets | `boolean` | Build all test targets | |
590
+
591
+
592
+
593
+
594
+ ## Cargo Format
595
+
596
+ Format a Rust project with Cargo
597
+
598
+ ### Example
599
+
600
+ This executor can be used by executing the following in a command line utility:
601
+
602
+ ```cmd
603
+ nx run my-project:cargo-format
604
+ ```
605
+
606
+ **Please note:** _The cargo-format executor should be included in the desired projects's `project.json` file._
607
+
608
+ ### Options
609
+
610
+ The following executor options are available:
611
+
612
+ | Option | Type | Description | Default |
613
+ | --------- | ------ | ------------- | --------- |
614
+ | release | `boolean` | Run the Cargo command for the project in release mode | |
615
+ | profile | `string` | Build artifacts with the specified profile | |
616
+ | toolchain | "stable" \| "beta" \| "nightly" | The Rust toolchain to use | "stable" |
617
+ | features | `string` | Features of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported | |
618
+ | allFeatures | `boolean` | Build all binary targets | |
619
+ | lib | `boolean` | Build the package's library | |
620
+ | bin | `string` | Build the specified binary. Array of names or common Unix glob patterns is supported | |
621
+ | bins | `boolean` | Build all binary targets | |
622
+ | example | `string` | Build the specified example. Array of names or common Unix glob patterns is supported | |
623
+ | examples | `boolean` | Build all example targets | |
624
+ | test | `string` | Build the specified test. Array of names or common Unix glob patterns is supported | |
625
+ | tests | `boolean` | Build all test targets | |
626
+ | bench | `string` | Build the specified bench. Array of names or common Unix glob patterns is supported | |
627
+ | benches | `boolean` | Build all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target. | |
628
+ | allTargets | `boolean` | Build all test targets | |
629
+
630
+
631
+
632
+
633
+ ## Cargo Clippy
634
+
635
+ Lint a Rust project with Cargo Clippy
636
+
637
+ ### Example
638
+
639
+ This executor can be used by executing the following in a command line utility:
640
+
641
+ ```cmd
642
+ nx run my-project:cargo-clippy
643
+ ```
644
+
645
+ **Please note:** _The cargo-clippy executor should be included in the desired projects's `project.json` file._
646
+
647
+ ### Options
648
+
649
+ The following executor options are available:
650
+
651
+ | Option | Type | Description | Default |
652
+ | --------- | ------ | ------------- | --------- |
653
+ | release | `boolean` | Run the Cargo command for the project in release mode | |
654
+ | profile | `string` | Build artifacts with the specified profile | |
655
+ | toolchain | "stable" \| "beta" \| "nightly" | The Rust toolchain to use | "stable" |
656
+ | target | `string` | Build the specified target | |
657
+ | fix | `boolean` | Automatically apply suggestions | |
658
+
659
+
660
+
661
+
662
+ ## Cargo Doc
663
+
664
+ Create docs for a Rust project with Cargo Doc
665
+
666
+ ### Example
667
+
668
+ This executor can be used by executing the following in a command line utility:
669
+
670
+ ```cmd
671
+ nx run my-project:cargo-doc
672
+ ```
673
+
674
+ **Please note:** _The cargo-doc 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._
675
+
676
+ ### Options
677
+
678
+ The following executor options are available:
679
+
680
+ | Option | Type | Description | Default |
681
+ | --------- | ------ | ------------- | --------- |
682
+ | release | `boolean` | Run the Cargo command for the project in release mode | `true` |
683
+ | profile | `string` | Build artifacts with the specified profile | |
684
+ | **outputPath \*** | `string` | The output path of the generated files. | "dist/docs/{projectRoot}" |
685
+ | toolchain | "stable" \| "beta" \| "nightly" | The Rust toolchain to use | "stable" |
686
+ | features | `string` | Features of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported | |
687
+ | allFeatures | `boolean` | Build all binary targets | `true` |
688
+ | target | `string` | Build the specified target | |
689
+ | lib | `boolean` | Build the package's library | `true` |
690
+ | bin | `string` | Build the specified binary. Array of names or common Unix glob patterns is supported | |
691
+ | bins | `boolean` | Build all binary targets | `true` |
692
+ | example | `string` | Build the specified example. Array of names or common Unix glob patterns is supported | |
693
+ | examples | `boolean` | Build all example targets | `true` |
694
+ | test | `string` | Build the specified test. Array of names or common Unix glob patterns is supported | |
695
+ | tests | `boolean` | Build all test targets | |
696
+ | bench | `string` | Build the specified bench. Array of names or common Unix glob patterns is supported | |
697
+ | benches | `boolean` | Build all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target. | |
698
+ | allTargets | `boolean` | Build all test targets | |
699
+
700
+
701
+ **Please note:** _Option names followed by \* above are required, and must be provided to run the executor._
702
+
703
+
704
+
496
705
  <!-- markdownlint-restore -->
497
706
  <!-- prettier-ignore-end -->
498
707
 
package/config/nx.json CHANGED
@@ -424,7 +424,7 @@
424
424
  "cache": true,
425
425
  "outputs": ["{options.outputPath}"],
426
426
  "inputs": ["linting", "documentation", "default", "^production"],
427
- "dependsOn": ["build", "lint-docs", "^docs"]
427
+ "dependsOn": ["build", "format-readme", "lint-docs", "^docs"]
428
428
  },
429
429
  "test": {
430
430
  "cache": true,
package/declarations.d.ts CHANGED
@@ -67,6 +67,17 @@ export interface BaseExecutorSchema extends Record<string, any> {
67
67
  tsConfig?: string;
68
68
  }
69
69
 
70
+ export interface CargoBaseExecutorSchema extends BaseExecutorSchema {
71
+ package?: string;
72
+ toolchain?: "stable" | "beta" | "nightly";
73
+ target?: string;
74
+ allTargets?: boolean;
75
+ profile?: string;
76
+ release?: boolean;
77
+ features?: string | string[];
78
+ allFeatures?: boolean;
79
+ }
80
+
70
81
  export interface WorkspaceToolHooks<TSchema = any> {
71
82
  applyDefaultOptions?: (
72
83
  options: Partial<TSchema>,
@@ -81,9 +92,9 @@ export interface BaseWorkspaceToolOptions<TSchema = any> {
81
92
  hooks?: WorkspaceToolHooks<TSchema>;
82
93
  }
83
94
 
84
- export interface BaseExecutorOptions<
95
+ export type BaseExecutorOptions<
85
96
  TExecutorSchema extends BaseExecutorSchema = BaseExecutorSchema
86
- > extends BaseWorkspaceToolOptions<TExecutorSchema> {}
97
+ > = BaseWorkspaceToolOptions<TExecutorSchema>;
87
98
 
88
99
  export interface BaseExecutorResult {
89
100
  error?: Error;
@@ -117,9 +128,9 @@ export interface BaseGeneratorSchema extends Record<string, any> {
117
128
  tsConfig?: string;
118
129
  }
119
130
 
120
- export interface BaseGeneratorOptions<
131
+ export type BaseGeneratorOptions<
121
132
  TGeneratorSchema extends BaseGeneratorSchema = BaseGeneratorSchema
122
- > extends BaseWorkspaceToolOptions<TGeneratorSchema> {}
133
+ > = BaseWorkspaceToolOptions<TGeneratorSchema>;
123
134
 
124
135
  export interface BaseGeneratorResult extends Record<string, any> {
125
136
  error?: Error;
package/executors.json CHANGED
@@ -26,16 +26,6 @@
26
26
  "schema": "./src/executors/typia/schema.json",
27
27
  "description": "Run the Typia generator to create runtime type validators"
28
28
  },
29
- "npm-publish": {
30
- "implementation": "./src/executors/npm-publish/executor",
31
- "schema": "./src/executors/npm-publish/schema.json",
32
- "description": "Publish a package to the NPM registry"
33
- },
34
- "cargo-publish": {
35
- "implementation": "./src/executors/cargo-publish/executor",
36
- "schema": "./src/executors/cargo-publish/schema.json",
37
- "description": "Publish a Rust crate to the crates.io registry"
38
- },
39
29
  "rolldown": {
40
30
  "implementation": "./src/executors/rolldown/executor",
41
31
  "schema": "./src/executors/rolldown/schema.json",
@@ -55,6 +45,41 @@
55
45
  "implementation": "./src/executors/size-limit/executor",
56
46
  "schema": "./src/executors/size-limit/schema.json",
57
47
  "description": "Run a size-limit performance test on the project"
48
+ },
49
+ "npm-publish": {
50
+ "implementation": "./src/executors/npm-publish/executor",
51
+ "schema": "./src/executors/npm-publish/schema.json",
52
+ "description": "Publish a package to the NPM registry"
53
+ },
54
+ "cargo-publish": {
55
+ "implementation": "./src/executors/cargo-publish/executor",
56
+ "schema": "./src/executors/cargo-publish/schema.json",
57
+ "description": "Publish a Rust crate to the crates.io registry"
58
+ },
59
+ "cargo-build": {
60
+ "implementation": "./src/executors/cargo-build/executor",
61
+ "schema": "./src/executors/cargo-build/schema.json",
62
+ "description": "Build a Rust project with Cargo Build"
63
+ },
64
+ "cargo-check": {
65
+ "implementation": "./src/executors/cargo-check/executor",
66
+ "schema": "./src/executors/cargo-check/schema.json",
67
+ "description": "Check a Rust project with Cargo Check"
68
+ },
69
+ "cargo-format": {
70
+ "implementation": "./src/executors/cargo-format/executor",
71
+ "schema": "./src/executors/cargo-format/schema.json",
72
+ "description": "Format a Rust project with Cargo Fmt"
73
+ },
74
+ "cargo-clippy": {
75
+ "implementation": "./src/executors/cargo-clippy/executor",
76
+ "schema": "./src/executors/cargo-clippy/schema.json",
77
+ "description": "Lint a Rust project with Cargo Clippy"
78
+ },
79
+ "cargo-doc": {
80
+ "implementation": "./src/executors/cargo-doc/executor",
81
+ "schema": "./src/executors/cargo-doc/schema.json",
82
+ "description": "Create docs for a Rust project with Cargo Doc"
58
83
  }
59
84
  }
60
85
  }
package/index.js CHANGED
@@ -606012,6 +606012,7 @@ Skipped lock file update because ${packageManager} workspaces are not enabled.`)
606012
606012
  var workspace_tools_exports = {};
606013
606013
  __export(workspace_tools_exports, {
606014
606014
  DEFAULT_CONVENTIONAL_COMMITS_CONFIG: () => DEFAULT_CONVENTIONAL_COMMITS_CONFIG,
606015
+ INVALID_CARGO_ARGS: () => INVALID_CARGO_ARGS,
606015
606016
  LARGE_BUFFER: () => LARGE_BUFFER3,
606016
606017
  LOCK_FILES: () => LOCK_FILES,
606017
606018
  NPM_LOCK_FILE: () => NPM_LOCK_FILE,
@@ -606024,6 +606025,7 @@ __export(workspace_tools_exports, {
606024
606025
  addLint: () => addLint,
606025
606026
  addProjectTag: () => addProjectTag,
606026
606027
  applyWorkspaceExecutorTokens: () => applyWorkspaceExecutorTokens,
606028
+ buildCargoCommand: () => buildCargoCommand,
606027
606029
  cargoCommand: () => cargoCommand,
606028
606030
  cargoCommandSync: () => cargoCommandSync,
606029
606031
  cargoMetadata: () => cargoMetadata,
@@ -619740,7 +619742,53 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG = {
619740
619742
  var import_devkit12 = require("@nx/devkit");
619741
619743
  var import_node_child_process12 = require("node:child_process");
619742
619744
  var import_node_path15 = require("node:path");
619745
+ var INVALID_CARGO_ARGS = [
619746
+ "allFeatures",
619747
+ "allTargets",
619748
+ "main",
619749
+ "outputPath",
619750
+ "tsConfig"
619751
+ ];
619743
619752
  var childProcess3;
619753
+ var buildCargoCommand = (baseCommand, options, context) => {
619754
+ const args = [];
619755
+ if (options.toolchain && options.toolchain !== "stable") {
619756
+ args.push(`+${options.toolchain}`);
619757
+ }
619758
+ args.push(baseCommand);
619759
+ for (const [key, value2] of Object.entries(options)) {
619760
+ if (key === "toolchain" || key === "release" || INVALID_CARGO_ARGS.includes(key)) {
619761
+ continue;
619762
+ }
619763
+ if (typeof value2 === "boolean") {
619764
+ if (value2) {
619765
+ args.push(`--${key}`);
619766
+ }
619767
+ } else if (Array.isArray(value2)) {
619768
+ for (const item of value2) {
619769
+ args.push(`--${key}`, item);
619770
+ }
619771
+ } else {
619772
+ args.push(`--${key}`, value2);
619773
+ }
619774
+ }
619775
+ if (options.allFeatures && !args.includes("--all-features")) {
619776
+ args.push("--all-features");
619777
+ }
619778
+ if (options.allTargets && !args.includes("--all-targets")) {
619779
+ args.push("--all-targets");
619780
+ }
619781
+ if (options.release && !args.includes("--profile")) {
619782
+ args.push("--release");
619783
+ }
619784
+ if (context.projectName && !args.includes("--package")) {
619785
+ args.push("-p", context.projectName);
619786
+ }
619787
+ if (options.outputPath && !args.includes("--target-dir")) {
619788
+ args.push("--target-dir", options.outputPath);
619789
+ }
619790
+ return args;
619791
+ };
619744
619792
  async function cargoCommand(...args) {
619745
619793
  console.log(`> cargo ${args.join(" ")}`);
619746
619794
  args.push("--color", "always");
@@ -620049,6 +620097,7 @@ var getTypiaTransform = (program, diagnostics) => (0, import_transform.default)(
620049
620097
  // Annotate the CommonJS export names for ESM import in node:
620050
620098
  0 && (module.exports = {
620051
620099
  DEFAULT_CONVENTIONAL_COMMITS_CONFIG,
620100
+ INVALID_CARGO_ARGS,
620052
620101
  LARGE_BUFFER,
620053
620102
  LOCK_FILES,
620054
620103
  NPM_LOCK_FILE,
@@ -620061,6 +620110,7 @@ var getTypiaTransform = (program, diagnostics) => (0, import_transform.default)(
620061
620110
  addLint,
620062
620111
  addProjectTag,
620063
620112
  applyWorkspaceExecutorTokens,
620113
+ buildCargoCommand,
620064
620114
  cargoCommand,
620065
620115
  cargoCommandSync,
620066
620116
  cargoMetadata,