@langri-sha/projen-project 0.22.2 → 0.24.0

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.json CHANGED
@@ -2,7 +2,43 @@
2
2
  "name": "@langri-sha/projen-project",
3
3
  "entries": [
4
4
  {
5
- "date": "Mon, 27 Jul 2026 22:21:39 GMT",
5
+ "date": "Fri, 31 Jul 2026 20:40:06 GMT",
6
+ "version": "0.24.0",
7
+ "tag": "@langri-sha/projen-project_v0.24.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "filip.dupanovic@gmail.com",
12
+ "package": "@langri-sha/projen-project",
13
+ "commit": "7f19a584c2e426607f1e0ea28eaf450c944899f1",
14
+ "comment": "Reject a declared version outside the preset's supported peer range"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@langri-sha/projen-project",
19
+ "comment": "Bump @langri-sha/projen-jest-config to v0.4.10",
20
+ "commit": "not available"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Wed, 29 Jul 2026 04:19:48 GMT",
27
+ "version": "0.23.0",
28
+ "tag": "@langri-sha/projen-project_v0.23.0",
29
+ "comments": {
30
+ "minor": [
31
+ {
32
+ "author": "filip.dupanovic@gmail.com",
33
+ "package": "@langri-sha/projen-project",
34
+ "commit": "7eca758e7ae0393a5841d1b600e19dd4e68c66ac",
35
+ "comment": "Yield feature dependency pins to the version a project declares for itself"
36
+ }
37
+ ]
38
+ }
39
+ },
40
+ {
41
+ "date": "Mon, 27 Jul 2026 22:24:07 GMT",
6
42
  "version": "0.22.2",
7
43
  "tag": "@langri-sha/projen-project_v0.22.2",
8
44
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,29 @@
1
1
  # Change Log - @langri-sha/projen-project
2
2
 
3
- <!-- This log was last generated on Mon, 27 Jul 2026 22:21:39 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Fri, 31 Jul 2026 20:40:06 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.24.0
8
+
9
+ Fri, 31 Jul 2026 20:40:06 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Reject a declared version outside the preset's supported peer range (filip.dupanovic@gmail.com)
14
+ - Bump @langri-sha/projen-jest-config to v0.4.10
15
+
16
+ ## 0.23.0
17
+
18
+ Wed, 29 Jul 2026 04:19:48 GMT
19
+
20
+ ### Minor changes
21
+
22
+ - Yield feature dependency pins to the version a project declares for itself (filip.dupanovic@gmail.com)
23
+
7
24
  ## 0.22.2
8
25
 
9
- Mon, 27 Jul 2026 22:21:39 GMT
26
+ Mon, 27 Jul 2026 22:24:07 GMT
10
27
 
11
28
  ### Patches
12
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,7 +3,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _Project_instances, _Project_configureBabel, _Project_configureBeachball, _Project_configureCodeowners, _Project_configureEditorConfig, _Project_configureGitAttributes, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureReadme, _Project_configureRenovate, _Project_configureSWC, _Project_configureTypeScript, _Project_populateTypeScriptProjectReferencesFromDependencies;
6
+ var _Project_instances, _Project_ownedDevDeps, _Project_addDefaultDevDeps, _Project_assertSupported, _Project_configureBabel, _Project_configureBeachball, _Project_configureCodeowners, _Project_configureEditorConfig, _Project_configureGitAttributes, _Project_configureESLint, _Project_configureHusky, _Project_configureJestConfig, _Project_configureLicense, _Project_configureLintStaged, _Project_configureLintSynthesized, _Project_configureNpmIgnore, _Project_configurePackage, _Project_configurePnpmWorkspace, _Project_configurePrettier, _Project_configureProjenrc, _Project_configureReadme, _Project_configureRenovate, _Project_configureSWC, _Project_configureTypeScript, _Project_populateTypeScriptProjectReferencesFromDependencies;
7
+ import { createRequire } from 'node:module';
7
8
  import * as path from 'node:path';
8
9
  import { Babel } from '@langri-sha/projen-babel';
9
10
  import { Beachball } from '@langri-sha/projen-beachball';
@@ -21,8 +22,9 @@ import { ReadmeFile } from '@langri-sha/projen-readme';
21
22
  import { Renovate } from '@langri-sha/projen-renovate';
22
23
  import { SWCConfig } from '@langri-sha/projen-swcrc';
23
24
  import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
24
- import { Project as BaseProject, IgnoreFile, javascript, } from 'projen';
25
+ import { Project as BaseProject, DependencyType, IgnoreFile, javascript, } from 'projen';
25
26
  import * as R from 'ramda';
27
+ import { satisfies, valid } from 'semver';
26
28
  import { GitAttributesFile } from './lib/gitattributes.js';
27
29
  import { NodePackage, ProjenrcFile } from './lib/index.js';
28
30
  export * from '@langri-sha/projen-typescript-config';
@@ -61,6 +63,15 @@ const PROJEN_COMMANDS = {
61
63
  * Renovate's own `npm:unpublishSafe` preset.
62
64
  */
63
65
  const RENOVATE_MINIMUM_RELEASE_AGE = '3 days';
66
+ /**
67
+ * The versions of the packages this preset supplies that it can support,
68
+ * taken from its own `peerDependencies`.
69
+ *
70
+ * Read rather than restated so that the range a project is held to is the
71
+ * same one the package publishes, and widening support stays a single edit
72
+ * to `peerDeps` in `.projenrc.ts`.
73
+ */
74
+ const SUPPORTED_VERSIONS = createRequire(import.meta.url)('../package.json').peerDependencies ?? {};
64
75
  export class Project extends BaseProject {
65
76
  constructor(options) {
66
77
  super({
@@ -71,6 +82,12 @@ export class Project extends BaseProject {
71
82
  gitIgnoreOptions: getGitIgnoreOptions(options),
72
83
  });
73
84
  _Project_instances.add(this);
85
+ /**
86
+ * Packages whose version this preset supplied because the project did not
87
+ * declare one, collected by `#addDefaultDevDeps` and read by
88
+ * `#configureRenovate` — which is why that hook runs last.
89
+ */
90
+ _Project_ownedDevDeps.set(this, new Set());
74
91
  this.tryRemoveFile('.gitattributes');
75
92
  this.gitattributes = new GitAttributesFile(this);
76
93
  // Clean up tasks not required at top-level.
@@ -153,7 +170,38 @@ export class Project extends BaseProject {
153
170
  return this.allSubprojectsKind.find((project) => project.name === name);
154
171
  }
155
172
  }
156
- _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_configureBabel({ babel, package: pkg }) {
173
+ _Project_ownedDevDeps = new WeakMap(), _Project_instances = new WeakSet(), _Project_addDefaultDevDeps = function _Project_addDefaultDevDeps(...specs) {
174
+ for (const spec of specs) {
175
+ // `MODULE[@VERSION]`, where `MODULE` may itself be scoped and so start
176
+ // with an `@` of its own.
177
+ const separator = spec.lastIndexOf('@');
178
+ const name = separator > 0 ? spec.slice(0, separator) : spec;
179
+ const version = separator > 0 ? spec.slice(separator + 1) : '*';
180
+ const declared = this.deps.tryGetDependency(name, DependencyType.BUILD);
181
+ if (declared) {
182
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_assertSupported).call(this, name, declared.version);
183
+ continue;
184
+ }
185
+ this.package?.addDevDeps(spec);
186
+ // A default that resolves rather than dictates — `*` takes whatever is
187
+ // installed, `workspace:*` the sibling package — already tracks upgrades,
188
+ // so leave those to the bot. A literal version is re-asserted on every
189
+ // synthesis and is what #ownedDevDeps exists to protect.
190
+ if (version !== '*' && !version.startsWith('workspace:')) {
191
+ __classPrivateFieldGet(this, _Project_ownedDevDeps, "f").add(name);
192
+ }
193
+ }
194
+ }, _Project_assertSupported = function _Project_assertSupported(name, declared) {
195
+ const supported = SUPPORTED_VERSIONS[name];
196
+ if (!declared || !supported || !valid(declared)) {
197
+ return;
198
+ }
199
+ if (satisfies(declared, supported)) {
200
+ return;
201
+ }
202
+ throw new Error(`This project declares ${name}@${declared}, which @langri-sha/projen-project does not support — its peer range is ${supported}.\n\n` +
203
+ `Raise the declaration to satisfy ${supported}, or remove it from \`package.devDeps\` and take the version the preset supplies.`);
204
+ }, _Project_configureBabel = function _Project_configureBabel({ babel, package: pkg }) {
157
205
  if (!babel) {
158
206
  return;
159
207
  }
@@ -185,7 +233,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
185
233
  };
186
234
  this.beachball = new Beachball(this, deepMerge(defaults, beachball));
187
235
  this.prettier?.ignore.addPatterns('CHANGELOG.md');
188
- this.package?.addDevDeps('beachball@2.65.5');
236
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'beachball@2.65.5');
189
237
  this.typeScriptConfig?.addFile(this.beachball.path);
190
238
  }, _Project_configureCodeowners = function _Project_configureCodeowners({ codeowners: codeownersOptions }) {
191
239
  if (!codeownersOptions) {
@@ -234,7 +282,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
234
282
  return;
235
283
  }
236
284
  this.husky = new Husky(this, huskyOptions);
237
- this.package?.addDevDeps('husky@9.1.7');
285
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'husky@9.1.7');
238
286
  this.package?.setScript('prepare', 'husky');
239
287
  this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm');
240
288
  }, _Project_configureJestConfig = function _Project_configureJestConfig({ jestConfig: jestConfigOptions }) {
@@ -307,8 +355,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
307
355
  };
308
356
  this.package = new NodePackage(this, deepMerge(defaults, pkg));
309
357
  if (!this.parent) {
310
- this.package.addDevDeps('@langri-sha/projen-project@*');
311
- this.package.addDevDeps('projen@0.86.5');
358
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, '@langri-sha/projen-project@*', 'projen@0.86.5');
312
359
  }
313
360
  this.package.removeScript('start');
314
361
  this.package.removeScript('test');
@@ -382,6 +429,30 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
382
429
  },
