@storm-software/projen 0.9.33 → 0.9.35

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,20 @@
2
2
 
3
3
  # Changelog for Storm Ops - Projen
4
4
 
5
+ ## [0.9.35](https://github.com/storm-software/storm-ops/releases/tag/projen%400.9.35) (2025-03-18)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **monorepo:** Regenerate README markdown files
10
+ ([4a6eeab3f](https://github.com/storm-software/storm-ops/commit/4a6eeab3f))
11
+
12
+ ## [0.9.34](https://github.com/storm-software/storm-ops/releases/tag/projen%400.9.34) (2025-03-18)
13
+
14
+ ### Miscellaneous
15
+
16
+ - **monorepo:** Regenerate README markdown files
17
+ ([2d7343483](https://github.com/storm-software/storm-ops/commit/2d7343483))
18
+
5
19
  ## [0.9.33](https://github.com/storm-software/storm-ops/releases/tag/projen%400.9.33) (2025-03-17)
6
20
 
7
21
  ### 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.9.32-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.9.34-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 -->
@@ -2718,15 +2718,19 @@ var resolveOptions = /* @__PURE__ */ __name(async (userOptions) => {
2718
2718
  }, {})
2719
2719
  },
2720
2720
  inject: [
2721
- options.format === "cjs" && options.injectShims ? joinPaths(__dirname, "../assets/cjs_shims.js") : "",
2722
- options.format === "esm" && options.injectShims && options.platform === "node" ? joinPaths(__dirname, "../assets/esm_shims.js") : ""
2723
- ]
2721
+ options.format === "cjs" && options.injectShims ? joinPaths(__dirname, "../assets/cjs_shims.js") : void 0,
2722
+ options.format === "esm" && options.injectShims && options.platform === "node" ? joinPaths(__dirname, "../assets/esm_shims.js") : void 0
2723
+ ].filter(Boolean)
2724
2724
  };
2725
2725
  result.plugins = userOptions.plugins ?? getDefaultBuildPlugins(userOptions, result);
2726
- if (options.inject) {
2727
- options.inject = defu4(result.inject, options.inject);
2726
+ if (options.inject && Array.isArray(options.inject) && options.inject.length > 0) {
2727
+ result.inject = options.inject.reduce((ret, inj) => {
2728
+ if (inj && typeof inj === "string" && ret.includes(inj)) {
2729
+ ret.push(inj);
2730
+ }
2731
+ return ret;
2732
+ }, result.inject);
2728
2733
  }
2729
- options.inject?.filter(Boolean);
2730
2734
  delete result.entry;
2731
2735
  delete result.outputPath;
2732
2736
  stopwatch();
@@ -2818,6 +2822,10 @@ async function executeEsBuild(context2) {
2818
2822
  ...context2.options
2819
2823
  };
2820
2824
  options.outdir = joinPaths(context2.options.outdir, context2.options.distDir);
2825
+ if (!options.inject || !Array.isArray(options.inject) || options.inject.length === 0 || // eslint-disable-next-line no-constant-binary-expression, @typescript-eslint/no-explicit-any
2826
+ options.inject === {}) {
2827
+ delete options.inject;
2828
+ }
2821
2829
  delete options.env;
2822
2830
  delete options.name;
2823
2831
  delete options.assets;
@@ -2717,15 +2717,19 @@ var resolveOptions = /* @__PURE__ */ _chunkWTMG7MTKjs.__name.call(void 0, async
2717
2717
  }, {})
2718
2718
  },
2719
2719
  inject: [
2720
- options.format === "cjs" && options.injectShims ? _chunk3DQG66DJjs.joinPaths.call(void 0, __dirname, "../assets/cjs_shims.js") : "",
2721
- options.format === "esm" && options.injectShims && options.platform === "node" ? _chunk3DQG66DJjs.joinPaths.call(void 0, __dirname, "../assets/esm_shims.js") : ""
2722
- ]
2720
+ options.format === "cjs" && options.injectShims ? _chunk3DQG66DJjs.joinPaths.call(void 0, __dirname, "../assets/cjs_shims.js") : void 0,
2721
+ options.format === "esm" && options.injectShims && options.platform === "node" ? _chunk3DQG66DJjs.joinPaths.call(void 0, __dirname, "../assets/esm_shims.js") : void 0
2722
+ ].filter(Boolean)
2723
2723
  };
