@codedrifters/configulator 0.0.167 → 0.0.169

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
@@ -454,12 +454,26 @@ var baseBundle = {
454
454
  "## Important Notes",
455
455
  "",
456
456
  "- **Never edit generated files** \u2014 they are marked with `// ~~ Generated by projen`",
457
- "- **After modifying Projen configuration**, the user should run `npx projen` locally. The agent must not run `npx projen`, `pnpm install`, or `pnpm i`.",
457
+ "- **After modifying Projen configuration**, run `npx projen` to regenerate files, then `pnpm install` to update the lockfile.",
458
458
  "- **Configure dependencies through Projen** \u2014 never use `npm install`, `pnpm add`, or `yarn add`. Add them to `deps` or `devDeps` in Projen config.",
459
459
  "- **Export from index.ts** to maintain clean public APIs"
460
460
  ].join("\n"),
461
461
  tags: ["project"]
462
462
  },
463
+ {
464
+ name: "cursor-projen-restrictions",
465
+ description: "Cursor must not run projen or package-manager install commands",
466
+ scope: AGENT_RULE_SCOPE.ALWAYS,
467
+ content: [
468
+ "# Projen Restrictions",
469
+ "",
470
+ "- **Do not run `npx projen`, `pnpm install`, or `pnpm i`** \u2014 after modifying Projen configuration, the user should run these commands locally."
471
+ ].join("\n"),
472
+ platforms: {
473
+ claude: { exclude: true }
474
+ },
475
+ tags: ["project"]
476
+ },
463
477
  {
464
478
  name: "reference-documentation",
465
479
  description: "Consult project rules, documentation, and existing code before answering or making changes",
@@ -806,7 +820,7 @@ var jestBundle = {
806
820
  // src/pnpm/pnpm-workspace.ts
807
821
  import { relative } from "path";
808
822
  import { Component, YamlFile } from "projen";
809
- var MIMIMUM_RELEASE_AGE = {
823
+ var MINIMUM_RELEASE_AGE = {
810
824
  ZERO_DAYS: 0,
811
825
  ONE_HOUR: 60,
812
826
  SIX_HOURS: 360,
@@ -835,7 +849,7 @@ var PnpmWorkspace = class _PnpmWorkspace extends Component {
835
849
  super(project);
836
850
  project.tryFindObjectFile("package.json")?.addDeletionOverride("pnpm");
837
851
  this.fileName = options.fileName ?? "pnpm-workspace.yaml";
838
- this.minimumReleaseAge = options.minimumReleaseAge ?? MIMIMUM_RELEASE_AGE.ONE_DAY;
852
+ this.minimumReleaseAge = options.minimumReleaseAge ?? MINIMUM_RELEASE_AGE.ONE_DAY;
839
853
  this.minimumReleaseAgeExclude = options.minimumReleaseAgeExclude ? ["@codedrifters/*", ...options.minimumReleaseAgeExclude] : ["@codedrifters/*"];
840
854
  this.onlyBuiltDependencies = options.onlyBuiltDependencies ? options.onlyBuiltDependencies : [];
841
855
  this.ignoredBuiltDependencies = options.ignoredBuiltDependencies ? options.ignoredBuiltDependencies : [];
@@ -882,6 +896,7 @@ var PnpmWorkspace = class _PnpmWorkspace extends Component {
882
896
  });
883
897
  }
884
898
  };
899
+ var MIMIMUM_RELEASE_AGE = MINIMUM_RELEASE_AGE;
885
900
 
886
901
  // src/agent/bundles/pnpm.ts
887
902
  var pnpmBundle = {
@@ -1426,6 +1441,10 @@ var VERSION = {
1426
1441
  * What version of the turborepo library should we use?
1427
1442
  */
1428
1443
  TURBO_VERSION: "2.9.5",
1444
+ /**
1445
+ * Version of @types/node to use across all packages (pnpm catalog).
1446
+ */
1447
+ TYPES_NODE_VERSION: "24.12.2",
1429
1448
  /**
1430
1449
  * What version of Vite to use (pnpm override). Pinned to 5.x so Vitest 4.x
1431
1450
  * can load config (Vite 6+/7+ are ESM-only; see issue #142). Remove override
@@ -2911,6 +2930,7 @@ var VERSION_NPM_PACKAGES = [
2911
2930
  { key: "PNPM_VERSION", npmPackage: "pnpm" },
2912
2931
  { key: "PROJEN_VERSION", npmPackage: "projen" },
2913
2932
  { key: "TURBO_VERSION", npmPackage: "turbo" },
2933
+ { key: "TYPES_NODE_VERSION", npmPackage: "@types/node" },
2914
2934
  { key: "VITEST_VERSION", npmPackage: "vitest" }
2915
2935
  ];
2916
2936
  var VERSION_KEYS_SKIP = [
@@ -3090,6 +3110,7 @@ var TypeScriptProject = class extends typescript.TypeScriptProject {
3090
3110
  };
3091
3111
  const options = merge(defaultOptions, userOptions);
3092
3112
  super(options);
3113
+ this.addDevDeps("@types/node@catalog:");
3093
3114
  this.tsconfig?.addExclude("**/*.test.*");
3094
3115
  this.tsconfig?.addExclude("**/*.spec.*");
3095
3116
  if (options.testRunner === TestRunner.VITEST) {
@@ -3525,6 +3546,7 @@ var MonorepoProject = class extends TypeScriptAppProject {
3525
3546
  pnpmOptions: {
3526
3547
  pnpmWorkspaceOptions: {
3527
3548
  defaultCatalog: {
3549
+ ["@types/node"]: VERSION.TYPES_NODE_VERSION,
3528
3550
  ["aws-cdk"]: VERSION.AWS_CDK_CLI_VERSION,
3529
3551
  ["aws-cdk-lib"]: VERSION.AWS_CDK_LIB_VERSION,
3530
3552
  ["projen"]: VERSION.PROJEN_VERSION,
@@ -3617,7 +3639,7 @@ var MonorepoProject = class extends TypeScriptAppProject {
3617
3639
  `pnpm@${options.pnpmVersion}`
3618
3640
  );
3619
3641
  this.gitignore?.addPatterns(".DS_Store", "test-reports");
3620
- this.addDevDeps("constructs@catalog:");
3642
+ this.addDevDeps("constructs@catalog:", "@types/node@catalog:");
3621
3643
  if (options.approveMergeUpgradeOptions) {
3622
3644
  addApproveMergeUpgradeWorkflow(this, options.approveMergeUpgradeOptions);
3623
3645
  }
@@ -4004,6 +4026,7 @@ export {
4004
4026
  MCP_TRANSPORT,
4005
4027
  MERGE_METHODS,
4006
4028
  MIMIMUM_RELEASE_AGE,
4029
+ MINIMUM_RELEASE_AGE,
4007
4030
  MonorepoProject,
4008
4031
  PROD_DEPLOY_NAME,
4009
4032
  PnpmWorkspace,