@codedrifters/configulator 0.0.129 → 0.0.131

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.mjs CHANGED
@@ -943,7 +943,6 @@ var PnpmWorkspace = class _PnpmWorkspace extends Component6 {
943
943
  // src/projects/monorepo-project.ts
944
944
  import {
945
945
  NodePackageManager as NodePackageManager2,
946
- UpgradeDependencies,
947
946
  UpgradeDependenciesSchedule as UpgradeDependenciesSchedule2
948
947
  } from "projen/lib/javascript";
949
948
  import {
@@ -1435,6 +1434,7 @@ function addBuildCompleteJob(buildWorkflow) {
1435
1434
  }
1436
1435
 
1437
1436
  // src/projects/monorepo-project.ts
1437
+ var CONFIGULATOR_PACKAGE_NAME = "@codedrifters/configulator";
1438
1438
  var postInstallDependenciesMap = /* @__PURE__ */ new WeakMap();
1439
1439
  var MonorepoProject = class extends TypeScriptAppProject {
1440
1440
  constructor(userOptions) {
@@ -1506,6 +1506,10 @@ var MonorepoProject = class extends TypeScriptAppProject {
1506
1506
  * Default PNPM version to use in the monorepo.
1507
1507
  */
1508
1508
  pnpmVersion: VERSION.PNPM_VERSION,
1509
+ /**
1510
+ * By default treat as a registry consumer (upgrade workflow syncs configulator).
1511
+ */
1512
+ configulatorRegistryConsumer: true,
1509
1513
  /**
1510
1514
  * We don't want sample code generated for the root project.
1511
1515
  */
@@ -1520,9 +1524,12 @@ var MonorepoProject = class extends TypeScriptAppProject {
1520
1524
  release: false,
1521
1525
  /**
1522
1526
  * Uppgrade dependencies automatically unless otherwise instructed.
1527
+ * Exclude @codedrifters/configulator so the default upgrade task does not
1528
+ * upgrade it (version is often managed in-repo or via a separate sync step).
1523
1529
  */
1524
1530
  depsUpgrade: true,
1525
1531
  depsUpgradeOptions: {
1532
+ exclude: ["@codedrifters/configulator"],
1526
1533
  workflowOptions: {
1527
1534
  schedule: UpgradeDependenciesSchedule2.DAILY
1528
1535
  },
@@ -1609,6 +1616,7 @@ var MonorepoProject = class extends TypeScriptAppProject {
1609
1616
  super({ ...options });
1610
1617
  postInstallDependenciesMap.set(this, []);
1611
1618
  this.pnpmVersion = options.pnpmVersion;
1619
+ this.configulatorRegistryConsumer = options.configulatorRegistryConsumer ?? true;
1612
1620
  new VSCodeConfig(this);
1613
1621
  new PnpmWorkspace(this, options.pnpmOptions?.pnpmWorkspaceOptions);
1614
1622
  if (options.turbo) {
@@ -1653,29 +1661,36 @@ var MonorepoProject = class extends TypeScriptAppProject {
1653
1661
  );
1654
1662
  this.gitignore?.addPatterns(".DS_Store", "test-reports");
1655
1663
  this.addDevDeps("constructs@catalog:");
1656
- if (options.upgradeConfigulatorTask === true) {
1657
- this.upgradeConfigulatorTask = new UpgradeDependencies(
1658
- this,
1659
- merge2(
1660
- {
1661
- include: ["@codedrifters/configulator"],
1662
- taskName: `upgrade-codedrifters-configulator`,
1663
- workflowOptions: {
1664
- schedule: UpgradeDependenciesSchedule2.DAILY
1665
- }
1666
- },
1667
- options.upgradeConfigulatorTaskOptions ?? {}
1668
- )
1669
- );
1670
- }
1671
1664
  if (options.approveMergeUpgradeOptions) {
1672
1665
  addApproveMergeUpgradeWorkflow(this, options.approveMergeUpgradeOptions);
1673
1666
  }
1674
1667
  if (this.buildWorkflow) {
1675
1668
  addBuildCompleteJob(this.buildWorkflow);
1676
1669
  }
1677
- this.tasks.tryFind("post-upgrade")?.exec("pnpm upgrade -r");
1678
- this.tasks.tryFind("post-upgrade")?.spawn(this.defaultTask);
1670
+ const upgradeWorkflow = this.github?.tryFindWorkflow("upgrade");
1671
+ const upgradeJob = upgradeWorkflow?.getJob("upgrade");
1672
+ const jobWithSteps = upgradeJob && "steps" in upgradeJob ? upgradeJob : void 0;
1673
+ if (jobWithSteps?.steps && Array.isArray(jobWithSteps.steps)) {
1674
+ const insertIndex = 4;
1675
+ if (this.configulatorRegistryConsumer) {
1676
+ jobWithSteps.steps.splice(insertIndex, 0, {
1677
+ name: `Sync ${CONFIGULATOR_PACKAGE_NAME} in workspace`,
1678
+ run: `pnpm update -r ${CONFIGULATOR_PACKAGE_NAME}`
1679
+ });
1680
+ jobWithSteps.steps.splice(insertIndex + 1, 0, {
1681
+ name: "Synthesize",
1682
+ run: this.runTaskCommand(this.defaultTask)
1683
+ });
1684
+ }
1685
+ jobWithSteps.steps.splice(
1686
+ insertIndex + (this.configulatorRegistryConsumer ? 2 : 0),
1687
+ 0,
1688
+ {
1689
+ name: "Run subproject upgrades",
1690
+ run: "pnpm -r run upgrade"
1691
+ }
1692
+ );
1693
+ }
1679
1694
  }
1680
1695
  /**
1681
1696
  * Allows a sub project to request installation of dependency at the Monorepo root