@storm-software/pulumi-tools 0.7.34 → 0.7.36

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 (71) hide show
  1. package/CHANGELOG.md +101 -41
  2. package/README.md +7 -7
  3. package/dist/{chunk-R7DU2APC.mjs → chunk-2BPV2XV2.mjs} +1 -1
  4. package/dist/{chunk-DMZH2LTU.js → chunk-3LX4NVQO.js} +3 -3
  5. package/dist/{chunk-5FEXVTSH.js → chunk-4OAWMTW2.js} +5 -5
  6. package/dist/{chunk-J67CDMJQ.js → chunk-7E4BAGV4.js} +448 -458
  7. package/dist/{chunk-DXMUEDWS.js → chunk-DOEIIUAK.js} +2 -2
  8. package/dist/{chunk-6Q5RPJFO.mjs → chunk-E2VXYPAZ.mjs} +3 -3
  9. package/dist/{chunk-CCTQVQPZ.js → chunk-ED3N2WUA.js} +2 -2
  10. package/dist/{chunk-YLBLU7WG.mjs → chunk-EXMFPMKC.mjs} +1 -1
  11. package/dist/{chunk-UZDQXNWJ.js → chunk-IFU5G6WS.js} +2 -2
  12. package/dist/{chunk-5H6VSOGJ.mjs → chunk-JCVAXK2I.mjs} +1 -1
  13. package/dist/{chunk-A5P4P7EM.js → chunk-JMJUSHA5.js} +2 -2
  14. package/dist/{chunk-PTCFM37L.js → chunk-OLY7V742.js} +2 -2
  15. package/dist/{chunk-V6HZK3HQ.mjs → chunk-PBNI5CAA.mjs} +1 -1
  16. package/dist/{chunk-VQTLM4TK.mjs → chunk-QBXRJRMQ.mjs} +417 -427
  17. package/dist/{chunk-NHWCRKCE.mjs → chunk-SRM34MXU.mjs} +1 -1
  18. package/dist/{chunk-QPASYUSE.mjs → chunk-UF7ZCXHA.mjs} +1 -1
  19. package/dist/{chunk-NX3OSK42.mjs → chunk-V6VCKJTK.mjs} +2 -2
  20. package/dist/{chunk-2X56VZF4.mjs → chunk-ZAYVP3DS.mjs} +1 -1
  21. package/dist/executors.d.mts +1 -1
  22. package/dist/executors.d.ts +1 -1
  23. package/dist/executors.js +7 -7
  24. package/dist/executors.mjs +8 -8
  25. package/dist/{generators-BqtVID0f.d.ts → generators-Bua4nMog.d.ts} +1 -1
  26. package/dist/{generators-9HIDBCUE.d.mts → generators-CrZPZKBW.d.mts} +1 -1
  27. package/dist/generators.d.mts +2 -2
  28. package/dist/generators.d.ts +2 -2
  29. package/dist/generators.js +3 -3
  30. package/dist/generators.mjs +4 -4
  31. package/dist/index.d.mts +2 -2
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js +9 -9
  34. package/dist/index.mjs +10 -10
  35. package/dist/src/base/base-executor.d.mts +1 -1
  36. package/dist/src/base/base-executor.d.ts +1 -1
  37. package/dist/src/base/base-executor.js +3 -3
  38. package/dist/src/base/base-executor.mjs +3 -3
  39. package/dist/src/base/index.d.mts +1 -1
  40. package/dist/src/base/index.d.ts +1 -1
  41. package/dist/src/base/index.js +3 -3
  42. package/dist/src/base/index.mjs +4 -4
  43. package/dist/src/base/providers.mjs +2 -2
  44. package/dist/src/executors/config/executor.d.mts +1 -1
  45. package/dist/src/executors/config/executor.d.ts +1 -1
  46. package/dist/src/executors/config/executor.js +4 -4
  47. package/dist/src/executors/config/executor.mjs +4 -4
  48. package/dist/src/executors/import/executor.d.mts +1 -1
  49. package/dist/src/executors/import/executor.d.ts +1 -1
  50. package/dist/src/executors/import/executor.js +4 -4
  51. package/dist/src/executors/import/executor.mjs +4 -4
  52. package/dist/src/executors/preview/executor.d.mts +1 -1
  53. package/dist/src/executors/preview/executor.d.ts +1 -1
  54. package/dist/src/executors/preview/executor.js +4 -4
  55. package/dist/src/executors/preview/executor.mjs +4 -4
  56. package/dist/src/executors/refresh/executor.d.mts +1 -1
  57. package/dist/src/executors/refresh/executor.d.ts +1 -1
  58. package/dist/src/executors/refresh/executor.js +4 -4
  59. package/dist/src/executors/refresh/executor.mjs +4 -4
  60. package/dist/src/executors/up/executor.d.mts +1 -1
  61. package/dist/src/executors/up/executor.d.ts +1 -1
  62. package/dist/src/executors/up/executor.js +4 -4
  63. package/dist/src/executors/up/executor.mjs +4 -4
  64. package/dist/src/generators/init/generator.d.mts +2 -2
  65. package/dist/src/generators/init/generator.d.ts +2 -2
  66. package/dist/src/generators/init/generator.js +3 -3
  67. package/dist/src/generators/init/generator.mjs +4 -4
  68. package/dist/tsup.config.mjs +1 -1
  69. package/dist/{types-HiZpltUX.d.mts → types-BXfk4hPO.d.mts} +67 -3
  70. package/dist/{types-HiZpltUX.d.ts → types-BXfk4hPO.d.ts} +67 -3
  71. package/package.json +6 -6
@@ -2,7 +2,7 @@ import {
2
2
  __dirname,
3
3
  __name,
4
4
  __require
5
- } from "./chunk-R7DU2APC.mjs";
5
+ } from "./chunk-2BPV2XV2.mjs";
6
6
 
7
7
  // ../config-tools/src/utilities/run.ts
8
8
  import { exec, execSync } from "node:child_process";
