@storm-software/projen 0.15.38 → 0.15.39

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,13 @@
2
2
 
3
3
  # Changelog for Storm Ops - Projen
4
4
 
5
+ ## [0.15.38](https://github.com/storm-software/storm-ops/releases/tag/projen%400.15.38) (2025-07-08)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **monorepo:** Update README markdown files
10
+ ([a201e9178](https://github.com/storm-software/storm-ops/commit/a201e9178))
11
+
5
12
  ## [0.15.37](https://github.com/storm-software/storm-ops/releases/tag/projen%400.15.37) (2025-07-06)
6
13
 
7
14
  ### 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-0.15.37-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.15.38-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 -->
@@ -1495,12 +1495,24 @@ var createStormWorkspaceConfig = async (extensionName, schema, workspaceRoot3, s
1495
1495
  }
1496
1496
  }
1497
1497
  const defaultConfig = await getPackageJsonConfig(_workspaceRoot);
1498
- result = applyDefaultConfig(
1499
- await stormWorkspaceConfigSchema.parseAsync(
1500
- defu2(configEnv, configFile, defaultConfig)
1501
- )
1502
- );
1503
- result.workspaceRoot ??= _workspaceRoot;
1498
+ const configInput = defu2(configEnv, configFile, defaultConfig);
1499
+ try {
1500
+ result = applyDefaultConfig(
1501
+ await stormWorkspaceConfigSchema.parseAsync(configInput)
1502
+ );
1503
+ result.workspaceRoot ??= _workspaceRoot;
1504
+ } catch (error) {
1505
+ throw new Error(
1506
+ `Failed to parse Storm Workspace configuration${error?.message ? `: ${error.message}` : ""}
1507
+
1508
+ Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${formatLogMessage(
1509
+ configInput
1510
+ )}`,
1511
+ {
1512
+ cause: error
1513
+ }
1514
+ );
1515
+ }
1504
1516
  } else {
1505
1517
  result = _static_cache.data;
1506
1518
  }
@@ -1494,12 +1494,24 @@ var createStormWorkspaceConfig = async (extensionName, schema, workspaceRoot3, s
1494
1494
  }
1495
1495
  }
1496
1496
  const defaultConfig = await getPackageJsonConfig(_workspaceRoot);
1497
- result = applyDefaultConfig(
1498
- await stormWorkspaceConfigSchema.parseAsync(
1499
- _defu2.default.call(void 0, configEnv, configFile, defaultConfig)
1500
- )
1501
- );
1502
- result.workspaceRoot ??= _workspaceRoot;
1497
+ const configInput = _defu2.default.call(void 0, configEnv, configFile, defaultConfig);
1498
+ try {
1499
+ result = applyDefaultConfig(
1500
+ await stormWorkspaceConfigSchema.parseAsync(configInput)
1501
+ );
1502
+ result.workspaceRoot ??= _workspaceRoot;
1503
+ } catch (error) {
1504
+ throw new Error(
1505
+ `Failed to parse Storm Workspace configuration${_optionalChain([error, 'optionalAccess', _63 => _63.message]) ? `: ${error.message}` : ""}
1506
+
1507
+ Please ensure your configuration file is valid JSON and matches the expected schema. The current workspace configuration input is: ${formatLogMessage(
1508
+ configInput
1509
+ )}`,
1510
+ {
1511
+ cause: error
1512
+ }
1513
+ );
1514
+ }
1503
1515
  } else {
1504
1516
  result = _static_cache.data;
1505
1517
  }
