@codedrifters/configulator 0.0.296 → 0.0.297

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/lib/index.js CHANGED
@@ -260,6 +260,7 @@ __export(index_exports, {
260
260
  MINIMUM_RELEASE_AGE: () => MINIMUM_RELEASE_AGE,
261
261
  MONOREPO_LAYOUT: () => MONOREPO_LAYOUT,
262
262
  MonorepoProject: () => MonorepoProject,
263
+ Nvmrc: () => Nvmrc,
263
264
  PROD_DEPLOY_NAME: () => PROD_DEPLOY_NAME,
264
265
  PROGRESS_FILES_FORMAT_VALUES: () => PROGRESS_FILES_FORMAT_VALUES,
265
266
  PnpmWorkspace: () => PnpmWorkspace,
@@ -353,6 +354,8 @@ __export(index_exports, {
353
354
  parseApiRollup: () => parseApiRollup,
354
355
  peopleProfileBundle: () => peopleProfileBundle,
355
356
  persistAuditReport: () => persistAuditReport,
357
+ pinPnpmActionSetup: () => pinPnpmActionSetup,
358
+ pinSetupNodeVersion: () => pinSetupNodeVersion,
356
359
  pnpmBundle: () => pnpmBundle,
357
360
  prReviewBundle: () => prReviewBundle,
358
361
  projenBundle: () => projenBundle,
@@ -15775,6 +15778,7 @@ var PnpmWorkspace = class _PnpmWorkspace extends import_projen.Component {
15775
15778
  this.minimumReleaseAgeExclude = options.minimumReleaseAgeExclude ? ["@codedrifters/*", ...options.minimumReleaseAgeExclude] : ["@codedrifters/*"];
15776
15779
  this.onlyBuiltDependencies = options.onlyBuiltDependencies ? options.onlyBuiltDependencies : [];
15777
15780
  this.ignoredBuiltDependencies = options.ignoredBuiltDependencies ? options.ignoredBuiltDependencies : [];
15781
+ this.allowBuilds = options.allowBuilds ?? {};
15778
15782
  this.subprojects = options.subprojects ?? [];
15779
15783
  this.defaultCatalog = options.defaultCatalog;
15780
15784
  this.namedCatalogs = options.namedCatalogs;
@@ -15798,11 +15802,35 @@ var PnpmWorkspace = class _PnpmWorkspace extends import_projen.Component {
15798
15802
  if (this.minimumReleaseAgeExclude.length > 0) {
15799
15803
  pnpmConfig.minimumReleaseAgeExclude = this.minimumReleaseAgeExclude;
15800
15804
  }
15801
- if (this.onlyBuiltDependencies.length > 0) {
15802
- pnpmConfig.onlyBuiltDependencies = this.onlyBuiltDependencies;
15805
+ const mergedAllowBuilds = {};
15806
+ for (const pkg of this.onlyBuiltDependencies) {
15807
+ mergedAllowBuilds[pkg] = true;
15803
15808
  }
15804
- if (this.ignoredBuiltDependencies.length > 0) {
15805
- pnpmConfig.ignoreBuiltDependencies = this.ignoredBuiltDependencies;
15809
+ for (const pkg of this.ignoredBuiltDependencies) {
15810
+ mergedAllowBuilds[pkg] = false;
15811
+ }
15812
+ for (const [pkg, allowed] of Object.entries(this.allowBuilds)) {
15813
+ mergedAllowBuilds[pkg] = allowed;
15814
+ }
15815
+ const allowList = [];
15816
+ const denyList = [];
15817
+ for (const [pkg, allowed] of Object.entries(mergedAllowBuilds)) {
15818
+ if (allowed) {
15819
+ allowList.push(pkg);
15820
+ } else {
15821
+ denyList.push(pkg);
15822
+ }
15823
+ }
15824
+ allowList.sort();
15825
+ denyList.sort();
15826
+ if (allowList.length > 0) {
15827
+ pnpmConfig.onlyBuiltDependencies = allowList;
15828
+ }
15829
+ if (denyList.length > 0) {
15830
+ pnpmConfig.ignoredBuiltDependencies = denyList;
15831
+ }
15832
+ if (Object.keys(mergedAllowBuilds).length > 0) {
15833
+ pnpmConfig.allowBuilds = mergedAllowBuilds;
15806
15834
  }
15807
15835
  if (this.defaultCatalog && Object.keys(this.defaultCatalog).length > 0) {
15808
15836
  pnpmConfig.catalog = this.defaultCatalog;
@@ -27083,11 +27111,11 @@ var VERSION = {
27083
27111
  * Version of `pnpm/action-setup` to use in GitHub workflows.
27084
27112
  * Tracks the version projen currently emits (see node_modules/projen/lib/javascript/node-project.js).
27085
27113
  */
27086
- PNPM_ACTION_SETUP_VERSION: "v5",
27114
+ PNPM_ACTION_SETUP_VERSION: "v6.0.5",
27087
27115
  /**
27088
27116
  * Version of PNPM to use in workflows at github actions.
27089
27117
  */
27090
- PNPM_VERSION: "10.33.3",
27118
+ PNPM_VERSION: "11.0.8",
27091
27119
  /**
27092
27120
  * Version of Projen to use.
27093
27121
  */
@@ -31281,7 +31309,7 @@ var JsiiFaker = class _JsiiFaker extends import_projen13.Component {
31281
31309
  };
31282
31310
 
31283
31311
  // src/projects/astro-project.ts
31284
- var import_projen18 = require("projen");
31312
+ var import_projen19 = require("projen");
31285
31313
  var import_ts_deepmerge3 = require("ts-deepmerge");
31286
31314
 
31287
31315
  // src/projects/monorepo-layout.ts
@@ -31425,20 +31453,35 @@ function resolveAstroProjectOutdir(packageName) {
31425
31453
  }
31426
31454
 
31427
31455
  // src/projects/typescript-project.ts
31428
- var import_projen17 = require("projen");
31456
+ var import_projen18 = require("projen");
31429
31457
  var import_javascript4 = require("projen/lib/javascript");
31430
31458
  var import_release = require("projen/lib/release");
31431
31459
  var import_ts_deepmerge2 = require("ts-deepmerge");
31432
31460
 
31433
31461
  // src/projects/monorepo-project.ts
31434
- var import_github2 = require("projen/lib/github");
31462
+ var import_github4 = require("projen/lib/github");
31435
31463
  var import_javascript3 = require("projen/lib/javascript");
31436
31464
  var import_typescript3 = require("projen/lib/typescript");
31437
31465
  var import_ts_deepmerge = require("ts-deepmerge");
31438
31466
 
31439
- // src/tasks/reset-task.ts
31467
+ // src/projects/nvmrc.ts
31440
31468
  var import_projen14 = require("projen");
31441
- var ResetTask = class _ResetTask extends import_projen14.Component {
31469
+ var import_textfile5 = require("projen/lib/textfile");
31470
+ var Nvmrc = class extends import_projen14.Component {
31471
+ constructor(project) {
31472
+ super(project);
31473
+ new import_textfile5.TextFile(project, ".nvmrc", {
31474
+ // `lines` is joined with `\n` — adding an empty trailing entry
31475
+ // produces a POSIX-friendly trailing newline (`24\n`).
31476
+ lines: [VERSION.NODE_WORKFLOWS, ""],
31477
+ readonly: true
31478
+ });
31479
+ }
31480
+ };
31481
+
31482
+ // src/tasks/reset-task.ts
31483
+ var import_projen15 = require("projen");
31484
+ var ResetTask = class _ResetTask extends import_projen15.Component {
31442
31485
  constructor(project, options = {}) {
31443
31486
  super(project);
31444
31487
  this.project = project;
@@ -31511,12 +31554,12 @@ var ResetTask = class _ResetTask extends import_projen14.Component {
31511
31554
  };
31512
31555
 
31513
31556
  // src/vscode/vscode.ts
31514
- var import_projen15 = require("projen");
31515
- var VSCodeConfig = class extends import_projen15.Component {
31557
+ var import_projen16 = require("projen");
31558
+ var VSCodeConfig = class extends import_projen16.Component {
31516
31559
  constructor(project) {
31517
31560
  super(project);
31518
- const vsConfig = new import_projen15.vscode.VsCode(project);
31519
- const vsSettings = new import_projen15.vscode.VsCodeSettings(vsConfig);
31561
+ const vsConfig = new import_projen16.vscode.VsCode(project);
31562
+ const vsSettings = new import_projen16.vscode.VsCodeSettings(vsConfig);
31520
31563
  vsSettings.addSetting("editor.tabSize", 2);
31521
31564
  vsSettings.addSetting("editor.detectIndentation", false);
31522
31565
  vsSettings.addSetting("editor.bracketPairColorization.enabled", true);
@@ -31657,8 +31700,146 @@ function addBuildCompleteJob(buildWorkflow) {
31657
31700
  });
31658
31701
  }
31659
31702
 
31703
+ // src/workflows/pin-pnpm-action-setup.ts
31704
+ var import_github2 = require("projen/lib/github");
31705
+ var PNPM_ACTION_SETUP_PREFIX = "pnpm/action-setup@";
31706
+ var STEP_ARRAY_FIELDS = ["preBuildSteps", "postBuildSteps"];
31707
+ function pinPnpmActionSetup(project) {
31708
+ const pinned = `${PNPM_ACTION_SETUP_PREFIX}${VERSION.PNPM_ACTION_SETUP_VERSION}`;
31709
+ patchComponentStepArrays(project, pinned);
31710
+ for (const sub of project.subprojects) {
31711
+ patchComponentStepArrays(sub, pinned);
31712
+ }
31713
+ const github = import_github2.GitHub.of(project);
31714
+ if (!github) {
31715
+ return;
31716
+ }
31717
+ for (const workflow of github.workflows) {
31718
+ for (const job of Object.values(workflow.jobs)) {
31719
+ patchStepArray(getEagerSteps(job), pinned);
31720
+ }
31721
+ }
31722
+ }
31723
+ function patchComponentStepArrays(project, pinned) {
31724
+ for (const component of project.components) {
31725
+ for (const field of STEP_ARRAY_FIELDS) {
31726
+ const steps = readStepArray(component, field);
31727
+ if (steps !== void 0) {
31728
+ patchStepArray(steps, pinned);
31729
+ }
31730
+ }
31731
+ }
31732
+ }
31733
+ function readStepArray(component, field) {
31734
+ const value = component[field];
31735
+ return Array.isArray(value) ? value : void 0;
31736
+ }
31737
+ function getEagerSteps(job) {
31738
+ if (typeof job !== "object" || job === null) {
31739
+ return void 0;
31740
+ }
31741
+ const steps = job.steps;
31742
+ return Array.isArray(steps) ? steps : void 0;
31743
+ }
31744
+ function patchStepArray(steps, pinned) {
31745
+ if (!steps) {
31746
+ return;
31747
+ }
31748
+ for (const step of steps) {
31749
+ if (typeof step.uses === "string" && step.uses.startsWith(PNPM_ACTION_SETUP_PREFIX)) {
31750
+ step.uses = pinned;
31751
+ }
31752
+ }
31753
+ }
31754
+
31755
+ // src/workflows/pin-setup-node-version.ts
31756
+ var import_github3 = require("projen/lib/github");
31757
+ var SETUP_NODE_PREFIX = "actions/setup-node@";
31758
+ var STEP_ARRAY_FIELDS2 = ["preBuildSteps", "postBuildSteps"];
31759
+ var NODE_VERSION_FIELDS = ["workflowNodeVersion"];
31760
+ function pinSetupNodeVersion(project) {
31761
+ const pinned = VERSION.NODE_WORKFLOWS;
31762
+ patchComponentNodeVersionFields(project, pinned);
31763
+ patchComponentStepArrays2(project, pinned);
31764
+ for (const sub of project.subprojects) {
31765
+ patchComponentNodeVersionFields(sub, pinned);
31766
+ patchComponentStepArrays2(sub, pinned);
31767
+ }
31768
+ const github = import_github3.GitHub.of(project);
31769
+ if (!github) {
31770
+ return;
31771
+ }
31772
+ for (const workflow of github.workflows) {
31773
+ for (const job of Object.values(workflow.jobs)) {
31774
+ patchJobToolsNode(job, pinned);
31775
+ patchStepArray2(getEagerSteps2(job), pinned);
31776
+ }
31777
+ }
31778
+ }
31779
+ function patchComponentNodeVersionFields(project, pinned) {
31780
+ for (const component of project.components) {
31781
+ for (const field of NODE_VERSION_FIELDS) {
31782
+ const record = component;
31783
+ const value = record[field];
31784
+ if (typeof value === "string") {
31785
+ record[field] = pinned;
31786
+ }
31787
+ }
31788
+ }
31789
+ }
31790
+ function patchComponentStepArrays2(project, pinned) {
31791
+ for (const component of project.components) {
31792
+ for (const field of STEP_ARRAY_FIELDS2) {
31793
+ const steps = readStepArray2(component, field);
31794
+ if (steps !== void 0) {
31795
+ patchStepArray2(steps, pinned);
31796
+ }
31797
+ }
31798
+ }
31799
+ }
31800
+ function readStepArray2(component, field) {
31801
+ const value = component[field];
31802
+ return Array.isArray(value) ? value : void 0;
31803
+ }
31804
+ function getEagerSteps2(job) {
31805
+ if (typeof job !== "object" || job === null) {
31806
+ return void 0;
31807
+ }
31808
+ const steps = job.steps;
31809
+ return Array.isArray(steps) ? steps : void 0;
31810
+ }
31811
+ function patchJobToolsNode(job, pinned) {
31812
+ if (typeof job !== "object" || job === null) {
31813
+ return;
31814
+ }
31815
+ const tools = job.tools;
31816
+ if (typeof tools !== "object" || tools === null) {
31817
+ return;
31818
+ }
31819
+ const node = tools.node;
31820
+ if (typeof node !== "object" || node === null) {
31821
+ return;
31822
+ }
31823
+ if (typeof node.version === "string") {
31824
+ node.version = pinned;
31825
+ }
31826
+ }
31827
+ function patchStepArray2(steps, pinned) {
31828
+ if (!steps) {
31829
+ return;
31830
+ }
31831
+ for (const step of steps) {
31832
+ if (typeof step.uses === "string" && step.uses.startsWith(SETUP_NODE_PREFIX)) {
31833
+ if (!step.with || typeof step.with !== "object") {
31834
+ step.with = {};
31835
+ }
31836
+ step.with["node-version"] = pinned;
31837
+ }
31838
+ }
31839
+ }
31840
+
31660
31841
  // src/workflows/sync-labels.ts
31661
- var import_projen16 = require("projen");
31842
+ var import_projen17 = require("projen");
31662
31843
  var import_workflows_model4 = require("projen/lib/github/workflows-model");
31663
31844
  var DEFAULT_STATUS_LABELS = [
31664
31845
  {
@@ -31866,10 +32047,10 @@ ${offenders}`
31866
32047
  }
31867
32048
  });
31868
32049
  }
31869
- var LabelsFile = class extends import_projen16.Component {
32050
+ var LabelsFile = class extends import_projen17.Component {
31870
32051
  constructor(project, labels) {
31871
32052
  super(project);
31872
- new import_projen16.YamlFile(project, LABELS_CONFIG_PATH, {
32053
+ new import_projen17.YamlFile(project, LABELS_CONFIG_PATH, {
31873
32054
  obj: labels.map((l) => ({
31874
32055
  name: l.name,
31875
32056
  color: l.color,
@@ -32087,6 +32268,7 @@ var MonorepoProject = class extends import_typescript3.TypeScriptAppProject {
32087
32268
  this.configulatorRegistryConsumer = options.configulatorRegistryConsumer ?? true;
32088
32269
  this.layoutEnforcement = options.layoutEnforcement ?? LAYOUT_ENFORCEMENT.WARN;
32089
32270
  new VSCodeConfig(this);
32271
+ new Nvmrc(this);
32090
32272
  new PnpmWorkspace(this, options.pnpmOptions?.pnpmWorkspaceOptions);
32091
32273
  if (options.turbo) {
32092
32274
  new TurboRepo(this, options.turboOptions);
@@ -32095,7 +32277,7 @@ var MonorepoProject = class extends import_typescript3.TypeScriptAppProject {
32095
32277
  name: "Build Sub Projects",
32096
32278
  run: `pnpm exec projen ${ROOT_CI_TASK_NAME}`
32097
32279
  },
32098
- import_github2.WorkflowSteps.uploadArtifact({
32280
+ import_github4.WorkflowSteps.uploadArtifact({
32099
32281
  name: "Upload Turbo runs",
32100
32282
  if: "always()",
32101
32283
  continueOnError: true,
@@ -32205,6 +32387,8 @@ var MonorepoProject = class extends import_typescript3.TypeScriptAppProject {
32205
32387
  */
32206
32388
  preSynthesize() {
32207
32389
  super.preSynthesize();
32390
+ pinPnpmActionSetup(this);
32391
+ pinSetupNodeVersion(this);
32208
32392
  if (this.layoutEnforcement === LAYOUT_ENFORCEMENT.OFF) {
32209
32393
  return;
32210
32394
  }
@@ -32259,7 +32443,7 @@ var TestRunner = {
32259
32443
  JEST: "jest",
32260
32444
  VITEST: "vitest"
32261
32445
  };
32262
- var TypeScriptProject = class extends import_projen17.typescript.TypeScriptProject {
32446
+ var TypeScriptProject = class extends import_projen18.typescript.TypeScriptProject {
32263
32447
  constructor(userOptions) {
32264
32448
  if (!(userOptions.parent instanceof MonorepoProject)) {
32265
32449
  throw new Error(
@@ -32569,10 +32753,10 @@ var AstroProject = class extends TypeScriptProject {
32569
32753
  adapter: options.adapter
32570
32754
  });
32571
32755
  if (options.sampleCode === true) {
32572
- new import_projen18.SampleFile(this, "src/pages/index.astro", {
32756
+ new import_projen19.SampleFile(this, "src/pages/index.astro", {
32573
32757
  contents: DEFAULT_INDEX_ASTRO
32574
32758
  });
32575
- new import_projen18.SampleFile(this, "public/favicon.svg", {
32759
+ new import_projen19.SampleFile(this, "public/favicon.svg", {
32576
32760
  contents: DEFAULT_FAVICON_SVG
32577
32761
  });
32578
32762
  }
@@ -32597,19 +32781,19 @@ var DEFAULT_FAVICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0
32597
32781
  `;
32598
32782
 
32599
32783
  // src/projects/aws-cdk-project.ts
32600
- var import_projen21 = require("projen");
32784
+ var import_projen22 = require("projen");
32601
32785
  var import_javascript5 = require("projen/lib/javascript");
32602
32786
  var import_release2 = require("projen/lib/release");
32603
32787
  var import_ts_deepmerge4 = require("ts-deepmerge");
32604
32788
 
32605
32789
  // src/workflows/aws-deploy-workflow.ts
32606
32790
  var import_utils11 = __toESM(require_lib());
32607
- var import_projen19 = require("projen");
32791
+ var import_projen20 = require("projen");
32608
32792
  var import_build = require("projen/lib/build");
32609
- var import_github3 = require("projen/lib/github");
32793
+ var import_github5 = require("projen/lib/github");
32610
32794
  var import_workflows_model5 = require("projen/lib/github/workflows-model");
32611
32795
  var PROD_DEPLOY_NAME = "prod-deploy";
32612
- var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen19.Component {
32796
+ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen20.Component {
32613
32797
  constructor(project, options = {}) {
32614
32798
  super(project);
32615
32799
  this.project = project;
@@ -32722,7 +32906,7 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen19.Compone
32722
32906
  );
32723
32907
  }
32724
32908
  this.rootProject = project.root;
32725
- const github = import_github3.GitHub.of(this.rootProject);
32909
+ const github = import_github5.GitHub.of(this.rootProject);
32726
32910
  if (!github) {
32727
32911
  throw new Error(
32728
32912
  "AwsDeployWorkflow requires a GitHub component in the root project"
@@ -32857,7 +33041,7 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen19.Compone
32857
33041
  name: "Build Sub Projects",
32858
33042
  run: `pnpm exec projen ${ROOT_CI_TASK_NAME}`
32859
33043
  },
32860
- import_github3.WorkflowSteps.uploadArtifact({
33044
+ import_github5.WorkflowSteps.uploadArtifact({
32861
33045
  name: "Upload Turbo runs",
32862
33046
  if: "always()",
32863
33047
  continueOnError: true,
@@ -32873,8 +33057,8 @@ var AwsDeployWorkflow = class _AwsDeployWorkflow extends import_projen19.Compone
32873
33057
  };
32874
33058
 
32875
33059
  // src/workflows/aws-teardown-workflow.ts
32876
- var import_projen20 = require("projen");
32877
- var import_github4 = require("projen/lib/github");
33060
+ var import_projen21 = require("projen");
33061
+ var import_github6 = require("projen/lib/github");
32878
33062
  var import_workflows_model6 = require("projen/lib/github/workflows-model");
32879
33063
  var DEFAULT_TEARDOWN_BRANCH_PATTERNS = [
32880
33064
  "feat/*",
@@ -32895,7 +33079,7 @@ var resolveBranchPatterns = (explicit, targets) => {
32895
33079
  }
32896
33080
  return [...DEFAULT_TEARDOWN_BRANCH_PATTERNS];
32897
33081
  };
32898
- var AwsTeardownWorkflow = class extends import_projen20.Component {
33082
+ var AwsTeardownWorkflow = class extends import_projen21.Component {
32899
33083
  constructor(rootProject, options) {
32900
33084
  super(rootProject);
32901
33085
  this.rootProject = rootProject;
@@ -32924,7 +33108,7 @@ var AwsTeardownWorkflow = class extends import_projen20.Component {
32924
33108
  "AwsTeardownWorkflow requires the root project to be a MonorepoProject"
32925
33109
  );
32926
33110
  }
32927
- const github = import_github4.GitHub.of(this.rootProject);
33111
+ const github = import_github6.GitHub.of(this.rootProject);
32928
33112
  if (!github) {
32929
33113
  throw new Error(
32930
33114
  "AwsTeardownWorkflow requires a GitHub component in the root project"
@@ -32934,7 +33118,7 @@ var AwsTeardownWorkflow = class extends import_projen20.Component {
32934
33118
  deleteBranchPatterns,
32935
33119
  awsDestructionTargets
32936
33120
  );
32937
- const workflow = new import_github4.GithubWorkflow(github, "teardown-dev");
33121
+ const workflow = new import_github6.GithubWorkflow(github, "teardown-dev");
32938
33122
  workflow.on({
32939
33123
  workflowDispatch: {},
32940
33124
  schedule: [
@@ -33077,7 +33261,7 @@ var AwsTeardownWorkflow = class extends import_projen20.Component {
33077
33261
  };
33078
33262
 
33079
33263
  // src/projects/aws-cdk-project.ts
33080
- var AwsCdkProject = class extends import_projen21.awscdk.AwsCdkTypeScriptApp {
33264
+ var AwsCdkProject = class extends import_projen22.awscdk.AwsCdkTypeScriptApp {
33081
33265
  constructor(userOptions) {
33082
33266
  if (!(userOptions.parent instanceof MonorepoProject)) {
33083
33267
  throw new Error(
@@ -33274,7 +33458,7 @@ var AwsCdkProject = class extends import_projen21.awscdk.AwsCdkTypeScriptApp {
33274
33458
  };
33275
33459
 
33276
33460
  // src/projects/starlight-project.ts
33277
- var import_projen22 = require("projen");
33461
+ var import_projen23 = require("projen");
33278
33462
  var STARLIGHT_ROLE = {
33279
33463
  DOCS: "docs",
33280
33464
  SITE: "site"
@@ -33316,10 +33500,10 @@ var StarlightProject = class extends AstroProject {
33316
33500
  turbo.compileTask.inputs.push("src/content/**");
33317
33501
  }
33318
33502
  if (userOptions.sampleContent === true) {
33319
- new import_projen22.SampleFile(this, "src/content/docs/index.mdx", {
33503
+ new import_projen23.SampleFile(this, "src/content/docs/index.mdx", {
33320
33504
  contents: DEFAULT_INDEX_MDX
33321
33505
  });
33322
- new import_projen22.SampleFile(this, "src/content.config.ts", {
33506
+ new import_projen23.SampleFile(this, "src/content.config.ts", {
33323
33507
  contents: DEFAULT_CONTENT_CONFIG_TS
33324
33508
  });
33325
33509
  }
@@ -33369,9 +33553,9 @@ export const collections = {
33369
33553
 
33370
33554
  // src/typescript/typescript-config.ts
33371
33555
  var import_node_path2 = require("path");
33372
- var import_projen23 = require("projen");
33556
+ var import_projen24 = require("projen");
33373
33557
  var import_path2 = require("projen/lib/util/path");
33374
- var TypeScriptConfig = class extends import_projen23.Component {
33558
+ var TypeScriptConfig = class extends import_projen24.Component {
33375
33559
  constructor(project) {
33376
33560
  super(project);
33377
33561
  let tsPaths = {};
@@ -33483,6 +33667,7 @@ var TypeScriptConfig = class extends import_projen23.Component {
33483
33667
  MINIMUM_RELEASE_AGE,
33484
33668
  MONOREPO_LAYOUT,
33485
33669
  MonorepoProject,
33670
+ Nvmrc,
33486
33671
  PROD_DEPLOY_NAME,
33487
33672
  PROGRESS_FILES_FORMAT_VALUES,
33488
33673
  PnpmWorkspace,
@@ -33576,6 +33761,8 @@ var TypeScriptConfig = class extends import_projen23.Component {
33576
33761
  parseApiRollup,
33577
33762
  peopleProfileBundle,
33578
33763
  persistAuditReport,
33764
+ pinPnpmActionSetup,
33765
+ pinSetupNodeVersion,
33579
33766
  pnpmBundle,
33580
33767
  prReviewBundle,
33581
33768
  projenBundle,