Skip to content

Commit

Permalink
fix: rspack_version macro use json to parse package.json (#8883)
Browse files Browse the repository at this point in the history
  • Loading branch information
jerrykingxyz authored Dec 30, 2024
1 parent 4542c8e commit d3a3274
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 7 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/rspack_macros/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ version = "0.2.0"
proc-macro = true

[dependencies]
json = { workspace = true }
proc-macro2 = { workspace = true }
quote = { workspace = true }
regex = { workspace = true }
syn = { workspace = true, features = ["full"] }
11 changes: 6 additions & 5 deletions crates/rspack_macros/src/rspack_version.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
pub fn rspack_version() -> String {
let re = regex::Regex::new(r#""version": ?"([0-9a-zA-Z\.-]+)""#).expect("should create regex");
// package.json in project root directory
let package_json = include_str!("../../../package.json");
let version = re
.captures(package_json)
.expect("can not found version field in project package.json");
version[1].to_string()
let mut pkg =
json::parse(package_json).expect("can not parse package.json in project root directory");
let Some(version) = pkg["version"].take_string() else {
panic!("version field in package.json is not a string");
};
version
}

1 comment on commit d3a3274

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented on d3a3274 Dec 30, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 Benchmark detail: Open

Name Base (2024-12-30 437c370) Current Change
10000_big_production-mode_disable-minimize + exec 37.5 s ± 658 ms 38.4 s ± 686 ms +2.29 %
10000_development-mode + exec 1.89 s ± 22 ms 1.82 s ± 40 ms -3.45 %
10000_development-mode_hmr + exec 685 ms ± 15 ms 676 ms ± 26 ms -1.21 %
10000_production-mode + exec 2.49 s ± 46 ms 2.48 s ± 53 ms -0.25 %
arco-pro_development-mode + exec 1.75 s ± 76 ms 1.74 s ± 103 ms -0.24 %
arco-pro_development-mode_hmr + exec 378 ms ± 3.8 ms 376 ms ± 1 ms -0.28 %
arco-pro_production-mode + exec 3.64 s ± 75 ms 3.52 s ± 122 ms -3.33 %
arco-pro_production-mode_generate-package-json-webpack-plugin + exec 3.64 s ± 76 ms 3.59 s ± 115 ms -1.46 %
arco-pro_production-mode_traverse-chunk-modules + exec 3.63 s ± 80 ms 3.59 s ± 76 ms -1.29 %
threejs_development-mode_10x + exec 1.52 s ± 18 ms 1.51 s ± 20 ms -0.90 %
threejs_development-mode_10x_hmr + exec 790 ms ± 8.7 ms 774 ms ± 31 ms -2.02 %
threejs_production-mode_10x + exec 5.34 s ± 72 ms 5.36 s ± 93 ms +0.39 %
10000_big_production-mode_disable-minimize + rss memory 9458 MiB ± 133 MiB 9572 MiB ± 140 MiB +1.20 %
10000_development-mode + rss memory 650 MiB ± 8.03 MiB 688 MiB ± 27.6 MiB +5.80 %
10000_development-mode_hmr + rss memory 1421 MiB ± 196 MiB 1409 MiB ± 309 MiB -0.82 %
10000_production-mode + rss memory 618 MiB ± 21.6 MiB 683 MiB ± 34.4 MiB +10.56 %
arco-pro_development-mode + rss memory 592 MiB ± 24.8 MiB 607 MiB ± 31.5 MiB +2.40 %
arco-pro_development-mode_hmr + rss memory 636 MiB ± 47.2 MiB 657 MiB ± 81.1 MiB +3.34 %
arco-pro_production-mode + rss memory 725 MiB ± 44.8 MiB 751 MiB ± 44.8 MiB +3.57 %
arco-pro_production-mode_generate-package-json-webpack-plugin + rss memory 770 MiB ± 58.4 MiB 760 MiB ± 46.9 MiB -1.29 %
arco-pro_production-mode_traverse-chunk-modules + rss memory 750 MiB ± 36.5 MiB 749 MiB ± 32.8 MiB -0.11 %
threejs_development-mode_10x + rss memory 624 MiB ± 24 MiB 648 MiB ± 26.1 MiB +3.77 %
threejs_development-mode_10x_hmr + rss memory 1173 MiB ± 179 MiB 1207 MiB ± 175 MiB +2.89 %
threejs_production-mode_10x + rss memory 895 MiB ± 49.3 MiB 931 MiB ± 63.5 MiB +4.10 %

Please sign in to comment.