diff --git a/packages/scripts/build-wasm.sh b/packages/scripts/build-wasm.sh index b4dcc2e2ac8..507b468c2c7 100755 --- a/packages/scripts/build-wasm.sh +++ b/packages/scripts/build-wasm.sh @@ -98,6 +98,7 @@ esac SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PACKAGE_DIR="$(dirname "$SCRIPT_DIR")/$PACKAGE_NAME" REPO_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" # --- Pre-flight: verify wasm-bindgen-cli version matches the crate dependency --- REQUIRED_WB_VERSION=$(awk '/^name = "wasm-bindgen"$/{getline; print}' "$REPO_ROOT/Cargo.lock" | head -1 | sed 's/version = "//;s/"//') @@ -178,8 +179,8 @@ else # Run wasm-snip if available if command -v wasm-snip &> /dev/null; then - wasm-snip "../../target/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" \ - -o "../../target/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" \ + wasm-snip "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" \ + -o "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" \ --snip-rust-fmt-code \ --snip-rust-panicking-code fi @@ -196,7 +197,7 @@ else --out-dir=pkg \ --target="$TARGET_TYPE" \ --omit-default-module-path \ - "../../target/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" + "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/${PACKAGE_NAME//-/_}.wasm" fi # Optimize the WASM file diff --git a/packages/wasm-dpp/scripts/build-wasm.sh b/packages/wasm-dpp/scripts/build-wasm.sh index 3ac8bc1a39d..6433e08f9e0 100755 --- a/packages/wasm-dpp/scripts/build-wasm.sh +++ b/packages/wasm-dpp/scripts/build-wasm.sh @@ -16,8 +16,10 @@ fi OUTPUT_DIR="${PWD}/wasm" # shellcheck disable=SC2034 OUTPUT_FILE="${OUTPUT_DIR}/wasm_dpp_bg.wasm" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" BUILD_COMMAND="cargo build --config net.git-fetch-with-cli=true --target=${TARGET} ${PROFILE_ARG}" -BINDGEN_COMMAND="wasm-bindgen --out-dir=${OUTPUT_DIR} --target=web --omit-default-module-path ../../target/${TARGET}/${PROFILE}/wasm_dpp.wasm" +BINDGEN_COMMAND="wasm-bindgen --out-dir=${OUTPUT_DIR} --target=web --omit-default-module-path ${CARGO_OUT_DIR}/${TARGET}/${PROFILE}/wasm_dpp.wasm" if ! [[ -d ${OUTPUT_DIR} ]]; then mkdir -p "${OUTPUT_DIR}" diff --git a/packages/wasm-drive-verify/scripts/analyze-module-combinations.sh b/packages/wasm-drive-verify/scripts/analyze-module-combinations.sh index 08210aaa7b4..48cace48495 100755 --- a/packages/wasm-drive-verify/scripts/analyze-module-combinations.sh +++ b/packages/wasm-drive-verify/scripts/analyze-module-combinations.sh @@ -4,6 +4,8 @@ set -euo pipefail # Always run from the package root SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$SCRIPT_DIR" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" echo "=== Module Combination Analysis ===" echo "Building different feature combinations to analyze bundle sizes..." @@ -57,7 +59,7 @@ build_combination() { local out_dir="${RESULTS_DIR}/${name}" mkdir -p "${out_dir}" - wasm-bindgen ../../target/wasm32-unknown-unknown/release/wasm_drive_verify.wasm \ + wasm-bindgen "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/wasm_drive_verify.wasm" \ --out-dir "${out_dir}" \ --target web \ --out-name "bundle" > /dev/null 2>&1 diff --git a/packages/wasm-drive-verify/scripts/build-separate-modules.sh b/packages/wasm-drive-verify/scripts/build-separate-modules.sh index c708bf3779c..1d22d158bf3 100755 --- a/packages/wasm-drive-verify/scripts/build-separate-modules.sh +++ b/packages/wasm-drive-verify/scripts/build-separate-modules.sh @@ -4,6 +4,8 @@ set -euo pipefail # Always run from the package root SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$SCRIPT_DIR" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" echo "Building separate WASM modules for wasm-drive-verify..." @@ -29,7 +31,7 @@ build_module() { mkdir -p "${out_dir}" # Run wasm-bindgen - wasm-bindgen ../../target/wasm32-unknown-unknown/release/wasm_drive_verify.wasm \ + wasm-bindgen "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/wasm_drive_verify.wasm" \ --out-dir "${out_dir}" \ --target web \ --out-name "wasm_drive_verify_${module_name}" diff --git a/packages/wasm-drive-verify/scripts/build-wasm.sh b/packages/wasm-drive-verify/scripts/build-wasm.sh index 5bdd642a4db..c77df8418fe 100755 --- a/packages/wasm-drive-verify/scripts/build-wasm.sh +++ b/packages/wasm-drive-verify/scripts/build-wasm.sh @@ -16,8 +16,10 @@ fi OUTPUT_DIR="${PWD}/wasm" # shellcheck disable=SC2034 OUTPUT_FILE="${OUTPUT_DIR}/wasm_drive_verify_bg.wasm" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" BUILD_COMMAND="cargo build --config net.git-fetch-with-cli=true --target=${TARGET} ${PROFILE_ARG}" -BINDGEN_COMMAND="wasm-bindgen --out-dir=${OUTPUT_DIR} --target=web --omit-default-module-path ../../target/${TARGET}/${PROFILE}/wasm_drive_verify.wasm" +BINDGEN_COMMAND="wasm-bindgen --out-dir=${OUTPUT_DIR} --target=web --omit-default-module-path ${CARGO_OUT_DIR}/${TARGET}/${PROFILE}/wasm_drive_verify.wasm" if ! [[ -d ${OUTPUT_DIR} ]]; then mkdir -p "${OUTPUT_DIR}" diff --git a/packages/wasm-drive-verify/scripts/quick-size-check.sh b/packages/wasm-drive-verify/scripts/quick-size-check.sh index 39654fc1704..1f501416de9 100755 --- a/packages/wasm-drive-verify/scripts/quick-size-check.sh +++ b/packages/wasm-drive-verify/scripts/quick-size-check.sh @@ -6,6 +6,8 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$SCRIPT_DIR" +REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)" +CARGO_OUT_DIR="${CARGO_TARGET_DIR:-$REPO_ROOT/target}" echo "=== Quick Module Size Check ===" echo @@ -53,7 +55,7 @@ for name in "${!COMBOS[@]}"; do OUT_DIR="$TEMP_DIR/$name" mkdir -p "$OUT_DIR" - if wasm-bindgen ../../target/wasm32-unknown-unknown/release/wasm_drive_verify.wasm \ + if wasm-bindgen "$CARGO_OUT_DIR/wasm32-unknown-unknown/release/wasm_drive_verify.wasm" \ --out-dir "$OUT_DIR" \ --target web \ --out-name bundle >/dev/null 2>&1; then