383
430
  ]
384
431
  : []),
432
+ // The manifest carries these versions only because this preset put
433
+ // them there. Left enabled, every upgrade Renovate proposed against it
434
+ // would be undone by the next synthesis and reopened on the run after
435
+ // that. They are upgraded where they are written instead, in this
436
+ // preset, and reach projects with its next release.
437
+ //
438
+ // Scoped to the npm manager, which is the one reading the manifest and
439
+ // the lockfile. The custom managers above read `.projenrc` files —
440
+ // including this preset's own sources, where these pins are declared —
441
+ // and must stay enabled or the versions could never move at all.
442
+ //
443
+ // Declaring one of these in `.projenrc.ts` takes it off this list, and
444
+ // `#addDefaultDevDeps` then leaves that version alone — so opting a
445
+ // package back into upgrades here is a one-line change over there.
446
+ ...(__classPrivateFieldGet(this, _Project_ownedDevDeps, "f").size
447
+ ? [
448
+ {
449
+ description: 'Versions owned by @langri-sha/projen-project. Declare the dependency in `.projenrc.ts` to manage it here instead',
450
+ matchManagers: ['npm'],
451
+ matchPackageNames: [...__classPrivateFieldGet(this, _Project_ownedDevDeps, "f")].sort(),
452
+ enabled: false,
453
+ },
454
+ ]
455
+ : []),
385
456
  ],
