alef_core/template_versions.rs
1//! Centralized third-party dependency version strings for code generation.
2//!
3//! This module consolidates all hardcoded version strings used in scaffold and e2e
4//! code generation. Each const that should be auto-bumped by Renovate includes a
5//! marker comment: `// renovate: datasource=... depName=...`
6//!
7//! When adding a new version: choose the appropriate submodule based on package ecosystem,
8//! add the renovate marker (if applicable), and use the const in templates.
9
10pub mod npm {
11 // renovate: datasource=npm depName=@napi-rs/cli
12 pub const NAPI_RS_CLI_DEVDEPS: &str = "^3.0.0";
13
14 // renovate: datasource=npm depName=@napi-rs/cli
15 pub const NAPI_RS_CLI_CRATE: &str = "^3.6.2";
16
17 // renovate: datasource=npm depName=typescript
18 pub const TYPESCRIPT: &str = "^6.0.3";
19
20 // renovate: datasource=npm depName=vitest
21 pub const VITEST: &str = "^4.1.5";
22
23 // renovate: datasource=npm depName=vite-plugin-top-level-await
24 pub const VITE_PLUGIN_TOP_LEVEL_AWAIT: &str = "^1.4.0";
25
26 // renovate: datasource=npm depName=vite-plugin-wasm
27 pub const VITE_PLUGIN_WASM: &str = "^3.4.0";
28}
29
30pub mod cargo {
31 // napi major-only; manual bump required
32 pub const NAPI: &str = "3";
33
34 // napi-derive major-only; manual bump required
35 pub const NAPI_DERIVE: &str = "3";
36
37 // napi-build major-only; manual bump required
38 pub const NAPI_BUILD: &str = "2";
39
40 // renovate: datasource=crate depName=pyo3
41 pub const PYO3: &str = "0.28";
42
43 // renovate: datasource=crate depName=pyo3-async-runtimes
44 pub const PYO3_ASYNC_RUNTIMES: &str = "0.28";
45
46 // renovate: datasource=crate depName=magnus
47 pub const MAGNUS: &str = "0.8";
48
49 // renovate: datasource=crate depName=ext-php-rs
50 pub const EXT_PHP_RS: &str = "0.15.12";
51
52 // renovate: datasource=crate depName=js-sys
53 pub const JS_SYS: &str = "0.3";
54
55 // renovate: datasource=crate depName=wasm-bindgen
56 pub const WASM_BINDGEN: &str = "0.2";
57
58 // renovate: datasource=crate depName=wasm-bindgen-futures
59 pub const WASM_BINDGEN_FUTURES: &str = "0.4";
60
61 // renovate: datasource=crate depName=futures-util
62 pub const FUTURES_UTIL: &str = "0.3";
63
64 // renovate: datasource=crate depName=serde-wasm-bindgen
65 pub const SERDE_WASM_BINDGEN: &str = "0.6";
66
67 // renovate: datasource=crate depName=cbindgen
68 pub const CBINDGEN: &str = "0.29";
69
70 // tempfile major-only; manual bump required
71 pub const TEMPFILE: &str = "3";
72
73 // renovate: datasource=crate depName=rustler
74 pub const RUSTLER: &str = "0.37";
75
76 // renovate: datasource=crate depName=async-trait
77 pub const ASYNC_TRAIT: &str = "0.1";
78
79 // renovate: datasource=crate depName=extendr-api
80 pub const EXTENDR_API: &str = "0.9";
81
82 // renovate: datasource=crate depName=axum
83 pub const AXUM: &str = "0.8";
84
85 // renovate: datasource=crate depName=tokio-stream
86 pub const TOKIO_STREAM: &str = "0.1";
87
88 // walkdir major-only; manual bump required
89 pub const WALKDIR: &str = "2";
90
91 // renovate: datasource=crate depName=tower-http
92 pub const TOWER_HTTP: &str = "0.6";
93
94 // renovate: datasource=crate depName=flutter_rust_bridge
95 pub const FLUTTER_RUST_BRIDGE: &str = "2.12.0";
96
97 // renovate: datasource=crate depName=flutter_rust_bridge_codegen
98 pub const FLUTTER_RUST_BRIDGE_CODEGEN: &str = "2.12.0";
99
100 // renovate: datasource=crate depName=swift-bridge
101 pub const SWIFT_BRIDGE: &str = "0.1.59";
102
103 // renovate: datasource=crate depName=swift-bridge-build
104 pub const SWIFT_BRIDGE_BUILD: &str = "0.1.59";
105}
106
107pub mod pypi {
108 // renovate: datasource=pypi depName=maturin
109 // Note: floor+ceil constraint; managed as single string, no Renovate auto-bump
110 pub const MATURIN_BUILD_REQUIRES: &str = "maturin>=1.0,<2.0";
111
112 // renovate: datasource=pypi depName=ruff
113 pub const RUFF: &str = ">=0.14.8";
114
115 // renovate: datasource=pypi depName=mypy
116 pub const MYPY: &str = ">=1.19.0";
117}
118
119pub mod gem {
120 // renovate: datasource=rubygems depName=rb_sys
121 pub const RB_SYS: &str = "~> 0.9";
122
123 // renovate: datasource=rubygems depName=rake-compiler
124 pub const RAKE_COMPILER: &str = "~> 1.2";
125
126 // renovate: datasource=rubygems depName=rspec
127 pub const RSPEC_SCAFFOLD: &str = "~> 3.0";
128
129 // renovate: datasource=rubygems depName=rspec
130 pub const RSPEC_E2E: &str = "~> 3.13";
131
132 // renovate: datasource=rubygems depName=rubocop
133 pub const RUBOCOP_SCAFFOLD: &str = "~> 1.0";
134
135 // renovate: datasource=rubygems depName=rubocop
136 pub const RUBOCOP_E2E: &str = "~> 1.86";
137
138 // renovate: datasource=rubygems depName=rubocop-performance
139 pub const RUBOCOP_PERFORMANCE: &str = "~> 1.0";
140
141 // renovate: datasource=rubygems depName=rubocop-rspec
142 pub const RUBOCOP_RSPEC_SCAFFOLD: &str = "~> 3.0";
143
144 // renovate: datasource=rubygems depName=rubocop-rspec
145 pub const RUBOCOP_RSPEC_E2E: &str = "~> 3.9";
146
147 // renovate: datasource=rubygems depName=steep
148 pub const STEEP: &str = "~> 1.0";
149
150 // renovate: datasource=rubygems depName=faraday
151 pub const FARADAY: &str = "~> 2.0";
152}
153
154pub mod packagist {
155 // renovate: datasource=packagist depName=phpstan/phpstan
156 pub const PHPSTAN: &str = "^2.1";
157
158 // renovate: datasource=packagist depName=friendsofphp/php-cs-fixer
159 pub const PHP_CS_FIXER: &str = "^3.95";
160
161 // renovate: datasource=packagist depName=phpunit/phpunit
162 pub const PHPUNIT: &str = "^13.1";
163
164 // renovate: datasource=packagist depName=guzzlehttp/guzzle
165 pub const GUZZLE: &str = "^7.0";
166}
167
168pub mod maven {
169 // renovate: datasource=maven depName=org.junit.jupiter:junit-jupiter
170 pub const JUNIT: &str = "6.0.3";
171
172 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-compiler-plugin
173 pub const MAVEN_COMPILER_PLUGIN: &str = "3.15.0";
174
175 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-surefire-plugin
176 pub const MAVEN_SUREFIRE_PLUGIN: &str = "3.5.5";
177
178 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-surefire-plugin
179 pub const MAVEN_SUREFIRE_PLUGIN_E2E: &str = "3.5.2";
180
181 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-checkstyle-plugin
182 pub const MAVEN_CHECKSTYLE_PLUGIN: &str = "3.6.0";
183
184 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-pmd-plugin
185 pub const MAVEN_PMD_PLUGIN: &str = "3.28.0";
186
187 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-source-plugin
188 pub const MAVEN_SOURCE_PLUGIN: &str = "3.4.0";
189
190 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-javadoc-plugin
191 pub const MAVEN_JAVADOC_PLUGIN: &str = "3.12.0";
192
193 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-gpg-plugin
194 pub const MAVEN_GPG_PLUGIN: &str = "3.2.8";
195
196 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-clean-plugin
197 pub const MAVEN_CLEAN_PLUGIN: &str = "3.5.0";
198
199 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-resources-plugin
200 pub const MAVEN_RESOURCES_PLUGIN: &str = "3.5.0";
201
202 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-jar-plugin
203 pub const MAVEN_JAR_PLUGIN: &str = "3.5.0";
204
205 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-install-plugin
206 pub const MAVEN_INSTALL_PLUGIN: &str = "3.1.4";
207
208 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-deploy-plugin
209 pub const MAVEN_DEPLOY_PLUGIN: &str = "3.1.4";
210
211 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-site-plugin
212 pub const MAVEN_SITE_PLUGIN: &str = "4.0.0-M16";
213
214 // renovate: datasource=maven depName=org.sonatype.central:central-publishing-maven-plugin
215 pub const CENTRAL_PUBLISHING_PLUGIN: &str = "0.10.0";
216
217 // renovate: datasource=maven depName=com.diffplug.spotless:spotless-maven-plugin
218 pub const SPOTLESS_MAVEN_PLUGIN: &str = "3.4.0";
219
220 // renovate: datasource=maven depName=org.codehaus.mojo:versions-maven-plugin
221 pub const VERSIONS_MAVEN_PLUGIN: &str = "2.21.0";
222
223 // renovate: datasource=maven depName=org.apache.maven.plugins:maven-enforcer-plugin
224 pub const MAVEN_ENFORCER_PLUGIN: &str = "3.6.2";
225
226 // renovate: datasource=maven depName=org.jacoco:jacoco-maven-plugin
227 pub const JACOCO_MAVEN_PLUGIN: &str = "0.8.14";
228
229 // renovate: datasource=maven depName=com.puppycrawl.tools:checkstyle
230 pub const CHECKSTYLE: &str = "13.4.1";
231
232 // renovate: datasource=maven depName=net.sourceforge.pmd:pmd-java
233 pub const PMD: &str = "7.24.0";
234
235 // renovate: datasource=maven depName=org.jspecify:jspecify
236 pub const JSPECIFY: &str = "1.0.0";
237
238 // renovate: datasource=maven depName=com.fasterxml.jackson.core:jackson-databind
239 pub const JACKSON: &str = "2.21.3";
240
241 // renovate: datasource=maven depName=com.fasterxml.jackson.core:jackson-databind
242 pub const JACKSON_E2E: &str = "2.18.2";
243
244 // renovate: datasource=maven depName=org.assertj:assertj-core
245 pub const ASSERTJ: &str = "4.0.0-M1";
246
247 // renovate: datasource=maven depName=org.codehaus.mojo:build-helper-maven-plugin
248 pub const BUILD_HELPER_MAVEN_PLUGIN: &str = "3.6.1";
249
250 // renovate: datasource=maven depName=org.jetbrains.kotlin:kotlin-gradle-plugin
251 pub const KOTLIN_JVM_PLUGIN: &str = "2.3.21";
252
253 // renovate: datasource=maven depName=org.jetbrains.kotlinx:kotlinx-coroutines-core
254 pub const KOTLINX_COROUTINES_CORE: &str = "1.10.2";
255
256 // renovate: datasource=maven depName=net.java.dev.jna:jna
257 pub const JNA: &str = "5.18.1";
258
259 // renovate: datasource=maven depName=junit:junit
260 pub const JUNIT_LEGACY: &str = "4.13.2";
261}
262
263pub mod nuget {
264 // renovate: datasource=nuget depName=Microsoft.NET.Test.Sdk
265 pub const MICROSOFT_NET_TEST_SDK: &str = "18.5.1";
266
267 // renovate: datasource=nuget depName=xunit
268 pub const XUNIT: &str = "2.9.3";
269
270 // renovate: datasource=nuget depName=xunit.runner.visualstudio
271 pub const XUNIT_RUNNER_VISUALSTUDIO: &str = "3.1.5";
272}
273
274pub mod hex {
275 // renovate: datasource=hex depName=rustler
276 pub const RUSTLER: &str = "~> 0.37.0";
277
278 // renovate: datasource=hex depName=rustler_precompiled
279 pub const RUSTLER_PRECOMPILED: &str = "~> 0.9";
280
281 // renovate: datasource=hex depName=credo
282 pub const CREDO: &str = "~> 1.7";
283
284 // renovate: datasource=hex depName=ex_doc
285 pub const EX_DOC: &str = "~> 0.40";
286
287 // renovate: datasource=hex depName=req
288 pub const REQ: &str = "~> 0.5";
289
290 // renovate: datasource=hex depName=jason
291 pub const JASON: &str = "~> 1.4";
292
293 // version range; manual bump required
294 pub const GLEAM_STDLIB_VERSION_RANGE: &str = ">= 0.34.0 and < 2.0.0";
295
296 // version range; manual bump required
297 pub const GLEEUNIT_VERSION_RANGE: &str = ">= 1.0.0 and < 2.0.0";
298
299 // renovate: datasource=hex depName=gleam_httpc
300 // 4.x is the first to support gleam_stdlib >= 1.0.0; we accept the
301 // 4.x and 5.x lines.
302 pub const GLEAM_HTTPC_VERSION_RANGE: &str = ">= 4.0.0 and < 6.0.0";
303
304 // renovate: datasource=hex depName=envoy
305 // Tiny env-var helper, used by e2e tests to read MOCK_SERVER_URL.
306 pub const ENVOY_VERSION_RANGE: &str = ">= 1.0.0 and < 2.0.0";
307}
308
309/// pub.dev (Dart) ecosystem.
310pub mod pub_dev {
311 // renovate: datasource=pub depName=test
312 pub const TEST_PACKAGE: &str = "^1.25.0";
313
314 // renovate: datasource=pub depName=lints
315 pub const LINTS: &str = "^5.0.0";
316
317 // renovate: datasource=pub depName=ffi
318 pub const FFI_PACKAGE: &str = "^2.1.0";
319
320 // renovate: datasource=pub depName=http
321 pub const HTTP_PACKAGE: &str = "^1.2.0";
322}
323
324/// Platform / toolchain pins. None of these auto-bump; track manually.
325pub mod toolchain {
326 // minimum supported Zig; manual bump required
327 pub const MIN_ZIG_VERSION: &str = "0.16.0";
328
329 // version range; manual bump required
330 pub const DART_SDK_CONSTRAINT: &str = ">=3.0.0 <4.0.0";
331
332 // JVM bytecode target for Kotlin/Java scaffolds and e2e; manual bump required
333 pub const JVM_TARGET: &str = "21";
334
335 // minimum macOS deployment target for swift-bridge bindings; manual bump required
336 pub const SWIFT_MIN_MACOS: &str = "13.0";
337
338 // minimum iOS deployment target for swift-bridge bindings; manual bump required
339 pub const SWIFT_MIN_IOS: &str = "16.0";
340}
341
342pub mod cran {
343 // renovate: datasource=cran depName=rextendr
344 pub const REXTENDR: &str = "0.4.2";
345}
346
347pub mod precommit {
348 // renovate: datasource=github-tags packageName=Goldziher/gitfluff
349 pub const GITFLUFF_REV: &str = "v0.8.0";
350
351 // renovate: datasource=github-tags packageName=pre-commit/pre-commit-hooks
352 pub const PRE_COMMIT_HOOKS_REV: &str = "v6.0.0";
353
354 // renovate: datasource=github-tags packageName=tox-dev/pyproject-fmt
355 pub const PYPROJECT_FMT_REV: &str = "v2.21.1";
356
357 // renovate: datasource=github-tags packageName=DevinR528/cargo-sort
358 pub const CARGO_SORT_REV: &str = "v2.1.4";
359
360 // renovate: datasource=github-tags packageName=AndrejOrsula/pre-commit-cargo
361 pub const PRE_COMMIT_CARGO_REV: &str = "0.5.0";
362
363 // renovate: datasource=github-tags packageName=bnjbvr/cargo-machete
364 pub const CARGO_MACHETE_REV: &str = "v0.9.2";
365
366 // renovate: datasource=github-tags packageName=EmbarkStudios/cargo-deny
367 pub const CARGO_DENY_REV: &str = "0.19.4";
368
369 // renovate: datasource=github-tags packageName=rvben/rumdl-pre-commit
370 pub const RUMDL_REV: &str = "v0.1.85";
371
372 // renovate: datasource=github-tags packageName=crate-ci/typos
373 pub const TYPOS_REV: &str = "v1.46.0";
374
375 // renovate: datasource=github-tags packageName=kreuzberg-dev/pre-commit-hooks
376 pub const KREUZBERG_PRECOMMIT_HOOKS_REV: &str = "v0.1.0";
377
378 // alef rev: managed by sync-versions hook, no renovate marker
379 pub const ALEF_REV: &str = "v0.13.2";
380}