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}