386
457
  customManagers: [
387
458
  {
@@ -399,10 +470,18 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
399
470
  managerFilePatterns: ['/\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$/'],
400
471
  matchStringsStrategy: 'recursive',
401
472
  matchStrings: [
402
- '\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
473
+ // `#addDefaultDevDeps` is this package's own private helper, and
474
+ // the private-name `#` sits between the dot and the method name.
475
+ // It is matched here so the pins it carries stay upgradable; the
476
+ // paths of the files declaring them contain `projen`, so they are
477
+ // covered by `managerFilePatterns` above.
478
+ '\\.#?(?<depType>addDeps|addDevDeps|addPeerDeps|addDefaultDevDeps)\\([^)]*\\)',
403
479
  "'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
404
480
  ],
405
- depTypeTemplate: "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
481
+ // Anything that is not explicitly a runtime or peer dependency is a
482
+ // development dependency, so that every `*DevDeps` spelling maps to
483
+ // `devDependencies` rather than falling through to peers.
484
+ depTypeTemplate: "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addPeerDeps')}}peerDependencies{{else}}devDependencies{{/if}}",
406
485
  },
407
486
  {
408
487
  customType: 'regex',
@@ -445,8 +524,7 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
445
524
  return;
446
525
  }
447
526
  if (!this.parent) {
448
- this.package?.addDevDeps('@swc/core@1.15.40');
449
- this.package?.addDevDeps('@swc-node/register@1.11.1');
527
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, '@swc/core@1.15.40', '@swc-node/register@1.11.1');
450
528
  }
