@langri-sha/projen-project 0.32.0 → 0.33.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,357 @@
2
2
  "name": "@langri-sha/projen-project",
3
3
  "entries": [
4
4
  {
5
- "date": "Sun, 04 Oct 2026 19:21:03 GMT",
5
+ "date": "Fri, 09 Oct 2026 12:54:16 GMT",
6
+ "version": "0.33.0",
7
+ "tag": "@langri-sha/projen-project_v0.33.0",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "filip.dupanovic@gmail.com",
12
+ "package": "@langri-sha/projen-project",
13
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
14
+ "comment": "Track uv's pythonVersion in the projenrc"
15
+ },
16
+ {
17
+ "author": "filip.dupanovic@gmail.com",
18
+ "package": "@langri-sha/projen-project",
19
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
20
+ "comment": "Let a project override a default number"
21
+ },
22
+ {
23
+ "author": "filip.dupanovic@gmail.com",
24
+ "package": "@langri-sha/projen-project",
25
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
26
+ "comment": "Indent Python with four spaces in uv workspaces"
27
+ },
28
+ {
29
+ "author": "filip.dupanovic@gmail.com",
30
+ "package": "@langri-sha/projen-project",
31
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
32
+ "comment": "Write the EditorConfig defaults first, so a project's sections and values override them"
33
+ },
34
+ {
35
+ "author": "filip.dupanovic@gmail.com",
36
+ "package": "@langri-sha/projen-project",
37
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
38
+ "comment": "Default ty's python-version to uv's pythonVersion"
39
+ },
40
+ {
41
+ "author": "email not defined",
42
+ "package": "@langri-sha/projen-project",
43
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
44
+ "comment": "Update langri-sha projen toolchain"
45
+ },
46
+ {
47
+ "author": "filip.dupanovic@gmail.com",
48
+ "package": "@langri-sha/projen-project",
49
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
50
+ "comment": "Run Ruff on staged Python files with `ruff` and `lintStaged` set"
51
+ }
52
+ ],
53
+ "minor": [
54
+ {
55
+ "author": "filip.dupanovic@gmail.com",
56
+ "package": "@langri-sha/projen-project",
57
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
58
+ "comment": "Configure ty with the `ty` option"
59
+ },
60
+ {
61
+ "author": "filip.dupanovic@gmail.com",
62
+ "package": "@langri-sha/projen-project",
63
+ "commit": "b3791dbf984a73bd55af1490218d6d0a8627049f",
64
+ "comment": "Configure Ruff with the `ruff` option"
65
+ },
66
+ {
67
+ "author": "beachball",
68
+ "package": "@langri-sha/projen-project",
69
+ "comment": "Bump @langri-sha/projen-babel to v0.5.17",
70
+ "commit": "not available"
71
+ },
72
+ {
73
+ "author": "beachball",
74
+ "package": "@langri-sha/projen-project",
75
+ "comment": "Bump @langri-sha/projen-beachball to v0.5.14",
76
+ "commit": "not available"
77
+ },
78
+ {
79
+ "author": "beachball",
80
+ "package": "@langri-sha/projen-project",
81
+ "comment": "Bump @langri-sha/projen-cargo to v0.1.9",
82
+ "commit": "not available"
83
+ },
84
+ {
85
+ "author": "beachball",
86
+ "package": "@langri-sha/projen-project",
87
+ "comment": "Bump @langri-sha/projen-codeowners to v0.5.14",
88
+ "commit": "not available"
89
+ },
90
+ {
91
+ "author": "beachball",
92
+ "package": "@langri-sha/projen-project",
93
+ "comment": "Bump @langri-sha/projen-dagger to v0.3.2",
94
+ "commit": "not available"
95
+ },
96
+ {
97
+ "author": "beachball",
98
+ "package": "@langri-sha/projen-project",
99
+ "comment": "Bump @langri-sha/projen-editorconfig to v0.6.14",
100
+ "commit": "not available"
101
+ },
102
+ {
103
+ "author": "beachball",
104
+ "package": "@langri-sha/projen-project",
105
+ "comment": "Bump @langri-sha/projen-eslint to v0.3.18",
106
+ "commit": "not available"
107
+ },
108
+ {
109
+ "author": "beachball",
110
+ "package": "@langri-sha/projen-project",
111
+ "comment": "Bump @langri-sha/projen-husky to v0.3.24",
112
+ "commit": "not available"
113
+ },
114
+ {
115
+ "author": "beachball",
116
+ "package": "@langri-sha/projen-project",
117
+ "comment": "Bump @langri-sha/projen-jest-config to v0.4.19",
118
+ "commit": "not available"
119
+ },
120
+ {
121
+ "author": "beachball",
122
+ "package": "@langri-sha/projen-project",
123
+ "comment": "Bump @langri-sha/projen-license to v0.3.17",
124
+ "commit": "not available"
125
+ },
126
+ {
127
+ "author": "beachball",
128
+ "package": "@langri-sha/projen-project",
129
+ "comment": "Bump @langri-sha/projen-lint-staged to v0.3.19",
130
+ "commit": "not available"
131
+ },
132
+ {
133
+ "author": "beachball",
134
+ "package": "@langri-sha/projen-project",
135
+ "comment": "Bump @langri-sha/projen-lint-synthesized to v0.5.18",
136
+ "commit": "not available"
137
+ },
138
+ {
139
+ "author": "beachball",
140
+ "package": "@langri-sha/projen-project",
141
+ "comment": "Bump @langri-sha/projen-pnpm-workspace to v0.4.14",
142
+ "commit": "not available"
143
+ },
144
+ {
145
+ "author": "beachball",
146
+ "package": "@langri-sha/projen-project",
147
+ "comment": "Bump @langri-sha/projen-prettier to v0.4.19",
148
+ "commit": "not available"
149
+ },
150
+ {
151
+ "author": "beachball",
152
+ "package": "@langri-sha/projen-project",
153
+ "comment": "Bump @langri-sha/projen-readme to v0.1.14",
154
+ "commit": "not available"
155
+ },
156
+ {
157
+ "author": "beachball",
158
+ "package": "@langri-sha/projen-project",
159
+ "comment": "Bump @langri-sha/projen-renovate to v0.4.26",
160
+ "commit": "not available"
161
+ },
162
+ {
163
+ "author": "beachball",
164
+ "package": "@langri-sha/projen-project",
165
+ "comment": "Bump @langri-sha/projen-ruff to v0.1.0",
166
+ "commit": "not available"
167
+ },
168
+ {
169
+ "author": "beachball",
170
+ "package": "@langri-sha/projen-project",
171
+ "comment": "Bump @langri-sha/projen-swcrc to v0.1.26",
172
+ "commit": "not available"
173
+ },
174
+ {
175
+ "author": "beachball",
176
+ "package": "@langri-sha/projen-project",
177
+ "comment": "Bump @langri-sha/projen-ty to v0.1.0",
178
+ "commit": "not available"
179
+ },
180
+ {
181
+ "author": "beachball",
182
+ "package": "@langri-sha/projen-project",
183
+ "comment": "Bump @langri-sha/projen-typescript-config to v0.5.22",
184
+ "commit": "not available"
185
+ },
186
+ {
187
+ "author": "beachball",
188
+ "package": "@langri-sha/projen-project",
189
+ "comment": "Bump @langri-sha/projen-uv to v0.1.6",
190
+ "commit": "not available"
191
+ },
192
+ {
193
+ "author": "beachball",
194
+ "package": "@langri-sha/projen-project",
195
+ "comment": "Bump @langri-sha/projen-worktrunk to v0.1.5",
196
+ "commit": "not available"
197
+ }
198
+ ]
199
+ }
200
+ },
201
+ {
202
+ "date": "Wed, 07 Oct 2026 10:17:44 GMT",
203
+ "version": "0.32.1",
204
+ "tag": "@langri-sha/projen-project_v0.32.1",
205
+ "comments": {
206
+ "patch": [
207
+ {
208
+ "author": "filip.dupanovic@gmail.com",
209
+ "package": "@langri-sha/projen-project",
210
+ "commit": "0898a5b634bc0f581029c4ba806c3ebf75143eb7",
211
+ "comment": "Give the package a plain-text description"
212
+ },
213
+ {
214
+ "author": "filip.dupanovic@gmail.com",
215
+ "package": "@langri-sha/projen-project",
216
+ "commit": "0898a5b634bc0f581029c4ba806c3ebf75143eb7",
217
+ "comment": "Fix unresolved reference links in the README"
218
+ },
219
+ {
220
+ "author": "email not defined",
221
+ "package": "@langri-sha/projen-project",
222
+ "commit": "0898a5b634bc0f581029c4ba806c3ebf75143eb7",
223
+ "comment": "Update dependency eslint to v10.12.0"
224
+ },
225
+ {
226
+ "author": "filip.dupanovic@gmail.com",
227
+ "package": "@langri-sha/projen-project",
228
+ "commit": "0898a5b634bc0f581029c4ba806c3ebf75143eb7",
229
+ "comment": "Dedupe pnpm lockfiles after Renovate updates"
230
+ },
231
+ {
232
+ "author": "beachball",
233
+ "package": "@langri-sha/projen-project",
234
+ "comment": "Bump @langri-sha/projen-babel to v0.5.16",
235
+ "commit": "not available"
236
+ },
237
+ {
238
+ "author": "beachball",
239
+ "package": "@langri-sha/projen-project",
240
+ "comment": "Bump @langri-sha/projen-beachball to v0.5.13",
241
+ "commit": "not available"
242
+ },
243
+ {
244
+ "author": "beachball",
245
+ "package": "@langri-sha/projen-project",
246
+ "comment": "Bump @langri-sha/projen-cargo to v0.1.8",
247
+ "commit": "not available"
248
+ },
249
+ {
250
+ "author": "beachball",
251
+ "package": "@langri-sha/projen-project",
252
+ "comment": "Bump @langri-sha/projen-codeowners to v0.5.13",
253
+ "commit": "not available"
254
+ },
255
+ {
256
+ "author": "beachball",
257
+ "package": "@langri-sha/projen-project",
258
+ "comment": "Bump @langri-sha/projen-dagger to v0.3.1",
259
+ "commit": "not available"
260
+ },
261
+ {
262
+ "author": "beachball",
263
+ "package": "@langri-sha/projen-project",
264
+ "comment": "Bump @langri-sha/projen-editorconfig to v0.6.13",
265
+ "commit": "not available"
266
+ },
267
+ {
268
+ "author": "beachball",
269
+ "package": "@langri-sha/projen-project",
270
+ "comment": "Bump @langri-sha/projen-eslint to v0.3.17",
271
+ "commit": "not available"
272
+ },
273
+ {
274
+ "author": "beachball",
275
+ "package": "@langri-sha/projen-project",
276
+ "comment": "Bump @langri-sha/projen-husky to v0.3.23",
277
+ "commit": "not available"
278
+ },
279
+ {
280
+ "author": "beachball",
281
+ "package": "@langri-sha/projen-project",
282
+ "comment": "Bump @langri-sha/projen-jest-config to v0.4.18",
283
+ "commit": "not available"
284
+ },
285
+ {
286
+ "author": "beachball",
287
+ "package": "@langri-sha/projen-project",
288
+ "comment": "Bump @langri-sha/projen-license to v0.3.16",
289
+ "commit": "not available"
290
+ },
291
+ {
292
+ "author": "beachball",
293
+ "package": "@langri-sha/projen-project",
294
+ "comment": "Bump @langri-sha/projen-lint-staged to v0.3.18",
295
+ "commit": "not available"
296
+ },
297
+ {
298
+ "author": "beachball",
299
+ "package": "@langri-sha/projen-project",
300
+ "comment": "Bump @langri-sha/projen-lint-synthesized to v0.5.17",
301
+ "commit": "not available"
302
+ },
303
+ {
304
+ "author": "beachball",
305
+ "package": "@langri-sha/projen-project",
306
+ "comment": "Bump @langri-sha/projen-pnpm-workspace to v0.4.13",
307
+ "commit": "not available"
308
+ },
309
+ {
310
+ "author": "beachball",
311
+ "package": "@langri-sha/projen-project",
312
+ "comment": "Bump @langri-sha/projen-prettier to v0.4.18",
313
+ "commit": "not available"
314
+ },
315
+ {
316
+ "author": "beachball",
317
+ "package": "@langri-sha/projen-project",
318
+ "comment": "Bump @langri-sha/projen-readme to v0.1.13",
319
+ "commit": "not available"
320
+ },
321
+ {
322
+ "author": "beachball",
323
+ "package": "@langri-sha/projen-project",
324
+ "comment": "Bump @langri-sha/projen-renovate to v0.4.25",
325
+ "commit": "not available"
326
+ },
327
+ {
328
+ "author": "beachball",
329
+ "package": "@langri-sha/projen-project",
330
+ "comment": "Bump @langri-sha/projen-swcrc to v0.1.25",
331
+ "commit": "not available"
332
+ },
333
+ {
334
+ "author": "beachball",
335
+ "package": "@langri-sha/projen-project",
336
+ "comment": "Bump @langri-sha/projen-typescript-config to v0.5.21",
337
+ "commit": "not available"
338
+ },
339
+ {
340
+ "author": "beachball",
341
+ "package": "@langri-sha/projen-project",
342
+ "comment": "Bump @langri-sha/projen-uv to v0.1.5",
343
+ "commit": "not available"
344
+ },
345
+ {
346
+ "author": "beachball",
347
+ "package": "@langri-sha/projen-project",
348
+ "comment": "Bump @langri-sha/projen-worktrunk to v0.1.4",
349
+ "commit": "not available"
350
+ }
351
+ ]
352
+ }
353
+ },
354
+ {
355
+ "date": "Sun, 04 Oct 2026 19:23:27 GMT",
6
356
  "version": "0.32.0",
7
357
  "tag": "@langri-sha/projen-project_v0.32.0",
8
358
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,84 @@
1
1
  # Change Log - @langri-sha/projen-project
2
2
 
3
- <!-- This log was last generated on Sun, 04 Oct 2026 19:21:03 GMT and should not be manually modified. -->
3
+ <!-- This log was last generated on Fri, 09 Oct 2026 12:54:16 GMT and should not be manually modified. -->
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.33.0
8
+
9
+ Fri, 09 Oct 2026 12:54:16 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Configure ty with the `ty` option (filip.dupanovic@gmail.com)
14
+ - Configure Ruff with the `ruff` option (filip.dupanovic@gmail.com)
15
+ - Bump @langri-sha/projen-babel to v0.5.17
16
+ - Bump @langri-sha/projen-beachball to v0.5.14
17
+ - Bump @langri-sha/projen-cargo to v0.1.9
18
+ - Bump @langri-sha/projen-codeowners to v0.5.14
19
+ - Bump @langri-sha/projen-dagger to v0.3.2
20
+ - Bump @langri-sha/projen-editorconfig to v0.6.14
21
+ - Bump @langri-sha/projen-eslint to v0.3.18
22
+ - Bump @langri-sha/projen-husky to v0.3.24
23
+ - Bump @langri-sha/projen-jest-config to v0.4.19
24
+ - Bump @langri-sha/projen-license to v0.3.17
25
+ - Bump @langri-sha/projen-lint-staged to v0.3.19
26
+ - Bump @langri-sha/projen-lint-synthesized to v0.5.18
27
+ - Bump @langri-sha/projen-pnpm-workspace to v0.4.14
28
+ - Bump @langri-sha/projen-prettier to v0.4.19
29
+ - Bump @langri-sha/projen-readme to v0.1.14
30
+ - Bump @langri-sha/projen-renovate to v0.4.26
31
+ - Bump @langri-sha/projen-ruff to v0.1.0
32
+ - Bump @langri-sha/projen-swcrc to v0.1.26
33
+ - Bump @langri-sha/projen-ty to v0.1.0
34
+ - Bump @langri-sha/projen-typescript-config to v0.5.22
35
+ - Bump @langri-sha/projen-uv to v0.1.6
36
+ - Bump @langri-sha/projen-worktrunk to v0.1.5
37
+
38
+ ### Patches
39
+
40
+ - Track uv's pythonVersion in the projenrc (filip.dupanovic@gmail.com)
41
+ - Let a project override a default number (filip.dupanovic@gmail.com)
42
+ - Indent Python with four spaces in uv workspaces (filip.dupanovic@gmail.com)
43
+ - Write the EditorConfig defaults first, so a project's sections and values override them (filip.dupanovic@gmail.com)
44
+ - Default ty's python-version to uv's pythonVersion (filip.dupanovic@gmail.com)
45
+ - Update langri-sha projen toolchain
46
+ - Run Ruff on staged Python files with `ruff` and `lintStaged` set (filip.dupanovic@gmail.com)
47
+
48
+ ## 0.32.1
49
+
50
+ Wed, 07 Oct 2026 10:17:44 GMT
51
+
52
+ ### Patches
53
+
54
+ - Give the package a plain-text description (filip.dupanovic@gmail.com)
55
+ - Fix unresolved reference links in the README (filip.dupanovic@gmail.com)
56
+ - Update dependency eslint to v10.12.0
57
+ - Dedupe pnpm lockfiles after Renovate updates (filip.dupanovic@gmail.com)
58
+ - Bump @langri-sha/projen-babel to v0.5.16
59
+ - Bump @langri-sha/projen-beachball to v0.5.13
60
+ - Bump @langri-sha/projen-cargo to v0.1.8
61
+ - Bump @langri-sha/projen-codeowners to v0.5.13
62
+ - Bump @langri-sha/projen-dagger to v0.3.1
63
+ - Bump @langri-sha/projen-editorconfig to v0.6.13
64
+ - Bump @langri-sha/projen-eslint to v0.3.17
65
+ - Bump @langri-sha/projen-husky to v0.3.23
66
+ - Bump @langri-sha/projen-jest-config to v0.4.18
67
+ - Bump @langri-sha/projen-license to v0.3.16
68
+ - Bump @langri-sha/projen-lint-staged to v0.3.18
69
+ - Bump @langri-sha/projen-lint-synthesized to v0.5.17
70
+ - Bump @langri-sha/projen-pnpm-workspace to v0.4.13
71
+ - Bump @langri-sha/projen-prettier to v0.4.18
72
+ - Bump @langri-sha/projen-readme to v0.1.13
73
+ - Bump @langri-sha/projen-renovate to v0.4.25
74
+ - Bump @langri-sha/projen-swcrc to v0.1.25
75
+ - Bump @langri-sha/projen-typescript-config to v0.5.21
76
+ - Bump @langri-sha/projen-uv to v0.1.5
77
+ - Bump @langri-sha/projen-worktrunk to v0.1.4
78
+
7
79
  ## 0.32.0
8
80
 
9
- Sun, 04 Oct 2026 19:21:03 GMT
81
+ Sun, 04 Oct 2026 19:23:27 GMT
10
82
 
11
83
  ### Minor changes
12
84
 
package/dist/index.d.ts CHANGED
@@ -14,7 +14,9 @@ import { PnpmWorkspace, PnpmWorkspaceOptions } from '@langri-sha/projen-pnpm-wor
14
14
  import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier';
15
15
  import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme';
16
16
  import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate';
17
+ import { Ruff, type RuffOptions } from '@langri-sha/projen-ruff';
17
18
  import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc';
19
+ import { Ty, type TyOptions } from '@langri-sha/projen-ty';
18
20
  import { TypeScriptConfig, type TypeScriptConfigOptions } from '@langri-sha/projen-typescript-config';
19
21
  import { type UvOptions, UvPackage, UvWorkspace } from '@langri-sha/projen-uv';
20
22
  import { Worktrunk, type WorktrunkOptions } from '@langri-sha/projen-worktrunk';
@@ -75,7 +77,24 @@ export interface ProjectOptions extends Omit<BaseProjectOptions, 'renovatebot' |
75
77
  npmIgnore?: IgnoreFileOptions;
76
78
  readme?: ReadmeFileOptions;
77
79
  renovate?: RenovateOptions;
80
+ /**
81
+ * Pass in to configure Ruff. Root projects only: Ruff takes the nearest
82
+ * configuration, so one at the root covers the whole workspace.
83
+ *
84
+ * With `lintStaged`, staged Python files are fixed and formatted on commit,
85
+ * through `uv run --frozen` when `uv` is set, so ruff comes from `uv.lock`:
86
+ * declare it in the workspace's `dev` group, or `uv run` falls back to
87
+ * whatever ruff is on the `PATH`.
88
+ */
89
+ ruff?: RuffOptions;
78
90
  swcrc?: SWCConfigOptions;
91
+ /**
92
+ * Pass in to configure ty. Root projects only, like `ruff`.
93
+ *
94
+ * With `uv.pythonVersion` set, `environment.python-version` follows it; set
95
+ * it to `null` to leave the version to ty.
96
+ */
97
+ ty?: TyOptions;
79
98
  /**
80
99
  * TypeScript configuration options.
81
100
  */
@@ -113,7 +132,9 @@ export declare class Project extends BaseProject {
113
132
  projenrc?: ProjenrcFile;
114
133
  readme?: ReadmeFile;
115
134
  renovate?: Renovate;
135
+ ruff?: Ruff;
116
136
  swcrc?: SWCConfig;
137
+ ty?: Ty;
117
138
  typeScriptConfig?: TypeScriptConfig;
118
139
  uv?: UvPackage | UvWorkspace;
119
140
  worktrunk?: Worktrunk;
@@ -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,7 @@ 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, _a, _Project_ownedDevDeps, _Project_addDefaultDevDeps, _Project_assertSupported, _Project_configureBabel, _Project_configureBeachball, _Project_configureCargo, _Project_configureCodeowners, _Project_configureDagger, _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_configureUv, _Project_configureWorktrunk, _Project_populateTypeScriptProjectReferencesFromDependencies;
6
+ var _Project_instances, _a, _Project_ownedDevDeps, _Project_addDefaultDevDeps, _Project_assertSupported, _Project_configureBabel, _Project_configureBeachball, _Project_configureCargo, _Project_configureCodeowners, _Project_configureDagger, _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_configureRuff, _Project_configureSWC, _Project_configureTy, _Project_configureTypeScript, _Project_configureUv, _Project_configureWorktrunk, _Project_populateTypeScriptProjectReferencesFromDependencies;
7
7
  import { createRequire } from 'node:module';
8
8
  import * as path from 'node:path';
9
9
  import { Babel } from '@langri-sha/projen-babel';
@@ -22,7 +22,9 @@ import { PnpmWorkspace, } from '@langri-sha/projen-pnpm-workspace';
22
22
  import { Prettier } from '@langri-sha/projen-prettier';
23
23
  import { ReadmeFile } from '@langri-sha/projen-readme';
24
24
  import { Renovate } from '@langri-sha/projen-renovate';
25
+ import { Ruff } from '@langri-sha/projen-ruff';
25
26
  import { SWCConfig } from '@langri-sha/projen-swcrc';
27
+ import { Ty, } from '@langri-sha/projen-ty';
26
28
  import { TypeScriptConfig, } from '@langri-sha/projen-typescript-config';
27
29
  import { UvPackage, UvWorkspace } from '@langri-sha/projen-uv';
28
30
  import { Worktrunk } from '@langri-sha/projen-worktrunk';
@@ -132,6 +134,8 @@ export class Project extends BaseProject {
132
134
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureNpmIgnore).call(this, options);
133
135
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configurePnpmWorkspace).call(this, options);
134
136
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureReadme).call(this, options);
137
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRuff).call(this, options);
138
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureTy).call(this, options);
135
139
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureUv).call(this, options);
136
140
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureWorktrunk).call(this, options);
137
141
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_configureRenovate).call(this, options);
@@ -295,7 +299,7 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
295
299
  return;
