@codedrifters/configulator 0.0.129 → 0.0.130

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,18 @@ function addBuildCompleteJob(buildWorkflow) {
1435
1434
  }
1436
1435
 
1437
1436
  // src/projects/monorepo-project.ts
1437
+ var CONFIGULATOR_PACKAGE_NAME = "@codedrifters/configulator";
1438
+ function isConfigulatorRegistryConsumer(project) {
1439
+ const dep = project.deps.all.find(
1440
+ (d) => d.name === CONFIGULATOR_PACKAGE_NAME
1441
+ );
1442
+ if (!dep?.version) return false;
1443
+ const v = dep.version;
1444
+ if (v.startsWith("workspace:") || v.startsWith("file:") || v.startsWith("link:") || v.startsWith("catalog:")) {
1445
+ return false;
1446
+ }
1447
+ return true;
1448
+ }
1438
1449
  var postInstallDependenciesMap = /* @__PURE__ */ new WeakMap();
1439
1450
  var MonorepoProject = class extends TypeScriptAppProject {
1440
1451
  constructor(userOptions) {
@@ -1520,9 +1531,12 @@ var MonorepoProject = class extends TypeScriptAppProject {
1520
1531
  release: false,
1521
1532
  /**
1522
1533
  * Uppgrade dependencies automatically unless otherwise instructed.
1534
+ * Exclude @codedrifters/configulator so the default upgrade task does not
1535
+ * upgrade it (version is often managed in-repo or via a separate sync step).
1523
1536
  */
1524
1537
  depsUpgrade: true,
1525
1538
  depsUpgradeOptions: {
1539
+ exclude: ["@codedrifters/configulator"],
1526
1540
  workflowOptions: {
1527
1541
  schedule: UpgradeDependenciesSchedule2.DAILY
1528
1542
  },
@@ -1653,29 +1667,40 @@ var MonorepoProject = class extends TypeScriptAppProject {
1653
1667
  );
1654
1668
  this.gitignore?.addPatterns(".DS_Store", "test-reports");
1655
1669
  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
1670
  if (options.approveMergeUpgradeOptions) {
1672
1671
  addApproveMergeUpgradeWorkflow(this, options.approveMergeUpgradeOptions);
1673
1672
  }
1674
1673
  if (this.buildWorkflow) {
1675
1674
  addBuildCompleteJob(this.buildWorkflow);
1676
1675
  }
1677
- this.tasks.tryFind("post-upgrade")?.exec("pnpm upgrade -r");
1678
- this.tasks.tryFind("post-upgrade")?.spawn(this.defaultTask);
1676
+ if (isConfigulatorRegistryConsumer(this)) {
1677
+ this.tasks.tryFind("post-upgrade")?.exec(`pnpm update -r ${CONFIGULATOR_PACKAGE_NAME}`);
1678
+ this.tasks.tryFind("post-upgrade")?.spawn(this.defaultTask);
1679
+ }
1680
+ const upgradeWorkflow = this.github?.tryFindWorkflow("upgrade");
1681
+ const upgradeJob = upgradeWorkflow?.getJob("upgrade");
1682
+ const jobWithSteps = upgradeJob && "steps" in upgradeJob ? upgradeJob : void 0;
1683
+ if (jobWithSteps?.steps && Array.isArray(jobWithSteps.steps)) {
1684
+ const insertIndex = 4;
1685
+ if (isConfigulatorRegistryConsumer(this)) {
1686
+ jobWithSteps.steps.splice(insertIndex, 0, {
1687
+ name: `Sync ${CONFIGULATOR_PACKAGE_NAME} in workspace`,
1688
+ run: `pnpm update -r ${CONFIGULATOR_PACKAGE_NAME}`
1689
+ });
1690
+ jobWithSteps.steps.splice(insertIndex + 1, 0, {
1691
+ name: "Synthesize",
1692
+ run: this.runTaskCommand(this.defaultTask)
1693
+ });
1694
+ }
1695
+ jobWithSteps.steps.splice(
1696
+ insertIndex + (isConfigulatorRegistryConsumer(this) ? 2 : 0),
1697
+ 0,
1698
+ {
1699
+ name: "Run subproject upgrades",
1700
+ run: "pnpm -r run upgrade"
1701
+ }
1702
+ );
1703
+ }
1679
1704
  }
1680
1705
  /**
1681
1706
  * Allows a sub project to request installation of dependency at the Monorepo root