swc/crates/swc_core/build.rs
Donny/강동윤 da529304fe
Some checks are pending
CI / Cargo fmt (push) Waiting to run
CI / Cargo clippy (push) Waiting to run
CI / Check license of dependencies (push) Waiting to run
CI / Check (macos-latest) (push) Waiting to run
CI / Check (ubuntu-latest) (push) Waiting to run
CI / Check (windows-latest) (push) Waiting to run
CI / Test wasm (binding_core_wasm) (push) Waiting to run
CI / Test wasm (binding_minifier_wasm) (push) Waiting to run
CI / Test wasm (binding_typescript_wasm) (push) Waiting to run
CI / List crates (push) Waiting to run
CI / Test - ${{ matrix.settings.crate }} - ${{ matrix.settings.os }} (push) Blocked by required conditions
CI / Test node bindings - ${{ matrix.os }} (macos-latest) (push) Waiting to run
CI / Test node bindings - ${{ matrix.os }} (windows-latest) (push) Waiting to run
CI / Test with @swc/cli (push) Waiting to run
CI / Miri (better_scoped_tls) (push) Waiting to run
CI / Miri (string_enum) (push) Waiting to run
CI / Miri (swc) (push) Waiting to run
CI / Miri (swc_bundler) (push) Waiting to run
CI / Miri (swc_ecma_codegen) (push) Waiting to run
CI / Miri (swc_ecma_minifier) (push) Waiting to run
CI / Done (push) Blocked by required conditions
Benchmark / Bench everything (push) Waiting to run
feat(plugin/runner): Improve error message (#9502)
2024-08-27 10:05:51 +09:00

45 lines
1.3 KiB
Rust

use std::{
env,
fs::File,
io::{BufWriter, Write},
path::Path,
};
use vergen::{CargoBuilder, Emitter};
// Validate conflict between host / plugin features
#[cfg(all(
feature = "ecma_plugin_transform",
any(
feature = "plugin_transform_host_native",
feature = "plugin_transform_host_js"
)
))]
compile_error!(
"'plugin_transform' and 'plugin_transform_host*' features are mutually exclusive. If you're \
writing a plugin, use 'plugin_transform' feature. If you're writing a custom SWC binary to \
run plugin, use 'plugin_transform_host_*' instead."
);
fn main() {
let cargo = CargoBuilder::all_cargo().unwrap();
// Creates a static compile time constants for the version of swc_core.
let pkg_version = env::var("CARGO_PKG_VERSION").unwrap();
let out_dir = env::var("OUT_DIR").expect("Outdir should exist");
let dest_path = Path::new(&out_dir).join("core_pkg_version.txt");
let mut f = BufWriter::new(
File::create(dest_path).expect("Failed to create swc_core version constant"),
);
write!(f, "{}", pkg_version).expect("Failed to write swc_core version constant");
// Attempt to collect some build time env values but will skip if there are any
// errors.
Emitter::default()
.add_instructions(&cargo)
.unwrap()
.emit()
.unwrap();
}