296
300
  }
297
301
  this.dagger = new Dagger(this, dagger);
298
- }, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfig: editorConfigOptions, }) {
302
+ }, _Project_configureEditorConfig = function _Project_configureEditorConfig({ editorConfig: editorConfigOptions, uv, }) {
299
303
  if (!editorConfigOptions || this.parent) {
300
304
  return;
301
305
  }
@@ -311,8 +315,16 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
311
315
  Dockerfile: {
312
316
  indent_style: 'tab',
313
317
  },
318
+ // What ruff formats Python to. It ignores EditorConfig, so editors
319
+ // indenting at anything else are corrected on every format.
320
+ ...(uv && {
321
+ '*.{py,pyi}': {
322
+ indent_style: 'space',
323
+ indent_size: 4,
324
+ },
325
+ }),
314
326
  };
315
- this.editorConfig = new EditorConfig(this, deepMerge(editorConfigOptions ?? {}, defaults));
327
+ this.editorConfig = new EditorConfig(this, deepMerge(defaults, editorConfigOptions));
316
328
  this.prettier?.ignore.addPatterns('!.editorconfig');
317
329
  }, _Project_configureGitAttributes = function _Project_configureGitAttributes() {
318
330
  this.annotateGenerated('/.gitignore');
@@ -328,7 +340,7 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
328
340
  extends: '@langri-sha/eslint-config',
329
341
  };