451
529
  const defaults = {
452
530
  $schema: 'https://json.schemastore.org/swcrc',
@@ -496,13 +574,13 @@ _Project_instances = new WeakSet(), _Project_configureBabel = function _Project_
496
574
  }
497
575
  this.typeScriptConfig = new TypeScriptConfig(this, merged);
498
576
  if (!this.parent) {
499
- this.package?.addDevDeps('typescript@5.9.3');
577
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'typescript@5.9.3');
500
578
  if (!swcrc) {
501
- this.package?.addDevDeps('tsx@4.23.1');
579
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'tsx@4.23.1');
502
580
  }
503
581
  }
504
582
  if (this.name !== '@langri-sha/tsconfig') {
505
- this.package?.addDevDeps('@langri-sha/tsconfig@*');
583
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, '@langri-sha/tsconfig@*');
506
584
  }
507
585
  }, _Project_populateTypeScriptProjectReferencesFromDependencies = function _Project_populateTypeScriptProjectReferencesFromDependencies() {
508
586
  if (this.parent || !this.package || !this.typeScriptConfig) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langri-sha/projen-project",
3
- "version": "0.22.2",
3
+ "version": "0.24.0",
4
4
  "bugs": {
5
5
  "url": "https://github.com/langri-sha/projen/issues"
6
6
  },
@@ -28,7 +28,7 @@
28
28
  "@langri-sha/projen-editorconfig": "0.6.8",
29
29
  "@langri-sha/projen-eslint": "0.3.9",
30
30
  "@langri-sha/projen-husky": "0.3.16",
31
- "@langri-sha/projen-jest-config": "0.4.9",
31
+ "@langri-sha/projen-jest-config": "0.4.10",
32
32
  "@langri-sha/projen-license": "0.3.11",
33
33
  "@langri-sha/projen-lint-staged": "0.3.10",
34
34
  "@langri-sha/projen-lint-synthesized": "0.5.10",
@@ -38,12 +38,14 @@
38
38
  "@langri-sha/projen-renovate": "0.4.13",
39
39
  "@langri-sha/projen-swcrc": "0.1.13",
40
40
  "@langri-sha/projen-typescript-config": "0.5.14",
41
- "ramda": "0.32.0"
41
+ "ramda": "0.32.0",
42
+ "semver": "7.8.5"
42
43
  },
43
44
  "devDependencies": {
44
45
  "@langri-sha/tsconfig": "1.0.1",
45
46
  "@langri-sha/vitest": "0.1.8",
46
- "@types/ramda": "0.32.0"
47
+ "@types/ramda": "0.32.0",
48
+ "@types/semver": "7.7.1"
47
49
  },
