Skip to main content

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";
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.7";
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
92pub mod pypi {
93    // renovate: datasource=pypi depName=maturin
94    // Note: floor+ceil constraint; managed as single string, no Renovate auto-bump
95    pub const MATURIN_BUILD_REQUIRES: &str = "maturin>=1.0,<2.0";
96
97    // renovate: datasource=pypi depName=ruff
98    pub const RUFF: &str = ">=0.14.8";
99
100    // renovate: datasource=pypi depName=mypy
101    pub const MYPY: &str = ">=1.19.0";
102}
103
104pub mod gem {
105    // renovate: datasource=rubygems depName=rb_sys
106    pub const RB_SYS: &str = "~> 0.9";
107
108    // renovate: datasource=rubygems depName=rake-compiler
109    pub const RAKE_COMPILER: &str = "~> 1.2";
110
111    // renovate: datasource=rubygems depName=rspec
112    pub const RSPEC_SCAFFOLD: &str = "~> 3.0";
113
114    // renovate: datasource=rubygems depName=rspec
115    pub const RSPEC_E2E: &str = "~> 3.13";
116
117    // renovate: datasource=rubygems depName=rubocop
118    pub const RUBOCOP_SCAFFOLD: &str = "~> 1.0";
119
120    // renovate: datasource=rubygems depName=rubocop
121    pub const RUBOCOP_E2E: &str = "~> 1.86";
122
123    // renovate: datasource=rubygems depName=rubocop-performance
124    pub const RUBOCOP_PERFORMANCE: &str = "~> 1.0";
125
126    // renovate: datasource=rubygems depName=rubocop-rspec
127    pub const RUBOCOP_RSPEC_SCAFFOLD: &str = "~> 3.0";
128
129    // renovate: datasource=rubygems depName=rubocop-rspec
130    pub const RUBOCOP_RSPEC_E2E: &str = "~> 3.9";
131
132    // renovate: datasource=rubygems depName=steep
133    pub const STEEP: &str = "~> 1.0";
134
135    // renovate: datasource=rubygems depName=faraday
136    pub const FARADAY: &str = "~> 2.0";
137}
138
139pub mod packagist {
140    // renovate: datasource=packagist depName=phpstan/phpstan
141    pub const PHPSTAN: &str = "^2.1";
142
143    // renovate: datasource=packagist depName=friendsofphp/php-cs-fixer
144    pub const PHP_CS_FIXER: &str = "^3.95";
145
146    // renovate: datasource=packagist depName=phpunit/phpunit
147    pub const PHPUNIT: &str = "^13.1";
148
149    // renovate: datasource=packagist depName=guzzlehttp/guzzle
150    pub const GUZZLE: &str = "^7.0";
151}
152
153pub mod maven {
154    // renovate: datasource=maven depName=org.junit.jupiter:junit-jupiter
155    pub const JUNIT: &str = "5.11.4";
156
157    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-compiler-plugin
158    pub const MAVEN_COMPILER_PLUGIN: &str = "3.15.0";
159
160    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-surefire-plugin
161    pub const MAVEN_SUREFIRE_PLUGIN: &str = "3.5.5";
162
163    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-surefire-plugin
164    pub const MAVEN_SUREFIRE_PLUGIN_E2E: &str = "3.5.2";
165
166    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-checkstyle-plugin
167    pub const MAVEN_CHECKSTYLE_PLUGIN: &str = "3.6.0";
168
169    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-pmd-plugin
170    pub const MAVEN_PMD_PLUGIN: &str = "3.28.0";
171
172    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-source-plugin
173    pub const MAVEN_SOURCE_PLUGIN: &str = "3.4.0";
174
175    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-javadoc-plugin
176    pub const MAVEN_JAVADOC_PLUGIN: &str = "3.12.0";
177
178    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-gpg-plugin
179    pub const MAVEN_GPG_PLUGIN: &str = "3.2.8";
180
181    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-clean-plugin
182    pub const MAVEN_CLEAN_PLUGIN: &str = "3.4.1";
183
184    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-resources-plugin
185    pub const MAVEN_RESOURCES_PLUGIN: &str = "3.3.1";
186
187    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-jar-plugin
188    pub const MAVEN_JAR_PLUGIN: &str = "3.4.2";
189
190    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-install-plugin
191    pub const MAVEN_INSTALL_PLUGIN: &str = "3.1.3";
192
193    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-deploy-plugin
194    pub const MAVEN_DEPLOY_PLUGIN: &str = "3.1.3";
195
196    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-site-plugin
197    pub const MAVEN_SITE_PLUGIN: &str = "4.0.0-M16";
198
199    // renovate: datasource=maven depName=org.sonatype.central:central-publishing-maven-plugin
200    pub const CENTRAL_PUBLISHING_PLUGIN: &str = "0.10.0";
201
202    // renovate: datasource=maven depName=com.diffplug.spotless:spotless-maven-plugin
203    pub const SPOTLESS_MAVEN_PLUGIN: &str = "3.4.0";
204
205    // renovate: datasource=maven depName=org.codehaus.mojo:versions-maven-plugin
206    pub const VERSIONS_MAVEN_PLUGIN: &str = "2.21.0";
207
208    // renovate: datasource=maven depName=org.apache.maven.plugins:maven-enforcer-plugin
209    pub const MAVEN_ENFORCER_PLUGIN: &str = "3.6.2";
210
211    // renovate: datasource=maven depName=org.jacoco:jacoco-maven-plugin
212    pub const JACOCO_MAVEN_PLUGIN: &str = "0.8.14";
213
214    // renovate: datasource=maven depName=com.puppycrawl.tools:checkstyle
215    pub const CHECKSTYLE: &str = "13.4.0";
216
217    // renovate: datasource=maven depName=net.sourceforge.pmd:pmd-java
218    pub const PMD: &str = "7.19.0";
219
220    // renovate: datasource=maven depName=org.jspecify:jspecify
221    pub const JSPECIFY: &str = "1.0.0";
222
223    // renovate: datasource=maven depName=com.fasterxml.jackson.core:jackson-databind
224    pub const JACKSON: &str = "2.21.2";
225
226    // renovate: datasource=maven depName=com.fasterxml.jackson.core:jackson-databind
227    pub const JACKSON_E2E: &str = "2.18.2";
228
229    // renovate: datasource=maven depName=org.assertj:assertj-core
230    pub const ASSERTJ: &str = "4.0.0-M1";
231
232    // renovate: datasource=maven depName=org.codehaus.mojo:build-helper-maven-plugin
233    pub const BUILD_HELPER_MAVEN_PLUGIN: &str = "3.6.0";
234}
235
236pub mod nuget {
237    // renovate: datasource=nuget depName=Microsoft.NET.Test.Sdk
238    pub const MICROSOFT_NET_TEST_SDK: &str = "17.12.0";
239
240    // renovate: datasource=nuget depName=xunit
241    pub const XUNIT: &str = "2.9.3";
242
243    // renovate: datasource=nuget depName=xunit.runner.visualstudio
244    pub const XUNIT_RUNNER_VISUALSTUDIO: &str = "2.8.2";
245}
246
247pub mod hex {
248    // renovate: datasource=hex depName=rustler
249    pub const RUSTLER: &str = "~> 0.37.0";
250
251    // renovate: datasource=hex depName=rustler_precompiled
252    pub const RUSTLER_PRECOMPILED: &str = "~> 0.9";
253
254    // renovate: datasource=hex depName=credo
255    pub const CREDO: &str = "~> 1.7";
256
257    // renovate: datasource=hex depName=ex_doc
258    pub const EX_DOC: &str = "~> 0.40";
259
260    // renovate: datasource=hex depName=req
261    pub const REQ: &str = "~> 0.5";
262
263    // renovate: datasource=hex depName=jason
264    pub const JASON: &str = "~> 1.4";
265}
266
267pub mod cran {
268    // renovate: datasource=cran depName=rextendr
269    pub const REXTENDR: &str = "0.4.2";
270}
271
272pub mod precommit {
273    // renovate: datasource=github-tags packageName=Goldziher/gitfluff
274    pub const GITFLUFF_REV: &str = "v0.7.10";
275
276    // renovate: datasource=github-tags packageName=pre-commit/pre-commit-hooks
277    pub const PRE_COMMIT_HOOKS_REV: &str = "v0.7.10";
278
279    // renovate: datasource=github-tags packageName=tox-dev/pyproject-fmt
280    pub const PYPROJECT_FMT_REV: &str = "v2.21.1";
281
282    // renovate: datasource=github-tags packageName=DevinR528/cargo-sort
283    pub const CARGO_SORT_REV: &str = "v2.1.3";
284
285    // renovate: datasource=github-tags packageName=AndrejOrsula/pre-commit-cargo
286    pub const PRE_COMMIT_CARGO_REV: &str = "0.5.0";
287
288    // renovate: datasource=github-tags packageName=bnjbvr/cargo-machete
289    pub const CARGO_MACHETE_REV: &str = "v0.7.10";
290
291    // renovate: datasource=github-tags packageName=EmbarkStudios/cargo-deny
292    pub const CARGO_DENY_REV: &str = "0.19.4";
293
294    // renovate: datasource=github-tags packageName=rvben/rumdl-pre-commit
295    pub const RUMDL_REV: &str = "v0.1.81";
296
297    // renovate: datasource=github-tags packageName=crate-ci/typos
298    pub const TYPOS_REV: &str = "v0.7.10";
299
300    // alef rev: managed by sync-versions hook, no renovate marker
301    pub const ALEF_REV: &str = "v0.9.2";
302}