330
342
  if (!this.parent) {
331
- __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'eslint@10.11.0');
343
+ __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'eslint@10.12.0');
332
344
  }
333
345
  this.eslint = new ESLint(this, deepMerge(defaults, eslint));
334
346
  if (this.projenrc?.filePath) {
@@ -368,7 +380,7 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
368
380
  .join(' '),
369
381
  year: pkg.copyrightYear ?? new Date().getFullYear().toString(),
370
382
  });
371
- }, _Project_configureLintStaged = function _Project_configureLintStaged({ lintStaged, package: pkg }) {
383
+ }, _Project_configureLintStaged = function _Project_configureLintStaged({ lintStaged, package: pkg, ruff, uv }) {
372
384
  if (!lintStaged) {
373
385
  return;
374
386
  }
@@ -381,7 +393,31 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
381
393
  if (!this.parent) {
382
394
  __classPrivateFieldGet(this, _Project_instances, "m", _Project_addDefaultDevDeps).call(this, 'lint-staged@17.6.0');
383
395
  }
384
- this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStaged));
396
+ // ruff is configured at the root alone, but lint-staged runs the nearest
397
+ // configuration to each staged file, so a subproject's runs ruff as well.
398
+ const root = this.root instanceof _a ? this.root : undefined;
399
+ const withRuff = this.parent ? root?.ruff : ruff;
400
+ const withUv = uv ?? (this.parent ? root?.uv : undefined);
401
+ // ruff fixes before it formats, so that the formatter has the last word.
402
+ // lint-staged names the files, which ruff checks even where the project
403
+ // excludes them unless forced to exclude. Since 17.6 it also stages every
404
+ // file a task changes, so `uv run` must not re-lock the workspace.
405
+ const ruffCommand = withUv ? 'uv run --frozen ruff' : 'ruff';
406
+ const python = withRuff
407
+ ? {
408
+ '*.{py,pyi}': [
409
+ `${ruffCommand} check --fix --force-exclude`,
410
+ `${ruffCommand} format --force-exclude`,
411
+ ],
412
+ }
413
+ : {};
414
+ const { config, ...options } = deepMerge(defaults, lintStaged);
415
+ // Spread rather than merged, so that a project's own glob replaces these
416
+ // the way it replaces those of the configuration it extends.
417
+ this.lintStaged = new LintStaged(this, {
418
+ ...options,
419
+ config: { ...python, ...config },
420
+ });
385
421
  this.typeScriptConfig?.addFile(this.lintStaged.path);
