@storm-software/unbuild 0.37.16 → 0.37.18

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/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-0.37.15-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-0.37.17-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 -->
package/bin/unbuild.cjs CHANGED
@@ -31,6 +31,14 @@ var STORM_DEFAULT_DOCS = "https://docs.stormsoftware.com";
31
31
  var STORM_DEFAULT_HOMEPAGE = "https://stormsoftware.com";
32
32
  var STORM_DEFAULT_LICENSING = "https://license.stormsoftware.com";
33
33
  var STORM_DEFAULT_LICENSE = "Apache-2.0";
34
+ var STORM_DEFAULT_RELEASE_BANNER = "https://public.storm-cdn.com/logo-banner.png";
35
+ var STORM_DEFAULT_RELEASE_FOOTER = `
36
+ [Storm Software](https://stormsoftware.com) is an open source software development organization with the mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.
37
+
38
+ Join us on [Discord](https://discord.gg/MQ6YVzakM5) to chat with the team, receive release notifications, ask questions, and get involved.
39
+
40
+ If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our [website](https://stormsoftware.com/contact) or join our [Slack](https://join.slack.com/t/storm-software/shared_invite/zt-2gsmk04hs-i6yhK_r6urq0dkZYAwq2pA) channel!
41
+ `;
34
42
 
35
43
  // ../config/src/schema.ts