@@ -54,8 +54,23 @@ var LogLevelLabel = {
54
54
  // ../config/src/constants.ts
55
55
  var STORM_DEFAULT_DOCS = "https://docs.stormsoftware.com";
56
56
  var STORM_DEFAULT_HOMEPAGE = "https://stormsoftware.com";
57
+ var STORM_DEFAULT_CONTACT = "https://stormsoftware.com/contact";
57
58
  var STORM_DEFAULT_LICENSING = "https://license.stormsoftware.com";
58
59
  var STORM_DEFAULT_LICENSE = "Apache-2.0";
60
+ var STORM_DEFAULT_RELEASE_BANNER = "https://public.storm-cdn.com/brand-banner.png";
61
+ var STORM_DEFAULT_ACCOUNT_TWITTER = "StormSoftwareHQ";
62
+ var STORM_DEFAULT_ACCOUNT_DISCORD = "https://discord.gg/MQ6YVzakM5";
63
+ var STORM_DEFAULT_ACCOUNT_TELEGRAM = "https://t.me/storm_software";
64
+ var STORM_DEFAULT_ACCOUNT_SLACK = "https://join.slack.com/t/storm-software/shared_invite/zt-2gsmk04hs-i6yhK_r6urq0dkZYAwq2pA";
65
+ var STORM_DEFAULT_ACCOUNT_MEDIUM = "https://medium.com/storm-software";
66
+ var STORM_DEFAULT_ACCOUNT_GITHUB = "https://github.com/storm-software";
67
+ var STORM_DEFAULT_RELEASE_FOOTER = `
68
+ Storm Software 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.
69
+
70
+ Join us on [Discord](${STORM_DEFAULT_ACCOUNT_DISCORD}) to chat with the team, receive release notifications, ask questions, and get involved.
71
+
72
+ 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](${STORM_DEFAULT_CONTACT}) or join our [Slack](${STORM_DEFAULT_ACCOUNT_SLACK}) channel!
73
+ `;
59
74
 
60
75
  // ../config/src/schema.ts
61
76
  import z from "zod";
@@ -143,9 +158,22 @@ var ColorConfigMapSchema = z.union([
143
158
  var ExtendsItemSchema = z.string().trim().describe("The path to a base config file to use as a configuration preset file. Documentation can be found at https://github.com/unjs/c12#extending-configuration.");
144
159
  var ExtendsSchema = ExtendsItemSchema.or(z.array(ExtendsItemSchema)).describe("The path to a base config file to use as a configuration preset file. Documentation can be found at https://github.com/unjs/c12#extending-configuration.");
145
160
  var WorkspaceBotConfigSchema = z.object({
146
- 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)"),
161
+ 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)"),
147
162
  email: z.string().trim().email().default("bot@stormsoftware.com").describe("The email of the workspace bot")
148
163
  }).describe("The workspace's bot user's config used to automated various operations tasks");
164
+ var WorkspaceReleaseConfigSchema = z.object({
165
+ banner: z.string().trim().default(STORM_DEFAULT_RELEASE_BANNER).describe("A URL to a banner image used to display the workspace's release"),
166
+ header: z.string().trim().optional().describe("A header message appended to the start of the workspace's release notes"),
167
+ footer: z.string().trim().default(STORM_DEFAULT_RELEASE_FOOTER).describe("A footer message appended to the end of the workspace's release notes")
168
+ }).describe("The workspace's release config used during the release process");
169
+ var WorkspaceAccountConfigSchema = z.object({
170
+ twitter: z.string().trim().default(STORM_DEFAULT_ACCOUNT_TWITTER).describe("A Twitter/X account associated with the organization/project"),
171
+ discord: z.string().trim().default(STORM_DEFAULT_ACCOUNT_DISCORD).describe("A Discord account associated with the organization/project"),
172
+ telegram: z.string().trim().default(STORM_DEFAULT_ACCOUNT_TELEGRAM).describe("A Telegram account associated with the organization/project"),
173
+ slack: z.string().trim().default(STORM_DEFAULT_ACCOUNT_SLACK).describe("A Slack account associated with the organization/project"),
174
+ medium: z.string().trim().default(STORM_DEFAULT_ACCOUNT_MEDIUM).describe("A Medium account associated with the organization/project"),
175
+ github: z.string().trim().default(STORM_DEFAULT_ACCOUNT_GITHUB).describe("A GitHub account associated with the organization/project")
176
+ }).describe("The workspace's account config used to store various social media links");
149
177
  var WorkspaceDirectoryConfigSchema = z.object({
150
178
  cache: z.string().trim().optional().describe("The directory used to store the environment's cached file data"),
151
179
  data: z.string().trim().optional().describe("The directory used to store the environment's data files"),
@@ -165,15 +193,18 @@ var StormConfigSchema = z.object({
165
193
  homepage: z.string().trim().url().default(STORM_DEFAULT_HOMEPAGE).describe("The homepage of the workspace"),
166
194
  docs: z.string().trim().url().default(STORM_DEFAULT_DOCS).describe("The base documentation site for the workspace"),
167
195
  licensing: z.string().trim().url().default(STORM_DEFAULT_LICENSING).describe("The base licensing site for the workspace"),
196
+ contact: z.string().trim().url().default(STORM_DEFAULT_CONTACT).describe("The base contact site for the workspace"),
168
197
  branch: z.string().trim().default("main").describe("The branch of the workspace"),
169
198
  preid: z.string().optional().describe("A tag specifying the version pre-release identifier"),
170
199
  owner: z.string().trim().default("@storm-software/admin").describe("The owner of the package"),
171
200
  bot: WorkspaceBotConfigSchema,
172
- env: z.enum([
201
+ release: WorkspaceReleaseConfigSchema,
202
+ account: WorkspaceAccountConfigSchema,
203
+ mode: z.enum([
173
204
  "development",
174
205
  "staging",
175
206
  "production"
176
- ]).default("production").describe("The current runtime environment name for the package"),
207
+ ]).default("production").describe("The current runtime environment mode for the package"),
177
208
  workspaceRoot: z.string().trim().default("").describe("The root directory of the workspace"),
178
209
  externalPackagePatterns: z.array(z.string()).default([]).describe("The build will use these package patterns to determine if they should be external to the bundle"),
179
210
  skipCache: z.boolean().default(false).describe("Should all known types of workspace caching be skipped?"),
@@ -540,17 +571,14 @@ var getChalk = /* @__PURE__ */ __name(() => {
540
571
  }, "getChalk");
541
572
 
542
573
  // ../config-tools/src/logger/is-unicode-supported.ts
543
- import process2 from "node:process";
544
574
  function isUnicodeSupported() {
545
- const { env } = process2;
546
- const { TERM, TERM_PROGRAM } = env;
547
- if (process2.platform !== "win32") {
548
- return TERM !== "linux";
549
- }
550
- return Boolean(env.WT_SESSION) || // Windows Terminal
551
- Boolean(env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
552
- env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
553
- TERM_PROGRAM === "Terminus-Sublime" || TERM_PROGRAM === "vscode" || TERM === "xterm-256color" || TERM === "alacritty" || TERM === "rxvt-unicode" || TERM === "rxvt-unicode-256color" || env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
575
+ if (process.platform !== "win32") {
576
+ return process.env.TERM !== "linux";
577
+ }
578
+ return Boolean(process.env.WT_SESSION) || // Windows Terminal
579
+ Boolean(process.env.TERMINUS_SUBLIME) || // Terminus (<0.2.27)
580
+ process.env.ConEmuTask === "{cmd::Cmder}" || // ConEmu and cmder
581
+ process.env.TERM_PROGRAM === "Terminus-Sublime" || process.env.TERM_PROGRAM === "vscode" || process.env.TERM === "xterm-256color" || process.env.TERM === "alacritty" || process.env.TERM === "rxvt-unicode" || process.env.TERM === "rxvt-unicode-256color" || process.env.TERMINAL_EMULATOR === "JetBrains-JediTerm";
554
582
  }
555
583
  __name(isUnicodeSupported, "isUnicodeSupported");
556
584
 
@@ -638,7 +666,7 @@ var getLogFn = /* @__PURE__ */ __name((logLevel = LogLevel.INFO, config = {}, _c
638
666
  if (typeof logLevel === "number" && LogLevel.FATAL >= logLevel) {
639
667
  return (message) => {
640
668
  console.error(`
641
- ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
669
+ ${_chalk.gray(formatTimestamp())} ${_chalk.hex(colors.fatal ?? "#7d1a1a")(`[${CONSOLE_ICONS[LogLevelLabel.FATAL]} Fatal] `)}${_chalk.bold.whiteBright(formatLogMessage(message))}
642
670
  `);
643
671
  };
644
672
  }
@@ -869,12 +897,26 @@ var getConfigEnv = /* @__PURE__ */ __name(() => {
869
897
  name: process.env[`${prefix}BOT_NAME`] || void 0,
870
898
  email: process.env[`${prefix}BOT_EMAIL`] || void 0
871
899
  },
900
+ release: {
901
+ banner: process.env[`${prefix}RELEASE_BANNER`] || void 0,
902
+ header: process.env[`${prefix}RELEASE_HEADER`] || void 0,
903
+ footer: process.env[`${prefix}RELEASE_FOOTER`] || void 0
904
+ },
905
+ account: {
906
+ twitter: process.env[`${prefix}ACCOUNT_TWITTER`] || void 0,
907
+ discord: process.env[`${prefix}ACCOUNT_DISCORD`] || void 0,
908
+ telegram: process.env[`${prefix}ACCOUNT_TELEGRAM`] || void 0,
909
+ slack: process.env[`${prefix}ACCOUNT_SLACK`] || void 0,
910
+ medium: process.env[`${prefix}ACCOUNT_MEDIUM`] || void 0,
911
+ github: process.env[`${prefix}ACCOUNT_GITHUB`] || void 0
912
+ },
872
913
  organization: process.env[`${prefix}ORGANIZATION`] || void 0,
873
914
  packageManager: process.env[`${prefix}PACKAGE_MANAGER`] || void 0,
874
915
  license: process.env[`${prefix}LICENSE`] || void 0,
875
916
  homepage: process.env[`${prefix}HOMEPAGE`] || void 0,
876
917
  docs: process.env[`${prefix}DOCS`] || void 0,
877
918
  licensing: process.env[`${prefix}LICENSING`] || void 0,
919
+ contact: process.env[`${prefix}CONTACT`] || void 0,
878
920
  timezone: process.env[`${prefix}TIMEZONE`] || process.env.TZ || void 0,
879
921
  locale: process.env[`${prefix}LOCALE`] || process.env.LOCALE || void 0,
880
922
  configFile: process.env[`${prefix}CONFIG_FILE`] ? correctPaths(process.env[`${prefix}CONFIG_FILE`]) : void 0,
@@ -888,7 +930,7 @@ var getConfigEnv = /* @__PURE__ */ __name(() => {
888
930
  build: process.env[`${prefix}BUILD_DIR`] ? correctPaths(process.env[`${prefix}BUILD_DIR`]) : void 0
889
931
  },
890
932
  skipCache: process.env[`${prefix}SKIP_CACHE`] !== void 0 ? Boolean(process.env[`${prefix}SKIP_CACHE`]) : void 0,
891
- env: (process.env[`${prefix}ENV`] ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT) || void 0,
933
+ mode: (process.env[`${prefix}MODE`] ?? process.env.NODE_ENV ?? process.env.ENVIRONMENT) || void 0,
892
934
  // ci:
893
935
  // process.env[`${prefix}CI`] !== undefined
894
936
  // ? Boolean(
@@ -1033,6 +1075,31 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1033
1075
  process.env[`${prefix}BOT_NAME`] = config.bot.name;
1034
1076
  process.env[`${prefix}BOT_EMAIL`] = config.bot.email;
1035
1077
  }
1078
+ if (config.release) {
1079
+ process.env[`${prefix}RELEASE_BANNER`] = config.release.banner;
1080
+ process.env[`${prefix}RELEASE_HEADER`] = config.release.header;
1081
+ process.env[`${prefix}RELEASE_FOOTER`] = config.release.footer;
1082
+ }
1083
+ if (config.account) {
1084
+ if (config.account.twitter) {
1085
+ process.env[`${prefix}ACCOUNT_TWITTER`] = config.account.twitter;
1086
+ }
1087
+ if (config.account.discord) {
1088
+ process.env[`${prefix}ACCOUNT_DISCORD`] = config.account.discord;
1089
+ }
1090
+ if (config.account.telegram) {
1091
+ process.env[`${prefix}ACCOUNT_TELEGRAM`] = config.account.telegram;
1092
+ }
1093
+ if (config.account.slack) {
1094
+ process.env[`${prefix}ACCOUNT_SLACK`] = config.account.slack;
1095
+ }
1096
+ if (config.account.medium) {
1097
+ process.env[`${prefix}ACCOUNT_MEDIUM`] = config.account.medium;
1098
+ }
1099
+ if (config.account.github) {
1100
+ process.env[`${prefix}ACCOUNT_GITHUB`] = config.account.github;
1101
+ }
1102
+ }
1036
1103
  if (config.organization) {
1037
1104
  process.env[`${prefix}ORGANIZATION`] = config.organization;
1038
1105
  }
@@ -1051,6 +1118,9 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1051
1118
  if (config.licensing) {
1052
1119
  process.env[`${prefix}LICENSING`] = config.licensing;
1053
1120
  }
1121
+ if (config.contact) {
1122
+ process.env[`${prefix}CONTACT`] = config.contact;
1123
+ }
1054
1124
  if (config.timezone) {
1055
1125
  process.env[`${prefix}TIMEZONE`] = config.timezone;
1056
1126
  process.env.TZ = config.timezone;
@@ -1097,10 +1167,10 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1097
1167
  process.env.NX_CACHE_PROJECT_GRAPH ??= String(config.skipCache);
1098
1168
  }
1099
1169
  }
1100
- if (config.env) {
1101
- process.env[`${prefix}ENV`] = config.env;
1102
- process.env.NODE_ENV = config.env;
1103
- process.env.ENVIRONMENT = config.env;
1170
+ if (config.mode) {
1171
+ process.env[`${prefix}MODE`] = config.mode;
1172
+ process.env.NODE_ENV = config.mode;
1173
+ process.env.ENVIRONMENT = config.mode;
1104
1174
  }
1105
1175
  if (config.colors?.base?.light || config.colors?.base?.dark) {
1106
1176
  for (const key of Object.keys(config.colors)) {
@@ -1149,7 +1219,9 @@ var setConfigEnv = /* @__PURE__ */ __name((config) => {
1149
1219
  }
1150
1220
  process.env[`${prefix}CONFIG`] = JSON.stringify(config);
1151
1221
  for (const key of Object.keys(config.extensions ?? {})) {
1152
- config.extensions[key] && Object.keys(config.extensions[key]) && setExtensionEnv(key, config.extensions[key]);
1222
+ if (config.extensions[key] && Object.keys(config.extensions[key])) {
1223
+ setExtensionEnv(key, config.extensions[key]);
1224
+ }
1153
1225
  }
1154
1226
  }, "setConfigEnv");
1155
1227
  var setThemeColorConfigEnv = /* @__PURE__ */ __name((prefix, config) => {
@@ -1730,11 +1802,11 @@ var LARGE_BUFFER2 = 1024 * 1e6;
1730
1802
  import { createProjectGraphAsync, readProjectsConfigurationFromProjectGraph as readProjectsConfigurationFromProjectGraph2, writeJsonFile } from "@nx/devkit";
1731
1803
 
1732
1804
  // ../build-tools/src/config.ts
1733
- var DEFAULT_COMPILED_BANNER = `
1734
- /**
1805
+ var DEFAULT_COMPILED_BANNER = `/*****************************************
1806
+ *
1735
1807
  * \u26A1 Built by Storm Software
1736
- */
1737
-
1808
+ *
1809
+ *****************************************/
1738
1810
  `;
1739
1811
  var DEFAULT_ENVIRONMENT = "production";
1740
1812
  var DEFAULT_TARGET = "esnext";
@@ -1757,7 +1829,7 @@ import { relative as relative2 } from "path";
1757
1829
  import { CopyAssetsHandler } from "@nx/js/src/utils/assets/copy-assets-handler";
1758
1830
  import { glob } from "glob";
1759
1831
  import { readFile as readFile2, writeFile } from "node:fs/promises";
1760
- var copyAssets = /* @__PURE__ */ __name(async (config, assets, outputPath, projectRoot, sourceRoot, generatePackageJson3 = true, includeSrc = false, banner, footer) => {
1832
+ var copyAssets = /* @__PURE__ */ __name(async (config, assets, outputPath, projectRoot, sourceRoot, generatePackageJson2 = true, includeSrc = false, banner, footer) => {
1761
1833
  const pendingAssets = Array.from(assets ?? []);
1762
1834
  pendingAssets.push({
1763
1835
  input: projectRoot,
@@ -1769,7 +1841,7 @@ var copyAssets = /* @__PURE__ */ __name(async (config, assets, outputPath, proje
1769
1841
  glob: "LICENSE",
1770
1842
  output: "."
1771
1843
  });
1772
- if (generatePackageJson3 === false) {
1844
+ if (generatePackageJson2 === false) {
1773
1845
  pendingAssets.push({
1774
1846
  input: projectRoot,
1775
1847
  glob: "package.json",
@@ -1818,7 +1890,7 @@ var addPackageDependencies = /* @__PURE__ */ __name(async (workspaceRoot3, proje
1818
1890
  const projectGraph = readCachedProjectGraph();
1819
1891
  const projectDependencies = calculateProjectBuildableDependencies(void 0, projectGraph, workspaceRoot3, projectName, process.env.NX_TASK_TARGET_TARGET || "build", process.env.NX_TASK_TARGET_CONFIGURATION || "production", true);
1820
1892
  const localPackages = [];
1821
- for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data.root !== projectRoot && dep.node.data.root !== workspaceRoot3)) {
1893
+ for (const project of projectDependencies.dependencies.filter((dep) => dep.node.type === "lib" && dep.node.data?.root !== projectRoot && dep.node.data?.root !== workspaceRoot3)) {
1822
1894
  const projectNode = project.node;
1823
1895
  if (projectNode.data.root) {
1824
1896
  const projectPackageJsonPath = joinPaths(workspaceRoot3, projectNode.data.root, "package.json");
@@ -1915,37 +1987,17 @@ var addWorkspacePackageJsonFields = /* @__PURE__ */ __name(async (config, projec
1915
1987
  packageJson.repository.directory ??= projectRoot ? projectRoot : joinPaths("packages", projectName);
1916
1988
  return packageJson;
1917
1989
  }, "addWorkspacePackageJsonFields");
1918
- var addPackageJsonExport = /* @__PURE__ */ __name((file, type = "module", sourceRoot) => {
1919
- let entry = file.replaceAll("\\", "/");
1920
- if (sourceRoot) {
1921
- entry = entry.replace(sourceRoot, "");
1922
- }
1923
- return {
1924
- import: {
1925
- types: `./dist/${entry}.d.${type === "module" ? "ts" : "mts"}`,
1926
- default: `./dist/${entry}.${type === "module" ? "js" : "mjs"}`
1927
- },
1928
- require: {
1929
- types: `./dist/${entry}.d.${type === "commonjs" ? "ts" : "cts"}`,
1930
- default: `./dist/${entry}.${type === "commonjs" ? "js" : "cjs"}`
1931
- },
1932
- default: {
1933
- types: `./dist/${entry}.d.ts`,
1934
- default: `./dist/${entry}.js`
1935
- }
1936
- };
1937
- }, "addPackageJsonExport");
1938
1990
 
1939
1991
  // ../build-tools/src/utilities/get-entry-points.ts
1940
1992
  import { glob as glob2 } from "glob";
1941
1993
  var getEntryPoints = /* @__PURE__ */ __name(async (config, projectRoot, sourceRoot, entry, emitOnAll = false) => {
1942
- const workspaceRoot3 = config.workspaceRoot ? config.workspaceRoot : findWorkspaceRoot();
1994
+ const workspaceRoot3 = config.workspaceRoot || findWorkspaceRoot();
1943
1995
  const entryPoints = [];
1944
1996
  if (entry) {
1945
- if (Array.isArray(entry)) {
1946
- entryPoints.push(...entry);
1947
- } else if (typeof entry === "string") {
1997
+ if (typeof entry === "string") {
1948
1998
  entryPoints.push(entry);
1999
+ } else if (Array.isArray(entry)) {
2000
+ entryPoints.push(...entry);
1949
2001
  } else {
1950
2002
  entryPoints.push(...Object.values(entry));
1951
2003
  }
@@ -1953,27 +2005,38 @@ var getEntryPoints = /* @__PURE__ */ __name(async (config, projectRoot, sourceRo
1953
2005
  if (emitOnAll) {
1954
2006
  entryPoints.push(joinPaths(workspaceRoot3, sourceRoot || projectRoot, "**/*.{ts,tsx}"));
1955
2007
  }
1956
- const results = [];
1957
- for (const entryPoint in entryPoints) {
2008
+ const results = await Promise.all(entryPoints.map(async (entryPoint) => {
2009
+ const paths = [];
1958
2010
  if (entryPoint.includes("*")) {
1959
2011
  const files = await glob2(entryPoint, {
1960
- withFileTypes: true
2012
+ withFileTypes: true,
2013
+ ignore: [
2014
+ "**/node_modules/**"
2015
+ ]
1961
2016
  });
1962
- results.push(...files.reduce((ret, filePath) => {
2017
+ paths.push(...files.reduce((ret, filePath) => {
1963
2018
  const result = correctPaths(joinPaths(filePath.path, filePath.name).replaceAll(correctPaths(workspaceRoot3), "").replaceAll(correctPaths(projectRoot), ""));
1964
2019
  if (result) {
1965
2020
  writeDebug(`Trying to add entry point ${result} at "${joinPaths(filePath.path, filePath.name)}"`, config);
1966
- if (!results.includes(result)) {
1967
- results.push(result);
2021
+ if (!paths.includes(result)) {
2022
+ paths.push(result);
1968
2023
  }
1969
2024
  }
1970
2025
  return ret;
1971
2026
  }, []));
1972
2027
  } else {
1973
- results.push(entryPoint);
2028
+ paths.push(entryPoint);
1974
2029
  }
1975
- }
1976
- return results;
2030
+ return paths;
2031
+ }));
2032
+ return results.filter(Boolean).reduce((ret, result) => {
2033
+ result.forEach((res) => {
2034
+ if (res && !ret.includes(res)) {
2035
+ ret.push(res);
2036
+ }
2037
+ });
2038
+ return ret;
2039
+ }, []);
1977
2040
  }, "getEntryPoints");
1978
2041
 
1979
2042
  // ../build-tools/src/utilities/get-env.ts
@@ -1982,7 +2045,7 @@ var getEnv = /* @__PURE__ */ __name((builder, options) => {
1982
2045
  STORM_BUILD: builder,
1983
2046
  STORM_ORG: options.orgName || DEFAULT_ORGANIZATION,
1984
2047
  STORM_NAME: options.name,
1985
- STORM_ENV: options.envName || DEFAULT_ENVIRONMENT,
2048
+ STORM_MODE: options.mode || DEFAULT_ENVIRONMENT,
1986
2049
  STORM_PLATFORM: options.platform,
1987
2050
  STORM_FORMAT: JSON.stringify(options.format),
1988
2051
  STORM_TARGET: JSON.stringify(options.target),
@@ -1990,28 +2053,6 @@ var getEnv = /* @__PURE__ */ __name((builder, options) => {
1990
2053
  };
1991
2054
  }, "getEnv");
1992
2055
 
1993
- // ../build-tools/src/utilities/get-out-extension.ts
1994
- function getOutExtension(format2, pkgType) {
1995
- let jsExtension = ".js";
1996
- let dtsExtension = ".d.ts";
1997
- if (pkgType === "module" && format2 === "cjs") {
1998
- jsExtension = ".cjs";
1999
- dtsExtension = ".d.cts";
2000
- }
2001
- if (pkgType !== "module" && format2 === "esm") {
2002
- jsExtension = ".mjs";
2003
- dtsExtension = ".d.mts";
2004
- }
2005
- if (format2 === "iife") {
2006
- jsExtension = ".global.js";
2007
- }
2008
- return {
2009
- js: jsExtension,
2010
- dts: dtsExtension
2011
- };
2012
- }
2013
- __name(getOutExtension, "getOutExtension");
2014
-
2015
2056
  // ../build-tools/src/utilities/read-nx-config.ts
2016
2057
  import { existsSync as existsSync4 } from "node:fs";
2017
2058
  import { readFile as readFile4 } from "node:fs/promises";
@@ -2185,8 +2226,8 @@ __name(cleanDirectories, "cleanDirectories");
2185
2226
  import * as esbuild from "esbuild";
2186
2227
  var esmSplitCodeToCjsPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2187
2228
  name: "storm:esm-split-code-to-cjs",
2188
- setup(build5) {
2189
- build5.onEnd(async (result) => {
2229
+ setup(build4) {
2230
+ build4.onEnd(async (result) => {
2190
2231
  const outFiles = Object.keys(result.metafile?.outputs ?? {});
2191
2232
  const jsFiles = outFiles.filter((f) => f.endsWith("js"));
2192
2233
  await esbuild.build({
@@ -2204,15 +2245,15 @@ var esmSplitCodeToCjsPlugin = /* @__PURE__ */ __name((options, resolvedOptions)
2204
2245
  // ../esbuild/src/plugins/fix-imports.ts
2205
2246
  var fixImportsPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2206
2247
  name: "storm:fix-imports",
2207
- setup(build5) {
2208
- build5.onResolve({
2248
+ setup(build4) {
2249
+ build4.onResolve({
2209
2250
  filter: /^spdx-exceptions/
2210
2251
  }, () => {
2211
2252
  return {
2212
2253
  path: __require.resolve("spdx-exceptions")
2213
2254
  };
2214
2255
  });
2215
- build5.onResolve({
2256
+ build4.onResolve({
2216
2257
  filter: /^spdx-license-ids/
2217
2258
  }, () => {
2218
2259
  return {
@@ -2227,8 +2268,8 @@ import { dirname } from "node:path";
2227
2268
  var nativeNodeModulesPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => {
2228
2269
  return {
2229
2270
  name: "native-node-modules",
2230
- setup(build5) {
2231
- build5.onResolve({
2271
+ setup(build4) {
2272
+ build4.onResolve({
2232
2273
  filter: /\.node$/,
2233
2274
  namespace: "file"
2234
2275
  }, (args) => {
@@ -2247,7 +2288,7 @@ var nativeNodeModulesPlugin = /* @__PURE__ */ __name((options, resolvedOptions)
2247
2288
  path: resolvedId
2248
2289
  };
2249
2290
  });
2250
- build5.onLoad({
2291
+ build4.onLoad({
2251
2292
  filter: /.*/,
2252
2293
  namespace: "node-file"
2253
2294
  }, (args) => {
@@ -2260,14 +2301,14 @@ var nativeNodeModulesPlugin = /* @__PURE__ */ __name((options, resolvedOptions)
2260
2301
  resolveDir: dirname(args.path)
2261
2302
  };
2262
2303
  });
2263
- build5.onResolve({
2304
+ build4.onResolve({
2264
2305
  filter: /\.node$/,
2265
2306
  namespace: "node-file"
2266
2307
  }, (args) => ({
2267
2308
  path: args.path,
2268
2309
  namespace: "file"
2269
2310
  }));
2270
- const opts = build5.initialOptions;
2311
+ const opts = build4.initialOptions;
2271
2312
  opts.loader = opts.loader || {};
2272
2313
  opts.loader[".node"] = "file";
2273
2314
  }
@@ -2293,8 +2334,8 @@ var nodeProtocolPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => {
2293
2334
  // ../esbuild/src/plugins/on-error.ts
2294
2335
  var onErrorPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2295
2336
  name: "storm:on-error",
2296
- setup(build5) {
2297
- build5.onEnd((result) => {
2337
+ setup(build4) {
2338
+ build4.onEnd((result) => {
2298
2339
  if (result.errors.length > 0 && process.env.WATCH !== "true") {
2299
2340
  writeError(`The following errors occurred during the build:
2300
2341
  ${result.errors.map((error) => error.text).join("\n")}
@@ -2330,14 +2371,14 @@ function resolvePathsConfig(options, cwd) {
2330
2371
  __name(resolvePathsConfig, "resolvePathsConfig");
2331
2372
  var resolvePathsPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2332
2373
  name: "storm:resolve-paths",
2333
- setup(build5) {
2334
- const parentTsConfig = build5.initialOptions.tsconfig ? __require(joinPaths(resolvedOptions.config.workspaceRoot, build5.initialOptions.tsconfig)) : __require(joinPaths(resolvedOptions.config.workspaceRoot, "tsconfig.json"));
2374
+ setup(build4) {
2375
+ const parentTsConfig = build4.initialOptions.tsconfig ? __require(joinPaths(resolvedOptions.config.workspaceRoot, build4.initialOptions.tsconfig)) : __require(joinPaths(resolvedOptions.config.workspaceRoot, "tsconfig.json"));
2335
2376
  const resolvedTsPaths = resolvePathsConfig(parentTsConfig, options.projectRoot);
2336
2377
  const packagesRegex = new RegExp(`^(${Object.keys(resolvedTsPaths).join("|")})$`);
2337
- build5.onResolve({
2378
+ build4.onResolve({
2338
2379
  filter: packagesRegex
2339
2380
  }, (args) => {
2340
- if (build5.initialOptions.external?.includes(args.path)) {
2381
+ if (build4.initialOptions.external?.includes(args.path)) {
2341
2382
  return {
2342
2383
  path: args.path,
2343
2384
  external: true
@@ -2385,6 +2426,7 @@ function bundleTypeDefinitions(filename, outfile, externals, options) {
2385
2426
  overrideTsconfig: {
2386
2427
  compilerOptions: {
2387
2428
  paths: {}
2429
+ // bug with api extract + paths
2388
2430
  }
2389
2431
  }
2390
2432
  },
@@ -2411,11 +2453,11 @@ function bundleTypeDefinitions(filename, outfile, externals, options) {
2411
2453
  __name(bundleTypeDefinitions, "bundleTypeDefinitions");
2412
2454
  var tscPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2413
2455
  name: "storm:tsc",
2414
- setup(build5) {
2456
+ setup(build4) {
2415
2457
  if (options.emitTypes === false) {
2416
2458
  return;
2417
2459
  }
2418
- build5.onStart(async () => {
2460
+ build4.onStart(async () => {
2419
2461
  if (process.env.WATCH !== "true" && process.env.DEV !== "true") {
2420
2462
  await run(resolvedOptions.config, `pnpm exec tsc --project ${resolvedOptions.tsconfig}`, resolvedOptions.config.workspaceRoot);
2421
2463
  }
@@ -2430,7 +2472,7 @@ var tscPlugin = /* @__PURE__ */ __name((options, resolvedOptions) => ({
2430
2472
  } else if (existsSync5(joinPaths(resolvedOptions.config.workspaceRoot, typeOutDir, `${entryPoint.replace(/^src\//, "")}.d.ts`))) {
2431
2473
  dtsPath = joinPaths(resolvedOptions.config.workspaceRoot, typeOutDir, `${entryPoint.replace(/^src\//, "")}.d.ts`);
2432
2474
  }
2433
- const ext = resolvedOptions.outExtension.dts || resolvedOptions.format === "esm" ? "d.mts" : "d.ts";
2475
+ const ext = resolvedOptions.format === "esm" ? "d.mts" : "d.ts";
2434
2476
  if (process.env.WATCH !== "true" && process.env.DEV !== "true") {
2435
2477
  bundleTypeDefinitions(dtsPath, bundlePath, resolvedOptions.external ?? [], resolvedOptions);
2436
2478
  const dtsContents = await fs3.readFile(`${bundlePath}.d.ts`, "utf8");
@@ -2452,9 +2494,6 @@ function getTypeDependencyPackageName(npmPackage) {
2452
2494
  __name(getTypeDependencyPackageName, "getTypeDependencyPackageName");
2453
2495
 
2454
2496
  // ../esbuild/src/config.ts
2455
- var getOutputExtensionMap = /* @__PURE__ */ __name((options, pkgType) => {
2456
- return options.outExtension ? options.outExtension(options.format, pkgType) : getOutExtension(options.format, pkgType);
2457
- }, "getOutputExtensionMap");
2458
2497
  var getDefaultBuildPlugins = /* @__PURE__ */ __name((options, resolvedOptions) => [
2459
2498
  nodeProtocolPlugin(options, resolvedOptions),
2460
2499
  resolvePathsPlugin(options, resolvedOptions),
@@ -2471,7 +2510,7 @@ var DEFAULT_BUILD_OPTIONS = {
2471
2510
  external: [],
2472
2511
  logLevel: "error",
2473
2512
  tsconfig: "tsconfig.json",
2474
- envName: "production",
2513
+ mode: "production",
2475
2514
  keepNames: true,
2476
2515
  metafile: true,
2477
2516
  injectShims: true,
@@ -2480,6 +2519,18 @@ var DEFAULT_BUILD_OPTIONS = {
2480
2519
  bundle: true,
2481
2520
  clean: true,
2482
2521
  debug: false,
2522
+ resolveExtensions: [
2523
+ ".tsx",
2524
+ ".ts",
2525
+ ".cts",
2526
+ ".mts",
2527
+ ".jsx",
2528
+ ".js",
2529
+ ".cjs",
2530
+ ".mjs",
2531
+ ".css",
2532
+ ".json"
2533
+ ],
2483
2534
  loader: {
2484
2535
  ".aac": "file",
2485
2536
  ".css": "file",
@@ -2538,7 +2589,7 @@ var missingIgnore = [
2538
2589
  ];
2539
2590
  var depsCheckPlugin = /* @__PURE__ */ __name((bundle) => ({
2540
2591
  name: "storm:deps-check",
2541
- setup(build5) {
2592
+ setup(build4) {
2542
2593
  const pkgJsonPath = path5.join(process.cwd(), "package.json");
2543
2594
  const pkgContents = __require(pkgJsonPath);
2544
2595
  const regDependencies = Object.keys(pkgContents["dependencies"] ?? {});
@@ -2550,7 +2601,7 @@ var depsCheckPlugin = /* @__PURE__ */ __name((bundle) => ({
2550
2601
  ];
2551
2602
  const collectedDependencies = /* @__PURE__ */ new Set();
2552
2603
  const onlyPackages = /^[^./](?!:)|^\.[^./]|^\.\.[^/]/;
2553
- build5.onResolve({
2604
+ build4.onResolve({
2554
2605
  filter: onlyPackages
2555
2606
  }, (args) => {
2556
2607
  if (args.importer.includes(process.cwd())) {
@@ -2566,7 +2617,7 @@ var depsCheckPlugin = /* @__PURE__ */ __name((bundle) => ({
2566
2617
  external: true
2567
2618
  };
2568
2619
  });
2569
- build5.onEnd(() => {
2620
+ build4.onEnd(() => {
2570
2621
  const unusedDependencies = [
2571
2622
  ...dependencies
2572
2623
  ].filter((dep) => {
@@ -2702,9 +2753,6 @@ var resolveOptions = /* @__PURE__ */ __name(async (userOptions) => {
2702
2753
  if (!existsSync6(packageJsonPath)) {
2703
2754
  throw new Error("Cannot find package.json configuration");
2704
2755
  }
2705
- const packageJsonFile = await hf.readFile(packageJsonPath, "utf8");
2706
- const packageJson = JSON.parse(packageJsonFile);
2707
- const outExtension = getOutputExtensionMap(options, packageJson.type);
2708
2756
  const env = getEnv("esbuild", options);
2709
2757
  const result = {
2710
2758
  ...options,
@@ -2717,18 +2765,12 @@ var resolveOptions = /* @__PURE__ */ __name(async (userOptions) => {
2717
2765
  "module",
2718
2766
  "main"
2719
2767
  ],
2720
- resolveExtensions: [
2721
- ".ts",
2722
- ".js",
2723
- ".node"
2724
- ],
2725
2768
  ...userOptions,
2726
2769
  tsconfig: joinPaths(projectRoot, userOptions.tsconfig ? userOptions.tsconfig.replace(projectRoot, "") : "tsconfig.json"),
2727
2770
  format: options.format || "cjs",
2728
- entryPoints: await getEntryPoints(config, projectRoot, projectJson.sourceRoot, userOptions.entry || [
2729
- "./src/index.ts"
2730
- ], userOptions.emitOnAll),
2771
+ entryPoints: await getEntryPoints(config, projectRoot, projectJson.sourceRoot, userOptions.entry ?? "./src/index.ts", userOptions.emitOnAll === true),
2731
2772
  outdir: userOptions.outputPath || joinPaths("dist", projectRoot),
2773
+ distDir: userOptions.distDir || "dist",
2732
2774
  plugins: [],
2733
2775
  name: userOptions.name || projectName,
2734
2776
  projectConfigurations,
@@ -2747,7 +2789,6 @@ var resolveOptions = /* @__PURE__ */ __name(async (userOptions) => {
2747
2789
  bundle: userOptions.bundle !== false,
2748
2790
  keepNames: true,
2749
2791
  watch: userOptions.watch === true,
2750
- outExtension,
2751
2792
  footer: userOptions.footer,
2752
2793
  banner: {
2753
2794
  js: options.banner || DEFAULT_COMPILED_BANNER,
@@ -2764,20 +2805,26 @@ var resolveOptions = /* @__PURE__ */ __name(async (userOptions) => {
2764
2805
  ...options.define,
2765
2806
  ...Object.keys(env || {}).reduce((res, key) => {
2766
2807
  const value = JSON.stringify(env[key]);
2808
+ const safeKey = key.replaceAll("(", "").replaceAll(")", "");
2767
2809
  return {
2768
2810
  ...res,
2769
- [`process.env.${key}`]: value,
2770
- [`import.meta.env.${key}`]: value
2811
+ [`process.env.${safeKey}`]: value,
2812
+ [`import.meta.env.${safeKey}`]: value
2771
2813
  };
2772
2814
  }, {})
2773
2815
  },
2774
2816
  inject: [
2775
2817
  options.format === "cjs" && options.injectShims ? joinPaths(__dirname, "../assets/cjs_shims.js") : "",
2776
- options.format === "esm" && options.injectShims && options.platform === "node" ? joinPaths(__dirname, "../assets/esm_shims.js") : "",
2777
- ...options.inject ?? []
2778
- ].filter(Boolean)
2818
+ options.format === "esm" && options.injectShims && options.platform === "node" ? joinPaths(__dirname, "../assets/esm_shims.js") : ""
2819
+ ]
2779
2820
  };
2780
2821
  result.plugins = userOptions.plugins ?? getDefaultBuildPlugins(userOptions, result);
2822
+ if (options.inject) {
2823
+ options.inject = defu4(result.inject, options.inject);
2824
+ }
2825
+ options.inject?.filter(Boolean);
2826
+ delete result.entry;
2827
+ delete result.outputPath;
2781
2828
  stopwatch();
2782
2829
  return result;
2783
2830
  }, "resolveOptions");
@@ -2798,7 +2845,7 @@ async function generatePackageJson(context2) {
2798
2845
  packageJson = await addWorkspacePackageJsonFields(context2.options.config, context2.options.projectRoot, context2.options.sourceRoot, context2.options.projectName, false, packageJson);
2799
2846
  packageJson.exports ??= {};
2800
2847
  packageJson.exports["./package.json"] ??= "./package.json";
2801
- packageJson.exports["."] ??= addPackageJsonExport("index", packageJson.type, context2.options.sourceRoot);
2848
+ packageJson.exports["."] ??= `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.js`;
2802
2849
  let entryPoints = [
2803
2850
  {
2804
2851
  in: "./src/index.ts",
@@ -2816,12 +2863,15 @@ async function generatePackageJson(context2) {
2816
2863
  const split = entryPoint.out.split(".");
2817
2864
  split.pop();
2818
2865
  const entry = split.join(".").replaceAll("\\", "/");
2819
- packageJson.exports[`./${entry}`] ??= addPackageJsonExport(entry, packageJson.type, context2.options.sourceRoot);
2866
+ packageJson.exports[`./${entry}`] ??= `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/${entry}.js`;
2820
2867
  }
2821
2868
  }
2822
- packageJson.main = packageJson.type === "commonjs" ? "./dist/index.js" : "./dist/index.cjs";
2823
- packageJson.module = packageJson.type === "module" ? "./dist/index.js" : "./dist/index.mjs";
2824
- packageJson.types = "./dist/index.d.ts";
2869
+ if (context2.options.format === "esm") {
2870
+ packageJson.module = packageJson.type === "module" ? `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.js` : `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.mjs`;
2871
+ } else {
2872
+ packageJson.main = packageJson.type === "commonjs" ? `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.js` : `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.cjs`;
2873
+ }
2874
+ packageJson.types = `.${context2.options.distDir ? `/${context2.options.distDir}` : ""}/index.d.ts`;
2825
2875
  packageJson.exports = Object.keys(packageJson.exports).reduce((ret, key) => {
2826
2876
  if (key.endsWith("/index") && !ret[key.replace("/index", "")]) {
2827
2877
  ret[key.replace("/index", "")] = packageJson.exports[key];
@@ -2856,11 +2906,39 @@ __name(generateContext, "generateContext");
2856
2906
  async function executeEsBuild(context2) {
2857
2907
  writeDebug(` \u{1F680} Running ${context2.options.name} build`, context2.options.config);
2858
2908
  const stopwatch = getStopwatch(`${context2.options.name} build`);
2859
- if (process.env.WATCH === "true") {
2909
+ if (process.env.STORM_WATCH) {
2860
2910
  const ctx = await esbuild2.context(context2.options);
2861
2911
  watch(ctx, context2.options);
2862
2912
  }
2863
- const result = await esbuild2.build(context2.options);
2913
+ const options = {
2914
+ ...context2.options
2915
+ };
2916
+ options.outdir = joinPaths(context2.options.outdir, context2.options.distDir);
2917
+ delete options.env;
2918
+ delete options.name;
2919
+ delete options.assets;
2920
+ delete options.mode;
2921
+ delete options.orgName;
2922
+ delete options.watch;
2923
+ delete options.clean;
2924
+ delete options.debug;
2925
+ delete options.generatePackageJson;
2926
+ delete options.emitOnAll;
2927
+ delete options.distDir;
2928
+ delete options.includeSrc;
2929
+ delete options.verbose;
2930
+ delete options.projectRoot;
2931
+ delete options.projectName;
2932
+ delete options.projectGraph;
2933
+ delete options.projectConfigurations;
2934
+ delete options.renderers;
2935
+ delete options.config;
2936
+ delete options.injectShims;
2937
+ delete options.external;
2938
+ writeTrace(`Run esbuild (${context2.options.name}) with the following options:
2939
+ ${formatLogMessage(options)}`, context2.options.config);
2940
+ const result = await esbuild2.build(options);
2941
+ await esbuild2.stop();
2864
2942
  if (result.metafile) {
2865
2943
  const metafilePath = `${context2.options.outdir}/${context2.options.name}.meta.json`;
2866
2944
  await hf.writeFile(metafilePath, JSON.stringify(result.metafile));
@@ -2942,7 +3020,7 @@ async function build3(options) {
2942
3020
  await transduce.async(await createOptions(opts), pipe.async(generateContext, cleanOutputPath, generatePackageJson, executeEsBuild, copyBuildAssets, reportResults));
2943
3021
  writeSuccess(" \u{1F3C1} ESBuild pipeline build completed successfully");
2944
3022
  } catch (error) {
2945
- writeFatal(" \u274C Fatal errors occurred during the build that could not be recovered from. The build process has been terminated.");
3023
+ writeFatal("Fatal errors that the build process could not recover from have occured. The build process has been terminated.");
2946
3024
  throw error;
2947
3025
  } finally {
2948
3026
  stopwatch();
@@ -3013,7 +3091,7 @@ var executor_default6 = withRunExecutor("Storm ESBuild build", esbuildExecutorFn
3013
3091
 
3014
3092
  // ../workspace-tools/src/executors/npm-publish/executor.ts
3015
3093
  import { execSync as execSync4 } from "node:child_process";
3016
- import fs4 from "node:fs/promises";
3094
+ import { readFile as readFile6 } from "node:fs/promises";
3017
3095
 
3018
3096
  // ../workspace-tools/src/utils/pnpm-deps-update.ts
3019
3097
  import { existsSync as existsSync7 } from "node:fs";
@@ -3058,281 +3136,6 @@ var executor_default7 = withRunExecutor("Size-Limit Performance Test Executor",
3058
3136
  }
3059
3137
  });
3060
3138
 
3061
- // ../tsdown/src/build.ts
3062
- import { createProjectGraphAsync as createProjectGraphAsync2, readProjectsConfigurationFromProjectGraph as readProjectsConfigurationFromProjectGraph3, writeJsonFile as writeJsonFile2 } from "@nx/devkit";
3063
- import defu5 from "defu";
3064
- import { existsSync as existsSync8 } from "node:fs";
3065
- import hf2 from "node:fs/promises";
3066
- import { findWorkspaceRoot as findWorkspaceRoot3 } from "nx/src/utils/find-workspace-root";
3067
- import { build as tsdown } from "tsdown";
3068
-
3069
- // ../tsdown/src/clean.ts
3070
- import { rm as rm2 } from "node:fs/promises";
3071
- async function cleanDirectories2(name = "TSDown", directory, config) {
3072
- await rm2(directory, {
3073
- recursive: true,
3074
- force: true
3075
- });
3076
- }
3077
- __name(cleanDirectories2, "cleanDirectories");
3078
-
3079
- // ../tsdown/src/config.ts
3080
- var DEFAULT_BUILD_OPTIONS2 = {
3081
- platform: "node",
3082
- target: "node22",
3083
- format: [
3084
- "esm",
3085
- "cjs"
3086
- ],
3087
- tsconfig: "tsconfig.json",
3088
- envName: "production",
3089
- globalName: "globalThis",
3090
- unused: {
3091
- level: "error"
3092
- },
3093
- injectShims: true,
3094
- watch: false,
3095
- bundle: true,
3096
- treeshake: true,
3097
- clean: true,
3098
- debug: false
3099
- };
3100
-
3101
- // ../tsdown/src/build.ts
3102
- var resolveOptions2 = /* @__PURE__ */ __name(async (userOptions) => {
3103
- const projectRoot = userOptions.projectRoot;
3104
- const workspaceRoot3 = findWorkspaceRoot3(projectRoot);
3105
- if (!workspaceRoot3) {
3106
- throw new Error("Cannot find Nx workspace root");
3107
- }
3108
- const config = await getConfig(workspaceRoot3.dir);
3109
- writeDebug(" \u2699\uFE0F Resolving build options", config);
3110
- const stopwatch = getStopwatch("Build options resolution");
3111
- const projectGraph = await createProjectGraphAsync2({
3112
- exitOnError: true
3113
- });
3114
- const projectJsonPath = joinPaths(workspaceRoot3.dir, projectRoot, "project.json");
3115
- if (!existsSync8(projectJsonPath)) {
3116
- throw new Error("Cannot find project.json configuration");
3117
- }
3118
- const projectJsonFile = await hf2.readFile(projectJsonPath, "utf8");
3119
- const projectJson = JSON.parse(projectJsonFile);
3120
- const projectName = projectJson.name;
3121
- const projectConfigurations = readProjectsConfigurationFromProjectGraph3(projectGraph);
3122
- if (!projectConfigurations?.projects?.[projectName]) {
3123
- throw new Error("The Build process failed because the project does not have a valid configuration in the project.json file. Check if the file exists in the root of the project.");
3124
- }
3125
- const options = defu5(userOptions, DEFAULT_BUILD_OPTIONS2);
3126
- options.name ??= `${projectName}-${options.format}`;
3127
- options.target ??= DEFAULT_TARGET;
3128
- const packageJsonPath = joinPaths(workspaceRoot3.dir, options.projectRoot, "package.json");
3129
- if (!existsSync8(packageJsonPath)) {
3130
- throw new Error("Cannot find package.json configuration");
3131
- }
3132
- const env = getEnv("tsdown", options);
3133
- const result = {
3134
- ...options,
3135
- config,
3136
- ...userOptions,
3137
- tsconfig: joinPaths(projectRoot, userOptions.tsconfig ? userOptions.tsconfig.replace(projectRoot, "") : "tsconfig.json"),
3138
- format: options.format || "cjs",
3139
- entryPoints: await getEntryPoints(config, projectRoot, projectJson.sourceRoot, userOptions.entry || [
3140
- "./src/index.ts"
3141
- ], userOptions.emitOnAll),
3142
- outdir: userOptions.outputPath || joinPaths("dist", projectRoot),
3143
- plugins: [],
3144
- name: userOptions.name || projectName,
3145
- projectConfigurations,
3146
- projectName,
3147
- projectGraph,
3148
- sourceRoot: userOptions.sourceRoot || projectJson.sourceRoot || joinPaths(projectRoot, "src"),
3149
- minify: userOptions.minify || !userOptions.debug,
3150
- verbose: userOptions.verbose || isVerbose() || userOptions.debug === true,
3151
- includeSrc: userOptions.includeSrc === true,
3152
- metafile: userOptions.metafile !== false,
3153
- generatePackageJson: userOptions.generatePackageJson !== false,
3154
- clean: userOptions.clean !== false,
3155
- emitOnAll: userOptions.emitOnAll === true,
3156
- dts: userOptions.emitTypes === true ? {
3157
- transformer: "oxc"
3158
- } : userOptions.emitTypes,
3159
- bundleDts: userOptions.emitTypes,
3160
- assets: userOptions.assets ?? [],
3161
- shims: userOptions.injectShims !== true,
3162
- bundle: userOptions.bundle !== false,
3163
- watch: userOptions.watch === true,
3164
- define: {
3165
- STORM_FORMAT: JSON.stringify(options.format || "cjs"),
3166
- ...options.format === "cjs" && options.injectShims ? {
3167
- "import.meta.url": "importMetaUrl"
3168
- } : {},
3169
- ...Object.keys(env || {}).reduce((res, key) => {
3170
- const value = JSON.stringify(env[key]);
3171
- return {
3172
- ...res,
3173
- [`process.env.${key}`]: value,
3174
- [`import.meta.env.${key}`]: value
3175
- };
3176
- }, {}),
3177
- ...options.define
3178
- }
3179
- };
3180
- stopwatch();
3181
- return result;
3182
- }, "resolveOptions");
3183
- async function generatePackageJson2(options) {
3184
- if (options.generatePackageJson !== false && existsSync8(joinPaths(options.projectRoot, "package.json"))) {
3185
- writeDebug(" \u270D\uFE0F Writing package.json file", options.config);
3186
- const stopwatch = getStopwatch("Write package.json file");
3187
- const packageJsonPath = joinPaths(options.projectRoot, "project.json");
3188
- if (!existsSync8(packageJsonPath)) {
3189
- throw new Error("Cannot find package.json configuration");
3190
- }
3191
- const packageJsonFile = await hf2.readFile(joinPaths(options.config.workspaceRoot, options.projectRoot, "package.json"), "utf8");
3192
- if (!packageJsonFile) {
3193
- throw new Error("Cannot find package.json configuration file");
3194
- }
3195
- let packageJson = JSON.parse(packageJsonFile);
3196
- packageJson = await addPackageDependencies(options.config.workspaceRoot, options.projectRoot, options.projectName, packageJson);
3197
- packageJson = await addWorkspacePackageJsonFields(options.config, options.projectRoot, options.sourceRoot, options.projectName, false, packageJson);
3198
- packageJson.exports ??= {};
3199
- packageJson.exports["./package.json"] ??= "./package.json";
3200
- packageJson.exports["."] ??= addPackageJsonExport("index", packageJson.type, options.sourceRoot);
3201
- let entryPoints = [
3202
- {
3203
- in: "./src/index.ts",
3204
- out: "./src/index.ts"
3205
- }
3206
- ];
3207
- if (options.entryPoints) {
3208
- if (Array.isArray(options.entryPoints)) {
3209
- entryPoints = options.entryPoints.map((entryPoint) => typeof entryPoint === "string" ? {
3210
- in: entryPoint,
3211
- out: entryPoint
3212
- } : entryPoint);
3213
- }
3214
- for (const entryPoint of entryPoints) {
3215
- const split = entryPoint.out.split(".");
3216
- split.pop();
3217
- const entry = split.join(".").replaceAll("\\", "/");
3218
- packageJson.exports[`./${entry}`] ??= addPackageJsonExport(entry, packageJson.type, options.sourceRoot);
3219
- }
3220
- }
3221
- packageJson.main = packageJson.type === "commonjs" ? "./dist/index.js" : "./dist/index.cjs";
3222
- packageJson.module = packageJson.type === "module" ? "./dist/index.js" : "./dist/index.mjs";
3223
- packageJson.types = "./dist/index.d.ts";
3224
- packageJson.exports = Object.keys(packageJson.exports).reduce((ret, key) => {
3225
- if (key.endsWith("/index") && !ret[key.replace("/index", "")]) {
3226
- ret[key.replace("/index", "")] = packageJson.exports[key];
3227
- }
3228
- return ret;
3229
- }, packageJson.exports);
3230
- await writeJsonFile2(joinPaths(options.outdir, "package.json"), packageJson);
3231
- stopwatch();
3232
- }
3233
- return options;
3234
- }
3235
- __name(generatePackageJson2, "generatePackageJson");
3236
- async function executeTSDown(options) {
3237
- writeDebug(` \u{1F680} Running ${options.name} build`, options.config);
3238
- const stopwatch = getStopwatch(`${options.name} build`);
3239
- await tsdown({
3240
- ...options,
3241
- entry: options.entryPoints,
3242
- outDir: options.outdir,
3243
- config: false
3244
- });
3245
- stopwatch();
3246
- return options;
3247
- }
3248
- __name(executeTSDown, "executeTSDown");
3249
- async function copyBuildAssets2(options) {
3250
- writeDebug(` \u{1F4CB} Copying asset files to output directory: ${options.outdir}`, options.config);
3251
- const stopwatch = getStopwatch(`${options.name} asset copy`);
3252
- await copyAssets(options.config, options.assets ?? [], options.outdir, options.projectRoot, options.sourceRoot, true, false);
3253
- stopwatch();
3254
- return options;
3255
- }
3256
- __name(copyBuildAssets2, "copyBuildAssets");
3257
- async function reportResults2(options) {
3258
- writeSuccess(` \u{1F4E6} The ${options.name} build completed successfully`, options.config);
3259
- }
3260
- __name(reportResults2, "reportResults");
3261
- async function cleanOutputPath2(options) {
3262
- if (options.clean !== false && options.outdir) {
3263
- writeDebug(` \u{1F9F9} Cleaning ${options.name} output path: ${options.outdir}`, options.config);
3264
- const stopwatch = getStopwatch(`${options.name} output clean`);
3265
- await cleanDirectories2(options.name, options.outdir, options.config);
3266
- stopwatch();
3267
- }
3268
- return options;
3269
- }
3270
- __name(cleanOutputPath2, "cleanOutputPath");
3271
- async function build4(options) {
3272
- writeDebug(` \u26A1 Executing Storm TSDown pipeline`);
3273
- const stopwatch = getStopwatch("TSDown pipeline");
3274
- try {
3275
- const opts = Array.isArray(options) ? options : [
3276
- options
3277
- ];
3278
- if (opts.length === 0) {
3279
- throw new Error("No build options were provided");
3280
- }
3281
- const resolved = await Promise.all(opts.map(async (opt) => await resolveOptions2(opt)));
3282
- if (resolved.length > 0) {
3283
- await cleanOutputPath2(resolved[0]);
3284
- await generatePackageJson2(resolved[0]);
3285
- await Promise.all(resolved.map(async (opt) => {
3286
- await executeTSDown(opt);
3287
- await copyBuildAssets2(opt);
3288
- await reportResults2(opt);
3289
- }));
3290
- } else {
3291
- writeWarning(" \u{1F6A7} No options were passed to TSBuild. Please check the parameters passed to the `build` function.");
3292
- }
3293
- writeSuccess(" \u{1F3C1} TSDown pipeline build completed successfully");
3294
- } catch (error) {
3295
- writeFatal(" \u274C Fatal errors occurred during the build that could not be recovered from. The build process has been terminated.");
3296
- throw error;
3297
- } finally {
3298
- stopwatch();
3299
- }
3300
- }
3301
- __name(build4, "build");
3302
-
3303
- // ../workspace-tools/src/executors/tsdown/executor.ts
3304
- async function tsdownExecutorFn(options, context2, config) {
3305
- writeInfo("\u{1F4E6} Running Storm TSDown build executor on the workspace", config);
3306
- if (!context2.projectsConfigurations?.projects || !context2.projectName || !context2.projectsConfigurations.projects[context2.projectName] || !context2.projectsConfigurations.projects[context2.projectName]?.root) {
3307
- throw new Error("The Build process failed because the context is not valid. Please run this command from a workspace.");
3308
- }
3309
- await build4({
3310
- ...options,
3311
- projectRoot: context2.projectsConfigurations.projects?.[context2.projectName].root,
3312
- projectName: context2.projectName,
3313
- sourceRoot: context2.projectsConfigurations.projects?.[context2.projectName]?.sourceRoot,
3314
- format: options.format,
3315
- platform: options.platform
3316
- });
3317
- return {
3318
- success: true
3319
- };
3320
- }
3321
- __name(tsdownExecutorFn, "tsdownExecutorFn");
3322
- var executor_default8 = withRunExecutor("Storm TSDown build executor", tsdownExecutorFn, {
3323
- skipReadingConfig: false,
3324
- hooks: {
3325
- applyDefaultOptions: /* @__PURE__ */ __name(async (options, config) => {
3326
- options.entry ??= [
3327
- "src/index.ts"
3328
- ];
3329
- options.outputPath ??= "dist/{projectRoot}";
3330
- options.tsconfig ??= "{projectRoot}/tsconfig.json";
3331
- return options;
3332
- }, "applyDefaultOptions")
3333
- }
3334
- });
3335
-
3336
3139
  // ../workspace-tools/src/executors/typia/executor.ts
3337
3140
  import { removeSync } from "fs-extra";
3338
3141
  import { TypiaProgrammer } from "typia/lib/programmers/TypiaProgrammer.js";
@@ -3354,7 +3157,7 @@ async function typiaExecutorFn(options, _, config) {
3354
3157
  };
3355
3158
  }
3356
3159
  __name(typiaExecutorFn, "typiaExecutorFn");
3357
- var executor_default9 = withRunExecutor("Typia runtime validation generator", typiaExecutorFn, {
3160
+ var executor_default8 = withRunExecutor("Typia runtime validation generator", typiaExecutorFn, {
3358
3161
  skipReadingConfig: false,
3359
3162
  hooks: {
3360
3163
  applyDefaultOptions: /* @__PURE__ */ __name((options) => {
@@ -3370,7 +3173,7 @@ var executor_default9 = withRunExecutor("Typia runtime validation generator", ty
3370
3173
  });
3371
3174
 
3372
3175
  // ../workspace-tools/src/executors/unbuild/executor.ts
3373
- import { defu as defu6 } from "defu";
3176
+ import { defu as defu5 } from "defu";
3374
3177
  import { createJiti } from "jiti";
3375
3178
  async function unbuildExecutorFn(options, context2, config) {
3376
3179
  writeInfo("\u{1F4E6} Running Storm Unbuild executor on the workspace", config);
@@ -3388,7 +3191,7 @@ async function unbuildExecutorFn(options, context2, config) {
3388
3191
  interopDefault: true
3389
3192
  });
3390
3193
  const stormUnbuild = await jiti.import(jiti.esmResolve("@storm-software/unbuild/build"));
3391
- await stormUnbuild.build(defu6({
3194
+ await stormUnbuild.build(defu5({
3392
3195
  ...options,
3393
3196
  projectRoot: context2.projectsConfigurations.projects[context2.projectName].root,
3394
3197
  projectName: context2.projectName,
@@ -3421,7 +3224,7 @@ async function unbuildExecutorFn(options, context2, config) {
3421
3224
  };
3422
3225
  }
3423
3226
  __name(unbuildExecutorFn, "unbuildExecutorFn");
3424
- var executor_default10 = withRunExecutor("TypeScript Unbuild build", unbuildExecutorFn, {
3227
+ var executor_default9 = withRunExecutor("TypeScript Unbuild build", unbuildExecutorFn, {
3425
3228
  skipReadingConfig: false,
3426
3229
  hooks: {
3427
3230
  applyDefaultOptions: /* @__PURE__ */ __name(async (options, config) => {
@@ -4019,9 +3822,6 @@ async function presetGeneratorFn(tree, options) {
4019
3822
  "storm",
4020
3823
  "storm-stack",
4021
3824
  "storm-ops",
4022
- "acidic",
4023
- "acidic-engine",
4024
- "cyclone-ui",
4025
3825
  "rust",
4026
3826
  "nx",
4027
3827
  "graphql",
@@ -4062,10 +3862,10 @@ async function presetGeneratorFn(tree, options) {
4062
3862
  type: "github",
4063
3863
  url: `${options.repositoryUrl}.git`
4064
3864
  };
4065
- json.packageManager ??= "pnpm@9.15.2";
3865
+ json.packageManager ??= "pnpm@10.3.0";
4066
3866
  json.engines ??= {
4067
3867
  node: ">=20.11.0",
4068
- pnpm: ">=9.15.2"
3868
+ pnpm: ">=10.3.0"
4069
3869
  };
4070
3870
  json.prettier = "@storm-software/prettier/config.json";
4071
3871
  json.nx ??= {
@@ -4218,6 +4018,199 @@ import { resolveLocalPackageDependencies as resolveLocalPackageJsonDependencies
4218
4018
  import { updateLockFile } from "@nx/js/src/generators/release-version/utils/update-lock-file";
4219
4019
 
4220
4020
  // ../git-tools/src/types.ts
4021
+ var DEFAULT_COMMIT_TYPES = {
4022
+ /* --- Bumps version when selected --- */
4023
+ chore: {
4024
+ description: "Other changes that don't modify src or test files",
4025
+ title: "Chore",
4026
+ emoji: "\u2699\uFE0F ",
4027
+ semverBump: "patch",
4028
+ changelog: {
4029
+ title: "Miscellaneous",
4030
+ hidden: false
4031
+ }
4032
+ },
4033
+ fix: {
4034
+ description: "A change that resolves an issue previously identified with the package",
4035
+ title: "Bug Fix",
4036
+ emoji: "\u{1FAB2} ",
4037
+ semverBump: "patch",
4038
+ changelog: {
4039
+ title: "Bug Fixes",
4040
+ hidden: false
4041
+ }
4042
+ },
4043
+ feat: {
4044
+ description: "A change that adds a new feature to the package",
4045
+ title: "Feature",
4046
+ emoji: "\u{1F511} ",
4047
+ semverBump: "minor",
4048
+ changelog: {
4049
+ title: "Features",
4050
+ hidden: false
4051
+ }
4052
+ },
4053
+ ci: {
4054
+ description: "Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)",
4055
+ title: "Continuous Integration",
4056
+ emoji: "\u{1F9F0} ",
4057
+ semverBump: "patch",
4058
+ changelog: {
4059
+ title: "Continuous Integration",
4060
+ hidden: false
4061
+ }
4062
+ },
4063
+ refactor: {
4064
+ description: "A code change that neither fixes a bug nor adds a feature",
4065
+ title: "Code Refactoring",
4066
+ emoji: "\u{1F9EA} ",
4067
+ semverBump: "patch",
4068
+ changelog: {
4069
+ title: "Source Code Improvements",
4070
+ hidden: false
4071
+ }
4072
+ },
4073
+ style: {
4074
+ description: "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)",
4075
+ title: "Style Improvements",
4076
+ emoji: "\u{1F48E} ",
4077
+ semverBump: "patch",
4078
+ changelog: {
4079
+ title: "Style Improvements",
4080
+ hidden: false
4081
+ }
4082
+ },
4083
+ perf: {
4084
+ description: "A code change that improves performance",
4085
+ title: "Performance Improvement",
4086
+ emoji: "\u23F1\uFE0F ",
4087
+ semverBump: "patch",
4088
+ changelog: {
4089
+ title: "Performance Improvements",
4090
+ hidden: false
4091
+ }
4092
+ },
4093
+ /* --- Does not bump version when selected --- */
4094
+ docs: {
4095
+ description: "A change that only includes documentation updates",
4096
+ title: "Documentation",
4097
+ emoji: "\u{1F4DC} ",
4098
+ semverBump: "none",
4099
+ changelog: {
4100
+ title: "Documentation",
4101
+ hidden: false
4102
+ }
4103
+ },
4104
+ test: {
4105
+ description: "Adding missing tests or correcting existing tests",
4106
+ title: "Testing",
4107
+ emoji: "\u{1F6A8} ",
4108
+ semverBump: "none",
4109
+ changelog: {
4110
+ title: "Testing",
4111
+ hidden: true
4112
+ }
4113
+ },
4114
+ /* --- Not included in commitlint but included in changelog --- */
4115
+ deps: {
4116
+ description: "Changes that add, update, or remove dependencies. This includes devDependencies and peerDependencies",
4117
+ title: "Dependencies",
4118
+ emoji: "\u{1F4E6} ",
4119
+ hidden: true,
4120
+ semverBump: "patch",
4121
+ changelog: {
4122
+ title: "Dependency Upgrades",
4123
+ hidden: false
4124
+ }
4125
+ },
4126
+ /* --- Not included in commitlint or changelog --- */
4127
+ build: {
4128
+ description: "Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)",
4129
+ title: "Build",
4130
+ emoji: "\u{1F6E0} ",
4131
+ hidden: true,
4132
+ semverBump: "none",
4133
+ changelog: {
4134
+ title: "Build",
4135
+ hidden: true
4136
+ }
4137
+ },
4138
+ release: {
4139
+ description: "Publishing a commit containing a newly released version",
4140
+ title: "Publish Release",
4141
+ emoji: "\u{1F680} ",
4142
+ hidden: true,
4143
+ semverBump: "none",
4144
+ changelog: {
4145
+ title: "Publish Release",
4146
+ hidden: true
4147
+ }
4148
+ }
4149
+ };
4150
+ var DEFAULT_COMMIT_QUESTIONS = {
4151
+ type: {
4152
+ type: "select",
4153
+ title: "Commit Type",
4154
+ description: "Select the commit type that best describes your changes",
4155
+ enum: Object.keys(DEFAULT_COMMIT_TYPES).filter((type) => DEFAULT_COMMIT_TYPES[type].hidden !== true).reduce((ret, type) => {
4156
+ ret[type] = DEFAULT_COMMIT_TYPES[type];
4157
+ return ret;
4158
+ }, {}),
4159
+ defaultValue: "chore",
4160
+ maxLength: 20,
4161
+ minLength: 3
4162
+ },
4163
+ scope: {
4164
+ type: "select",
4165
+ title: "Commit Scope",
4166
+ description: "Select the monorepo project that is primarily impacted by this change",
4167
+ enum: {},
4168
+ defaultValue: "monorepo",
4169
+ maxLength: 50,
4170
+ minLength: 1
4171
+ },
4172
+ subject: {
4173
+ type: "input",
4174
+ title: "Commit Subject",
4175
+ description: "Write a short, imperative tense description of the change",
4176
+ maxLength: 150,
4177
+ minLength: 3
4178
+ },
4179
+ body: {
4180
+ type: "input",
4181
+ title: "Commit Body",
4182
+ description: "Provide a longer description of the change",
4183
+ maxLength: 600
4184
+ },
4185
+ isBreaking: {
4186
+ type: "confirm",
4187
+ title: "Breaking Changes",
4188
+ description: "Are there any breaking changes as a result of this commit?",
4189
+ defaultValue: false
4190
+ },
4191
+ breakingBody: {
4192
+ type: "input",
4193
+ title: "Breaking Changes (Details)",
4194
+ description: "A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself",
4195
+ when: /* @__PURE__ */ __name((answers) => answers.isBreaking === true, "when"),
4196
+ maxLength: 600,
4197
+ minLength: 3
4198
+ },
4199
+ isIssueAffected: {
4200
+ type: "confirm",
4201
+ title: "Open Issue Affected",
4202
+ description: "Does this change impact any open issues?",
4203
+ defaultValue: false
4204
+ },
4205
+ issuesBody: {
4206
+ type: "input",
4207
+ title: "Open Issue Affected (Details)",
4208
+ description: "If issues are closed, the commit requires a body. Please enter a longer description of the commit itself",
4209
+ when: /* @__PURE__ */ __name((answers) => answers.isIssueAffected === true, "when"),
4210
+ maxLength: 600,
4211
+ minLength: 3
4212
+ }
4213
+ };
4221
4214
  var RuleConfigSeverity;
4222
4215
  (function(RuleConfigSeverity2) {
4223
4216
  RuleConfigSeverity2[RuleConfigSeverity2["Disabled"] = 0] = "Disabled";
@@ -4225,9 +4218,6 @@ var RuleConfigSeverity;
4225
4218
  RuleConfigSeverity2[RuleConfigSeverity2["Error"] = 2] = "Error";
4226
4219
  })(RuleConfigSeverity || (RuleConfigSeverity = {}));
4227
4220
 
4228
- // ../git-tools/src/release/changelog-renderer.ts
4229
- import ChangelogRenderer from "nx/release/changelog-renderer/index";
4230
-
4231
4221
  // ../workspace-tools/src/generators/release-version/generator.ts
4232
4222
  import { exec as exec2, execSync as execSync5 } from "node:child_process";
4233
4223
  import { relative as relative3 } from "node:path";
@@ -4658,7 +4648,7 @@ import { retrieveProjectConfigurationsWithoutPluginInference } from "nx/src/proj
4658
4648
 
4659
4649
  // ../workspace-tools/src/utils/lock-file.ts
4660
4650
  import { output as output2, readJsonFile, workspaceRoot as workspaceRoot2 } from "@nx/devkit";
4661
- import { existsSync as existsSync9 } from "node:fs";
4651
+ import { existsSync as existsSync8 } from "node:fs";
4662
4652
  import { join as join4 } from "node:path";
4663
4653
  import { getNpmLockfileDependencies, getNpmLockfileNodes } from "nx/src/plugins/js/lock-file/npm-parser";
4664
4654
  import { getPnpmLockfileDependencies, getPnpmLockfileNodes } from "nx/src/plugins/js/lock-file/pnpm-parser";
@@ -4672,12 +4662,12 @@ var PNPM_LOCK_PATH = join4(workspaceRoot2, PNPM_LOCK_FILE);
4672
4662
 
4673
4663
  // ../workspace-tools/src/utils/package-helpers.ts
4674
4664
  import { joinPathFragments as joinPathFragments6, readJsonFile as readJsonFile2 } from "@nx/devkit";
4675
- import { existsSync as existsSync10 } from "node:fs";
4665
+ import { existsSync as existsSync9 } from "node:fs";
4676
4666
 
4677
4667
  // ../workspace-tools/src/utils/plugin-helpers.ts
4678
4668
  import { readJsonFile as readJsonFile3 } from "@nx/devkit";
4679
- import defu7 from "defu";
4680
- import { existsSync as existsSync11 } from "node:fs";
4669
+ import defu6 from "defu";
4670
+ import { existsSync as existsSync10 } from "node:fs";
4681
4671
  import { dirname as dirname2, join as join5 } from "node:path";
4682
4672
 
4683
4673
  // ../workspace-tools/src/utils/typia-transform.ts