2724
2724
  result.plugins = _nullishCoalesce(userOptions.plugins, () => ( getDefaultBuildPlugins(userOptions, result)));
2725
- if (options.inject) {
2726
- options.inject = _defu2.default.call(void 0, result.inject, options.inject);
2725
+ if (options.inject && Array.isArray(options.inject) && options.inject.length > 0) {
2726
+ result.inject = options.inject.reduce((ret, inj) => {
2727
+ if (inj && typeof inj === "string" && ret.includes(inj)) {
2728
+ ret.push(inj);
2729
+ }
2730
+ return ret;
2731
+ }, result.inject);
2727
2732
  }
2728
- _optionalChain([options, 'access', _126 => _126.inject, 'optionalAccess', _127 => _127.filter, 'call', _128 => _128(Boolean)]);
2729
2733
  delete result.entry;
2730
2734
  delete result.outputPath;
2731
2735
  stopwatch();
@@ -2817,6 +2821,10 @@ async function executeEsBuild(context2) {
2817
2821
  ...context2.options
2818
2822
  };
2819
2823
  options.outdir = _chunk3DQG66DJjs.joinPaths.call(void 0, context2.options.outdir, context2.options.distDir);
2824
+ if (!options.inject || !Array.isArray(options.inject) || options.inject.length === 0 || // eslint-disable-next-line no-constant-binary-expression, @typescript-eslint/no-explicit-any
2825
+ options.inject === {}) {
2826
+ delete options.inject;
2827
+ }
2820
2828
  delete options.env;
2821
2829
  delete options.name;
2822
2830
  delete options.assets;
@@ -2851,7 +2859,7 @@ ${formatLogMessage(options)}`, context2.options.config);
2851
2859
  }
2852
2860
  _chunkWTMG7MTKjs.__name.call(void 0, executeEsBuild, "executeEsBuild");
2853
2861
  async function copyBuildAssets(context2) {
2854
- if (_optionalChain([context2, 'access', _129 => _129.result, 'optionalAccess', _130 => _130.errors, 'access', _131 => _131.length]) === 0) {
2862
+ if (_optionalChain([context2, 'access', _126 => _126.result, 'optionalAccess', _127 => _127.errors, 'access', _128 => _128.length]) === 0) {
2855
2863
  writeDebug(` \u{1F4CB} Copying asset files to output directory: ${context2.options.outdir}`, context2.options.config);
2856
2864
  const stopwatch = getStopwatch(`${context2.options.name} asset copy`);
2857
2865
  await copyAssets(context2.options.config, _nullishCoalesce(context2.options.assets, () => ( [])), context2.options.outdir, context2.options.projectRoot, context2.options.sourceRoot, true, false);
@@ -2861,7 +2869,7 @@ async function copyBuildAssets(context2) {
2861
2869
  }
2862
2870
  _chunkWTMG7MTKjs.__name.call(void 0, copyBuildAssets, "copyBuildAssets");
2863
2871
  async function reportResults(context2) {
2864
- if (_optionalChain([context2, 'access', _132 => _132.result, 'optionalAccess', _133 => _133.errors, 'access', _134 => _134.length]) === 0) {
2872
+ if (_optionalChain([context2, 'access', _129 => _129.result, 'optionalAccess', _130 => _130.errors, 'access', _131 => _131.length]) === 0) {
2865
2873
  if (context2.result.warnings.length > 0) {
2866
2874
  writeWarning(` \u{1F6A7} The following warnings occurred during the build: ${context2.result.warnings.map((warning) => warning.text).join("\n")}`, context2.options.config);
2867
2875
  }
@@ -2962,14 +2970,14 @@ var watch = /* @__PURE__ */ _chunkWTMG7MTKjs.__name.call(void 0, (context2, opti
2962
2970
  // ../workspace-tools/src/executors/esbuild/executor.ts
2963
2971
  async function esbuildExecutorFn(options, context2, config) {
2964
2972
  writeInfo("\u{1F4E6} Running Storm ESBuild executor on the workspace", config);
2965
- if (!_optionalChain([context2, 'access', _135 => _135.projectsConfigurations, 'optionalAccess', _136 => _136.projects]) || !context2.projectName || !context2.projectsConfigurations.projects[context2.projectName] || !_optionalChain([context2, 'access', _137 => _137.projectsConfigurations, 'access', _138 => _138.projects, 'access', _139 => _139[context2.projectName], 'optionalAccess', _140 => _140.root])) {
2973
+ if (!_optionalChain([context2, 'access', _132 => _132.projectsConfigurations, 'optionalAccess', _133 => _133.projects]) || !context2.projectName || !context2.projectsConfigurations.projects[context2.projectName] || !_optionalChain([context2, 'access', _134 => _134.projectsConfigurations, 'access', _135 => _135.projects, 'access', _136 => _136[context2.projectName], 'optionalAccess', _137 => _137.root])) {
2966
2974
  throw new Error("The Build process failed because the context is not valid. Please run this command from a workspace.");
2967
2975
  }
2968
2976
  await build3({
2969
2977
  ...options,
2970
- projectRoot: _optionalChain([context2, 'access', _141 => _141.projectsConfigurations, 'access', _142 => _142.projects, 'optionalAccess', _143 => _143[context2.projectName], 'access', _144 => _144.root]),
2978
+ projectRoot: _optionalChain([context2, 'access', _138 => _138.projectsConfigurations, 'access', _139 => _139.projects, 'optionalAccess', _140 => _140[context2.projectName], 'access', _141 => _141.root]),
2971
2979
  projectName: context2.projectName,
2972
- sourceRoot: _optionalChain([context2, 'access', _145 => _145.projectsConfigurations, 'access', _146 => _146.projects, 'optionalAccess', _147 => _147[context2.projectName], 'optionalAccess', _148 => _148.sourceRoot]),
2980
+ sourceRoot: _optionalChain([context2, 'access', _142 => _142.projectsConfigurations, 'access', _143 => _143.projects, 'optionalAccess', _144 => _144[context2.projectName], 'optionalAccess', _145 => _145.sourceRoot]),
2973
2981
  format: options.format,
2974
2982
  platform: options.format
2975
2983
  });
@@ -3015,7 +3023,7 @@ var _esbuildwhy = require('@size-limit/esbuild-why'); var _esbuildwhy2 = _intero
3015
3023
  var _file = require('@size-limit/file'); var _file2 = _interopRequireDefault(_file);
3016
3024
  var _sizelimit = require('size-limit'); var _sizelimit2 = _interopRequireDefault(_sizelimit);
3017
3025
  async function sizeLimitExecutorFn(options, context2, config) {
3018
- if (!_optionalChain([context2, 'optionalAccess', _149 => _149.projectName]) || !_optionalChain([context2, 'access', _150 => _150.projectsConfigurations, 'optionalAccess', _151 => _151.projects]) || !context2.projectsConfigurations.projects[context2.projectName]) {
3026
+ if (!_optionalChain([context2, 'optionalAccess', _146 => _146.projectName]) || !_optionalChain([context2, 'access', _147 => _147.projectsConfigurations, 'optionalAccess', _148 => _148.projects]) || !context2.projectsConfigurations.projects[context2.projectName]) {
3019
3027
  throw new Error("The Size-Limit process failed because the context is not valid. Please run this command from a workspace.");
3020
3028
  }
3021
3029
  writeInfo(`\u{1F4CF} Running Size-Limit on ${context2.projectName}`, config);
@@ -3024,7 +3032,7 @@ async function sizeLimitExecutorFn(options, context2, config) {
3024
3032
  _esbuild3.default,
3025
3033
  _esbuildwhy2.default
3026
3034
  ], {
3027
- checks: _nullishCoalesce(_nullishCoalesce(options.entry, () => ( _optionalChain([context2, 'access', _152 => _152.projectsConfigurations, 'access', _153 => _153.projects, 'access', _154 => _154[context2.projectName], 'optionalAccess', _155 => _155.sourceRoot]))), () => ( _devkit.joinPathFragments.call(void 0, _nullishCoalesce(_optionalChain([context2, 'access', _156 => _156.projectsConfigurations, 'access', _157 => _157.projects, 'access', _158 => _158[context2.projectName], 'optionalAccess', _159 => _159.root]), () => ( "./")), "src")))
3035
+ checks: _nullishCoalesce(_nullishCoalesce(options.entry, () => ( _optionalChain([context2, 'access', _149 => _149.projectsConfigurations, 'access', _150 => _150.projects, 'access', _151 => _151[context2.projectName], 'optionalAccess', _152 => _152.sourceRoot]))), () => ( _devkit.joinPathFragments.call(void 0, _nullishCoalesce(_optionalChain([context2, 'access', _153 => _153.projectsConfigurations, 'access', _154 => _154.projects, 'access', _155 => _155[context2.projectName], 'optionalAccess', _156 => _156.root]), () => ( "./")), "src")))
3028
3036
  }).then((result) => {
3029
3037
  writeInfo(`\u{1F4CF} ${context2.projectName} Size-Limit result: ${JSON.stringify(result)}`, config);
3030
3038
  });
@@ -3085,7 +3093,7 @@ _chunkWTMG7MTKjs.init_cjs_shims.call(void 0, );
3085
3093
  var _jiti = require('jiti');
3086
3094
  async function unbuildExecutorFn(options, context2, config) {
3087
3095
  writeInfo("\u{1F4E6} Running Storm Unbuild executor on the workspace", config);
3088
- if (!_optionalChain([context2, 'access', _160 => _160.projectsConfigurations, 'optionalAccess', _161 => _161.projects]) || !context2.projectName || !context2.projectsConfigurations.projects[context2.projectName]) {
3096
+ if (!_optionalChain([context2, 'access', _157 => _157.projectsConfigurations, 'optionalAccess', _158 => _158.projects]) || !context2.projectName || !context2.projectsConfigurations.projects[context2.projectName]) {
3089
3097
  throw new Error("The Build process failed because the context is not valid. Please run this command from a workspace root directory.");
3090
3098
  }
3091
3099
  if (!context2.projectsConfigurations.projects[context2.projectName].root) {
@@ -3173,7 +3181,7 @@ var withRunGenerator = /* @__PURE__ */ _chunkWTMG7MTKjs.__name.call(void 0, (nam
3173
3181
  - workspaceRoot: ${workspaceRoot3}`, config);