386
422
  }, _Project_configureLintSynthesized = function _Project_configureLintSynthesized({ eslint, lintSynthesized, prettier, }) {
387
423
  if (!lintSynthesized) {
@@ -488,6 +524,9 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
488
524
  lockFileMaintenance: {
489
525
  enabled: true,
490
526
  },
527
+ ...(this.package?.packageManager === javascript.NodePackageManager.PNPM
528
+ ? { postUpdateOptions: ['pnpmDedupe'] }
529
+ : {}),
491
530
  packageRules: [
492
531
  {
493
532
  description: 'Prioritize updates in Projen configurations',
@@ -674,6 +713,26 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
674
713
  },
675
714
  ]
676
715
  : []),
716
+ // `.python-version` is synthesized from the projenrc, so pyenv's update
717
+ // to the file alone would be put back by the next synthesis. Read with
718
+ // pyenv's depName, datasource and versioning, the declaration moves on
719
+ // the same branch as the file. Held to the projenrc for the reason
720
+ // spelled out under the `packageManager` manager, and because
721
+ // `pythonVersion:` appears in this preset's tests and projen-uv's.
722
+ ...(uv?.pythonVersion
723
+ ? [
724
+ {
725
+ customType: 'regex',
726
+ datasourceTemplate: 'docker',
727
+ depNameTemplate: 'python',
728
+ versioningTemplate: 'docker',
729
+ managerFilePatterns: [
730
+ '/(^|/)\\.?projenrc\\.(js|cjs|mjs|ts|mts|cts)$/',
731
+ ],
732
+ matchStrings: ["pythonVersion:\\s*'(?<currentValue>[^']+)'"],
733
+ },
734
+ ]
735
+ : []),
677
736
  // The `packageManager` field is declared in a projenrc and only
678
737
  // reaches the manifest through synthesis, so the npm manager reading
679
738
  // the manifest cannot propose it. Both patterns are held to that one
@@ -700,9 +759,9 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
700
759
  // `pnpm` offered pnpm's version for every other tool — and the version
701
760
  // ends at the first space or quote.
702
761
  //
703
- // Anchored to a projenrc for the reason the two managers above are: a
704
- // pattern that merely contains `projen` reaches the sources of every
705
- // package here, and this preset's own tests exercise this regex
762
+ // Anchored to a projenrc for the reason the anchored managers above
763
+ // are: a pattern that merely contains `projen` reaches the sources of
764
+ // every package here, and this preset's own tests exercise this regex
706
765
  // against a literal `pnpx name@version`. Renovate rewrote the fixture
707
766
  // and left the assertion beside it, failing the suite over a package
708
767
  // nothing depends on.
@@ -725,6 +784,11 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
725
784
  exec: 'pnpx renovate --platform=local --repository-cache=reset --dry-run=full',
726
785
  });
