xtask/npm/
util.rs
1use std::process::{Command, Stdio};
2
3use anyhow::{Context, Result};
4use semver::Version;
5
6use crate::util::{repository_root, wrap};
7
8pub fn set_version(version: &Version) -> Result<()> {
9 wrap(|| {
10 let mut c = Command::new("npm");
11 c.current_dir(repository_root()?).stderr(Stdio::inherit());
12 c.arg("version")
13 .arg(version.to_string())
14 .arg("--no-git-tag-version")
15 .arg("--allow-same-version");
16
17 c.status()?;
18
19 Ok(())
20 })
21 .with_context(|| format!("failed to set version of @swc/core to v{version}"))?;
22
23 wrap(|| {
24 let mut c = Command::new("npm");
25 c.current_dir(repository_root()?.join("packages").join("minifier"))
26 .stderr(Stdio::inherit());
27 c.arg("version")
28 .arg(version.to_string())
29 .arg("--no-git-tag-version")
30 .arg("--allow-same-version");
31
32 c.status()?;
33
34 Ok(())
35 })
36 .with_context(|| format!("failed to set version of @swc/minifier to v{version}"))?;
37
38 wrap(|| {
39 let mut c = Command::new("cargo");
40 c.current_dir(repository_root()?.join("bindings"))
41 .stderr(Stdio::inherit());
42 c.arg("set-version")
43 .arg(version.to_string())
44 .arg("-p")
45 .arg("binding_core_wasm")
46 .arg("-p")
47 .arg("binding_minifier_wasm");
48
49 c.status()?;
50 Ok(())
51 })
52 .with_context(|| format!("failed to set version of Wasm packages to v{version}"))?;
53
54 Ok(())
55}
56
57pub fn bump_swc_cli() -> Result<()> {
58 let mut c = Command::new("cargo");
59 c.current_dir(repository_root()?.join("bindings"))
60 .stderr(Stdio::inherit());
61 c.arg("set-version")
62 .arg("--bump")
63 .arg("patch")
64 .arg("-p")
65 .arg("swc_cli");
66
67 c.status()?;
68
69 Ok(())
70}