3174
3182
  config = await getConfig(workspaceRoot3);
3175
3183
  }
3176
- if (_optionalChain([generatorOptions, 'optionalAccess', _162 => _162.hooks, 'optionalAccess', _163 => _163.applyDefaultOptions])) {
3184
+ if (_optionalChain([generatorOptions, 'optionalAccess', _159 => _159.hooks, 'optionalAccess', _160 => _160.applyDefaultOptions])) {
3177
3185
  writeDebug("Running the applyDefaultOptions hook...", config);
3178
3186
  options = await Promise.resolve(generatorOptions.hooks.applyDefaultOptions(options, config));
3179
3187
  writeDebug("Completed the applyDefaultOptions hook", config);
@@ -3184,22 +3192,22 @@ ${Object.keys(_nullishCoalesce(options, () => ( {}))).map((key) => ` - ${key}=${
3184
3192
  workspaceRoot: tree.root,
3185
3193
  config
3186
3194
  }, applyWorkspaceBaseTokens);
3187
- if (_optionalChain([generatorOptions, 'optionalAccess', _164 => _164.hooks, 'optionalAccess', _165 => _165.preProcess])) {
3195
+ if (_optionalChain([generatorOptions, 'optionalAccess', _161 => _161.hooks, 'optionalAccess', _162 => _162.preProcess])) {
3188
3196
  writeDebug("Running the preProcess hook...", config);
3189
3197
  await Promise.resolve(generatorOptions.hooks.preProcess(tokenized, config));
3190
3198
  writeDebug("Completed the preProcess hook", config);
3191
3199
  }
3192
3200
  const result = await Promise.resolve(generatorFn(tree, tokenized, config));
3193
3201
  if (result) {
3194
- if (result.success === false || result.error && _optionalChain([result, 'optionalAccess', _166 => _166.error, 'optionalAccess', _167 => _167.message]) && typeof _optionalChain([result, 'optionalAccess', _168 => _168.error, 'optionalAccess', _169 => _169.message]) === "string" && _optionalChain([result, 'optionalAccess', _170 => _170.error, 'optionalAccess', _171 => _171.name]) && typeof _optionalChain([result, 'optionalAccess', _172 => _172.error, 'optionalAccess', _173 => _173.name]) === "string") {
3202
+ if (result.success === false || result.error && _optionalChain([result, 'optionalAccess', _163 => _163.error, 'optionalAccess', _164 => _164.message]) && typeof _optionalChain([result, 'optionalAccess', _165 => _165.error, 'optionalAccess', _166 => _166.message]) === "string" && _optionalChain([result, 'optionalAccess', _167 => _167.error, 'optionalAccess', _168 => _168.name]) && typeof _optionalChain([result, 'optionalAccess', _169 => _169.error, 'optionalAccess', _170 => _170.name]) === "string") {
3195
3203
  throw new Error(`The ${name} generator failed to run`, {
3196
- cause: _optionalChain([result, 'optionalAccess', _174 => _174.error])
3204
+ cause: _optionalChain([result, 'optionalAccess', _171 => _171.error])
3197
3205
  });
3198
3206
  } else if (result.success && result.data) {
3199
3207
  return result;
3200
3208
  }
3201
3209
  }
3202
- if (_optionalChain([generatorOptions, 'optionalAccess', _175 => _175.hooks, 'optionalAccess', _176 => _176.postProcess])) {
3210
+ if (_optionalChain([generatorOptions, 'optionalAccess', _172 => _172.hooks, 'optionalAccess', _173 => _173.postProcess])) {
3203
3211
  writeDebug("Running the postProcess hook...", config);
3204
3212
  await Promise.resolve(generatorOptions.hooks.postProcess(config));
3205
3213
  writeDebug("Completed the postProcess hook", config);
@@ -3368,15 +3376,15 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3368
3376
  _devkit.addProjectConfiguration.call(void 0, tree, normalized.name, projectConfig);
3369
3377
  let repository = {
3370
3378
  type: "github",
3371
- url: _optionalChain([config, 'optionalAccess', _177 => _177.repository]) || `https://github.com/${_optionalChain([config, 'optionalAccess', _178 => _178.organization]) || "storm-software"}/${_optionalChain([config, 'optionalAccess', _179 => _179.namespace]) || _optionalChain([config, 'optionalAccess', _180 => _180.name]) || "repository"}.git`
3379
+ url: _optionalChain([config, 'optionalAccess', _174 => _174.repository]) || `https://github.com/${_optionalChain([config, 'optionalAccess', _175 => _175.organization]) || "storm-software"}/${_optionalChain([config, 'optionalAccess', _176 => _176.namespace]) || _optionalChain([config, 'optionalAccess', _177 => _177.name]) || "repository"}.git`
3372
3380
  };
3373
3381
  let description = options.description || "A package developed by Storm Software used to create modern, scalable web applications.";
3374
3382
  if (tree.exists("package.json")) {
3375
3383
  const packageJson = _devkit.readJson.call(void 0, tree, "package.json");
3376
- if (_optionalChain([packageJson, 'optionalAccess', _181 => _181.repository])) {
3384
+ if (_optionalChain([packageJson, 'optionalAccess', _178 => _178.repository])) {
3377
3385
  repository = packageJson.repository;
3378
3386
  }
3379
- if (_optionalChain([packageJson, 'optionalAccess', _182 => _182.description])) {
3387
+ if (_optionalChain([packageJson, 'optionalAccess', _179 => _179.description])) {
3380
3388
  description = packageJson.description;
3381
3389
  }
3382
3390
  }
@@ -3431,9 +3439,9 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3431
3439
  _devkit.updateJson.call(void 0, tree, "package.json", (json) => ({
3432
3440
  ...json,
3433
3441
  pnpm: {
3434
- ..._optionalChain([json, 'optionalAccess', _183 => _183.pnpm]),
3442
+ ..._optionalChain([json, 'optionalAccess', _180 => _180.pnpm]),
3435
3443
  overrides: {
3436
- ..._optionalChain([json, 'optionalAccess', _184 => _184.pnpm, 'optionalAccess', _185 => _185.overrides]),
3444
+ ..._optionalChain([json, 'optionalAccess', _181 => _181.pnpm, 'optionalAccess', _182 => _182.overrides]),
3437
3445
  [_nullishCoalesce(normalized.importPath, () => ( ""))]: "workspace:*"
3438
3446
  }
3439
3447
  }
@@ -3447,10 +3455,10 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
3447
3455
  ]);
3448
3456
  if (tree.exists("package.json")) {
3449
3457
  const packageJson = _devkit.readJson.call(void 0, tree, "package.json");
3450
- if (_optionalChain([packageJson, 'optionalAccess', _186 => _186.repository])) {
3458
+ if (_optionalChain([packageJson, 'optionalAccess', _183 => _183.repository])) {
3451
3459
  repository = packageJson.repository;
3452
3460
  }
3453
- if (_optionalChain([packageJson, 'optionalAccess', _187 => _187.description])) {
3461
+ if (_optionalChain([packageJson, 'optionalAccess', _184 => _184.description])) {
3454
3462
  description = packageJson.description;
3455
3463
  }
3456
3464
  }
@@ -3498,24 +3506,24 @@ _chunkWTMG7MTKjs.__name.call(void 0, getOutputPath, "getOutputPath");
3498
3506
  function createProjectTsConfigJson(tree, options) {
3499
3507
  const tsconfig = {
3500
3508
  extends: options.rootProject ? void 0 : _js.getRelativePathToRootTsConfig.call(void 0, tree, options.projectRoot),
3501
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _188 => _188.tsconfigOptions]), () => ( {})),
3509
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _185 => _185.tsconfigOptions]), () => ( {})),
3502
3510
  compilerOptions: {
3503
3511
  ...options.rootProject ? _js.tsConfigBaseOptions : {},
3504
3512
  outDir: _chunk3DQG66DJjs.joinPaths.call(void 0, _devkit.offsetFromRoot.call(void 0, options.projectRoot), "dist/out-tsc"),
3505
3513
  noEmit: true,
3506
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _189 => _189.tsconfigOptions, 'optionalAccess', _190 => _190.compilerOptions]), () => ( {}))
3514
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _186 => _186.tsconfigOptions, 'optionalAccess', _187 => _187.compilerOptions]), () => ( {}))
3507
3515
  },
