@storm-software/workspace-tools 1.292.28 → 1.293.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  # Changelog for Storm Ops - Workspace Tools
4
4
 
5
+ ## [1.292.29](https://github.com/storm-software/storm-ops/releases/tag/workspace-tools%401.292.29) (11/12/2025)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **monorepo:** Regenerate README markdown files
10
+ ([89dfbdb7f](https://github.com/storm-software/storm-ops/commit/89dfbdb7f))
11
+
12
+ ### Updated Dependencies
13
+
14
+ - Updated **testing-tools** to **v1.119.29**
15
+ - Updated **config-tools** to **v1.188.29**
16
+ - Updated **pnpm-tools** to **v0.6.29**
17
+ - Updated **npm-tools** to **v0.5.29**
18
+ - Updated **prettier** to **v0.57.29**
19
+ - Updated **esbuild** to **v0.53.29**
20
+ - Updated **unbuild** to **v0.57.29**
21
+ - Updated **config** to **v1.134.29**
22
+ - Updated **tsdown** to **v0.45.29**
23
+
24
+ ## [1.292.28](https://github.com/storm-software/storm-ops/releases/tag/workspace-tools%401.292.28) (11/12/2025)
25
+
26
+ ### Updated Dependencies
27
+
28
+ - Updated **testing-tools** to **v1.119.28**
29
+ - Updated **config-tools** to **v1.188.28**
30
+ - Updated **pnpm-tools** to **v0.6.28**
31
+ - Updated **npm-tools** to **v0.5.28**
32
+ - Updated **prettier** to **v0.57.28**
33
+ - Updated **esbuild** to **v0.53.28**
34
+ - Updated **unbuild** to **v0.57.28**
35
+ - Updated **config** to **v1.134.28**
36
+ - Updated **tsdown** to **v0.45.28**
37
+
5
38
  ## [1.292.27](https://github.com/storm-software/storm-ops/releases/tag/workspace-tools%401.292.27) (11/12/2025)
6
39
 
7
40
  ### Miscellaneous
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.292.25-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.292.29-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,6 +40,7 @@ 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
+
43
44
  ## Table of Contents
44
45
 
45
46
  - [Storm Workspace Tools](#storm-workspace-tools)
@@ -0,0 +1,71 @@
1
+ import {
2
+ cargoMetadata
3
+ } from "./chunk-ZTN2676G.mjs";
4
+ import {
5
+ withRunExecutor
6
+ } from "./chunk-ZTFZJPOM.mjs";
7
+ import {
8
+ joinPaths
9
+ } from "./chunk-C26A6BXG.mjs";
10
+
11
+ // src/executors/napi/executor.ts
12
+ import { createJiti } from "jiti";
13
+ import { fileExists } from "nx/src/utils/fileutils";
14
+ async function napiExecutor(options, context, config) {
15
+ const jiti = createJiti(config.workspaceRoot, {
16
+ fsCache: config.skipCache ? false : joinPaths(
17
+ config.workspaceRoot,
18
+ config.directories.cache || "node_modules/.cache/storm",
19
+ "jiti"
20
+ ),
21
+ interopDefault: true
22
+ });
23
+ const { NapiCli } = await jiti.import(
24
+ jiti.esmResolve("@napi-rs/cli")
25
+ );
26
+ if (!context.projectGraph?.nodes[context.projectName ?? ""]) {
27
+ throw new Error(
28
+ "The Napi Build process failed because the project could not be found in the project graph. Please run this command from a workspace root directory."
29
+ );
30
+ }
31
+ const projectRoot = context.projectGraph?.nodes[context.projectName ?? ""].data.root;
32
+ const packageJson = joinPaths(projectRoot ?? ".", "package.json");
33
+ if (!fileExists(packageJson)) {
34
+ throw new Error(`Could not find package.json at ${packageJson}`);
35
+ }
36
+ const napi = new NapiCli();
37
+ const buildOptions = { ...options };
38
+ const metadata = cargoMetadata();
39
+ buildOptions.outputDir = options.outputPath;
40
+ buildOptions.packageJsonPath = options.packageJsonPath || packageJson;
41
+ buildOptions.targetDir = options.targetDir || metadata?.target_directory || joinPaths(config.workspaceRoot, "dist", "target");
42
+ if (process.env.VERCEL) {
43
+ return { success: true };
44
+ }
45
+ const { task } = await napi.build(buildOptions);
46
+ return { success: true, terminalOutput: await task };
47
+ }
48
+ var executor_default = withRunExecutor(
49
+ "Napi - Build Bindings",
50
+ napiExecutor,
51
+ {
52
+ skipReadingConfig: false,
53
+ hooks: {
54
+ applyDefaultOptions: (options) => {
55
+ options.outputPath ??= "dist/{projectRoot}/target";
56
+ options.toolchain ??= "stable";
57
+ options.dtsCache ??= true;
58
+ options.platform ??= true;
59
+ options.constEnum ??= false;
60
+ options.jsBinding ??= "binding.js";
61
+ options.dts ??= "binding.d.ts";
62
+ return options;
63
+ }
64
+ }
65
+ }
66
+ );
67
+
68
+ export {
69
+ napiExecutor,
70
+ executor_default
71
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _chunkD2PV33E5js = require('./chunk-D2PV33E5.js');
4
+
5
+
6
+ var _chunkTCC635LOjs = require('./chunk-TCC635LO.js');
7
+
8
+
9
+ var _chunkG2L3EEEOjs = require('./chunk-G2L3EEEO.js');
10
+
11
+ // src/executors/napi/executor.ts
12
+ var _jiti = require('jiti');
13
+ var _fileutils = require('nx/src/utils/fileutils');
14
+ async function napiExecutor(options, context, config) {
15
+ const jiti = _jiti.createJiti.call(void 0, config.workspaceRoot, {
16
+ fsCache: config.skipCache ? false : _chunkG2L3EEEOjs.joinPaths.call(void 0,
17
+ config.workspaceRoot,
18
+ config.directories.cache || "node_modules/.cache/storm",
19
+ "jiti"
20
+ ),
21
+ interopDefault: true
22
+ });
23
+ const { NapiCli } = await jiti.import(
24
+ jiti.esmResolve("@napi-rs/cli")
25
+ );
26
+ if (!_optionalChain([context, 'access', _ => _.projectGraph, 'optionalAccess', _2 => _2.nodes, 'access', _3 => _3[_nullishCoalesce(context.projectName, () => ( ""))]])) {
27
+ throw new Error(
28
+ "The Napi Build process failed because the project could not be found in the project graph. Please run this command from a workspace root directory."
29
+ );
30
+ }
31
+ const projectRoot = _optionalChain([context, 'access', _4 => _4.projectGraph, 'optionalAccess', _5 => _5.nodes, 'access', _6 => _6[_nullishCoalesce(context.projectName, () => ( ""))], 'access', _7 => _7.data, 'access', _8 => _8.root]);
32
+ const packageJson = _chunkG2L3EEEOjs.joinPaths.call(void 0, _nullishCoalesce(projectRoot, () => ( ".")), "package.json");
33
+ if (!_fileutils.fileExists.call(void 0, packageJson)) {
34
+ throw new Error(`Could not find package.json at ${packageJson}`);
35
+ }
36
+ const napi = new NapiCli();
37
+ const buildOptions = { ...options };
38
+ const metadata = _chunkD2PV33E5js.cargoMetadata.call(void 0, );
39
+ buildOptions.outputDir = options.outputPath;
40
+ buildOptions.packageJsonPath = options.packageJsonPath || packageJson;
41
+ buildOptions.targetDir = options.targetDir || _optionalChain([metadata, 'optionalAccess', _9 => _9.target_directory]) || _chunkG2L3EEEOjs.joinPaths.call(void 0, config.workspaceRoot, "dist", "target");
42
+ if (process.env.VERCEL) {
43
+ return { success: true };
44
+ }
45
+ const { task } = await napi.build(buildOptions);
46
+ return { success: true, terminalOutput: await task };
47
+ }
48
+ var executor_default = _chunkTCC635LOjs.withRunExecutor.call(void 0,
49
+ "Napi - Build Bindings",
50
+ napiExecutor,
51
+ {
52
+ skipReadingConfig: false,
53
+ hooks: {
54
+ applyDefaultOptions: (options) => {
55
+ options.outputPath ??= "dist/{projectRoot}/target";
56
+ options.toolchain ??= "stable";
57
+ options.dtsCache ??= true;
58
+ options.platform ??= true;
59
+ options.constEnum ??= false;
60
+ options.jsBinding ??= "binding.js";
61
+ options.dts ??= "binding.d.ts";
62
+ return options;
63
+ }
64
+ }
65
+ }
66
+ );
67
+
68
+
69
+
70
+
71
+ exports.napiExecutor = napiExecutor; exports.executor_default = executor_default;
@@ -0,0 +1,297 @@
1
+ import { ExecutorContext, PromiseExecutor } from '@nx/devkit';
2
+ import { S as StormWorkspaceConfig } from './types-DeaeRt7S.mjs';
3
+
4
+ // Generated by @storm-software/untyped
5
+ // Do not edit this file directly
6
+
7
+ interface NapiExecutorSchema {
8
+ /**
9
+ * Output Path
10
+ *
11
+ * The path to the output directory
12
+ *
13
+ *
14
+ * @format path
15
+ */
16
+ outputPath: string,
17
+
18
+ /**
19
+ * Package Name
20
+ *
21
+ * Build the specified library or the one at cwd
22
+ *
23
+ */
24
+ package: string,
25
+
26
+ /**
27
+ * Toolchain
28
+ *
29
+ * The type of toolchain to use for the build
30
+ *
31
+ * @default "stable"
32
+ *
33
+ * @enum stable,beta,nightly
34
+ */
35
+ toolchain?: string,
36
+
37
+ /**
38
+ * Target Triple
39
+ *
40
+ * Build for the target triple, bypassed to `cargo build --target`
41
+ *
42
+ */
43
+ target?: string,
44
+
45
+ /**
46
+ * All Targets
47
+ *
48
+ * Build all targets
49
+ *
50
+ */
51
+ allTargets?: boolean,
52
+
53
+ /**
54
+ * Cargo Profile
55
+ *
56
+ * Build artifacts with the specified profile
57
+ *
58
+ */
59
+ profile?: string,
60
+
61
+ /**
62
+ * Release Mode
63
+ *
64
+ * Build in release mode
65
+ *
66
+ */
67
+ release?: boolean,
68
+
69
+ /**
70
+ * Cargo Features
71
+ *
72
+ * List of features to activate
73
+ *
74
+ */
75
+ features?: Array<string>,
76
+
77
+ /**
78
+ * All Features
79
+ *
80
+ * Activate all available features
81
+ *
82
+ */
83
+ allFeatures?: boolean,
84
+
85
+ /**
86
+ * JS Binding File
87
+ *
88
+ * The path to the output JavaScript file
89
+ *
90
+ * @default "binding.js"
91
+ */
92
+ jsBinding: string,
93
+
94
+ /**
95
+ * DTS Binding File
96
+ *
97
+ * The path to the output TypeScript declaration file
98
+ *
99
+ * @default "binding.d.ts"
100
+ */
101
+ dts: string,
102
+
103
+ /**
104
+ * Manifest Path
105
+ *
106
+ * The path to the Cargo.toml manifest file
107
+ *
108
+ *
109
+ * @format path
110
+ */
111
+ manifestPath: string,
112
+
113
+ /**
114
+ * Working Directory
115
+ *
116
+ * Working directory where napi command will be executed; other paths are relative to this
117
+ *
118
+ *
119
+ * @format path
120
+ */
121
+ cwd?: string,
122
+
123
+ /**
124
+ * NAPI Config Path
125
+ *
126
+ * Path to napi config JSON file
127
+ *
128
+ *
129
+ * @format path
130
+ */
131
+ configPath?: string,
132
+
133
+ /**
134
+ * package.json Path
135
+ *
136
+ * Path to package.json
137
+ *
138
+ *
139
+ * @format path
140
+ */
141
+ packageJsonPath?: string,
142
+
143
+ /**
144
+ * Cargo Target Dir
145
+ *
146
+ * Directory for all crate generated artifacts (cargo build --target-dir)
147
+ *
148
+ *
149
+ * @format path
150
+ */
151
+ targetDir?: string,
152
+
153
+ /**
154
+ * Platform Suffix
155
+ *
156
+ * Add platform triple to generated Node.js binding file, e.g. [name].linux-x64-gnu.node
157
+ *
158
+ * @default true
159
+ */
160
+ platform?: boolean,
161
+
162
+ /**
163
+ * JS Package Name
164
+ *
165
+ * Package name in generated JS binding file. Works only with --platform
166
+ *
167
+ */
168
+ jsPackageName?: string,
169
+
170
+ /**
171
+ * Const Enum
172
+ *
173
+ * Whether to generate const enum for TypeScript bindings
174
+ *
175
+ */
176
+ constEnum?: boolean,
177
+
178
+ /**
179
+ * Disable JS Binding
180
+ *
181
+ * Disable generation of JS binding file. Works only with --platform
182
+ *
183
+ */
184
+ noJsBinding?: boolean,
185
+
186
+ /**
187
+ * DTS Header
188
+ *
189
+ * Custom file header for generated type def file (requires typedef feature)
190
+ *
191
+ */
192
+ dtsHeader?: string,
193
+
194
+ /**
195
+ * Disable Default DTS Header
196
+ *
197
+ * Disable default file header for generated type def file (requires typedef feature)
198
+ *
199
+ */
200
+ noDtsHeader?: boolean,
201
+
202
+ /**
203
+ * Enable DTS Cache
204
+ *
205
+ * Enable the DTS cache
206
+ *
207
+ * @default true
208
+ */
209
+ dtsCache?: boolean,
210
+
211
+ /**
212
+ * ESM Output
213
+ *
214
+ * Emit an ESM JS binding file instead of CJS (works only with --platform)
215
+ *
216
+ */
217
+ esm?: boolean,
218
+
219
+ /**
220
+ * Strip Binary
221
+ *
222
+ * Strip the library to minimize file size
223
+ *
224
+ */
225
+ strip?: boolean,
226
+
227
+ /**
228
+ * Verbose
229
+ *
230
+ * Verbosely log build command trace
231
+ *
232
+ * @default false
233
+ */
234
+ verbose?: boolean,
235
+
236
+ /**
237
+ * Binary
238
+ *
239
+ * Build only the specified binary
240
+ *
241
+ */
242
+ bin?: string,
243
+
244
+ /**
245
+ * Cross Compile
246
+ *
247
+ * [experimental] Cross-compile for the specified target with cargo-xwin on Windows and cargo-zigbuild on other platforms
248
+ *
249
+ */
250
+ crossCompile?: boolean,
251
+
252
+ /**
253
+ * Use cross
254
+ *
255
+ * [experimental] Use cross (https://github.com/cross-rs/cross) instead of cargo
256
+ *
257
+ */
258
+ useCross?: boolean,
259
+
260
+ /**
261
+ * Use @napi-rs/cross-toolchain
262
+ *
263
+ * [experimental] Use @napi-rs/cross-toolchain to cross-compile Linux arm/arm64/x64 gnu targets
264
+ *
265
+ */
266
+ useNapiCross?: boolean,
267
+
268
+ /**
269
+ * Watch
270
+ *
271
+ * Watch crate changes and build continuously with cargo-watch
272
+ *
273
+ */
274
+ watch?: boolean,
275
+
276
+ /**
277
+ * No Default Features
278
+ *
279
+ * Do not activate the default feature
280
+ *
281
+ */
282
+ noDefaultFeatures?: boolean,
283
+ }
284
+
285
+ declare function napiExecutor(options: NapiExecutorSchema, context: ExecutorContext, config: StormWorkspaceConfig): Promise<{
286
+ success: boolean;
287
+ terminalOutput?: undefined;
288
+ } | {
289
+ success: boolean;
290
+ terminalOutput: {
291
+ kind: "node" | "js" | "dts" | "exe" | "wasm";
292
+ path: string;
293
+ }[];
294
+ }>;
295
+ declare const _default: PromiseExecutor<NapiExecutorSchema>;
296
+
297
+ export { type NapiExecutorSchema as N, _default as _, napiExecutor as n };