727
786
  this.renovate = new Renovate(this, deepMerge(defaults, renovateOptions));
787
+ }, _Project_configureRuff = function _Project_configureRuff({ ruff }) {
788
+ if (!ruff || this.parent) {
789
+ return;
790
+ }
791
+ this.ruff = new Ruff(this, ruff);
728
792
  }, _Project_configureSWC = function _Project_configureSWC({ swcrc, typeScriptConfig }) {
729
793
  if (!swcrc) {
730
794
  return;
@@ -750,6 +814,23 @@ _a = Project, _Project_ownedDevDeps = new WeakMap(), _Project_instances = new We
750
814
  },
751
815
  };
752
816
  this.swcrc = new SWCConfig(this, deepMerge(defaults, swcrc));
817
+ }, _Project_configureTy = function _Project_configureTy({ ty, uv }) {
818
+ if (!ty || this.parent) {
819
+ return;
820
+ }
821
+ // ty takes `major.minor` alone, so a pinned patch release is cut back to
822
+ // it and a pinned implementation is left to ty. The schema's type lists
823
+ // only the versions ty knew when it was published; a newer one is ty's
824
+ // to refuse.
825
+ const pythonVersion = uv?.pythonVersion?.match(/^\d+\.\d+/)?.[0];
826
+ const defaults = {
827
+ ...(pythonVersion && {
828
+ environment: {
829
+ 'python-version': pythonVersion,
830
+ },
831
+ }),
832
+ };
833
+ this.ty = new Ty(this, deepMerge(defaults, ty));
753
834
  }, _Project_configureTypeScript = function _Project_configureTypeScript({ parent, typeScriptConfig }) {
754
835
  if (!typeScriptConfig) {
755
836
  return;
@@ -869,6 +950,8 @@ const deepMerge = R.mergeDeepWith(R.cond([
869
950
  [R.allPass([R.is(String), R.is(String)]), R.nthArg(1)],
870
951
  // Same for booleans, which cannot be concatenated at all.
871
952
  [R.allPass([R.is(Boolean), R.is(Boolean)]), R.nthArg(1)],
953
+ // And for numbers.
954
+ [R.allPass([R.is(Number), R.is(Number)]), R.nthArg(1)],
872
955
  // Otherwise, concatenate.
873
956
  [R.T, R.concat],
874
957
  ]));
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,7 @@
1
1
  {
2
2
  "name": "@langri-sha/projen-project",
3
- "version": "0.32.0",
3
+ "version": "0.33.0",
4
+ "description": "Collection of projen templates for bootstrapping monorepos and workspace projects.",
4
5
  "bugs": {
5
6
  "url": "https://github.com/langri-sha/projen/issues"
6
7
  },
@@ -22,32 +23,34 @@
22
23
  "prepublishOnly": "rm -rf dist; tsc --project tsconfig.build.json"
23
24
  },
24
25
  "dependencies": {
25
- "@langri-sha/projen-babel": "0.5.15",
26
- "@langri-sha/projen-beachball": "0.5.12",
27
- "@langri-sha/projen-cargo": "0.1.7",
28
- "@langri-sha/projen-codeowners": "0.5.12",
29
- "@langri-sha/projen-dagger": "0.3.0",
30
- "@langri-sha/projen-editorconfig": "0.6.12",
31
- "@langri-sha/projen-eslint": "0.3.16",
32
- "@langri-sha/projen-husky": "0.3.22",
33
- "@langri-sha/projen-jest-config": "0.4.17",
34
- "@langri-sha/projen-license": "0.3.15",
35
- "@langri-sha/projen-lint-staged": "0.3.17",
36
- "@langri-sha/projen-lint-synthesized": "0.5.16",
37
- "@langri-sha/projen-pnpm-workspace": "0.4.12",
38
- "@langri-sha/projen-prettier": "0.4.17",
39
- "@langri-sha/projen-readme": "0.1.12",
40
- "@langri-sha/projen-renovate": "0.4.24",
41
- "@langri-sha/projen-swcrc": "0.1.24",
42
- "@langri-sha/projen-typescript-config": "0.5.20",
43
- "@langri-sha/projen-uv": "0.1.4",
44
- "@langri-sha/projen-worktrunk": "0.1.3",
26
+ "@langri-sha/projen-babel": "0.5.17",
27
+ "@langri-sha/projen-beachball": "0.5.14",
28
+ "@langri-sha/projen-cargo": "0.1.9",
29
+ "@langri-sha/projen-codeowners": "0.5.14",
30
+ "@langri-sha/projen-dagger": "0.3.2",
31
+ "@langri-sha/projen-editorconfig": "0.6.14",
32
+ "@langri-sha/projen-eslint": "0.3.18",
33
+ "@langri-sha/projen-husky": "0.3.24",
34
+ "@langri-sha/projen-jest-config": "0.4.19",
35
+ "@langri-sha/projen-license": "0.3.17",
36
+ "@langri-sha/projen-lint-staged": "0.3.19",
37
+ "@langri-sha/projen-lint-synthesized": "0.5.18",
38
+ "@langri-sha/projen-pnpm-workspace": "0.4.14",
39
+ "@langri-sha/projen-prettier": "0.4.19",
40
+ "@langri-sha/projen-readme": "0.1.14",
41
+ "@langri-sha/projen-renovate": "0.4.26",
42
+ "@langri-sha/projen-ruff": "0.1.0",
43
+ "@langri-sha/projen-swcrc": "0.1.26",
44
+ "@langri-sha/projen-ty": "0.1.0",
45
+ "@langri-sha/projen-typescript-config": "0.5.22",
46
+ "@langri-sha/projen-uv": "0.1.6",
47
+ "@langri-sha/projen-worktrunk": "0.1.5",
45
48
  "ramda": "0.32.0",
46
49
  "semver": "7.8.5"
47
50
  },
48
51
  "devDependencies": {
49
- "@langri-sha/tsconfig": "1.1.0",
50
- "@langri-sha/vitest": "0.2.2",
52
+ "@langri-sha/tsconfig": "1.1.1",
53
+ "@langri-sha/vitest": "0.2.3",
51
54
  "@types/ramda": "0.32.0",
52
55
  "@types/semver": "7.8.0"
53
56
  },
package/readme.md CHANGED
@@ -5,24 +5,30 @@ projects.
5
5
 
6
6
  ## Features
7
7
 
8
- - managing [Beacbhall] configuration for publishing packages
8
+ - managing [Beachball] configuration for publishing packages
9
9
  - configures [PNPM] [workspaces]
10
10
  - configures [Cargo] workspaces with [`@langri-sha/projen-cargo`]
11
11
  - configures [Dagger] modules with [`@langri-sha/projen-dagger`]
12
12
  - configures [uv] workspaces with [`@langri-sha/projen-uv`]
13
+ - configures [Ruff] with [`@langri-sha/projen-ruff`]
14
+ - configures [ty] with [`@langri-sha/projen-ty`]
13
15
  - configures [`@langri-sha/tsconfig`] for TypeScript monorepos
14
16
  - managing Git hooks with [`@langri-sha/projen-husky`]
15
17
  - configures extensive list of Git ignore patterns
16
18
  - manages [code owners] with [`@langri-sha/projen-codeowners`]
17
19
  - configures [Worktrunk] worktree hooks with [`@langri-sha/projen-worktrunk`]
18
20
 
19
- [`@langri-sha/codeowners`]: https://www.npmjs.com/package/@langri-sha/codeowners
20
21
  [`@langri-sha/projen-cargo`]:
21
22
  https://www.npmjs.com/package/@langri-sha/projen-cargo
23
+ [`@langri-sha/projen-codeowners`]:
24
+ https://www.npmjs.com/package/@langri-sha/projen-codeowners
22
25
  [`@langri-sha/projen-dagger`]:
23
26
  https://www.npmjs.com/package/@langri-sha/projen-dagger
24
27
  [`@langri-sha/projen-husky`]:
25
28
  https://www.npmjs.com/package/@langri-sha/projen-husky
29
+ [`@langri-sha/projen-ruff`]:
30
+ https://www.npmjs.com/package/@langri-sha/projen-ruff
31
+ [`@langri-sha/projen-ty`]: https://www.npmjs.com/package/@langri-sha/projen-ty
26
32
  [`@langri-sha/projen-uv`]: https://www.npmjs.com/package/@langri-sha/projen-uv
27
33
  [`@langri-sha/projen-worktrunk`]:
28
34
  https://www.npmjs.com/package/@langri-sha/projen-worktrunk
@@ -34,6 +40,8 @@ projects.
34
40
  [dagger]: https://dagger.io/
35
41
  [pnpm]: https://pnpm.io
36
42
  [projen]: https://projen.io/
43
+ [ruff]: https://docs.astral.sh/ruff/
44
+ [ty]: https://docs.astral.sh/ty/
37
45
  [uv]: https://docs.astral.sh/uv/
38
46
  [workspaces]: https://pnpm.io/workspaces
39
47
  [worktrunk]: https://worktrunk.dev
package/src/index.ts CHANGED
@@ -33,7 +33,13 @@ import {
33
33
  import { Prettier, PrettierOptions } from '@langri-sha/projen-prettier'
34
34
  import { ReadmeFile, type ReadmeFileOptions } from '@langri-sha/projen-readme'
35
35
  import { Renovate, type RenovateOptions } from '@langri-sha/projen-renovate'
36
+ import { Ruff, type RuffOptions } from '@langri-sha/projen-ruff'
36
37
  import { SWCConfig, type SWCConfigOptions } from '@langri-sha/projen-swcrc'
38
+ import {
39
+ type SupportedPythonVersion,
40
+ Ty,
41
+ type TyOptions,
42
+ } from '@langri-sha/projen-ty'
37
43
  import {
38
44
  TypeScriptConfig,
39
45
  type TypeScriptConfigOptions,
@@ -204,11 +210,30 @@ export interface ProjectOptions extends Omit<
204
210
  */
205
211
  renovate?: RenovateOptions
206
212
 
213
+ /**
214
+ * Pass in to configure Ruff. Root projects only: Ruff takes the nearest
215
+ * configuration, so one at the root covers the whole workspace.
216
+ *
217
+ * With `lintStaged`, staged Python files are fixed and formatted on commit,
218
+ * through `uv run --frozen` when `uv` is set, so ruff comes from `uv.lock`:
219
+ * declare it in the workspace's `dev` group, or `uv run` falls back to
220
+ * whatever ruff is on the `PATH`.
221
+ */
222
+ ruff?: RuffOptions
223
+
207
224
  /*
208
225
  * Pass in to configure SWC.
209
226
  */
210
227
  swcrc?: SWCConfigOptions
211
228
 
229
+ /**
230
+ * Pass in to configure ty. Root projects only, like `ruff`.
231
+ *
232
+ * With `uv.pythonVersion` set, `environment.python-version` follows it; set
233
+ * it to `null` to leave the version to ty.
234
+ */
235
+ ty?: TyOptions
236
+
212
237
  /**
213
238
  * TypeScript configuration options.
214
239
  */
@@ -252,7 +277,9 @@ export class Project extends BaseProject {
252
277
  projenrc?: ProjenrcFile
253
278
  readme?: ReadmeFile
254
279
  renovate?: Renovate
280
+ ruff?: Ruff
255
281
  swcrc?: SWCConfig
282
+ ty?: Ty
256
283
  typeScriptConfig?: TypeScriptConfig
257
284
  uv?: UvPackage | UvWorkspace
258
285
  worktrunk?: Worktrunk
@@ -319,6 +346,8 @@ export class Project extends BaseProject {
319
346
  this.#configureNpmIgnore(options)
320
347
  this.#configurePnpmWorkspace(options)
321
348
  this.#configureReadme(options)
349
+ this.#configureRuff(options)
350
+ this.#configureTy(options)
322
351
  this.#configureUv(options)
323
352
  this.#configureWorktrunk(options)
324
353
  this.#configureRenovate(options)
@@ -599,6 +628,7 @@ export class Project extends BaseProject {
599
628
 
600
629
  #configureEditorConfig({
601
630
  editorConfig: editorConfigOptions,
631
+ uv,
602
632
  }: ProjectOptions) {
603
633
  if (!editorConfigOptions || this.parent) {
604
634
  return
@@ -616,11 +646,19 @@ export class Project extends BaseProject {
616
646
  Dockerfile: {
617
647
  indent_style: 'tab',
618
648
  },
649
+ // What ruff formats Python to. It ignores EditorConfig, so editors
650
+ // indenting at anything else are corrected on every format.
651
+ ...(uv && {
652
+ '*.{py,pyi}': {
653
+ indent_style: 'space',
654
+ indent_size: 4,
655
+ },
656
+ }),
619
657
  }
620
658
 
621
659
  this.editorConfig = new EditorConfig(
622
660
  this,
623
- deepMerge(editorConfigOptions ?? {}, defaults),
661
+ deepMerge(defaults, editorConfigOptions),
624
662
  )
625
663
 
626
664
  this.prettier?.ignore.addPatterns('!.editorconfig')
@@ -645,7 +683,7 @@ export class Project extends BaseProject {
645
683
  }
646
684
 
647
685
  if (!this.parent) {
648
- this.#addDefaultDevDeps('eslint@10.11.0')
686
+ this.#addDefaultDevDeps('eslint@10.12.0')
649
687
  }
650
688
 
651
689
  this.eslint = new ESLint(this, deepMerge(defaults, eslint))
@@ -704,7 +742,7 @@ export class Project extends BaseProject {
704
742
  })
705
743
  }
706
744
 
707
- #configureLintStaged({ lintStaged, package: pkg }: ProjectOptions) {
745
+ #configureLintStaged({ lintStaged, package: pkg, ruff, uv }: ProjectOptions) {
708
746
  if (!lintStaged) {
709
747
  return
710
748
  }
@@ -721,7 +759,34 @@ export class Project extends BaseProject {
721
759
  this.#addDefaultDevDeps('lint-staged@17.6.0')
722
760
  }
723
761
 
724
- this.lintStaged = new LintStaged(this, deepMerge(defaults, lintStaged))
762
+ // ruff is configured at the root alone, but lint-staged runs the nearest
763
+ // configuration to each staged file, so a subproject's runs ruff as well.
764
+ const root = this.root instanceof Project ? this.root : undefined
765
+ const withRuff = this.parent ? root?.ruff : ruff
766
+ const withUv = uv ?? (this.parent ? root?.uv : undefined)
767
+
768
+ // ruff fixes before it formats, so that the formatter has the last word.
769
+ // lint-staged names the files, which ruff checks even where the project
770
+ // excludes them unless forced to exclude. Since 17.6 it also stages every
771
+ // file a task changes, so `uv run` must not re-lock the workspace.
772
+ const ruffCommand = withUv ? 'uv run --frozen ruff' : 'ruff'
773
+ const python = withRuff
774
+ ? {
775
+ '*.{py,pyi}': [
776
+ `${ruffCommand} check --fix --force-exclude`,
777
+ `${ruffCommand} format --force-exclude`,
778
+ ],
779
+ }
780
+ : {}
781
+
782
+ const { config, ...options } = deepMerge(defaults, lintStaged)
783
+
784
+ // Spread rather than merged, so that a project's own glob replaces these
785
+ // the way it replaces those of the configuration it extends.
786
+ this.lintStaged = new LintStaged(this, {
787
+ ...options,
788
+ config: { ...python, ...config },
789
+ })
725
790
 
726
791
  this.typeScriptConfig?.addFile(this.lintStaged!.path)
727
792
  }
@@ -888,6 +953,9 @@ export class Project extends BaseProject {
888
953
  lockFileMaintenance: {
889
954
  enabled: true,
890
955
  },
956
+ ...(this.package?.packageManager === javascript.NodePackageManager.PNPM
957
+ ? { postUpdateOptions: ['pnpmDedupe'] }
958
+ : {}),
891
959
  packageRules: [
892
960
  {
893
961
  description: 'Prioritize updates in Projen configurations',
@@ -1082,6 +1150,26 @@ export class Project extends BaseProject {
1082
1150
  },
1083
1151
  ]
1084
1152
  : []),
1153
+ // `.python-version` is synthesized from the projenrc, so pyenv's update
1154
+ // to the file alone would be put back by the next synthesis. Read with
1155
+ // pyenv's depName, datasource and versioning, the declaration moves on
1156
+ // the same branch as the file. Held to the projenrc for the reason
1157
+ // spelled out under the `packageManager` manager, and because
1158
+ // `pythonVersion:` appears in this preset's tests and projen-uv's.
1159
+ ...(uv?.pythonVersion
1160
+ ? [
1161
+ {
1162
+ customType: 'regex' as const,
1163
+ datasourceTemplate: 'docker',
1164
+ depNameTemplate: 'python',
1165
+ versioningTemplate: 'docker',
1166
+ managerFilePatterns: [
1167
+ '/(^|/)\\.?projenrc\\.(js|cjs|mjs|ts|mts|cts)$/',
1168
+ ],
1169
+ matchStrings: ["pythonVersion:\\s*'(?<currentValue>[^']+)'"],
1170
+ },
1171
+ ]
1172
+ : []),
1085
1173
  // The `packageManager` field is declared in a projenrc and only
1086
1174
  // reaches the manifest through synthesis, so the npm manager reading
1087
1175
  // the manifest cannot propose it. Both patterns are held to that one
@@ -1108,9 +1196,9 @@ export class Project extends BaseProject {
1108
1196
  // `pnpm` offered pnpm's version for every other tool — and the version
1109
1197
  // ends at the first space or quote.
1110
1198
  //
1111
- // Anchored to a projenrc for the reason the two managers above are: a
1112
- // pattern that merely contains `projen` reaches the sources of every
1113
- // package here, and this preset's own tests exercise this regex
1199
+ // Anchored to a projenrc for the reason the anchored managers above
1200
+ // are: a pattern that merely contains `projen` reaches the sources of
1201
+ // every package here, and this preset's own tests exercise this regex
1114
1202
  // against a literal `pnpx name@version`. Renovate rewrote the fixture
1115
1203
  // and left the assertion beside it, failing the suite over a package
1116
1204
  // nothing depends on.
@@ -1137,6 +1225,14 @@ export class Project extends BaseProject {
1137
1225
  this.renovate = new Renovate(this, deepMerge(defaults, renovateOptions))
1138
1226
  }
1139
1227
 
1228
+ #configureRuff({ ruff }: ProjectOptions) {
1229
+ if (!ruff || this.parent) {
1230
+ return
1231
+ }
1232
+
1233
+ this.ruff = new Ruff(this, ruff)
1234
+ }
1235
+
1140
1236
  #configureSWC({ swcrc, typeScriptConfig }: ProjectOptions) {
1141
1237
  if (!swcrc) {
1142
1238
  return
@@ -1167,6 +1263,29 @@ export class Project extends BaseProject {
1167
1263
  this.swcrc = new SWCConfig(this, deepMerge(defaults, swcrc))
1168
1264
  }
1169
1265
 
1266
+ #configureTy({ ty, uv }: ProjectOptions) {
1267
+ if (!ty || this.parent) {
1268
+ return
1269
+ }
1270
+
1271
+ // ty takes `major.minor` alone, so a pinned patch release is cut back to
1272
+ // it and a pinned implementation is left to ty. The schema's type lists
1273
+ // only the versions ty knew when it was published; a newer one is ty's
1274
+ // to refuse.
1275
+ const pythonVersion = uv?.pythonVersion?.match(/^\d+\.\d+/)?.[0] as
1276
+ SupportedPythonVersion | undefined
1277
+
1278
+ const defaults: TyOptions = {
1279
+ ...(pythonVersion && {
1280
+ environment: {
1281
+ 'python-version': pythonVersion,
1282
+ },
1283
+ }),
1284
+ }
1285
+
1286
+ this.ty = new Ty(this, deepMerge(defaults, ty))
1287
+ }
1288
+
1170
1289
  #configureTypeScript({ parent, typeScriptConfig }: ProjectOptions) {
1171
1290
  if (!typeScriptConfig) {
1172
1291
  return
@@ -1338,6 +1457,8 @@ const deepMerge = R.mergeDeepWith(
1338
1457
  [R.allPass([R.is(String), R.is(String)]), R.nthArg(1)],
1339
1458
  // Same for booleans, which cannot be concatenated at all.
1340
1459
  [R.allPass([R.is(Boolean), R.is(Boolean)]), R.nthArg(1)],
1460
+ // And for numbers.
1461
+ [R.allPass([R.is(Number), R.is(Number)]), R.nthArg(1)],
1341
1462
  // Otherwise, concatenate.
1342
1463
  [R.T, R.concat],
1343
1464
  ]),