@storm-software/cloudflare-tools 0.65.16 → 0.65.17

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 - Cloudflare Tools
4
4
 
5
+ ## [0.65.16](https://github.com/storm-software/storm-ops/releases/tag/cloudflare-tools%400.65.16) (2025-09-06)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **monorepo:** Regenerate README markdown files
10
+ ([408b2adf7](https://github.com/storm-software/storm-ops/commit/408b2adf7))
11
+
5
12
  ## [0.65.15](https://github.com/storm-software/storm-ops/releases/tag/cloudflare-tools%400.65.15) (2025-09-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.65.14-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.65.15-1fb2a6.svg?style=for-the-badge&color=1fb2a6)](https://prettier.io/)&nbsp;[![Nx](https://img.shields.io/badge/Nx-17.0.2-lightgrey?style=for-the-badge&logo=nx&logoWidth=20&&color=1fb2a6)](http://nx.dev/)&nbsp;[![NextJs](https://img.shields.io/badge/Next.js-14.0.2-lightgrey?style=for-the-badge&logo=nextdotjs&logoWidth=20&color=1fb2a6)](https://nextjs.org/)&nbsp;[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg?style=for-the-badge&logo=commitlint&color=1fb2a6)](http://commitizen.github.io/cz-cli/)&nbsp;![Semantic-Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=for-the-badge&color=1fb2a6)&nbsp;[![documented with Fumadocs](https://img.shields.io/badge/documented_with-fumadocs-success.svg?style=for-the-badge&logo=readthedocs&color=1fb2a6)](https://fumadocs.vercel.app/)&nbsp;![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/storm-software/storm-ops/cr.yml?style=for-the-badge&logo=github-actions&color=1fb2a6)
25
25
 
26
26
  <!-- prettier-ignore-start -->
27
27
  <!-- markdownlint-disable -->
@@ -9,7 +9,7 @@ import {
9
9
  joinPaths,
10
10
  schemaRegistry,
11
11
  workspaceConfigSchema
12
- } from "./chunk-HHVUEOQK.mjs";
12
+ } from "./chunk-N5AGCLFI.mjs";
13
13
  import {
14
14
  formatLogMessage,
15
15
  getStopwatch,
@@ -1116,7 +1116,10 @@ async function esbuildExecutorFn(options, context, config) {
1116
1116
  }
1117
1117
  await build({
1118
1118
  ...options,
1119
- projectRoot: context.projectsConfigurations.projects?.[context.projectName].root,
1119
+ projectRoot: (
1120
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1121
+ context.projectsConfigurations.projects?.[context.projectName].root
1122
+ ),
1120
1123
  name: context.projectName,
1121
1124
  sourceRoot: context.projectsConfigurations.projects?.[context.projectName]?.sourceRoot,
1122
1125
  format: options.format,
@@ -1132,7 +1135,7 @@ var executor_default6 = withRunExecutor(
1132
1135
  {
1133
1136
  skipReadingConfig: false,
1134
1137
  hooks: {
1135
- applyDefaultOptions: async (options, config) => {
1138
+ applyDefaultOptions: async (options) => {
1136
1139
  options.entry ??= ["src/index.ts"];
1137
1140
  options.outputPath ??= "dist/{projectRoot}";
1138
1141
  options.tsconfig ??= "{projectRoot}/tsconfig.json";
@@ -2377,7 +2380,7 @@ var COMMIT_TYPES = {
2377
2380
  }
2378
2381
  }
2379
2382
  };
2380
- var DEFAULT_COMMIT_QUESTIONS = {
2383
+ var DEFAULT_MINIMAL_COMMIT_QUESTIONS = {
2381
2384
  type: {
2382
2385
  type: "select",
2383
2386
  title: "Commit Type",
@@ -2392,15 +2395,6 @@ var DEFAULT_COMMIT_QUESTIONS = {
2392
2395
  maxLength: 20,
2393
2396
  minLength: 3
2394
2397
  },
2395
- scope: {
2396
- type: "select",
2397
- title: "Commit Scope",
2398
- description: "Select the monorepo project that is primarily impacted by this change",
2399
- enum: {},
2400
- defaultValue: "monorepo",
2401
- maxLength: 50,
2402
- minLength: 1
2403
- },
2404
2398
  subject: {
2405
2399
  type: "input",
2406
2400
  title: "Commit Subject",
@@ -2443,6 +2437,72 @@ var DEFAULT_COMMIT_QUESTIONS = {
2443
2437
  minLength: 3
2444
2438
  }
2445
2439
  };
2440
+ var DEFAULT_MONOREPO_COMMIT_QUESTIONS = {
2441
+ type: DEFAULT_MINIMAL_COMMIT_QUESTIONS.type,
2442
+ scope: {
2443
+ type: "select",
2444
+ title: "Commit Scope",
2445
+ description: "Select the project that's the most impacted by this change",
2446
+ enum: {},
2447
+ defaultValue: "monorepo",
2448
+ maxLength: 50,
2449
+ minLength: 1
2450
+ },
2451
+ subject: DEFAULT_MINIMAL_COMMIT_QUESTIONS.subject,
2452
+ body: DEFAULT_MINIMAL_COMMIT_QUESTIONS.body,
2453
+ isBreaking: DEFAULT_MINIMAL_COMMIT_QUESTIONS.isBreaking,
2454
+ breakingBody: DEFAULT_MINIMAL_COMMIT_QUESTIONS.breakingBody,
2455
+ isIssueAffected: DEFAULT_MINIMAL_COMMIT_QUESTIONS.isIssueAffected,
2456
+ issuesBody: DEFAULT_MINIMAL_COMMIT_QUESTIONS.issuesBody
2457
+ };
2458
+ var DEFAULT_MINIMAL_COMMIT_RULES = {
2459
+ "body-leading-blank": [1 /* Warning */, "always"],
2460
+ "body-max-length": [2 /* Error */, "always", 600],
2461
+ "footer-leading-blank": [1 /* Warning */, "always"],
2462
+ "footer-max-line-length": [2 /* Error */, "always", 150],
2463
+ "header-max-length": [2 /* Error */, "always", 150],
2464
+ "header-trim": [2 /* Error */, "always"],
2465
+ "subject-case": [2 /* Error */, "always", ["sentence-case"]],
2466
+ "subject-empty": [2 /* Error */, "never"],
2467
+ "subject-full-stop": [2 /* Error */, "never", "."],
2468
+ "subject-max-length": [2 /* Error */, "always", 150],
2469
+ "subject-min-length": [2 /* Error */, "always", 3],
2470
+ "type-case": [2 /* Error */, "always", "kebab-case"],
2471
+ "type-empty": [2 /* Error */, "never"],
2472
+ "type-enum": [
2473
+ 2 /* Error */,
2474
+ "always",
2475
+ Object.keys(COMMIT_TYPES)
2476
+ ],
2477
+ "type-max-length": [2 /* Error */, "always", 20],
2478
+ "type-min-length": [2 /* Error */, "always", 3],
2479
+ "scope-case": 0 /* Disabled */,
2480
+ "scope-empty": 0 /* Disabled */
2481
+ };
2482
+ var DEFAULT_MONOREPO_COMMIT_RULES = {
2483
+ "body-leading-blank": [1 /* Warning */, "always"],
2484
+ "body-max-length": [2 /* Error */, "always", 600],
2485
+ "footer-leading-blank": [1 /* Warning */, "always"],
2486
+ "footer-max-line-length": [2 /* Error */, "always", 150],
2487
+ "header-max-length": [2 /* Error */, "always", 150],
2488
+ "header-trim": [2 /* Error */, "always"],
2489
+ "subject-case": [2 /* Error */, "always", ["sentence-case"]],
2490
+ "subject-empty": [2 /* Error */, "never"],
2491
+ "subject-full-stop": [2 /* Error */, "never", "."],
2492
+ "subject-max-length": [2 /* Error */, "always", 150],
2493
+ "subject-min-length": [2 /* Error */, "always", 3],
2494
+ "type-case": [2 /* Error */, "always", "kebab-case"],
2495
+ "type-empty": [2 /* Error */, "never"],
2496
+ "type-enum": [
2497
+ 2 /* Error */,
2498
+ "always",
2499
+ Object.keys(COMMIT_TYPES)
2500
+ ],
2501
+ "type-max-length": [2 /* Error */, "always", 20],
2502
+ "type-min-length": [2 /* Error */, "always", 3],
2503
+ "scope-case": [2 /* Error */, "always", ["kebab-case"]],
2504
+ "scope-empty": [2 /* Error */, "never"]
2505
+ };
2446
2506
 
2447
2507
  // ../workspace-tools/src/generators/release-version/generator.ts
2448
2508
  import { exec, execSync as execSync4 } from "node:child_process";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  findWorkspaceRoot,
11
11
  getConfig
12
- } from "./chunk-HHVUEOQK.mjs";
12
+ } from "./chunk-N5AGCLFI.mjs";
13
13
  import {
14
14
  writeDebug,
15
15
  writeInfo,
@@ -7,7 +7,7 @@ var require_package = _chunkMCKGQKYUjs.__commonJS.call(void 0, {
7
7
  "package.json"(exports, module) {
8
8
  module.exports = {
9
9
  name: "@storm-software/cloudflare-tools",
10
- version: "0.65.15",
10
+ version: "0.65.16",
11
11
  description: "A Nx plugin package that contains various executors, generators, and utilities that assist in managing Cloudflare services.",
12
12
  repository: {
13
13
  type: "github",
@@ -7,7 +7,7 @@ var require_package = __commonJS({
7
7
  "package.json"(exports, module) {
8
8
  module.exports = {
9
9
  name: "@storm-software/cloudflare-tools",
10
- version: "0.65.15",
10
+ version: "0.65.16",
11
11
  description: "A Nx plugin package that contains various executors, generators, and utilities that assist in managing Cloudflare services.",
12
12
  repository: {
13
13
  type: "github",
@@ -560,6 +560,13 @@ var workspaceDirectorySchema = z.object({
560
560
  schemaRegistry.add(workspaceDirectorySchema, {
561
561
  description: "Various directories used by the workspace to store data, cache, and configuration files"
562
562
  });
563
+ var variantSchema = z._default(
564
+ z.enum(["minimal", "monorepo"]),
565
+ "monorepo"
566
+ );
567
+ schemaRegistry.add(variantSchema, {
568
+ description: "The variant of the workspace. This can be used to enable or disable certain features or configurations."
569
+ });
563
570
  var errorCodesFileSchema = z._default(
564
571
  z.string().check(z.trim()),
565
572
  STORM_DEFAULT_ERROR_CODES_FILE
@@ -757,6 +764,7 @@ var workspaceConfigSchema = z.object({
757
764
  $schema: schemaNameSchema,
758
765
  extends: extendsSchema,
759
766
  name: nameSchema,
767
+ variant: variantSchema,
760
768
  namespace: namespaceSchema,
761
769
  organization: orgSchema,
762
770
  repository: repositorySchema,
@@ -999,6 +1007,7 @@ var getConfigEnv = () => {
999
1007
  let config = {
1000
1008
  extends: process.env[`${prefix}EXTENDS`] || void 0,
1001
1009
  name: process.env[`${prefix}NAME`] || void 0,
1010
+ variant: process.env[`${prefix}VARIANT`] || void 0,
1002
1011
  namespace: process.env[`${prefix}NAMESPACE`] || void 0,
1003
1012
  owner: process.env[`${prefix}OWNER`] || void 0,
1004
1013
  bot: {
@@ -1223,6 +1232,9 @@ var setConfigEnv = (config) => {
1223
1232
  if (config.name) {
1224
1233
  process.env[`${prefix}NAME`] = config.name;
1225
1234
  }
1235
+ if (config.variant) {
1236
+ process.env[`${prefix}VARIANT`] = config.variant;
1237
+ }
1226
1238
  if (config.namespace) {
1227
1239
  process.env[`${prefix}NAMESPACE`] = config.namespace;
1228
1240
  }
@@ -9,7 +9,7 @@ var _chunkNU34IEWNjs = require('./chunk-NU34IEWN.js');
9
9
 
10
10
 
11
11
 
12
- var _chunkHUZVQCWLjs = require('./chunk-HUZVQCWL.js');
12
+ var _chunkF7YMEAERjs = require('./chunk-F7YMEAER.js');
13
13
 
14
14
 
15
15
 
@@ -57,7 +57,7 @@ var applyWorkspaceBaseTokens = async (option, tokenParams) => {
57
57
  if (result.includes("{workspaceRoot}")) {
58
58
  result = result.replaceAll(
59
59
  "{workspaceRoot}",
60
- _nullishCoalesce(_nullishCoalesce(tokenParams.workspaceRoot, () => ( _optionalChain([tokenParams, 'access', _3 => _3.config, 'optionalAccess', _4 => _4.workspaceRoot]))), () => ( _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, )))
60
+ _nullishCoalesce(_nullishCoalesce(tokenParams.workspaceRoot, () => ( _optionalChain([tokenParams, 'access', _3 => _3.config, 'optionalAccess', _4 => _4.workspaceRoot]))), () => ( _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, )))
61
61
  );
62
62
  }
63
63
  return result;
@@ -106,7 +106,7 @@ var withRunExecutor = (name, executorFn, executorOptions = {}) => async (_option
106
106
  "The Build process failed because the context is not valid. Please run this command from a workspace."
107
107
  );
108
108
  }
109
- const workspaceRoot3 = _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, );
109
+ const workspaceRoot3 = _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, );
110
110
  const projectRoot = context.projectsConfigurations.projects[context.projectName].root || workspaceRoot3;
111
111
  const sourceRoot = context.projectsConfigurations.projects[context.projectName].sourceRoot || projectRoot || workspaceRoot3;
112
112
  const projectName = context.projectName;
@@ -122,7 +122,7 @@ var withRunExecutor = (name, executorFn, executorOptions = {}) => async (_option
122
122
  `,
123
123
  config
124
124
  );
125
- config = await _chunkHUZVQCWLjs.getConfig.call(void 0, workspaceRoot3);
125
+ config = await _chunkF7YMEAERjs.getConfig.call(void 0, workspaceRoot3);
126
126
  }
127
127
  if (_optionalChain([executorOptions, 'optionalAccess', _7 => _7.hooks, 'optionalAccess', _8 => _8.applyDefaultOptions])) {
128
128
  _chunk2CDSXWFAjs.writeDebug.call(void 0, "Running the applyDefaultOptions hook...", config);
@@ -503,7 +503,7 @@ var copyAssets = async (config, assets, outputPath, projectRoot, sourceRoot, gen
503
503
  }
504
504
  _chunk2CDSXWFAjs.writeTrace.call(void 0,
505
505
  `\u{1F4DD} Copying the following assets to the output directory:
506
- ${pendingAssets.map((pendingAsset) => typeof pendingAsset === "string" ? ` - ${pendingAsset} -> ${outputPath}` : ` - ${pendingAsset.input}/${pendingAsset.glob} -> ${_chunkHUZVQCWLjs.joinPaths.call(void 0, outputPath, pendingAsset.output)}`).join("\n")}`,
506
+ ${pendingAssets.map((pendingAsset) => typeof pendingAsset === "string" ? ` - ${pendingAsset} -> ${outputPath}` : ` - ${pendingAsset.input}/${pendingAsset.glob} -> ${_chunkF7YMEAERjs.joinPaths.call(void 0, outputPath, pendingAsset.output)}`).join("\n")}`,
507
507
  config
508
508
  );
509
509
  const assetHandler = new (0, _copyassetshandler.CopyAssetsHandler)({
@@ -516,17 +516,17 @@ ${pendingAssets.map((pendingAsset) => typeof pendingAsset === "string" ? ` - ${p
516
516
  _chunk2CDSXWFAjs.writeTrace.call(void 0, "Completed copying assets to the output directory", config);
517
517
  if (includeSrc === true) {
518
518
  _chunk2CDSXWFAjs.writeDebug.call(void 0,
519
- `\u{1F4DD} Adding banner and writing source files: ${_chunkHUZVQCWLjs.joinPaths.call(void 0,
519
+ `\u{1F4DD} Adding banner and writing source files: ${_chunkF7YMEAERjs.joinPaths.call(void 0,
520
520
  outputPath,
521
521
  "src"
522
522
  )}`,
523
523
  config
524
524
  );
525
525
  const files = await _glob.glob.call(void 0, [
526
- _chunkHUZVQCWLjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.ts"),
527
- _chunkHUZVQCWLjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.tsx"),
528
- _chunkHUZVQCWLjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.js"),
529
- _chunkHUZVQCWLjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.jsx")
526
+ _chunkF7YMEAERjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.ts"),
527
+ _chunkF7YMEAERjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.tsx"),
528
+ _chunkF7YMEAERjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.js"),
529
+ _chunkF7YMEAERjs.joinPaths.call(void 0, config.workspaceRoot, outputPath, "src/**/*.jsx")
530
530
  ]);
531
531
  await Promise.allSettled(
532
532
  files.map(
@@ -581,7 +581,7 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
581
581
  )) {
582
582
  const projectNode = project.node;
583
583
  if (projectNode.data.root) {
584
- const projectPackageJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0,
584
+ const projectPackageJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0,
585
585
  workspaceRoot3,
586
586
  projectNode.data.root,
587
587
  "package.json"
@@ -603,7 +603,7 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
603
603
  `\u{1F4E6} Adding local packages to package.json: ${localPackages.map((p) => p.name).join(", ")}`
604
604
  );
605
605
  const projectJsonFile = await _promises.readFile.call(void 0,
606
- _chunkHUZVQCWLjs.joinPaths.call(void 0, projectRoot, "project.json"),
606
+ _chunkF7YMEAERjs.joinPaths.call(void 0, projectRoot, "project.json"),
607
607
  "utf8"
608
608
  );
609
609
  const projectJson = JSON.parse(projectJsonFile);
@@ -616,7 +616,7 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
616
616
  }
617
617
  const implicitDependencies = _optionalChain([projectConfigurations, 'access', _37 => _37.projects, 'optionalAccess', _38 => _38[projectName2], 'access', _39 => _39.implicitDependencies, 'optionalAccess', _40 => _40.reduce, 'call', _41 => _41((ret, dep) => {
618
618
  if (_optionalChain([projectConfigurations, 'access', _42 => _42.projects, 'optionalAccess', _43 => _43[dep]])) {
619
- const depPackageJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0,
619
+ const depPackageJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0,
620
620
  workspaceRoot3,
621
621
  projectConfigurations.projects[dep].root,
622
622
  "package.json"
@@ -652,9 +652,9 @@ var addPackageDependencies = async (workspaceRoot3, projectRoot, projectName, pa
652
652
  return packageJson;
653
653
  };
654
654
  var addWorkspacePackageJsonFields = async (workspaceConfig, projectRoot, sourceRoot, projectName, includeSrc = false, packageJson) => {
655
- const workspaceRoot3 = workspaceConfig.workspaceRoot ? workspaceConfig.workspaceRoot : _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, );
655
+ const workspaceRoot3 = workspaceConfig.workspaceRoot ? workspaceConfig.workspaceRoot : _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, );
656
656
  const workspacePackageJsonContent = await _promises.readFile.call(void 0,
657
- _chunkHUZVQCWLjs.joinPaths.call(void 0, workspaceRoot3, "package.json"),
657
+ _chunkF7YMEAERjs.joinPaths.call(void 0, workspaceRoot3, "package.json"),
658
658
  "utf8"
659
659
  );
660
660
  const workspacePackageJson = JSON.parse(workspacePackageJsonContent);
@@ -665,7 +665,7 @@ var addWorkspacePackageJsonFields = async (workspaceConfig, projectRoot, sourceR
665
665
  if (distSrc.startsWith("/")) {
666
666
  distSrc = distSrc.substring(1);
667
667
  }
668
- packageJson.source ??= `${_chunkHUZVQCWLjs.joinPaths.call(void 0, distSrc, "index.ts").replaceAll("\\", "/")}`;
668
+ packageJson.source ??= `${_chunkF7YMEAERjs.joinPaths.call(void 0, distSrc, "index.ts").replaceAll("\\", "/")}`;
669
669
  }
670
670
  packageJson.files ??= ["dist/**/*"];
671
671
  if (includeSrc === true && !packageJson.files.includes("src")) {
@@ -690,7 +690,7 @@ var addWorkspacePackageJsonFields = async (workspaceConfig, projectRoot, sourceR
690
690
  packageJson.contributors = [packageJson.author];
691
691
  }
692
692
  packageJson.repository ??= workspacePackageJson.repository;
693
- packageJson.repository.directory ??= projectRoot ? projectRoot : _chunkHUZVQCWLjs.joinPaths.call(void 0, "packages", projectName);
693
+ packageJson.repository.directory ??= projectRoot ? projectRoot : _chunkF7YMEAERjs.joinPaths.call(void 0, "packages", projectName);
694
694
  return packageJson;
695
695
  };
696
696
 
@@ -809,7 +809,7 @@ async function resolveContext(userOptions) {
809
809
  if (!workspaceRoot3) {
810
810
  throw new Error("Cannot find Nx workspace root");
811
811
  }
812
- const workspaceConfig = await _chunkHUZVQCWLjs.getWorkspaceConfig.call(void 0, true, {
812
+ const workspaceConfig = await _chunkF7YMEAERjs.getWorkspaceConfig.call(void 0, true, {
813
813
  workspaceRoot: workspaceRoot3.dir
814
814
  });
815
815
  _chunk2CDSXWFAjs.writeDebug.call(void 0, " \u2699\uFE0F Resolving build options", workspaceConfig);
@@ -817,7 +817,7 @@ async function resolveContext(userOptions) {
817
817
  const projectGraph = await _devkit.createProjectGraphAsync.call(void 0, {
818
818
  exitOnError: true
819
819
  });
820
- const projectJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0,
820
+ const projectJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0,
821
821
  workspaceRoot3.dir,
822
822
  projectRoot,
823
823
  "project.json"
@@ -836,7 +836,7 @@ async function resolveContext(userOptions) {
836
836
  }
837
837
  const options = _defu2.default.call(void 0, userOptions, DEFAULT_BUILD_OPTIONS);
838
838
  options.name ??= projectName;
839
- const packageJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0,
839
+ const packageJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0,
840
840
  workspaceRoot3.dir,
841
841
  options.projectRoot,
842
842
  "package.json"
@@ -848,7 +848,7 @@ async function resolveContext(userOptions) {
848
848
  const define = _defu2.default.call(void 0, _nullishCoalesce(options.define, () => ( {})), _nullishCoalesce(env, () => ( {})));
849
849
  const resolvedOptions = {
850
850
  ...options,
851
- tsconfig: userOptions.tsconfig === null ? void 0 : userOptions.tsconfig ? userOptions.tsconfig : _chunkHUZVQCWLjs.joinPaths.call(void 0, workspaceRoot3.dir, projectRoot, "tsconfig.json"),
851
+ tsconfig: userOptions.tsconfig === null ? void 0 : userOptions.tsconfig ? userOptions.tsconfig : _chunkF7YMEAERjs.joinPaths.call(void 0, workspaceRoot3.dir, projectRoot, "tsconfig.json"),
852
852
  metafile: userOptions.mode === "development",
853
853
  clean: false,
854
854
  env,
@@ -873,8 +873,8 @@ async function resolveContext(userOptions) {
873
873
  projectConfigurations,
874
874
  projectName,
875
875
  projectGraph,
876
- sourceRoot: resolvedOptions.sourceRoot || projectJson.sourceRoot || _chunkHUZVQCWLjs.joinPaths.call(void 0, resolvedOptions.projectRoot, "src"),
877
- outputPath: resolvedOptions.outputPath || _chunkHUZVQCWLjs.joinPaths.call(void 0,
876
+ sourceRoot: resolvedOptions.sourceRoot || projectJson.sourceRoot || _chunkF7YMEAERjs.joinPaths.call(void 0, resolvedOptions.projectRoot, "src"),
877
+ outputPath: resolvedOptions.outputPath || _chunkF7YMEAERjs.joinPaths.call(void 0,
878
878
  workspaceConfig.workspaceRoot,
879
879
  "dist",
880
880
  resolvedOptions.projectRoot
@@ -898,10 +898,10 @@ ${_chunk2CDSXWFAjs.formatLogMessage.call(void 0, context.options)}`,
898
898
 
899
899
 
900
900
  async function generatePackageJson(context) {
901
- if (context.options.generatePackageJson !== false && _fs.existsSync.call(void 0, _chunkHUZVQCWLjs.joinPaths.call(void 0, context.options.projectRoot, "package.json"))) {
901
+ if (context.options.generatePackageJson !== false && _fs.existsSync.call(void 0, _chunkF7YMEAERjs.joinPaths.call(void 0, context.options.projectRoot, "package.json"))) {
902
902
  _chunk2CDSXWFAjs.writeDebug.call(void 0, " \u270D\uFE0F Writing package.json file", context.workspaceConfig);
903
903
  const stopwatch = _chunk2CDSXWFAjs.getStopwatch.call(void 0, "Write package.json file");
904
- const packageJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0,
904
+ const packageJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0,
905
905
  context.options.projectRoot,
906
906
  "project.json"
907
907
  );
@@ -909,7 +909,7 @@ async function generatePackageJson(context) {
909
909
  throw new Error("Cannot find package.json configuration");
910
910
  }
911
911
  const packageJsonFile = await _promises2.default.readFile(
912
- _chunkHUZVQCWLjs.joinPaths.call(void 0,
912
+ _chunkF7YMEAERjs.joinPaths.call(void 0,
913
913
  context.workspaceConfig.workspaceRoot,
914
914
  context.options.projectRoot,
915
915
  "package.json"
@@ -1015,7 +1015,7 @@ async function generatePackageJson(context) {
1015
1015
  }
1016
1016
  }
1017
1017
  await _devkit.writeJsonFile.call(void 0,
1018
- _chunkHUZVQCWLjs.joinPaths.call(void 0, context.outputPath, "package.json"),
1018
+ _chunkF7YMEAERjs.joinPaths.call(void 0, context.outputPath, "package.json"),
1019
1019
  packageJson
1020
1020
  );
1021
1021
  stopwatch();
@@ -1033,7 +1033,7 @@ async function executeTsup(context) {
1033
1033
  const stopwatch = _chunk2CDSXWFAjs.getStopwatch.call(void 0, `${context.options.name} build`);
1034
1034
  await _tsup.build.call(void 0, {
1035
1035
  ...context.options,
1036
- outDir: context.options.distDir ? _chunkHUZVQCWLjs.joinPaths.call(void 0, context.outputPath, context.options.distDir) : context.outputPath,
1036
+ outDir: context.options.distDir ? _chunkF7YMEAERjs.joinPaths.call(void 0, context.outputPath, context.options.distDir) : context.outputPath,
1037
1037
  workspaceConfig: context.workspaceConfig
1038
1038
  });
1039
1039
  stopwatch();
@@ -1113,7 +1113,10 @@ async function esbuildExecutorFn(options, context, config) {
1113
1113
  }
1114
1114
  await build({
1115
1115
  ...options,
1116
- projectRoot: _optionalChain([context, 'access', _74 => _74.projectsConfigurations, 'access', _75 => _75.projects, 'optionalAccess', _76 => _76[context.projectName], 'access', _77 => _77.root]),
1116
+ projectRoot: (
1117
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1118
+ _optionalChain([context, 'access', _74 => _74.projectsConfigurations, 'access', _75 => _75.projects, 'optionalAccess', _76 => _76[context.projectName], 'access', _77 => _77.root])
1119
+ ),
1117
1120
  name: context.projectName,
1118
1121
  sourceRoot: _optionalChain([context, 'access', _78 => _78.projectsConfigurations, 'access', _79 => _79.projects, 'optionalAccess', _80 => _80[context.projectName], 'optionalAccess', _81 => _81.sourceRoot]),
1119
1122
  format: options.format,
@@ -1129,7 +1132,7 @@ var executor_default6 = withRunExecutor(
1129
1132
  {
1130
1133
  skipReadingConfig: false,
1131
1134
  hooks: {
1132
- applyDefaultOptions: async (options, config) => {
1135
+ applyDefaultOptions: async (options) => {
1133
1136
  options.entry ??= ["src/index.ts"];
1134
1137
  options.outputPath ??= "dist/{projectRoot}";
1135
1138
  options.tsconfig ??= "{projectRoot}/tsconfig.json";
@@ -1258,7 +1261,7 @@ async function unbuildExecutorFn(options, context, config) {
1258
1261
  );
1259
1262
  }
1260
1263
  const jiti = _jiti.createJiti.call(void 0, config.workspaceRoot, {
1261
- fsCache: config.skipCache ? false : _chunkHUZVQCWLjs.joinPaths.call(void 0,
1264
+ fsCache: config.skipCache ? false : _chunkF7YMEAERjs.joinPaths.call(void 0,
1262
1265
  config.workspaceRoot,
1263
1266
  config.directories.cache || "node_modules/.cache/storm",
1264
1267
  "jiti"
@@ -1280,7 +1283,7 @@ async function unbuildExecutorFn(options, context, config) {
1280
1283
  {
1281
1284
  stubOptions: {
1282
1285
  jiti: {
1283
- fsCache: config.skipCache ? false : _chunkHUZVQCWLjs.joinPaths.call(void 0,
1286
+ fsCache: config.skipCache ? false : _chunkF7YMEAERjs.joinPaths.call(void 0,
1284
1287
  config.workspaceRoot,
1285
1288
  config.directories.cache || "node_modules/.cache/storm",
1286
1289
  "jiti"
@@ -1347,14 +1350,14 @@ var withRunGenerator = (name, generatorFn, generatorOptions = {
1347
1350
  _chunk2CDSXWFAjs.writeInfo.call(void 0, `\u26A1 Running the ${name} generator...
1348
1351
 
1349
1352
  `, config);
1350
- const workspaceRoot3 = _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, );
1353
+ const workspaceRoot3 = _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, );
1351
1354
  if (!generatorOptions.skipReadingConfig) {
1352
1355
  _chunk2CDSXWFAjs.writeDebug.call(void 0,
1353
1356
  `Loading the Storm Config from environment variables and storm.config.js file...
1354
1357
  - workspaceRoot: ${workspaceRoot3}`,
1355
1358
  config
1356
1359
  );
1357
- config = await _chunkHUZVQCWLjs.getConfig.call(void 0, workspaceRoot3);
1360
+ config = await _chunkF7YMEAERjs.getConfig.call(void 0, workspaceRoot3);
1358
1361
  }
1359
1362
  if (_optionalChain([generatorOptions, 'optionalAccess', _95 => _95.hooks, 'optionalAccess', _96 => _96.applyDefaultOptions])) {
1360
1363
  _chunk2CDSXWFAjs.writeDebug.call(void 0, "Running the applyDefaultOptions hook...", config);
@@ -1473,16 +1476,16 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
1473
1476
  const projectConfig = {
1474
1477
  root: normalized.directory,
1475
1478
  projectType: "library",
1476
- sourceRoot: _chunkHUZVQCWLjs.joinPaths.call(void 0, _nullishCoalesce(normalized.directory, () => ( "")), "src"),
1479
+ sourceRoot: _chunkF7YMEAERjs.joinPaths.call(void 0, _nullishCoalesce(normalized.directory, () => ( "")), "src"),
1477
1480
  targets: {
1478
1481
  build: {
1479
1482
  executor: options.buildExecutor,
1480
1483
  outputs: ["{options.outputPath}"],
1481
1484
  options: {
1482
- entry: [_chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "src", "index.ts")],
1485
+ entry: [_chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "src", "index.ts")],
1483
1486
  outputPath: getOutputPath(normalized),
1484
- tsconfig: _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "tsconfig.json"),
1485
- project: _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "package.json"),
1487
+ tsconfig: _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "tsconfig.json"),
1488
+ project: _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "package.json"),
1486
1489
  defaultConfiguration: "production",
1487
1490
  platform: "neutral",
1488
1491
  assets: [
@@ -1539,7 +1542,7 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
1539
1542
  if (!normalized.importPath) {
1540
1543
  normalized.importPath = normalized.name;
1541
1544
  }
1542
- const packageJsonPath = _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "package.json");
1545
+ const packageJsonPath = _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "package.json");
1543
1546
  if (tree.exists(packageJsonPath)) {
1544
1547
  _devkit.updateJson.call(void 0, tree, packageJsonPath, (json) => {
1545
1548
  if (!normalized.importPath) {
@@ -1596,14 +1599,14 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
1596
1599
  }));
1597
1600
  }
1598
1601
  _js.addTsConfigPath.call(void 0, tree, normalized.importPath, [
1599
- _chunkHUZVQCWLjs.joinPaths.call(void 0,
1602
+ _chunkF7YMEAERjs.joinPaths.call(void 0,
1600
1603
  normalized.projectRoot,
1601
1604
  "./src",
1602
1605
  `index.${normalized.js ? "js" : "ts"}`
1603
1606
  )
1604
1607
  ]);
1605
- _js.addTsConfigPath.call(void 0, tree, _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.importPath, "/*"), [
1606
- _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "./src", "/*")
1608
+ _js.addTsConfigPath.call(void 0, tree, _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.importPath, "/*"), [
1609
+ _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "./src", "/*")
1607
1610
  ]);
1608
1611
  if (tree.exists("package.json")) {
1609
1612
  const packageJson = _devkit.readJson.call(void 0, tree, "package.json");
@@ -1614,7 +1617,7 @@ async function typeScriptLibraryGeneratorFn(tree, options, config) {
1614
1617
  description = packageJson.description;
1615
1618
  }
1616
1619
  }
1617
- const tsconfigPath = _chunkHUZVQCWLjs.joinPaths.call(void 0, normalized.projectRoot, "tsconfig.json");
1620
+ const tsconfigPath = _chunkF7YMEAERjs.joinPaths.call(void 0, normalized.projectRoot, "tsconfig.json");
1618
1621
  if (tree.exists(tsconfigPath)) {
1619
1622
  _devkit.updateJson.call(void 0, tree, tsconfigPath, (json) => {
1620
1623
  json.composite ??= true;
@@ -1642,7 +1645,7 @@ function getOutputPath(options) {
1642
1645
  } else {
1643
1646
  parts.push(options.projectRoot);
1644
1647
  }
1645
- return _chunkHUZVQCWLjs.joinPaths.call(void 0, ...parts);
1648
+ return _chunkF7YMEAERjs.joinPaths.call(void 0, ...parts);
1646
1649
  }
1647
1650
  function createProjectTsConfigJson(tree, options) {
1648
1651
  const tsconfig = {
@@ -1650,7 +1653,7 @@ function createProjectTsConfigJson(tree, options) {
1650
1653
  ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _124 => _124.tsconfigOptions]), () => ( {})),
1651
1654
  compilerOptions: {
1652
1655
  ...options.rootProject ? _js.tsConfigBaseOptions : {},
1653
- outDir: _chunkHUZVQCWLjs.joinPaths.call(void 0, _devkit.offsetFromRoot.call(void 0, options.projectRoot), "dist/out-tsc"),
1656
+ outDir: _chunkF7YMEAERjs.joinPaths.call(void 0, _devkit.offsetFromRoot.call(void 0, options.projectRoot), "dist/out-tsc"),
1654
1657
  noEmit: true,
1655
1658
  ..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _125 => _125.tsconfigOptions, 'optionalAccess', _126 => _126.compilerOptions]), () => ( {}))
1656
1659
  },
@@ -1668,7 +1671,7 @@ function createProjectTsConfigJson(tree, options) {
1668
1671
  "src/**/*.test.ts"
1669
1672
  ]
1670
1673
  };
1671
- _devkit.writeJson.call(void 0, tree, _chunkHUZVQCWLjs.joinPaths.call(void 0, options.projectRoot, "tsconfig.json"), tsconfig);
1674
+ _devkit.writeJson.call(void 0, tree, _chunkF7YMEAERjs.joinPaths.call(void 0, options.projectRoot, "tsconfig.json"), tsconfig);
1672
1675
  }
1673
1676
  async function normalizeOptions(tree, options, config) {
1674
1677
  let importPath = options.importPath;
@@ -1733,7 +1736,7 @@ async function normalizeOptions(tree, options, config) {
1733
1736
 
1734
1737
  // ../workspace-tools/src/generators/browser-library/generator.ts
1735
1738
  async function browserLibraryGeneratorFn(tree, schema, config) {
1736
- const filesDir = _chunkHUZVQCWLjs.joinPaths.call(void 0,
1739
+ const filesDir = _chunkF7YMEAERjs.joinPaths.call(void 0,
1737
1740
  __dirname,
1738
1741
  "src",
1739
1742
  "generators",
@@ -1824,9 +1827,9 @@ async function configSchemaGeneratorFn(tree, options, config) {
1824
1827
  `Determining the Storm Workspace Configuration JSON Schema...`,
1825
1828
  config
1826
1829
  );
1827
- const jsonSchema = z.toJSONSchema(_chunkHUZVQCWLjs.workspaceConfigSchema, {
1830
+ const jsonSchema = z.toJSONSchema(_chunkF7YMEAERjs.workspaceConfigSchema, {
1828
1831
  target: "draft-7",
1829
- metadata: _chunkHUZVQCWLjs.schemaRegistry
1832
+ metadata: _chunkF7YMEAERjs.schemaRegistry
1830
1833
  });
1831
1834
  jsonSchema.$id ??= "https://public.storm-cdn.com/schemas/storm-workspace.schema.json";
1832
1835
  jsonSchema.title ??= "Storm Workspace Configuration JSON Schema";
@@ -1838,7 +1841,7 @@ async function configSchemaGeneratorFn(tree, options, config) {
1838
1841
  );
1839
1842
  }
1840
1843
  const outputPath = options.outputFile.replaceAll("{workspaceRoot}", "").replaceAll(
1841
- _nullishCoalesce(_optionalChain([config, 'optionalAccess', _135 => _135.workspaceRoot]), () => ( _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, ))),
1844
+ _nullishCoalesce(_optionalChain([config, 'optionalAccess', _135 => _135.workspaceRoot]), () => ( _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, ))),
1842
1845
  options.outputFile.startsWith("./") ? "" : "./"
1843
1846
  );
1844
1847
  _chunk2CDSXWFAjs.writeTrace.call(void 0,
@@ -1882,7 +1885,7 @@ var generator_default2 = withRunGenerator(
1882
1885
 
1883
1886
 
1884
1887
  async function neutralLibraryGeneratorFn(tree, schema, config) {
1885
- const filesDir = _chunkHUZVQCWLjs.joinPaths.call(void 0,
1888
+ const filesDir = _chunkF7YMEAERjs.joinPaths.call(void 0,
1886
1889
  __dirname,
1887
1890
  "src",
1888
1891
  "generators",
@@ -1941,7 +1944,7 @@ var generator_default3 = withRunGenerator(
1941
1944
 
1942
1945
 
1943
1946
  async function nodeLibraryGeneratorFn(tree, schema, config) {
1944
- const filesDir = _chunkHUZVQCWLjs.joinPaths.call(void 0,
1947
+ const filesDir = _chunkF7YMEAERjs.joinPaths.call(void 0,
1945
1948
  __dirname,
1946
1949
  "src",
1947
1950
  "generators",
@@ -2374,7 +2377,7 @@ var COMMIT_TYPES = {
2374
2377
  }
2375
2378
  }
2376
2379
  };
2377
- var DEFAULT_COMMIT_QUESTIONS = {
2380
+ var DEFAULT_MINIMAL_COMMIT_QUESTIONS = {
2378
2381
  type: {
2379
2382
  type: "select",
2380
2383
  title: "Commit Type",
@@ -2389,15 +2392,6 @@ var DEFAULT_COMMIT_QUESTIONS = {
2389
2392
  maxLength: 20,
2390
2393
  minLength: 3
2391
2394
  },
2392
- scope: {
2393
- type: "select",
2394
- title: "Commit Scope",
2395
- description: "Select the monorepo project that is primarily impacted by this change",
2396
- enum: {},
2397
- defaultValue: "monorepo",
2398
- maxLength: 50,
2399
- minLength: 1
2400
- },
2401
2395
  subject: {
2402
2396
  type: "input",
2403
2397
  title: "Commit Subject",
@@ -2440,6 +2434,72 @@ var DEFAULT_COMMIT_QUESTIONS = {
2440
2434
  minLength: 3
2441
2435
  }
2442
2436
  };
2437
+ var DEFAULT_MONOREPO_COMMIT_QUESTIONS = {
2438
+ type: DEFAULT_MINIMAL_COMMIT_QUESTIONS.type,
2439
+ scope: {
2440
+ type: "select",
2441
+ title: "Commit Scope",
2442
+ description: "Select the project that's the most impacted by this change",
2443
+ enum: {},
2444
+ defaultValue: "monorepo",
2445
+ maxLength: 50,
2446
+ minLength: 1
2447
+ },
2448
+ subject: DEFAULT_MINIMAL_COMMIT_QUESTIONS.subject,
2449
+ body: DEFAULT_MINIMAL_COMMIT_QUESTIONS.body,
2450
+ isBreaking: DEFAULT_MINIMAL_COMMIT_QUESTIONS.isBreaking,
2451
+ breakingBody: DEFAULT_MINIMAL_COMMIT_QUESTIONS.breakingBody,
2452
+ isIssueAffected: DEFAULT_MINIMAL_COMMIT_QUESTIONS.isIssueAffected,
2453
+ issuesBody: DEFAULT_MINIMAL_COMMIT_QUESTIONS.issuesBody
2454
+ };
2455
+ var DEFAULT_MINIMAL_COMMIT_RULES = {
2456
+ "body-leading-blank": [1 /* Warning */, "always"],
2457
+ "body-max-length": [2 /* Error */, "always", 600],
2458
+ "footer-leading-blank": [1 /* Warning */, "always"],
2459
+ "footer-max-line-length": [2 /* Error */, "always", 150],
2460
+ "header-max-length": [2 /* Error */, "always", 150],
2461
+ "header-trim": [2 /* Error */, "always"],
2462
+ "subject-case": [2 /* Error */, "always", ["sentence-case"]],
2463
+ "subject-empty": [2 /* Error */, "never"],
2464
+ "subject-full-stop": [2 /* Error */, "never", "."],
2465
+ "subject-max-length": [2 /* Error */, "always", 150],
2466
+ "subject-min-length": [2 /* Error */, "always", 3],
2467
+ "type-case": [2 /* Error */, "always", "kebab-case"],
2468
+ "type-empty": [2 /* Error */, "never"],
2469
+ "type-enum": [
2470
+ 2 /* Error */,
2471
+ "always",
2472
+ Object.keys(COMMIT_TYPES)
2473
+ ],
2474
+ "type-max-length": [2 /* Error */, "always", 20],
2475
+ "type-min-length": [2 /* Error */, "always", 3],
2476
+ "scope-case": 0 /* Disabled */,
2477
+ "scope-empty": 0 /* Disabled */
2478
+ };
2479
+ var DEFAULT_MONOREPO_COMMIT_RULES = {
2480
+ "body-leading-blank": [1 /* Warning */, "always"],
2481
+ "body-max-length": [2 /* Error */, "always", 600],
2482
+ "footer-leading-blank": [1 /* Warning */, "always"],
2483
+ "footer-max-line-length": [2 /* Error */, "always", 150],
2484
+ "header-max-length": [2 /* Error */, "always", 150],
2485
+ "header-trim": [2 /* Error */, "always"],
2486
+ "subject-case": [2 /* Error */, "always", ["sentence-case"]],
2487
+ "subject-empty": [2 /* Error */, "never"],
2488
+ "subject-full-stop": [2 /* Error */, "never", "."],
2489
+ "subject-max-length": [2 /* Error */, "always", 150],
2490
+ "subject-min-length": [2 /* Error */, "always", 3],
2491
+ "type-case": [2 /* Error */, "always", "kebab-case"],
2492
+ "type-empty": [2 /* Error */, "never"],
2493
+ "type-enum": [
2494
+ 2 /* Error */,
2495
+ "always",
2496
+ Object.keys(COMMIT_TYPES)
2497
+ ],
2498
+ "type-max-length": [2 /* Error */, "always", 20],
2499
+ "type-min-length": [2 /* Error */, "always", 3],
2500
+ "scope-case": [2 /* Error */, "always", ["kebab-case"]],
2501
+ "scope-empty": [2 /* Error */, "never"]
2502
+ };
2443
2503
 
2444
2504
  // ../workspace-tools/src/generators/release-version/generator.ts
2445
2505
 
@@ -560,6 +560,13 @@ var workspaceDirectorySchema = z.object({
560
560
  schemaRegistry.add(workspaceDirectorySchema, {
561
561
  description: "Various directories used by the workspace to store data, cache, and configuration files"
562
562
  });
563
+ var variantSchema = z._default(
564
+ z.enum(["minimal", "monorepo"]),
565
+ "monorepo"
566
+ );
567
+ schemaRegistry.add(variantSchema, {
568
+ description: "The variant of the workspace. This can be used to enable or disable certain features or configurations."
569
+ });
563
570
  var errorCodesFileSchema = z._default(
564
571
  z.string().check(z.trim()),
565
572
  STORM_DEFAULT_ERROR_CODES_FILE
@@ -757,6 +764,7 @@ var workspaceConfigSchema = z.object({
757
764
  $schema: schemaNameSchema,
758
765
  extends: extendsSchema,
759
766
  name: nameSchema,
767
+ variant: variantSchema,
760
768
  namespace: namespaceSchema,
761
769
  organization: orgSchema,
762
770
  repository: repositorySchema,
@@ -999,6 +1007,7 @@ var getConfigEnv = () => {
999
1007
  let config = {
1000
1008
  extends: process.env[`${prefix}EXTENDS`] || void 0,
1001
1009
  name: process.env[`${prefix}NAME`] || void 0,
1010
+ variant: process.env[`${prefix}VARIANT`] || void 0,
1002
1011
  namespace: process.env[`${prefix}NAMESPACE`] || void 0,
1003
1012
  owner: process.env[`${prefix}OWNER`] || void 0,
1004
1013
  bot: {
@@ -1223,6 +1232,9 @@ var setConfigEnv = (config) => {
1223
1232
  if (config.name) {
1224
1233
  process.env[`${prefix}NAME`] = config.name;
1225
1234
  }
1235
+ if (config.variant) {
1236
+ process.env[`${prefix}VARIANT`] = config.variant;
1237
+ }
1226
1238
  if (config.namespace) {
1227
1239
  process.env[`${prefix}NAMESPACE`] = config.namespace;
1228
1240
  }
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  generator_default
3
- } from "./chunk-UOGXARNZ.mjs";
3
+ } from "./chunk-EWBGTFGC.mjs";
4
4
  import {
5
5
  findWorkspaceRoot,
6
6
  getConfig
7
- } from "./chunk-HHVUEOQK.mjs";
7
+ } from "./chunk-N5AGCLFI.mjs";
8
8
  import {
9
9
  getStopwatch,
10
10
  writeDebug,
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkSPWVVSK7js = require('./chunk-SPWVVSK7.js');
3
+ var _chunkDZS3THFQjs = require('./chunk-DZS3THFQ.js');
4
4
 
5
5
 
6
6
 
7
- var _chunkHUZVQCWLjs = require('./chunk-HUZVQCWL.js');
7
+ var _chunkF7YMEAERjs = require('./chunk-F7YMEAER.js');
8
8
 
9
9
 
10
10
 
@@ -51,13 +51,13 @@ async function applicationGenerator(tree, schema) {
51
51
  _chunk2CDSXWFAjs.writeInfo.call(void 0, `\u26A1 Running the Storm Worker generator...
52
52
 
53
53
  `, config);
54
- const workspaceRoot = _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, );
54
+ const workspaceRoot = _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, );
55
55
  _chunk2CDSXWFAjs.writeDebug.call(void 0,
56
56
  `Loading the Storm Config from environment variables and storm.json file...
57
57
  - workspaceRoot: ${workspaceRoot}`,
58
58
  config
59
59
  );
60
- config = await _chunkHUZVQCWLjs.getConfig.call(void 0, workspaceRoot);
60
+ config = await _chunkF7YMEAERjs.getConfig.call(void 0, workspaceRoot);
61
61
  _chunk2CDSXWFAjs.writeTrace.call(void 0,
62
62
  `Loaded Storm config into env:
63
63
  ${Object.keys(process.env).map((key) => ` - ${key}=${JSON.stringify(process.env[key])}`).join("\n")}`,
@@ -66,7 +66,7 @@ ${Object.keys(process.env).map((key) => ` - ${key}=${JSON.stringify(process.env[
66
66
  const options = await normalizeOptions(tree, schema, config);
67
67
  const tasks = [];
68
68
  tasks.push(
69
- await _chunkSPWVVSK7js.generator_default.call(void 0, tree, {
69
+ await _chunkDZS3THFQjs.generator_default.call(void 0, tree, {
70
70
  ...options,
71
71
  skipFormat: true
72
72
  })
@@ -9,7 +9,7 @@ var _chunkNU34IEWNjs = require('./chunk-NU34IEWN.js');
9
9
 
10
10
 
11
11
 
12
- var _chunkHUZVQCWLjs = require('./chunk-HUZVQCWL.js');
12
+ var _chunkF7YMEAERjs = require('./chunk-F7YMEAER.js');
13
13
 
14
14
 
15
15
 
@@ -39,8 +39,8 @@ async function runExecutor(options, context) {
39
39
  throw new Error("The executor requires projectsConfigurations.");
40
40
  }
41
41
  try {
42
- const workspaceRoot = _chunkHUZVQCWLjs.findWorkspaceRoot.call(void 0, );
43
- const config = await _chunkHUZVQCWLjs.getConfig.call(void 0, workspaceRoot);
42
+ const workspaceRoot = _chunkF7YMEAERjs.findWorkspaceRoot.call(void 0, );
43
+ const config = await _chunkF7YMEAERjs.getConfig.call(void 0, workspaceRoot);
44
44
  const sourceRoot = _nullishCoalesce(_optionalChain([context, 'access', _7 => _7.projectsConfigurations, 'access', _8 => _8.projects, 'access', _9 => _9[context.projectName], 'optionalAccess', _10 => _10.sourceRoot]), () => ( workspaceRoot));
45
45
  const projectName = _nullishCoalesce(_optionalChain([context, 'access', _11 => _11.projectsConfigurations, 'access', _12 => _12.projects, 'access', _13 => _13[context.projectName], 'optionalAccess', _14 => _14.name]), () => ( context.projectName));
46
46
  const projectDetails = _chunkNU34IEWNjs.getPackageInfo.call(void 0,
package/dist/executors.js CHANGED
@@ -1,9 +1,9 @@
1
1
  "use strict";require('./chunk-XO66D74Z.js');
2
2
  require('./chunk-IRORGRVZ.js');
3
- require('./chunk-LRGILLMQ.js');
4
- require('./chunk-PUBL4ZFL.js');
3
+ require('./chunk-HWGG6ZGA.js');
4
+ require('./chunk-UPFKACG7.js');
5
5
  require('./chunk-NCQM44P3.js');
6
6
  require('./chunk-NU34IEWN.js');
7
- require('./chunk-HUZVQCWL.js');
7
+ require('./chunk-F7YMEAER.js');
8
8
  require('./chunk-2CDSXWFA.js');
9
9
  require('./chunk-MCKGQKYU.js');
@@ -1,9 +1,9 @@
1
1
  import "./chunk-YSCEY447.mjs";
2
2
  import "./chunk-2ZHY7CBH.mjs";
3
- import "./chunk-N4T4A5VU.mjs";
4
- import "./chunk-FXMVUKUI.mjs";
3
+ import "./chunk-2R6YAP23.mjs";
4
+ import "./chunk-DC2YLD3R.mjs";
5
5
  import "./chunk-IANDAPQS.mjs";
6
6
  import "./chunk-PH3DHY4Q.mjs";
7
- import "./chunk-HHVUEOQK.mjs";
7
+ import "./chunk-N5AGCLFI.mjs";
8
8
  import "./chunk-V44DYGWX.mjs";
9
9
  import "./chunk-JDECZFLH.mjs";
@@ -2,12 +2,12 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJICJBMVFjs = require('./chunk-JICJBMVF.js');
5
+ var _chunkS5WF4Q6Fjs = require('./chunk-S5WF4Q6F.js');
6
6
 
7
7
 
8
8
 
9
- var _chunkSPWVVSK7js = require('./chunk-SPWVVSK7.js');
10
- require('./chunk-HUZVQCWL.js');
9
+ var _chunkDZS3THFQjs = require('./chunk-DZS3THFQ.js');
10
+ require('./chunk-F7YMEAER.js');
11
11
  require('./chunk-2CDSXWFA.js');
12
12
  require('./chunk-MCKGQKYU.js');
13
13
 
@@ -15,4 +15,4 @@ require('./chunk-MCKGQKYU.js');
15
15
 
16
16
 
17
17
 
18
- exports.applicationGenerator = _chunkJICJBMVFjs.applicationGenerator; exports.applicationSchematic = _chunkJICJBMVFjs.applicationSchematic; exports.initGenerator = _chunkSPWVVSK7js.initGenerator; exports.initSchematic = _chunkSPWVVSK7js.initSchematic;
18
+ exports.applicationGenerator = _chunkS5WF4Q6Fjs.applicationGenerator; exports.applicationSchematic = _chunkS5WF4Q6Fjs.applicationSchematic; exports.initGenerator = _chunkDZS3THFQjs.initGenerator; exports.initSchematic = _chunkDZS3THFQjs.initSchematic;
@@ -2,12 +2,12 @@ import "./chunk-3J7KBHMJ.mjs";
2
2
  import {
3
3
  applicationGenerator,
4
4
  applicationSchematic
5
- } from "./chunk-QUNKE4N7.mjs";
5
+ } from "./chunk-S55NWYY5.mjs";
6
6
  import {
7
7
  initGenerator,
8
8
  initSchematic
9
- } from "./chunk-UOGXARNZ.mjs";
10
- import "./chunk-HHVUEOQK.mjs";
9
+ } from "./chunk-EWBGTFGC.mjs";
10
+ import "./chunk-N5AGCLFI.mjs";
11
11
  import "./chunk-V44DYGWX.mjs";
12
12
  import "./chunk-JDECZFLH.mjs";
13
13
  export {
package/dist/index.js CHANGED
@@ -3,15 +3,15 @@ require('./chunk-DHBG5ASJ.js');
3
3
 
4
4
 
5
5
 
6
- var _chunkJICJBMVFjs = require('./chunk-JICJBMVF.js');
6
+ var _chunkS5WF4Q6Fjs = require('./chunk-S5WF4Q6F.js');
7
7
 
8
8
 
9
9
 
10
- var _chunkSPWVVSK7js = require('./chunk-SPWVVSK7.js');
10
+ var _chunkDZS3THFQjs = require('./chunk-DZS3THFQ.js');
11
11
  require('./chunk-CVGPWUNP.js');
12
12
  require('./chunk-IRORGRVZ.js');
13
- require('./chunk-LRGILLMQ.js');
14
- require('./chunk-PUBL4ZFL.js');
13
+ require('./chunk-HWGG6ZGA.js');
14
+ require('./chunk-UPFKACG7.js');
15
15
 
16
16
 
17
17
 
@@ -20,7 +20,7 @@ var _chunkNCQM44P3js = require('./chunk-NCQM44P3.js');
20
20
 
21
21
 
22
22
  var _chunkNU34IEWNjs = require('./chunk-NU34IEWN.js');
23
- require('./chunk-HUZVQCWL.js');
23
+ require('./chunk-F7YMEAER.js');
24
24
  require('./chunk-2CDSXWFA.js');
25
25
  require('./chunk-MCKGQKYU.js');
26
26
 
@@ -163,4 +163,4 @@ function createPackageJson(projectJsonPath, workspaceRoot) {
163
163
 
164
164
 
165
165
 
166
- exports.applicationGenerator = _chunkJICJBMVFjs.applicationGenerator; exports.applicationSchematic = _chunkJICJBMVFjs.applicationSchematic; exports.createNodesV2 = createNodesV2; exports.getInternalDependencies = _chunkNCQM44P3js.getInternalDependencies; exports.initGenerator = _chunkSPWVVSK7js.initGenerator; exports.initSchematic = _chunkSPWVVSK7js.initSchematic; exports.name = name; exports.r2UploadFile = _chunkNCQM44P3js.r2UploadFile;
166
+ exports.applicationGenerator = _chunkS5WF4Q6Fjs.applicationGenerator; exports.applicationSchematic = _chunkS5WF4Q6Fjs.applicationSchematic; exports.createNodesV2 = createNodesV2; exports.getInternalDependencies = _chunkNCQM44P3js.getInternalDependencies; exports.initGenerator = _chunkDZS3THFQjs.initGenerator; exports.initSchematic = _chunkDZS3THFQjs.initSchematic; exports.name = name; exports.r2UploadFile = _chunkNCQM44P3js.r2UploadFile;
package/dist/index.mjs CHANGED
@@ -3,15 +3,15 @@ import "./chunk-3J7KBHMJ.mjs";
3
3
  import {
4
4
  applicationGenerator,
5
5
  applicationSchematic
6
- } from "./chunk-QUNKE4N7.mjs";
6
+ } from "./chunk-S55NWYY5.mjs";
7
7
  import {
8
8
  initGenerator,
9
9
  initSchematic
10
- } from "./chunk-UOGXARNZ.mjs";
10
+ } from "./chunk-EWBGTFGC.mjs";
11
11
  import "./chunk-7Z5PILRU.mjs";
12
12
  import "./chunk-2ZHY7CBH.mjs";
13
- import "./chunk-N4T4A5VU.mjs";
14
- import "./chunk-FXMVUKUI.mjs";
13
+ import "./chunk-2R6YAP23.mjs";
14
+ import "./chunk-DC2YLD3R.mjs";
15
15
  import {
16
16
  getInternalDependencies,
17
17
  r2UploadFile
@@ -20,7 +20,7 @@ import {
20
20
  ProjectTagConstants,
21
21
  addProjectTag
22
22
  } from "./chunk-PH3DHY4Q.mjs";
23
- import "./chunk-HHVUEOQK.mjs";
23
+ import "./chunk-N5AGCLFI.mjs";
24
24
  import "./chunk-V44DYGWX.mjs";
25
25
  import "./chunk-JDECZFLH.mjs";
26
26
 
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
  var _chunkIRORGRVZjs = require('../../../chunk-IRORGRVZ.js');
4
- require('../../../chunk-LRGILLMQ.js');
4
+ require('../../../chunk-HWGG6ZGA.js');
5
5
  require('../../../chunk-NU34IEWN.js');
6
- require('../../../chunk-HUZVQCWL.js');
6
+ require('../../../chunk-F7YMEAER.js');
7
7
  require('../../../chunk-2CDSXWFA.js');
8
8
  require('../../../chunk-MCKGQKYU.js');
9
9
 
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runExecutor
3
3
  } from "../../../chunk-2ZHY7CBH.mjs";
4
- import "../../../chunk-N4T4A5VU.mjs";
4
+ import "../../../chunk-2R6YAP23.mjs";
5
5
  import "../../../chunk-PH3DHY4Q.mjs";
6
- import "../../../chunk-HHVUEOQK.mjs";
6
+ import "../../../chunk-N5AGCLFI.mjs";
7
7
  import "../../../chunk-V44DYGWX.mjs";
8
8
  import "../../../chunk-JDECZFLH.mjs";
9
9
  export {
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkPUBL4ZFLjs = require('../../../chunk-PUBL4ZFL.js');
3
+ var _chunkUPFKACG7js = require('../../../chunk-UPFKACG7.js');
4
4
  require('../../../chunk-NCQM44P3.js');
5
5
  require('../../../chunk-NU34IEWN.js');
6
- require('../../../chunk-HUZVQCWL.js');
6
+ require('../../../chunk-F7YMEAER.js');
7
7
  require('../../../chunk-2CDSXWFA.js');
8
8
  require('../../../chunk-MCKGQKYU.js');
9
9
 
10
10
 
11
- exports.default = _chunkPUBL4ZFLjs.runExecutor;
11
+ exports.default = _chunkUPFKACG7js.runExecutor;
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  runExecutor
3
- } from "../../../chunk-FXMVUKUI.mjs";
3
+ } from "../../../chunk-DC2YLD3R.mjs";
4
4
  import "../../../chunk-IANDAPQS.mjs";
5
5
  import "../../../chunk-PH3DHY4Q.mjs";
6
- import "../../../chunk-HHVUEOQK.mjs";
6
+ import "../../../chunk-N5AGCLFI.mjs";
7
7
  import "../../../chunk-V44DYGWX.mjs";
8
8
  import "../../../chunk-JDECZFLH.mjs";
9
9
  export {
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkLRGILLMQjs = require('../../../chunk-LRGILLMQ.js');
3
+ var _chunkHWGG6ZGAjs = require('../../../chunk-HWGG6ZGA.js');
4
4
 
5
5
 
6
6
  var _chunkNU34IEWNjs = require('../../../chunk-NU34IEWN.js');
7
- require('../../../chunk-HUZVQCWL.js');
7
+ require('../../../chunk-F7YMEAER.js');
8
8
  require('../../../chunk-2CDSXWFA.js');
9
9
 
10
10
 
@@ -55,7 +55,7 @@ async function* serveExecutor(options, context, config) {
55
55
  success: true
56
56
  };
57
57
  }
58
- var executor_default = _chunkLRGILLMQjs.withRunExecutor.call(void 0,
58
+ var executor_default = _chunkHWGG6ZGAjs.withRunExecutor.call(void 0,
59
59
  "Cloudflare Serve executor",
60
60
  serveExecutor,
61
61
  {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  withRunExecutor
3
- } from "../../../chunk-N4T4A5VU.mjs";
3
+ } from "../../../chunk-2R6YAP23.mjs";
4
4
  import {
5
5
  createCliOptions
6
6
  } from "../../../chunk-PH3DHY4Q.mjs";
7
- import "../../../chunk-HHVUEOQK.mjs";
7
+ import "../../../chunk-N5AGCLFI.mjs";
8
8
  import "../../../chunk-V44DYGWX.mjs";
9
9
  import {
10
10
  __require
@@ -2,10 +2,10 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkSPWVVSK7js = require('../../../chunk-SPWVVSK7.js');
5
+ var _chunkDZS3THFQjs = require('../../../chunk-DZS3THFQ.js');
6
6
  require('../../../chunk-MCKGQKYU.js');
7
7
 
8
8
 
9
9
 
10
10
 
11
- exports.default = _chunkSPWVVSK7js.generator_default; exports.initGenerator = _chunkSPWVVSK7js.initGenerator; exports.initSchematic = _chunkSPWVVSK7js.initSchematic;
11
+ exports.default = _chunkDZS3THFQjs.generator_default; exports.initGenerator = _chunkDZS3THFQjs.initGenerator; exports.initSchematic = _chunkDZS3THFQjs.initSchematic;
@@ -2,7 +2,7 @@ import {
2
2
  generator_default,
3
3
  initGenerator,
4
4
  initSchematic
5
- } from "../../../chunk-UOGXARNZ.mjs";
5
+ } from "../../../chunk-EWBGTFGC.mjs";
6
6
  import "../../../chunk-JDECZFLH.mjs";
7
7
  export {
8
8
  generator_default as default,
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJICJBMVFjs = require('../../../chunk-JICJBMVF.js');
6
- require('../../../chunk-SPWVVSK7.js');
7
- require('../../../chunk-HUZVQCWL.js');
5
+ var _chunkS5WF4Q6Fjs = require('../../../chunk-S5WF4Q6F.js');
6
+ require('../../../chunk-DZS3THFQ.js');
7
+ require('../../../chunk-F7YMEAER.js');
8
8
  require('../../../chunk-2CDSXWFA.js');
9
9
  require('../../../chunk-MCKGQKYU.js');
10
10
 
11
11
 
12
12
 
13
13
 
14
- exports.applicationGenerator = _chunkJICJBMVFjs.applicationGenerator; exports.applicationSchematic = _chunkJICJBMVFjs.applicationSchematic; exports.default = _chunkJICJBMVFjs.generator_default;
14
+ exports.applicationGenerator = _chunkS5WF4Q6Fjs.applicationGenerator; exports.applicationSchematic = _chunkS5WF4Q6Fjs.applicationSchematic; exports.default = _chunkS5WF4Q6Fjs.generator_default;
@@ -2,9 +2,9 @@ import {
2
2
  applicationGenerator,
3
3
  applicationSchematic,
4
4
  generator_default
5
- } from "../../../chunk-QUNKE4N7.mjs";
6
- import "../../../chunk-UOGXARNZ.mjs";
7
- import "../../../chunk-HHVUEOQK.mjs";
5
+ } from "../../../chunk-S55NWYY5.mjs";
6
+ import "../../../chunk-EWBGTFGC.mjs";
7
+ import "../../../chunk-N5AGCLFI.mjs";
8
8
  import "../../../chunk-V44DYGWX.mjs";
9
9
  import "../../../chunk-JDECZFLH.mjs";
10
10
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storm-software/cloudflare-tools",
3
- "version": "0.65.16",
3
+ "version": "0.65.17",
4
4
  "description": "A Nx plugin package that contains various executors, generators, and utilities that assist in managing Cloudflare services.",
5
5
  "repository": {
6
6
  "type": "github",
@@ -150,5 +150,5 @@
150
150
  "publishConfig": { "access": "public" },
151
151
  "executors": "./executors.json",
152
152
  "generators": "./generators.json",
153
- "gitHead": "bc86c50b76af106cfe289ad6e30e48a861924328"
153
+ "gitHead": "bd2cceced6f34cd309c7a8cf92fca76621c40470"
154
154
  }