36
44
  var DarkColorSchema = import_zod.default.string().trim().toLowerCase().regex(/^#([0-9a-f]{3}){1,2}$/i).length(7).default("#1d1e22").describe("The dark background color of the workspace");
@@ -120,6 +128,11 @@ var WorkspaceBotConfigSchema = import_zod.default.object({
120
128
  name: import_zod.default.string().trim().default("stormie-bot").describe("The workspace bot user's name (this is the bot that will be used to perform various tasks)"),
121
129
  email: import_zod.default.string().trim().email().default("bot@stormsoftware.com").describe("The email of the workspace bot")
122
130
  }).describe("The workspace's bot user's config used to automated various operations tasks");
131
+ var WorkspaceReleaseConfigSchema = import_zod.default.object({
132
+ banner: import_zod.default.string().trim().default(STORM_DEFAULT_RELEASE_BANNER).describe("A URL to a banner image used to display the workspace's release"),
133
+ header: import_zod.default.string().trim().optional().describe("A header message appended to the start of the workspace's release notes"),
134
+ footer: import_zod.default.string().trim().default(STORM_DEFAULT_RELEASE_FOOTER).describe("A footer message appended to the end of the workspace's release notes")
135
+ }).describe("The workspace's release config used during the release process");
123
136
  var WorkspaceDirectoryConfigSchema = import_zod.default.object({
124
137
  cache: import_zod.default.string().trim().optional().describe("The directory used to store the environment's cached file data"),
125
138
  data: import_zod.default.string().trim().optional().describe("The directory used to store the environment's data files"),
@@ -143,6 +156,7 @@ var StormConfigSchema = import_zod.default.object({
143
156
  preid: import_zod.default.string().optional().describe("A tag specifying the version pre-release identifier"),
144
157
  owner: import_zod.default.string().trim().default("@storm-software/admin").describe("The owner of the package"),
145
158
  bot: WorkspaceBotConfigSchema,
159
+ release: WorkspaceReleaseConfigSchema,
146
160
  mode: import_zod.default.enum([
147
161
  "development",
148
162
  "staging",
@@ -849,6 +863,11 @@ var getConfigEnv = /* @__PURE__ */ __name(() => {
849
863
  name: process.env[`${prefix}BOT_NAME`] || void 0,
850
864
  email: process.env[`${prefix}BOT_EMAIL`] || void 0
851
865
  },
866
+ release: {
867
+ banner: process.env[`${prefix}RELEASE_BANNER`] || void 0,
868
+ header: process.env[`${prefix}RELEASE_HEADER`] || void 0,
869
+ footer: process.env[`${prefix}RELEASE_FOOTER`] || void 0
870
+ },
852
871
  organization: process.env[`${prefix}ORGANIZATION`] || void 0,
853
872
  packageManager: process.env[`${prefix}PACKAGE_MANAGER`] || void 0,
854
873
  license: process.env[`${prefix}LICENSE`] || void 0,
@@ -1013,6 +1032,11 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1013
1032
  process.env[`${prefix}BOT_NAME`] = config.bot.name;
1014
1033
  process.env[`${prefix}BOT_EMAIL`] = config.bot.email;
1015
1034
  }
1035
+ if (config.release) {
1036
+ process.env[`${prefix}RELEASE_BANNER`] = config.release.banner;
1037
+ process.env[`${prefix}RELEASE_HEADER`] = config.release.header;
1038
+ process.env[`${prefix}RELEASE_FOOTER`] = config.release.footer;
1039
+ }
1016
1040
  if (config.organization) {
1017
1041
  process.env[`${prefix}ORGANIZATION`] = config.organization;
1018
1042
  }
@@ -1129,7 +1153,9 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1129
1153
  }
1130
1154
  process.env[`${prefix}CONFIG`] = JSON.stringify(config);
1131
1155
  for (const key of Object.keys(config.extensions ?? {})) {
1132
- config.extensions[key] && Object.keys(config.extensions[key]) && setExtensionEnv(key, config.extensions[key]);
1156
+ if (config.extensions[key] && Object.keys(config.extensions[key])) {
1157
+ setExtensionEnv(key, config.extensions[key]);
1158
+ }
1133
1159
  }
1134
1160
  }, "setConfigEnv");
1135
1161
  var setThemeColorConfigEnv = /* @__PURE__ */ __name((prefix, config) => {
@@ -1380,7 +1406,7 @@ var addPackageDependencies = /* @__PURE__ */ __name(async (workspaceRoot, projec
1380
1406
  const projectGraph = (0, import_project_graph.readCachedProjectGraph)();
1381
1407
  const projectDependencies = (0, import_buildable_libs_utils.calculateProjectBuildableDependencies)(void 0, projectGraph, workspaceRoot, projectName, process.env.NX_TASK_TARGET_TARGET || "build", process.env.NX_TASK_TARGET_CONFIGURATION || "production", true);
1382
1408
  const localPackages = [];
1383
- for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data.root !== projectRoot && dep.node.data.root !== workspaceRoot)) {
1409
+ for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data?.root !== projectRoot && dep.node.data?.root !== workspaceRoot)) {
1384
1410
  const projectNode = project.node;
1385
1411
  if (projectNode.data.root) {
1386
1412
  const projectPackageJsonPath = joinPaths(workspaceRoot, projectNode.data.root, "package.json");
package/bin/unbuild.js CHANGED
@@ -10,6 +10,14 @@ var STORM_DEFAULT_DOCS = "https://docs.stormsoftware.com";
10
10
  var STORM_DEFAULT_HOMEPAGE = "https://stormsoftware.com";
11
11
  var STORM_DEFAULT_LICENSING = "https://license.stormsoftware.com";
12
12
  var STORM_DEFAULT_LICENSE = "Apache-2.0";
13
+ var STORM_DEFAULT_RELEASE_BANNER = "https://public.storm-cdn.com/logo-banner.png";
14
+ var STORM_DEFAULT_RELEASE_FOOTER = `
15
+ [Storm Software](https://stormsoftware.com) is an open source software development organization with the mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.
16
+
17
+ Join us on [Discord](https://discord.gg/MQ6YVzakM5) to chat with the team, receive release notifications, ask questions, and get involved.
18
+
19
+ If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our [website](https://stormsoftware.com/contact) or join our [Slack](https://join.slack.com/t/storm-software/shared_invite/zt-2gsmk04hs-i6yhK_r6urq0dkZYAwq2pA) channel!
20
+ `;
13
21
 
14
22
  // ../config/src/schema.ts
15
23
  var DarkColorSchema = z.string().trim().toLowerCase().regex(/^#([0-9a-f]{3}){1,2}$/i).length(7).default("#1d1e22").describe("The dark background color of the workspace");
@@ -99,6 +107,11 @@ var WorkspaceBotConfigSchema = z.object({
99
107
  name: z.string().trim().default("stormie-bot").describe("The workspace bot user's name (this is the bot that will be used to perform various tasks)"),
100
108
  email: z.string().trim().email().default("bot@stormsoftware.com").describe("The email of the workspace bot")
101
109
  }).describe("The workspace's bot user's config used to automated various operations tasks");
110
+ var WorkspaceReleaseConfigSchema = z.object({
111
+ banner: z.string().trim().default(STORM_DEFAULT_RELEASE_BANNER).describe("A URL to a banner image used to display the workspace's release"),
112
+ header: z.string().trim().optional().describe("A header message appended to the start of the workspace's release notes"),
113
+ footer: z.string().trim().default(STORM_DEFAULT_RELEASE_FOOTER).describe("A footer message appended to the end of the workspace's release notes")
114
+ }).describe("The workspace's release config used during the release process");
102
115
  var WorkspaceDirectoryConfigSchema = z.object({
103
116
  cache: z.string().trim().optional().describe("The directory used to store the environment's cached file data"),
104
117
  data: z.string().trim().optional().describe("The directory used to store the environment's data files"),
@@ -122,6 +135,7 @@ var StormConfigSchema = z.object({
122
135
  preid: z.string().optional().describe("A tag specifying the version pre-release identifier"),
123
136
  owner: z.string().trim().default("@storm-software/admin").describe("The owner of the package"),
124
137
  bot: WorkspaceBotConfigSchema,
138
+ release: WorkspaceReleaseConfigSchema,
125
139
  mode: z.enum([
126
140
  "development",
127
141
  "staging",
@@ -828,6 +842,11 @@ var getConfigEnv = /* @__PURE__ */ __name(() => {
828
842
  name: process.env[`${prefix}BOT_NAME`] || void 0,
829
843
  email: process.env[`${prefix}BOT_EMAIL`] || void 0
830
844
  },
845
+ release: {
846
+ banner: process.env[`${prefix}RELEASE_BANNER`] || void 0,
847
+ header: process.env[`${prefix}RELEASE_HEADER`] || void 0,
848
+ footer: process.env[`${prefix}RELEASE_FOOTER`] || void 0
849
+ },
831
850
  organization: process.env[`${prefix}ORGANIZATION`] || void 0,
832
851
  packageManager: process.env[`${prefix}PACKAGE_MANAGER`] || void 0,
833
852
  license: process.env[`${prefix}LICENSE`] || void 0,
@@ -992,6 +1011,11 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
992
1011
  process.env[`${prefix}BOT_NAME`] = config.bot.name;
993
1012
  process.env[`${prefix}BOT_EMAIL`] = config.bot.email;
994
1013
  }
1014
+ if (config.release) {
1015
+ process.env[`${prefix}RELEASE_BANNER`] = config.release.banner;
1016
+ process.env[`${prefix}RELEASE_HEADER`] = config.release.header;
1017
+ process.env[`${prefix}RELEASE_FOOTER`] = config.release.footer;
1018
+ }
995
1019
  if (config.organization) {
996
1020
  process.env[`${prefix}ORGANIZATION`] = config.organization;
997
1021
  }
@@ -1108,7 +1132,9 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1108
1132
  }
1109
1133
  process.env[`${prefix}CONFIG`] = JSON.stringify(config);
1110
1134
  for (const key of Object.keys(config.extensions ?? {})) {
1111
- config.extensions[key] && Object.keys(config.extensions[key]) && setExtensionEnv(key, config.extensions[key]);
1135
+ if (config.extensions[key] && Object.keys(config.extensions[key])) {
1136
+ setExtensionEnv(key, config.extensions[key]);
1137
+ }
1112
1138
  }
1113
1139
  }, "setConfigEnv");
1114
1140
  var setThemeColorConfigEnv = /* @__PURE__ */ __name((prefix, config) => {
@@ -1359,7 +1385,7 @@ var addPackageDependencies = /* @__PURE__ */ __name(async (workspaceRoot, projec
1359
1385
  const projectGraph = readCachedProjectGraph();
1360
1386
  const projectDependencies = calculateProjectBuildableDependencies(void 0, projectGraph, workspaceRoot, projectName, process.env.NX_TASK_TARGET_TARGET || "build", process.env.NX_TASK_TARGET_CONFIGURATION || "production", true);
1361
1387
  const localPackages = [];
1362
- for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data.root !== projectRoot && dep.node.data.root !== workspaceRoot)) {
1388
+ for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data?.root !== projectRoot && dep.node.data?.root !== workspaceRoot)) {
1363
1389
  const projectNode = project.node;
1364
1390
  if (projectNode.data.root) {
1365
1391
  const projectPackageJsonPath = joinPaths(workspaceRoot, projectNode.data.root, "package.json");
package/dist/build.cjs CHANGED
@@ -5,13 +5,13 @@
5
5
 
6
6
 
7
7
 
8
- var _chunk2J4W3I3Fcjs = require('./chunk-2J4W3I3F.cjs');
8
+ var _chunk7VZ5DKNYcjs = require('./chunk-7VZ5DKNY.cjs');
9
9
  require('./chunk-OD3ULBE3.cjs');
10
- require('./chunk-72UMCYVT.cjs');
11
- require('./chunk-XFGV6VMY.cjs');
12
- require('./chunk-QCZV56KW.cjs');
13
- require('./chunk-SZEXG5I5.cjs');
14
- require('./chunk-RGZ72JHN.cjs');
10
+ require('./chunk-3LF6BMSN.cjs');
11
+ require('./chunk-KMW24CQZ.cjs');
12
+ require('./chunk-DTNFTCIE.cjs');
13
+ require('./chunk-KYBJAKNR.cjs');
14
+ require('./chunk-OGMYQNDM.cjs');
15
15
  require('./chunk-BGYQAVKQ.cjs');
16
16
 
17
17
 
@@ -20,4 +20,4 @@ require('./chunk-BGYQAVKQ.cjs');
20
20
 
21
21
 
22
22
 
23
- exports.build = _chunk2J4W3I3Fcjs.build; exports.cleanOutputPath = _chunk2J4W3I3Fcjs.cleanOutputPath; exports.copyBuildAssets = _chunk2J4W3I3Fcjs.copyBuildAssets; exports.executeUnbuild = _chunk2J4W3I3Fcjs.executeUnbuild; exports.generatePackageJson = _chunk2J4W3I3Fcjs.generatePackageJson; exports.resolveOptions = _chunk2J4W3I3Fcjs.resolveOptions;
23
+ exports.build = _chunk7VZ5DKNYcjs.build; exports.cleanOutputPath = _chunk7VZ5DKNYcjs.cleanOutputPath; exports.copyBuildAssets = _chunk7VZ5DKNYcjs.copyBuildAssets; exports.executeUnbuild = _chunk7VZ5DKNYcjs.executeUnbuild; exports.generatePackageJson = _chunk7VZ5DKNYcjs.generatePackageJson; exports.resolveOptions = _chunk7VZ5DKNYcjs.resolveOptions;
package/dist/build.js CHANGED
@@ -5,13 +5,13 @@ import {
5
5
  executeUnbuild,
6
6
  generatePackageJson,
7
7
  resolveOptions
8
- } from "./chunk-A6EYKSQX.js";
8
+ } from "./chunk-WPNQQP7F.js";
9
9
  import "./chunk-RBYYB7X2.js";
10
- import "./chunk-Y2RJXSMQ.js";
11
- import "./chunk-W5OXMTPE.js";
12
- import "./chunk-WCG32SVT.js";
13
- import "./chunk-UNH7U3EZ.js";
14
- import "./chunk-MCSJC6ZH.js";
10
+ import "./chunk-GNWDG3BC.js";
11
+ import "./chunk-AD5M2WQK.js";
12
+ import "./chunk-6W4BKEOJ.js";
13
+ import "./chunk-C6CJ25UC.js";
14
+ import "./chunk-7AM5XAIN.js";
15
15
  import "./chunk-3GQAWCBQ.js";
16
16
  export {
17
17
  build,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkRGZ72JHNcjs = require('./chunk-RGZ72JHN.cjs');
4
+ var _chunkOGMYQNDMcjs = require('./chunk-OGMYQNDM.cjs');
5
5
 
6
6
 
7
7
  var _chunkBGYQAVKQcjs = require('./chunk-BGYQAVKQ.cjs');
@@ -9,8 +9,8 @@ var _chunkBGYQAVKQcjs = require('./chunk-BGYQAVKQ.cjs');
9
9
  // src/clean.ts
10
10
  var _promises = require('fs/promises');
11
11
  async function clean(name = "Unbuild", directory, config) {
12
- _chunkRGZ72JHNcjs.writeDebug.call(void 0, ` \u{1F9F9} Cleaning ${name} output path: ${directory}`, config);
13
- const stopwatch = _chunkRGZ72JHNcjs.getStopwatch.call(void 0, `${name} output clean`);
12
+ _chunkOGMYQNDMcjs.writeDebug.call(void 0, ` \u{1F9F9} Cleaning ${name} output path: ${directory}`, config);
13
+ const stopwatch = _chunkOGMYQNDMcjs.getStopwatch.call(void 0, `${name} output clean`);
14
14
  await cleanDirectories(name, directory, config);
15
15
  stopwatch();
16
16
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  writeError
3
- } from "./chunk-MCSJC6ZH.js";
3
+ } from "./chunk-7AM5XAIN.js";
4
4
  import {
5
5
  __name
6
6
  } from "./chunk-3GQAWCBQ.js";
@@ -213,6 +213,14 @@ var STORM_DEFAULT_DOCS = "https://docs.stormsoftware.com";
213
213
  var STORM_DEFAULT_HOMEPAGE = "https://stormsoftware.com";
214
214
  var STORM_DEFAULT_LICENSING = "https://license.stormsoftware.com";
215
215
  var STORM_DEFAULT_LICENSE = "Apache-2.0";
216
+ var STORM_DEFAULT_RELEASE_BANNER = "https://public.storm-cdn.com/logo-banner.png";
217
+ var STORM_DEFAULT_RELEASE_FOOTER = `
218
+ [Storm Software](https://stormsoftware.com) is an open source software development organization with the mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.
219
+
220
+ Join us on [Discord](https://discord.gg/MQ6YVzakM5) to chat with the team, receive release notifications, ask questions, and get involved.
221
+
222
+ If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our [website](https://stormsoftware.com/contact) or join our [Slack](https://join.slack.com/t/storm-software/shared_invite/zt-2gsmk04hs-i6yhK_r6urq0dkZYAwq2pA) channel!
223
+ `;
216
224
 
217
225
  // ../config/src/schema.ts
218
226
  import z from "zod";
@@ -303,6 +311,11 @@ var WorkspaceBotConfigSchema = z.object({
303
311
  name: z.string().trim().default("stormie-bot").describe("The workspace bot user's name (this is the bot that will be used to perform various tasks)"),
304
312
  email: z.string().trim().email().default("bot@stormsoftware.com").describe("The email of the workspace bot")
305
313
  }).describe("The workspace's bot user's config used to automated various operations tasks");
314
+ var WorkspaceReleaseConfigSchema = z.object({
315
+ banner: z.string().trim().default(STORM_DEFAULT_RELEASE_BANNER).describe("A URL to a banner image used to display the workspace's release"),
316
+ header: z.string().trim().optional().describe("A header message appended to the start of the workspace's release notes"),
317
+ footer: z.string().trim().default(STORM_DEFAULT_RELEASE_FOOTER).describe("A footer message appended to the end of the workspace's release notes")
318
+ }).describe("The workspace's release config used during the release process");
306
319
  var WorkspaceDirectoryConfigSchema = z.object({
307
320
  cache: z.string().trim().optional().describe("The directory used to store the environment's cached file data"),
308
321
  data: z.string().trim().optional().describe("The directory used to store the environment's data files"),
@@ -326,6 +339,7 @@ var StormConfigSchema = z.object({
326
339
  preid: z.string().optional().describe("A tag specifying the version pre-release identifier"),
327
340
  owner: z.string().trim().default("@storm-software/admin").describe("The owner of the package"),
328
341
  bot: WorkspaceBotConfigSchema,
342
+ release: WorkspaceReleaseConfigSchema,
329
343
  mode: z.enum([
330
344
  "development",
331
345
  "staging",