@@ -1566,7 +1578,7 @@ var withRunExecutor = (name, executorFn, executorOptions = {}) => async (_option
1566
1578
  let options = _options;
1567
1579
  let config = {};
1568
1580
  try {
1569
- if (!_optionalChain([context, 'access', _63 => _63.projectsConfigurations, 'optionalAccess', _64 => _64.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName]) {
1581
+ if (!_optionalChain([context, 'access', _64 => _64.projectsConfigurations, 'optionalAccess', _65 => _65.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName]) {
1570
1582
  throw new Error(
1571
1583
  "The Build process failed because the context is not valid. Please run this command from a workspace."
1572
1584
  );
@@ -1589,7 +1601,7 @@ var withRunExecutor = (name, executorFn, executorOptions = {}) => async (_option
1589
1601
  );
1590
1602
  config = await getConfig(workspaceRoot3);
1591
1603
  }
1592
- if (_optionalChain([executorOptions, 'optionalAccess', _65 => _65.hooks, 'optionalAccess', _66 => _66.applyDefaultOptions])) {
1604
+ if (_optionalChain([executorOptions, 'optionalAccess', _66 => _66.hooks, 'optionalAccess', _67 => _67.applyDefaultOptions])) {
1593
1605
  writeDebug("Running the applyDefaultOptions hook...", config);
1594
1606
  options = await Promise.resolve(
1595
1607
  executorOptions.hooks.applyDefaultOptions(options, config)
@@ -1617,7 +1629,7 @@ ${formatLogMessage(tokenized)}
1617
1629
  `,
1618
1630
  config
1619
1631
  );
1620
- if (_optionalChain([executorOptions, 'optionalAccess', _67 => _67.hooks, 'optionalAccess', _68 => _68.preProcess])) {
1632
+ if (_optionalChain([executorOptions, 'optionalAccess', _68 => _68.hooks, 'optionalAccess', _69 => _69.preProcess])) {
1621
1633
  writeDebug("Running the preProcess hook...", config);
1622
1634
  await Promise.resolve(
1623
1635
  executorOptions.hooks.preProcess(tokenized, config)
@@ -1625,7 +1637,7 @@ ${formatLogMessage(tokenized)}
1625
1637
  writeDebug("Completed the preProcess hook", config);
1626
1638
  }
1627
1639
  const ret = executorFn(tokenized, context, config);
1628
- if (_isFunction2(_optionalChain([ret, 'optionalAccess', _69 => _69.next]))) {
1640
+ if (_isFunction2(_optionalChain([ret, 'optionalAccess', _70 => _70.next]))) {
1629
1641
  const asyncGen = ret;
1630
1642
  for await (const iter of asyncGen) {
1631
1643
  void iter;
@@ -1634,7 +1646,7 @@ ${formatLogMessage(tokenized)}
1634
1646
  const result = await Promise.resolve(
1635
1647
  ret
1636
1648
  );
1637
- if (result && (!result.success || result.error && _optionalChain([result, 'optionalAccess', _70 => _70.error, 'optionalAccess', _71 => _71.message]) && typeof _optionalChain([result, 'optionalAccess', _72 => _72.error, 'optionalAccess', _73 => _73.message]) === "string" && _optionalChain([result, 'optionalAccess', _74 => _74.error, 'optionalAccess', _75 => _75.name]) && typeof _optionalChain([result, 'optionalAccess', _76 => _76.error, 'optionalAccess', _77 => _77.name]) === "string")) {
1649
+ if (result && (!result.success || result.error && _optionalChain([result, 'optionalAccess', _71 => _71.error, 'optionalAccess', _72 => _72.message]) && typeof _optionalChain([result, 'optionalAccess', _73 => _73.error, 'optionalAccess', _74 => _74.message]) === "string" && _optionalChain([result, 'optionalAccess', _75 => _75.error, 'optionalAccess', _76 => _76.name]) && typeof _optionalChain([result, 'optionalAccess', _77 => _77.error, 'optionalAccess', _78 => _78.name]) === "string")) {
1638
1650
  writeTrace(
1639
1651
  `Failure determined by the ${name} executor
1640
1652
  ${formatLogMessage(result)}`,
@@ -1642,10 +1654,10 @@ ${formatLogMessage(result)}`,
1642
1654
  );
1643
1655
  console.error(result);
1644
1656
  throw new Error(`The ${name} executor failed to run`, {
1645
- cause: _optionalChain([result, 'optionalAccess', _78 => _78.error])
1657
+ cause: _optionalChain([result, 'optionalAccess', _79 => _79.error])
1646
1658
  });
1647
1659
  }
1648
- if (_optionalChain([executorOptions, 'optionalAccess', _79 => _79.hooks, 'optionalAccess', _80 => _80.postProcess])) {
1660
+ if (_optionalChain([executorOptions, 'optionalAccess', _80 => _80.hooks, 'optionalAccess', _81 => _81.postProcess])) {
1649
1661
  writeDebug("Running the postProcess hook...", config);
1650
1662
  await Promise.resolve(executorOptions.hooks.postProcess(config));
1651
1663
  writeDebug("Completed the postProcess hook", config);
@@ -1675,7 +1687,7 @@ ${formatLogMessage(result)}`,
1675
1687
  };
1676
1688
  var _isFunction2 = (value) => {
1677
1689
  try {
1678
- return value instanceof Function || typeof value === "function" || !!(_optionalChain([value, 'optionalAccess', _81 => _81.constructor]) && _optionalChain([value, 'optionalAccess', _82 => _82.call]) && _optionalChain([value, 'optionalAccess', _83 => _83.apply]));
1690
+ return value instanceof Function || typeof value === "function" || !!(_optionalChain([value, 'optionalAccess', _82 => _82.constructor]) && _optionalChain([value, 'optionalAccess', _83 => _83.call]) && _optionalChain([value, 'optionalAccess', _84 => _84.apply]));
1679
1691
  } catch (e) {
1680
1692
  return false;
1681
1693
  }
@@ -1743,10 +1755,10 @@ async function cargoCommand(...args) {
1743
1755
  }
1744
1756
  function cargoCommandSync(args = "", options) {
1745
1757
  const normalizedOptions = {
1746
- stdio: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _84 => _84.stdio]), () => ( "inherit")),
1758
+ stdio: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _85 => _85.stdio]), () => ( "inherit")),
1747
1759
  env: {
1748
1760
  ...process.env,
1749
- ..._optionalChain([options, 'optionalAccess', _85 => _85.env])
1761
+ ..._optionalChain([options, 'optionalAccess', _86 => _86.env])
1750
1762
  }
1751
1763
  };
1752
1764
  try {
@@ -1779,7 +1791,7 @@ function cargoMetadata() {
1779
1791
  }
1780
1792
  function runProcess(processCmd, ...args) {
1781
1793
  const metadata = cargoMetadata();
1782
- const targetDir = _nullishCoalesce(_optionalChain([metadata, 'optionalAccess', _86 => _86.target_directory]), () => ( _devkit.joinPathFragments.call(void 0, _devkit.workspaceRoot, "dist")));
1794
+ const targetDir = _nullishCoalesce(_optionalChain([metadata, 'optionalAccess', _87 => _87.target_directory]), () => ( _devkit.joinPathFragments.call(void 0, _devkit.workspaceRoot, "dist")));
1783
1795
  return new Promise((resolve2) => {
1784
1796
  if (process.env.VERCEL) {
1785
1797
  return resolve2({ success: true });
@@ -2080,7 +2092,7 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
2080
2092
  );
2081
2093
  const localPackages = [];
2082
2094
  for (const project of projectDependencies.dependencies.filter(
2083
- (dep) => dep.node.type === "lib" && _optionalChain([dep, 'access', _87 => _87.node, 'access', _88 => _88.data, 'optionalAccess', _89 => _89.root]) !== projectRoot && _optionalChain([dep, 'access', _90 => _90.node, 'access', _91 => _91.data, 'optionalAccess', _92 => _92.root]) !== workspaceRoot3
2095
+ (dep) => dep.node.type === "lib" && _optionalChain([dep, 'access', _88 => _88.node, 'access', _89 => _89.data, 'optionalAccess', _90 => _90.root]) !== projectRoot && _optionalChain([dep, 'access', _91 => _91.node, 'access', _92 => _92.data, 'optionalAccess', _93 => _93.root]) !== workspaceRoot3
2084
2096
  )) {
2085
2097
  const projectNode = project.node;
2086
2098
  if (projectNode.data.root) {
@@ -2112,13 +2124,13 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
2112
2124
  const projectJson = JSON.parse(projectJsonFile);
2113
2125
  const projectName2 = projectJson.name;
2114
2126
  const projectConfigurations = _projectgraph.readProjectsConfigurationFromProjectGraph.call(void 0, projectGraph);
2115
- if (!_optionalChain([projectConfigurations, 'optionalAccess', _93 => _93.projects, 'optionalAccess', _94 => _94[projectName2]])) {
2127
+ if (!_optionalChain([projectConfigurations, 'optionalAccess', _94 => _94.projects, 'optionalAccess', _95 => _95[projectName2]])) {
2116
2128
  throw new Error(
2117
2129
  "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."
2118
2130
  );
2119
2131
  }
2120
- const implicitDependencies = _optionalChain([projectConfigurations, 'access', _95 => _95.projects, 'optionalAccess', _96 => _96[projectName2], 'access', _97 => _97.implicitDependencies, 'optionalAccess', _98 => _98.reduce, 'call', _99 => _99((ret, dep) => {
2121
- if (_optionalChain([projectConfigurations, 'access', _100 => _100.projects, 'optionalAccess', _101 => _101[dep]])) {
2132
+ const implicitDependencies = _optionalChain([projectConfigurations, 'access', _96 => _96.projects, 'optionalAccess', _97 => _97[projectName2], 'access', _98 => _98.implicitDependencies, 'optionalAccess', _99 => _99.reduce, 'call', _100 => _100((ret, dep) => {
2133
+ if (_optionalChain([projectConfigurations, 'access', _101 => _101.projects, 'optionalAccess', _102 => _102[dep]])) {
2122
2134
  const depPackageJsonPath = _chunkLP4I3FEYjs.joinPaths.call(void 0,
2123
2135
  workspaceRoot3,
2124
2136
  projectConfigurations.projects[dep].root,
@@ -2138,13 +2150,13 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
2138
2150
  return ret;
2139
2151
  }, [])]);
2140
2152
  packageJson.dependencies = localPackages.reduce((ret, localPackage) => {
2141
- if (!ret[localPackage.name] && !_optionalChain([implicitDependencies, 'optionalAccess', _102 => _102.includes, 'call', _103 => _103(localPackage.name)]) && _optionalChain([packageJson, 'access', _104 => _104.devDependencies, 'optionalAccess', _105 => _105[localPackage.name]]) === void 0) {
2153
+ if (!ret[localPackage.name] && !_optionalChain([implicitDependencies, 'optionalAccess', _103 => _103.includes, 'call', _104 => _104(localPackage.name)]) && _optionalChain([packageJson, 'access', _105 => _105.devDependencies, 'optionalAccess', _106 => _106[localPackage.name]]) === void 0) {
2142
2154
  ret[localPackage.name] = `^${localPackage.version || "0.0.1"}`;
2143
2155
  }
2144
2156
  return ret;
2145
2157
  }, _nullishCoalesce(packageJson.dependencies, () => ( {})));
2146
2158
  packageJson.devDependencies = localPackages.reduce((ret, localPackage) => {
2147
- if (!ret[localPackage.name] && _optionalChain([implicitDependencies, 'optionalAccess', _106 => _106.includes, 'call', _107 => _107(localPackage.name)]) && _optionalChain([packageJson, 'access', _108 => _108.dependencies, 'optionalAccess', _109 => _109[localPackage.name]]) === void 0) {
2159
+ if (!ret[localPackage.name] && _optionalChain([implicitDependencies, 'optionalAccess', _107 => _107.includes, 'call', _108 => _108(localPackage.name)]) && _optionalChain([packageJson, 'access', _109 => _109.dependencies, 'optionalAccess', _110 => _110[localPackage.name]]) === void 0) {
2148
2160
  ret[localPackage.name] = `^${localPackage.version || "0.0.1"}`;
2149
2161
  }
2150
2162
  return ret;
@@ -2239,7 +2251,7 @@ var _createtaskgraph = require('nx/src/tasks-runner/create-task-graph');
2239
2251
 
2240
2252
  // ../esbuild/src/assets.ts
2241
2253
  async function copyBuildAssets(context) {
2242
- if (!_optionalChain([context, 'access', _110 => _110.result, 'optionalAccess', _111 => _111.errors, 'access', _112 => _112.length]) && _optionalChain([context, 'access', _113 => _113.options, 'access', _114 => _114.assets, 'optionalAccess', _115 => _115.length])) {
2254
+ if (!_optionalChain([context, 'access', _111 => _111.result, 'optionalAccess', _112 => _112.errors, 'access', _113 => _113.length]) && _optionalChain([context, 'access', _114 => _114.options, 'access', _115 => _115.assets, 'optionalAccess', _116 => _116.length])) {
2243
2255
  writeDebug(
2244
2256
  ` \u{1F4CB} Copying ${context.options.assets.length} asset files to output directory: ${context.outputPath}`,
2245
2257
  context.workspaceConfig
@@ -2348,7 +2360,7 @@ async function resolveContext(userOptions) {
2348
2360
  const projectJson = JSON.parse(projectJsonFile);
2349
2361
  const projectName = projectJson.name || userOptions.name;
2350
2362
  const projectConfigurations = _devkit.readProjectsConfigurationFromProjectGraph.call(void 0, projectGraph);
2351
- if (!_optionalChain([projectConfigurations, 'optionalAccess', _116 => _116.projects, 'optionalAccess', _117 => _117[projectName]])) {
2363
+ if (!_optionalChain([projectConfigurations, 'optionalAccess', _117 => _117.projects, 'optionalAccess', _118 => _118[projectName]])) {
2352
2364
  throw new Error(
2353
2365
  "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."
2354
2366
  );
@@ -2646,7 +2658,7 @@ async function executeTsup(context) {
2646
2658
 
2647
2659
  // ../esbuild/src/build.ts
2648
2660
  async function reportResults(context) {
2649
- if (_optionalChain([context, 'access', _118 => _118.result, 'optionalAccess', _119 => _119.errors, 'access', _120 => _120.length]) === 0) {
2661
+ if (_optionalChain([context, 'access', _119 => _119.result, 'optionalAccess', _120 => _120.errors, 'access', _121 => _121.length]) === 0) {
2650
2662
  if (context.result.warnings.length > 0) {
2651
2663
  writeWarning(
2652
2664
  ` \u{1F6A7} The following warnings occurred during the build: ${context.result.warnings.map((warning) => warning.text).join("\n")}`,
@@ -2657,7 +2669,7 @@ async function reportResults(context) {
2657
2669
  ` \u{1F4E6} The ${context.options.name} build completed successfully`,
2658
2670
  context.workspaceConfig
2659
2671
  );
2660
- } else if (_optionalChain([context, 'access', _121 => _121.result, 'optionalAccess', _122 => _122.errors]) && _optionalChain([context, 'access', _123 => _123.result, 'optionalAccess', _124 => _124.errors, 'access', _125 => _125.length]) > 0) {
2672
+ } else if (_optionalChain([context, 'access', _122 => _122.result, 'optionalAccess', _123 => _123.errors]) && _optionalChain([context, 'access', _124 => _124.result, 'optionalAccess', _125 => _125.errors, 'access', _126 => _126.length]) > 0) {
2661
2673
  writeError(
2662
2674
  ` \u274C The ${context.options.name} build failed with the following errors: ${context.result.errors.map((error) => error.text).join("\n")}`,
2663
2675
  context.workspaceConfig
@@ -2736,16 +2748,16 @@ async function build2(options) {
2736
2748
  // ../workspace-tools/src/executors/esbuild/executor.ts
2737
2749
  async function esbuildExecutorFn(options, context, config) {
2738
2750
  writeInfo("\u{1F4E6} Running Storm ESBuild executor on the workspace", config);
2739
- if (!_optionalChain([context, 'access', _126 => _126.projectsConfigurations, 'optionalAccess', _127 => _127.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName] || !_optionalChain([context, 'access', _128 => _128.projectsConfigurations, 'access', _129 => _129.projects, 'access', _130 => _130[context.projectName], 'optionalAccess', _131 => _131.root])) {
2751
+ if (!_optionalChain([context, 'access', _127 => _127.projectsConfigurations, 'optionalAccess', _128 => _128.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName] || !_optionalChain([context, 'access', _129 => _129.projectsConfigurations, 'access', _130 => _130.projects, 'access', _131 => _131[context.projectName], 'optionalAccess', _132 => _132.root])) {
2740
2752
  throw new Error(
2741
2753
  "The Build process failed because the context is not valid. Please run this command from a workspace."
2742
2754
  );
2743
2755
  }
2744
2756
  await build2({
2745
2757
  ...options,
2746
- projectRoot: _optionalChain([context, 'access', _132 => _132.projectsConfigurations, 'access', _133 => _133.projects, 'optionalAccess', _134 => _134[context.projectName], 'access', _135 => _135.root]),
2758
+ projectRoot: _optionalChain([context, 'access', _133 => _133.projectsConfigurations, 'access', _134 => _134.projects, 'optionalAccess', _135 => _135[context.projectName], 'access', _136 => _136.root]),
2747
2759
  name: context.projectName,
2748
- sourceRoot: _optionalChain([context, 'access', _136 => _136.projectsConfigurations, 'access', _137 => _137.projects, 'optionalAccess', _138 => _138[context.projectName], 'optionalAccess', _139 => _139.sourceRoot]),
2760
+ sourceRoot: _optionalChain([context, 'access', _137 => _137.projectsConfigurations, 'access', _138 => _138.projects, 'optionalAccess', _139 => _139[context.projectName], 'optionalAccess', _140 => _140.sourceRoot]),
2749
2761
  format: options.format,
2750
2762
  platform: options.format
2751
2763
  });
@@ -2870,15 +2882,15 @@ var _esbuildwhy = require('@size-limit/esbuild-why'); var _esbuildwhy2 = _intero
2870
2882
  var _file = require('@size-limit/file'); var _file2 = _interopRequireDefault(_file);
2871
2883
  var _sizelimit = require('size-limit'); var _sizelimit2 = _interopRequireDefault(_sizelimit);
2872
2884
  async function sizeLimitExecutorFn(options, context, config) {
2873
- if (!_optionalChain([context, 'optionalAccess', _140 => _140.projectName]) || !_optionalChain([context, 'access', _141 => _141.projectsConfigurations, 'optionalAccess', _142 => _142.projects]) || !context.projectsConfigurations.projects[context.projectName]) {
2885
+ if (!_optionalChain([context, 'optionalAccess', _141 => _141.projectName]) || !_optionalChain([context, 'access', _142 => _142.projectsConfigurations, 'optionalAccess', _143 => _143.projects]) || !context.projectsConfigurations.projects[context.projectName]) {
2874
2886
  throw new Error(
2875
2887
  "The Size-Limit process failed because the context is not valid. Please run this command from a workspace."
2876
2888
  );
2877
2889
  }
2878
2890
  writeInfo(`\u{1F4CF} Running Size-Limit on ${context.projectName}`, config);
2879
2891
  _sizelimit2.default.call(void 0, [_file2.default, _esbuild3.default, _esbuildwhy2.default], {
2880
- checks: _nullishCoalesce(_nullishCoalesce(options.entry, () => ( _optionalChain([context, 'access', _143 => _143.projectsConfigurations, 'access', _144 => _144.projects, 'access', _145 => _145[context.projectName], 'optionalAccess', _146 => _146.sourceRoot]))), () => ( _devkit.joinPathFragments.call(void 0,
2881
- _nullishCoalesce(_optionalChain([context, 'access', _147 => _147.projectsConfigurations, 'access', _148 => _148.projects, 'access', _149 => _149[context.projectName], 'optionalAccess', _150 => _150.root]), () => ( "./")),
2892
+ checks: _nullishCoalesce(_nullishCoalesce(options.entry, () => ( _optionalChain([context, 'access', _144 => _144.projectsConfigurations, 'access', _145 => _145.projects, 'access', _146 => _146[context.projectName], 'optionalAccess', _147 => _147.sourceRoot]))), () => ( _devkit.joinPathFragments.call(void 0,
2893
+ _nullishCoalesce(_optionalChain([context, 'access', _148 => _148.projectsConfigurations, 'access', _149 => _149.projects, 'access', _150 => _150[context.projectName], 'optionalAccess', _151 => _151.root]), () => ( "./")),
2882
2894
  "src"
2883
2895
  )))
2884
2896
  }).then((result) => {
@@ -2950,7 +2962,7 @@ _chunkMWIFWHR4js.init_cjs_shims.call(void 0, );
2950
2962
  var _jiti = require('jiti');
2951
2963
  async function unbuildExecutorFn(options, context, config) {
2952
2964
  writeInfo("\u{1F4E6} Running Storm Unbuild executor on the workspace", config);
2953
- if (!_optionalChain([context, 'access', _151 => _151.projectsConfigurations, 'optionalAccess', _152 => _152.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName]) {
2965
+ if (!_optionalChain([context, 'access', _152 => _152.projectsConfigurations, 'optionalAccess', _153 => _153.projects]) || !context.projectName || !context.projectsConfigurations.projects[context.projectName]) {
2954
2966
  throw new Error(
2955
2967
  "The Build process failed because the context is not valid. Please run this command from a workspace root directory."
2956
2968
  );
@@ -3069,7 +3081,7 @@ var withRunGenerator = (name, generatorFn, generatorOptions = {
3069
3081
  );
3070
3082
  config = await getConfig(workspaceRoot3);
3071
3083
  }
3072
- if (_optionalChain([generatorOptions, 'optionalAccess', _153 => _153.hooks, 'optionalAccess', _154 => _154.applyDefaultOptions])) {
3084
+ if (_optionalChain([generatorOptions, 'optionalAccess', _154 => _154.hooks, 'optionalAccess', _155 => _155.applyDefaultOptions])) {
3073
3085
  writeDebug("Running the applyDefaultOptions hook...", config);
3074
3086
  options = await Promise.resolve(
3075
3087
  generatorOptions.hooks.applyDefaultOptions(options, config)
@@ -3086,7 +3098,7 @@ ${Object.keys(_nullishCoalesce(options, () => ( {}))).map((key) => ` - ${key}=${
3086
3098
  { workspaceRoot: tree.root, config },
3087
3099
  applyWorkspaceBaseTokens
3088
3100
  );
3089
- if (_optionalChain([generatorOptions, 'optionalAccess', _155 => _155.hooks, 'optionalAccess', _156 => _156.preProcess])) {
3101
+ if (_optionalChain([generatorOptions, 'optionalAccess', _156 => _156.hooks, 'optionalAccess', _157 => _157.preProcess])) {
3090
3102
  writeDebug("Running the preProcess hook...", config);
3091
3103
  await Promise.resolve(
3092
3104
  generatorOptions.hooks.preProcess(tokenized, config)
@@ -3097,15 +3109,15 @@ ${Object.keys(_nullishCoalesce(options, () => ( {}))).map((key) => ` - ${key}=${
3097
3109
  generatorFn(tree, tokenized, config)
3098
3110
  );
3099
3111
  if (result) {
3100
- if (result.success === false || result.error && _optionalChain([result, 'optionalAccess', _157 => _157.error, 'optionalAccess', _158 => _158.message]) && typeof _optionalChain([result, 'optionalAccess', _159 => _159.error, 'optionalAccess', _160 => _160.message]) === "string" && _optionalChain([result, 'optionalAccess', _161 => _161.error, 'optionalAccess', _162 => _162.name]) && typeof _optionalChain([result, 'optionalAccess', _163 => _163.error, 'optionalAccess', _164 => _164.name]) === "string") {
3112
+ if (result.success === false || result.error && _optionalChain([result, 'optionalAccess', _158 => _158.error, 'optionalAccess', _159 => _159.message]) && typeof _optionalChain([result, 'optionalAccess', _160 => _160.error, 'optionalAccess', _161 => _161.message]) === "string" && _optionalChain([result, 'optionalAccess', _162 => _162.error, 'optionalAccess', _163 => _163.name]) && typeof _optionalChain([result, 'optionalAccess', _164 => _164.error, 'optionalAccess', _165 => _165.name]) === "string") {
3101
3113
  throw new Error(`The ${name} generator failed to run`, {
3102
- cause: _optionalChain([result, 'optionalAccess', _165 => _165.error])
3114
+ cause: _optionalChain([result, 'optionalAccess', _166 => _166.error])
3103
3115
  });
3104
3116
  } else if (result.success && result.data) {
3105
3117
  return result;
3106
3118
  }
3107
3119
  }
3108
- if (_optionalChain([generatorOptions, 'optionalAccess', _166 => _166.hooks, 'optionalAccess', _167 => _167.postProcess])) {
3120
+ if (_optionalChain([generatorOptions, 'optionalAccess', _167 => _167.hooks, 'optionalAccess', _168 => _168.postProcess])) {
3109
3121
  writeDebug("Running the postProcess hook...", config);
3110
3122
  await Promise.resolve(generatorOptions.hooks.postProcess(config));
3111
3123
  writeDebug("Completed the postProcess hook", config);
@@ -3239,15 +3251,15 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3239
3251
  _devkit.addProjectConfiguration.call(void 0, tree, normalized.name, projectConfig);
3240
3252
  let repository = {
3241
3253
  type: "github",
3242
- url: _optionalChain([config, 'optionalAccess', _168 => _168.repository]) || `https://github.com/${(typeof _optionalChain([config, 'optionalAccess', _169 => _169.organization]) === "string" ? _optionalChain([config, 'optionalAccess', _170 => _170.organization]) : _optionalChain([config, 'optionalAccess', _171 => _171.organization, 'optionalAccess', _172 => _172.name])) || "storm-software"}/${_optionalChain([config, 'optionalAccess', _173 => _173.namespace]) || _optionalChain([config, 'optionalAccess', _174 => _174.name]) || "repository"}.git`
3254
+ url: _optionalChain([config, 'optionalAccess', _169 => _169.repository]) || `https://github.com/${(typeof _optionalChain([config, 'optionalAccess', _170 => _170.organization]) === "string" ? _optionalChain([config, 'optionalAccess', _171 => _171.organization]) : _optionalChain([config, 'optionalAccess', _172 => _172.organization, 'optionalAccess', _173 => _173.name])) || "storm-software"}/${_optionalChain([config, 'optionalAccess', _174 => _174.namespace]) || _optionalChain([config, 'optionalAccess', _175 => _175.name]) || "repository"}.git`
3243
3255
  };
3244
3256
  let description = options.description || "A package developed by Storm Software used to create modern, scalable web applications.";
3245
3257
  if (tree.exists("package.json")) {
3246
3258
  const packageJson = _devkit.readJson.call(void 0, tree, "package.json");
3247
- if (_optionalChain([packageJson, 'optionalAccess', _175 => _175.repository])) {
3259
+ if (_optionalChain([packageJson, 'optionalAccess', _176 => _176.repository])) {
3248
3260
  repository = packageJson.repository;
3249
3261
  }
3250
- if (_optionalChain([packageJson, 'optionalAccess', _176 => _176.description])) {
3262
+ if (_optionalChain([packageJson, 'optionalAccess', _177 => _177.description])) {
3251
3263
  description = packageJson.description;
3252
3264
  }
3253
3265
  }
@@ -3302,9 +3314,9 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3302
3314
  _devkit.updateJson.call(void 0, tree, "package.json", (json) => ({
3303
3315
  ...json,
3304
3316
  pnpm: {
3305
- ..._optionalChain([json, 'optionalAccess', _177 => _177.pnpm]),
3317
+ ..._optionalChain([json, 'optionalAccess', _178 => _178.pnpm]),
3306
3318
  overrides: {
3307
- ..._optionalChain([json, 'optionalAccess', _178 => _178.pnpm, 'optionalAccess', _179 => _179.overrides]),
3319
+ ..._optionalChain([json, 'optionalAccess', _179 => _179.pnpm, 'optionalAccess', _180 => _180.overrides]),
3308
3320
  [_nullishCoalesce(normalized.importPath, () => ( ""))]: "workspace:*"
3309
3321
  }
3310
3322
  }
@@ -3322,10 +3334,10 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3322
3334
  ]);
3323
3335
  if (tree.exists("package.json")) {
3324
3336
  const packageJson = _devkit.readJson.call(void 0, tree, "package.json");
3325
- if (_optionalChain([packageJson, 'optionalAccess', _180 => _180.repository])) {
3337
+ if (_optionalChain([packageJson, 'optionalAccess', _181 => _181.repository])) {
3326
3338
  repository = packageJson.repository;
3327
3339
  }
3328
- if (_optionalChain([packageJson, 'optionalAccess', _181 => _181.description])) {
3340
+ if (_optionalChain([packageJson, 'optionalAccess', _182 => _182.description])) {
3329
3341
  description = packageJson.description;
3330
3342
  }
3331
3343
  }
@@ -3362,22 +3374,22 @@ function getOutputPath(options) {
3362
3374
  function createProjectTsConfigJson(tree, options) {
3363
3375
  const tsconfig = {
3364
3376
  extends: options.rootProject ? void 0 : _js.getRelativePathToRootTsConfig.call(void 0, tree, options.projectRoot),
3365
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _182 => _182.tsconfigOptions]), () => ( {})),
3377
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _183 => _183.tsconfigOptions]), () => ( {})),
3366
3378
  compilerOptions: {
3367
3379
  ...options.rootProject ? _js.tsConfigBaseOptions : {},
3368
3380
  outDir: _chunkLP4I3FEYjs.joinPaths.call(void 0, _devkit.offsetFromRoot.call(void 0, options.projectRoot), "dist/out-tsc"),
3369
3381
  noEmit: true,
3370
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _183 => _183.tsconfigOptions, 'optionalAccess', _184 => _184.compilerOptions]), () => ( {}))
3382
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _184 => _184.tsconfigOptions, 'optionalAccess', _185 => _185.compilerOptions]), () => ( {}))
3371
3383
  },
3372
- files: [..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _185 => _185.tsconfigOptions, 'optionalAccess', _186 => _186.files]), () => ( []))],
3384
+ files: [..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _186 => _186.tsconfigOptions, 'optionalAccess', _187 => _187.files]), () => ( []))],
3373
3385
  include: [
3374
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _187 => _187.tsconfigOptions, 'optionalAccess', _188 => _188.include]), () => ( [])),
3386
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _188 => _188.tsconfigOptions, 'optionalAccess', _189 => _189.include]), () => ( [])),
3375
3387
  "src/**/*.ts",