3508
3516
  files: [
3509
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _191 => _191.tsconfigOptions, 'optionalAccess', _192 => _192.files]), () => ( []))
3517
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _188 => _188.tsconfigOptions, 'optionalAccess', _189 => _189.files]), () => ( []))
3510
3518
  ],
3511
3519
  include: [
3512
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _193 => _193.tsconfigOptions, 'optionalAccess', _194 => _194.include]), () => ( [])),
3520
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _190 => _190.tsconfigOptions, 'optionalAccess', _191 => _191.include]), () => ( [])),
3513
3521
  "src/**/*.ts",
3514
3522
  "src/**/*.js",
3515
3523
  "bin/**/*"
3516
3524
  ],
3517
3525
  exclude: [
3518
- ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _195 => _195.tsconfigOptions, 'optionalAccess', _196 => _196.exclude]), () => ( [])),
3526
+ ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _192 => _192.tsconfigOptions, 'optionalAccess', _193 => _193.exclude]), () => ( [])),
3519
3527
  "jest.config.ts",
3520
3528
  "src/**/*.spec.ts",
3521
3529
  "src/**/*.test.ts"
@@ -3526,8 +3534,8 @@ function createProjectTsConfigJson(tree, options) {
3526
3534
  _chunkWTMG7MTKjs.__name.call(void 0, createProjectTsConfigJson, "createProjectTsConfigJson");
3527
3535
  async function normalizeOptions(tree, options, config) {
3528
3536
  let importPath = options.importPath;
3529
- if (!importPath && _optionalChain([config, 'optionalAccess', _197 => _197.namespace])) {
3530
- importPath = `@${_optionalChain([config, 'optionalAccess', _198 => _198.namespace])}/${options.name}`;
3537
+ if (!importPath && _optionalChain([config, 'optionalAccess', _194 => _194.namespace])) {
3538
+ importPath = `@${_optionalChain([config, 'optionalAccess', _195 => _195.namespace])}/${options.name}`;
3531
3539
  }
3532
3540
  if (options.publishable) {
3533
3541
  if (!importPath) {
@@ -3660,7 +3668,7 @@ async function configSchemaGeneratorFn(tree, options, config) {
3660
3668
  name: "StormWorkspaceConfiguration"
3661
3669
  });
3662
3670
  writeTrace(jsonSchema, config);
3663
- const outputPath = options.outputFile.replaceAll("{workspaceRoot}", "").replaceAll(_nullishCoalesce(_optionalChain([config, 'optionalAccess', _199 => _199.workspaceRoot]), () => ( findWorkspaceRoot())), _optionalChain([options, 'access', _200 => _200.outputFile, 'optionalAccess', _201 => _201.startsWith, 'call', _202 => _202("./")]) ? "" : "./");
3671
+ const outputPath = options.outputFile.replaceAll("{workspaceRoot}", "").replaceAll(_nullishCoalesce(_optionalChain([config, 'optionalAccess', _196 => _196.workspaceRoot]), () => ( findWorkspaceRoot())), _optionalChain([options, 'access', _197 => _197.outputFile, 'optionalAccess', _198 => _198.startsWith, 'call', _199 => _199("./")]) ? "" : "./");
3664
3672
  writeTrace(`\u{1F4DD} Writing Storm Configuration JSON Schema to "${outputPath}"`, config);
3665
3673
  _devkit.writeJson.call(void 0, tree, outputPath, jsonSchema, {
3666
3674
  spaces: 2
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-3Y6AMHJ5.js');
2
2
 
3
3
 
4
- var _chunkVEIIPJHPjs = require('./chunk-VEIIPJHP.js');
4
+ var _chunkRL7Z5H6Yjs = require('./chunk-RL7Z5H6Y.js');
5
5
  require('./chunk-3DQG66DJ.js');
6
6
  require('./chunk-WTMG7MTK.js');
7
7
 
8
8
 
9
- exports.initGeneratorFn = _chunkVEIIPJHPjs.initGeneratorFn;
9
+ exports.initGeneratorFn = _chunkRL7Z5H6Yjs.initGeneratorFn;
@@ -1,7 +1,7 @@
1
1
  import "./chunk-M432POFH.mjs";
2
2
  import {
3
3
  initGeneratorFn
4
- } from "./chunk-K66SNYX5.mjs";
4
+ } from "./chunk-G4SMJQNI.mjs";
5
5
  import "./chunk-TTG4YCRZ.mjs";
6
6
  import "./chunk-MC42JFGZ.mjs";
7
7
  export {
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  var _chunkZ2UXMCUYjs = require('./chunk-Z2UXMCUY.js');
5
5
 
6
6
 
7
- var _chunkVEIIPJHPjs = require('./chunk-VEIIPJHP.js');
7
+ var _chunkRL7Z5H6Yjs = require('./chunk-RL7Z5H6Y.js');
8
8
  require('./chunk-3DQG66DJ.js');
9
9
 
10
10
 
@@ -16,10 +16,10 @@ var _chunkWTMG7MTKjs = require('./chunk-WTMG7MTK.js');
16
16
  // index.ts
17
17
  var index_exports = {};
18
18
  _chunkWTMG7MTKjs.__export.call(void 0, index_exports, {
19
- initGeneratorFn: () => _chunkVEIIPJHPjs.initGeneratorFn
19
+ initGeneratorFn: () => _chunkRL7Z5H6Yjs.initGeneratorFn
20
20
  });
21
21
  _chunkWTMG7MTKjs.init_cjs_shims.call(void 0, );
22
22
  _chunkWTMG7MTKjs.__reExport.call(void 0, index_exports, _chunkWTMG7MTKjs.__toESM.call(void 0, _chunkZ2UXMCUYjs.require_components.call(void 0, )));
23
23
 
24
24
 
25
- exports.initGeneratorFn = _chunkVEIIPJHPjs.initGeneratorFn;
25
+ exports.initGeneratorFn = _chunkRL7Z5H6Yjs.initGeneratorFn;
package/dist/index.mjs CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-WXKORI6N.mjs";
5
5
  import {
6
6
  initGeneratorFn
7
- } from "./chunk-K66SNYX5.mjs";
7
+ } from "./chunk-G4SMJQNI.mjs";
8
8
  import "./chunk-TTG4YCRZ.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 _chunkVEIIPJHPjs = require('../../../chunk-VEIIPJHP.js');
4
+ var _chunkRL7Z5H6Yjs = require('../../../chunk-RL7Z5H6Y.js');
5
5
  require('../../../chunk-3DQG66DJ.js');
6
6
  require('../../../chunk-WTMG7MTK.js');
7
7
 
8
8
 
9
9
 
10
- exports.default = _chunkVEIIPJHPjs.generator_default; exports.initGeneratorFn = _chunkVEIIPJHPjs.initGeneratorFn;
10
+ exports.default = _chunkRL7Z5H6Yjs.generator_default; exports.initGeneratorFn = _chunkRL7Z5H6Yjs.initGeneratorFn;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generator_default,
3
3
  initGeneratorFn
4
- } from "../../../chunk-K66SNYX5.mjs";
4
+ } from "../../../chunk-G4SMJQNI.mjs";
5
5
  import "../../../chunk-TTG4YCRZ.mjs";
6
6
  import "../../../chunk-MC42JFGZ.mjs";
7
7
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/projen",
3
- "version": "0.9.33",
3
+ "version": "0.9.35",
4
4
  "type": "commonjs",
5
5
  "description": "Tools for managing Projen configuration automation within a Nx workspace.",
6
6
  "repository": {