48
50
  "peerDependencies": {
49
51
  "@babel/core": "^8.0.0",
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { createRequire } from 'node:module'
1
2
  import * as path from 'node:path'
2
3
 
3
4
  import { Babel, BabelOptions } from '@langri-sha/projen-babel'
@@ -34,11 +35,13 @@ import {
34
35
  import {
35
36
  Project as BaseProject,
36
37
  type ProjectOptions as BaseProjectOptions,
38
+ DependencyType,
37
39
  IgnoreFile,
38
40
  IgnoreFileOptions,
39
41
  javascript,
40
42
  } from 'projen'
41
43
  import * as R from 'ramda'
44
+ import { satisfies, valid } from 'semver'
42
45
 
43
46
  import { GitAttributesFile } from './lib/gitattributes.js'
44
47
  import { NodePackage, NodePackageOptions, ProjenrcFile } from './lib/index.js'
@@ -83,6 +86,17 @@ const PROJEN_COMMANDS: Record<javascript.NodePackageManager, string> = {
83
86
  */
84
87
  const RENOVATE_MINIMUM_RELEASE_AGE = '3 days'
85
88
 
89
+ /**
90
+ * The versions of the packages this preset supplies that it can support,
91
+ * taken from its own `peerDependencies`.
92
+ *
93
+ * Read rather than restated so that the range a project is held to is the
94
+ * same one the package publishes, and widening support stays a single edit
95
+ * to `peerDeps` in `.projenrc.ts`.
96
+ */
97
+ const SUPPORTED_VERSIONS: Record<string, string | undefined> =
98
+ createRequire(import.meta.url)('../package.json').peerDependencies ?? {}
99
+
86
100
  export interface ProjectOptions extends Omit<
87
101
  BaseProjectOptions,
88
102
  'renovatebot' | 'renovatebotOptions'
@@ -206,6 +220,13 @@ export class Project extends BaseProject {
206
220
  swcrc?: SWCConfig
207
221
  typeScriptConfig?: TypeScriptConfig
208
222
 
223
+ /**
224
+ * Packages whose version this preset supplied because the project did not
225
+ * declare one, collected by `#addDefaultDevDeps` and read by
226
+ * `#configureRenovate` — which is why that hook runs last.
227
+ */
228
+ readonly #ownedDevDeps = new Set<string>()
229
+
209
230
  constructor(options: ProjectOptions) {
210
231
  super({
211
232
  // Resolved from the options rather than `this.package`, which does not
@@ -321,6 +342,85 @@ export class Project extends BaseProject {
321
342
  return this.allSubprojectsKind.find((project) => project.name === name)
322
343
  }
323
344
 
345
+ /**
346
+ * Add development dependencies a feature needs, without overriding versions
347
+ * the project declared for itself.
348
+ *
349
+ * Every `#configure*` hook runs after `#configurePackage` has registered
350
+ * `package.devDeps`, and Projen's `Dependencies` is last-writer-wins, so an
351
+ * unconditional `addDevDeps` silently replaces the version the project asked
352
+ * for. That is invisible until a bot tries to upgrade one of these packages:
353
+ * the bump is reverted by the next synthesis, the pull request merges as a
354
+ * no-op, and the dependency is proposed again forever.
355
+ *
356
+ * Only `BUILD` declarations are consulted, which is the type `addDevDeps`
357
+ * writes; a package the project lists as a runtime dependency is still added
358
+ * here, exactly as before.
359
+ */
360
+ #addDefaultDevDeps(...specs: string[]) {
361
+ for (const spec of specs) {
362
+ // `MODULE[@VERSION]`, where `MODULE` may itself be scoped and so start
363
+ // with an `@` of its own.
364
+ const separator = spec.lastIndexOf('@')
365
+ const name = separator > 0 ? spec.slice(0, separator) : spec
366
+ const version = separator > 0 ? spec.slice(separator + 1) : '*'
367
+
368
+ const declared = this.deps.tryGetDependency(name, DependencyType.BUILD)
369
+
370
+ if (declared) {
371
+ this.#assertSupported(name, declared.version)
372
+ continue
373
+ }
374
+
375
+ this.package?.addDevDeps(spec)
376
+
377
+ // A default that resolves rather than dictates — `*` takes whatever is
378
+ // installed, `workspace:*` the sibling package — already tracks upgrades,
379
+ // so leave those to the bot. A literal version is re-asserted on every
380
+ // synthesis and is what #ownedDevDeps exists to protect.
381
+ if (version !== '*' && !version.startsWith('workspace:')) {
382
+ this.#ownedDevDeps.add(name)
383
+ }
384
+ }
385
+ }
386
+
387
+ /**
388
+ * Fail synthesis when a project declares a version this preset cannot
389
+ * support.
390
+ *
391
+ * A declared version only began taking effect in 0.23.0 — before that a
392
+ * feature pin overwrote it, so a declaration could sit stale for a long
393
+ * time with nothing to show for it. Honouring one of those now would
394
+ * quietly move the project onto a version this preset was never built
395
+ * against, and the failure surfaces later as an unexplained diff in a
396
+ * generated file rather than as the downgrade it is.
397
+ *
398
+ * The bound is the preset's own `peerDependencies` entry, so the range is
399
+ * declared in one reviewable place and widening support is a deliberate
400
+ * edit rather than a number buried in a hook. Staying behind is fine as
401
+ * long as the range allows it.
402
+ *
403
+ * Only concrete versions are checked. A range or `*` is the project asking
404
+ * to resolve rather than naming a version, and `workspace:` is not semver
405
+ * at all.
406
+ */
407
+ #assertSupported(name: string, declared: string | undefined) {
408
+ const supported = SUPPORTED_VERSIONS[name]
409
+
410
+ if (!declared || !supported || !valid(declared)) {
411
+ return
412
+ }
413
+
414
+ if (satisfies(declared, supported)) {
415
+ return
416
+ }
417
+
418
+ throw new Error(
419
+ `This project declares ${name}@${declared}, which @langri-sha/projen-project does not support — its peer range is ${supported}.\n\n` +
420
+ `Raise the declaration to satisfy ${supported}, or remove it from \`package.devDeps\` and take the version the preset supplies.`,
421
+ )
422
+ }
423
+
324
424
  #configureBabel({ babel, package: pkg }: ProjectOptions) {
325
425
  if (!babel) {
326
426
  return
@@ -362,7 +462,7 @@ export class Project extends BaseProject {
362
462
  this.beachball = new Beachball(this, deepMerge(defaults, beachball))
363
463
 
364
464
  this.prettier?.ignore.addPatterns('CHANGELOG.md')
365
- this.package?.addDevDeps('beachball@2.65.5')
465
+ this.#addDefaultDevDeps('beachball@2.65.5')
366
466
  this.typeScriptConfig?.addFile(this.beachball!.path)
367
467
  }
368
468
 
@@ -437,7 +537,7 @@ export class Project extends BaseProject {
437
537
 
438
538
  this.husky = new Husky(this, huskyOptions)
439
539
 
440
- this.package?.addDevDeps('husky@9.1.7')
540
+ this.#addDefaultDevDeps('husky@9.1.7')
441
541
  this.package?.setScript('prepare', 'husky')
442
542
  this.tryFindObjectFile('package.json')?.addDeletionOverride('pnpm')
443
543
  }
@@ -551,8 +651,7 @@ export class Project extends BaseProject {
551
651
  this.package = new NodePackage(this, deepMerge(defaults, pkg))
552
652
 
553
653
  if (!this.parent) {
554
- this.package.addDevDeps('@langri-sha/projen-project@*')
555
- this.package.addDevDeps('projen@0.86.5')
654
+ this.#addDefaultDevDeps('@langri-sha/projen-project@*', 'projen@0.86.5')
556
655
  }
557
656
 
558
657
  this.package.removeScript('start')
@@ -653,6 +752,31 @@ export class Project extends BaseProject {
653
752
  },
654
753
  ]
655
754
  : []),
755
+ // The manifest carries these versions only because this preset put
756
+ // them there. Left enabled, every upgrade Renovate proposed against it
757
+ // would be undone by the next synthesis and reopened on the run after
758
+ // that. They are upgraded where they are written instead, in this
759
+ // preset, and reach projects with its next release.
760
+ //
761
+ // Scoped to the npm manager, which is the one reading the manifest and
762
+ // the lockfile. The custom managers above read `.projenrc` files —
763
+ // including this preset's own sources, where these pins are declared —
764
+ // and must stay enabled or the versions could never move at all.
765
+ //
766
+ // Declaring one of these in `.projenrc.ts` takes it off this list, and
767
+ // `#addDefaultDevDeps` then leaves that version alone — so opting a
768
+ // package back into upgrades here is a one-line change over there.
769
+ ...(this.#ownedDevDeps.size
770
+ ? [
771
+ {
772
+ description:
773
+ 'Versions owned by @langri-sha/projen-project. Declare the dependency in `.projenrc.ts` to manage it here instead',
774
+ matchManagers: ['npm'],
775
+ matchPackageNames: [...this.#ownedDevDeps].sort(),
776
+ enabled: false,
777
+ },
778
+ ]
779
+ : []),
656
780
  ],
657
781
  customManagers: [
658
782
  {
@@ -670,11 +794,19 @@ export class Project extends BaseProject {
670
794
  managerFilePatterns: ['/\\.?projen.*.(js|cjs|mjs|ts|mts|cts)$/'],
671
795
  matchStringsStrategy: 'recursive',
672
796
  matchStrings: [
673
- '\\.(?<depType>addDeps|addDevDeps|addPeerDeps)\\([^)]*\\)',
797
+ // `#addDefaultDevDeps` is this package's own private helper, and
798
+ // the private-name `#` sits between the dot and the method name.
799
+ // It is matched here so the pins it carries stay upgradable; the
800
+ // paths of the files declaring them contain `projen`, so they are
801
+ // covered by `managerFilePatterns` above.
802
+ '\\.#?(?<depType>addDeps|addDevDeps|addPeerDeps|addDefaultDevDeps)\\([^)]*\\)',
674
803
  "'(?<depName>@?[\\w-\\/]+)@(?<currentValue>[^']+)'",
675
804
  ],
805
+ // Anything that is not explicitly a runtime or peer dependency is a
806
+ // development dependency, so that every `*DevDeps` spelling maps to
807
+ // `devDependencies` rather than falling through to peers.
676
808
  depTypeTemplate:
677
- "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addDevDeps')}}devDependencies{{else}}peerDependencies{{/if}}",
809
+ "{{#if (equals depType 'addDeps')}}dependencies{{else if (equals depType 'addPeerDeps')}}peerDependencies{{else}}devDependencies{{/if}}",
678
810
  },
679
811
  {
680
812
  customType: 'regex',
@@ -723,8 +855,7 @@ export class Project extends BaseProject {
723
855
  }
724
856
 
725
857
  if (!this.parent) {
726
- this.package?.addDevDeps('@swc/core@1.15.40')
727
- this.package?.addDevDeps('@swc-node/register@1.11.1')
858
+ this.#addDefaultDevDeps('@swc/core@1.15.40', '@swc-node/register@1.11.1')
728
859
  }
729
860
 
730
861
  const defaults: SWCConfigOptions = {
@@ -783,15 +914,15 @@ export class Project extends BaseProject {
783
914
  this.typeScriptConfig = new TypeScriptConfig(this, merged)
784
915
 
785
916
  if (!this.parent) {
786
- this.package?.addDevDeps('typescript@5.9.3')
917
+ this.#addDefaultDevDeps('typescript@5.9.3')
787
918
 
788
919
  if (!swcrc) {
789
- this.package?.addDevDeps('tsx@4.23.1')
920
+ this.#addDefaultDevDeps('tsx@4.23.1')
790
921
  }
791
922
  }
792
923
 
793
924
  if (this.name !== '@langri-sha/tsconfig') {
794
- this.package?.addDevDeps('@langri-sha/tsconfig@*')
925
+ this.#addDefaultDevDeps('@langri-sha/tsconfig@*')
795
926
  }
796
927
  }
797
928