3376
3388
  "src/**/*.js",
3377
3389
  "bin/**/*"
3378
3390
  ],
3379
3391
  exclude: [
3380
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _189 => _189.tsconfigOptions, 'optionalAccess', _190 => _190.exclude]), () => ( [])),
3392
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _190 => _190.tsconfigOptions, 'optionalAccess', _191 => _191.exclude]), () => ( [])),
3381
3393
  "jest.config.ts",
3382
3394
  "src/**/*.spec.ts",
3383
3395
  "src/**/*.test.ts"
@@ -3387,8 +3399,8 @@ function createProjectTsConfigJson(tree, options) {
3387
3399
  }
3388
3400
  async function normalizeOptions(tree, options, config) {
3389
3401
  let importPath = options.importPath;
3390
- if (!importPath && _optionalChain([config, 'optionalAccess', _191 => _191.namespace])) {
3391
- importPath = `@${_optionalChain([config, 'optionalAccess', _192 => _192.namespace])}/${options.name}`;
3402
+ if (!importPath && _optionalChain([config, 'optionalAccess', _192 => _192.namespace])) {
3403
+ importPath = `@${_optionalChain([config, 'optionalAccess', _193 => _193.namespace])}/${options.name}`;
3392
3404
  }
3393
3405
  if (options.publishable) {
3394
3406
  if (!importPath) {
@@ -3553,7 +3565,7 @@ async function configSchemaGeneratorFn(tree, options, config) {
3553
3565
  );
3554
3566
  }
3555
3567
  const outputPath = options.outputFile.replaceAll("{workspaceRoot}", "").replaceAll(
3556
- _nullishCoalesce(_optionalChain([config, 'optionalAccess', _193 => _193.workspaceRoot]), () => ( findWorkspaceRoot())),
3568
+ _nullishCoalesce(_optionalChain([config, 'optionalAccess', _194 => _194.workspaceRoot]), () => ( findWorkspaceRoot())),
3557
3569
  options.outputFile.startsWith("./") ? "" : "./"
3558
3570
  );
3559
3571
  writeTrace(
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-3MCIDYYV.js');
2
2
 
3
3
 
4
- var _chunkCRNDD7VZjs = require('./chunk-CRNDD7VZ.js');
4
+ var _chunkNHZSYECCjs = require('./chunk-NHZSYECC.js');
5
5
  require('./chunk-LP4I3FEY.js');
6
6
  require('./chunk-MWIFWHR4.js');
7
7
 
8
8
 
9
- exports.initGeneratorFn = _chunkCRNDD7VZjs.initGeneratorFn;
9
+ exports.initGeneratorFn = _chunkNHZSYECCjs.initGeneratorFn;
@@ -1,7 +1,7 @@
1
1
  import "./chunk-5UXDEQBC.mjs";
2
2
  import {
3
3
  initGeneratorFn
4
- } from "./chunk-U3ZJDZBV.mjs";
4
+ } from "./chunk-LR3RQK6D.mjs";
5
5
  import "./chunk-IYQFGVQK.mjs";
6
6
  import "./chunk-ULH77QLV.mjs";
7
7
  export {
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  var _chunkKFR27Y3Kjs = require('./chunk-KFR27Y3K.js');
5
5
 
6
6
 
7
- var _chunkCRNDD7VZjs = require('./chunk-CRNDD7VZ.js');
7
+ var _chunkNHZSYECCjs = require('./chunk-NHZSYECC.js');
8
8
  require('./chunk-LP4I3FEY.js');
9
9
 
10
10
 
@@ -16,10 +16,10 @@ var _chunkMWIFWHR4js = require('./chunk-MWIFWHR4.js');
16
16
  // index.ts
17
17
  var index_exports = {};
18
18
  _chunkMWIFWHR4js.__export.call(void 0, index_exports, {
19
- initGeneratorFn: () => _chunkCRNDD7VZjs.initGeneratorFn
19
+ initGeneratorFn: () => _chunkNHZSYECCjs.initGeneratorFn
20
20
  });
21
21
  _chunkMWIFWHR4js.init_cjs_shims.call(void 0, );
22
22
  _chunkMWIFWHR4js.__reExport.call(void 0, index_exports, _chunkMWIFWHR4js.__toESM.call(void 0, _chunkKFR27Y3Kjs.require_components.call(void 0, )));
23
23
 
24
24
 
25
- exports.initGeneratorFn = _chunkCRNDD7VZjs.initGeneratorFn;
25
+ exports.initGeneratorFn = _chunkNHZSYECCjs.initGeneratorFn;
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-PQKN2KBC.mjs";
5
5
  import {
6
6
  initGeneratorFn
7
- } from "./chunk-U3ZJDZBV.mjs";
7
+ } from "./chunk-LR3RQK6D.mjs";
8
8
  import "./chunk-IYQFGVQK.mjs";
9
9
  import {
10
10
  __export,
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkCRNDD7VZjs = require('../../../chunk-CRNDD7VZ.js');
4
+ var _chunkNHZSYECCjs = require('../../../chunk-NHZSYECC.js');
5
5
  require('../../../chunk-LP4I3FEY.js');
6
6
  require('../../../chunk-MWIFWHR4.js');
7
7
 
8
8
 
9
9
 
10
- exports.default = _chunkCRNDD7VZjs.generator_default; exports.initGeneratorFn = _chunkCRNDD7VZjs.initGeneratorFn;
10
+ exports.default = _chunkNHZSYECCjs.generator_default; exports.initGeneratorFn = _chunkNHZSYECCjs.initGeneratorFn;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generator_default,
3
3
  initGeneratorFn
4
- } from "../../../chunk-U3ZJDZBV.mjs";
4
+ } from "../../../chunk-LR3RQK6D.mjs";
5
5
  import "../../../chunk-IYQFGVQK.mjs";
6
6
  import "../../../chunk-ULH77QLV.mjs";
7
7
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/projen",
3
- "version": "0.15.38",
3
+ "version": "0.15.39",
4
4
  "type": "commonjs",
5
5
  "description": "Tools for managing Projen configuration automation within a Nx workspace.",
6
6
  "repository": {
@@ -142,5 +142,5 @@
142
142
  "publishConfig": { "access": "public" },
143
143
  "executors": "./executors.json",
144
144
  "generators": "./generators.json",
145
- "gitHead": "dbe7708d23dd5fd8289baed4045d6580b4067496"
145
+ "gitHead": "edec74f2b1c6174fae001ac240bb291296c84fab"
146
146
  }