summaryrefslogtreecommitdiffstats
path: root/vendor/jsonpath_lib/build-wasm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/jsonpath_lib/build-wasm.sh')
-rwxr-xr-xvendor/jsonpath_lib/build-wasm.sh91
1 files changed, 91 insertions, 0 deletions
diff --git a/vendor/jsonpath_lib/build-wasm.sh b/vendor/jsonpath_lib/build-wasm.sh
new file mode 100755
index 000000000..abf8f1844
--- /dev/null
+++ b/vendor/jsonpath_lib/build-wasm.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+
+set -e
+
+# project_root
+DIR="$(pwd)"
+WASM="${DIR}"/wasm
+WASM_WWW="${WASM}"/www
+WASM_WWW_BENCH="${WASM}"/www_bench
+WASM_NODEJS_PKG="${WASM}"/nodejs_pkg
+WASM_WEB_PKG="${WASM}"/web_pkg
+WASM_TEST="${WASM}"/tests
+DOCS="${DIR}"/docs
+DOCS_BENCH="${DOCS}"/bench
+
+__msg () {
+ echo ">>>>>>>>>>$1<<<<<<<<<<"
+}
+
+__cargo_clean () {
+ rm -f "${DIR}"/Cargo.lock
+ rm -f "${WASM}"/Cargo.lock
+ cd "${WASM}" && cargo clean && \
+ cd "${DIR}" && cargo clean
+}
+
+echo
+__msg "clean wasm"
+rm -rf \
+ "${WASM_NODEJS_PKG}" \
+ "${WASM_WEB_PKG}" \
+ "${WASM_WWW}"/dist \
+ "${WASM_WWW}"/node_modules \
+ "${WASM_WWW}"/package-lock.json \
+ "${WASM_WWW_BENCH}"/dist \
+ "${WASM_WWW_BENCH}"/node_modules \
+ "${WASM_WWW_BENCH}"/package-lock.json \
+ "${WASM_TEST}"/node_modules \
+ "${WASM_TEST}"/package-lock.json
+
+__msg "clean cargo clean"
+__cargo_clean
+
+echo
+wasm_pack_version=$(wasm-pack -V)
+__msg "wasm-pack: ${wasm_pack_version}"
+
+echo
+__msg "wasm-pack nodejs"
+cd "${WASM}" && wasm-pack build --release --target "nodejs" --out-dir "${WASM_NODEJS_PKG}"
+
+__msg "npm install: wasm test"
+cd "${WASM_TEST}" && npm install "${WASM_NODEJS_PKG}" && npm install
+
+echo
+__msg "wasm test"
+cd "${WASM_TEST}" && npm test
+
+if [ "$1" = "docs" ]; then
+ echo
+ __msg "wasm-pack web"
+ cd "${WASM}" && wasm-pack build --release --out-dir "${WASM_WEB_PKG}"
+
+ echo
+ __msg "jsonpath-wasm npm link"
+ cd "${WASM_WEB_PKG}" && npm link
+
+ __msg "npm install: wasm"
+ cd "${WASM_WWW}" && npm install
+ __msg "npm install: wasm_bench"
+ cd "${WASM_WWW_BENCH}" && npm install
+
+ echo
+ __msg "link"
+ cd "${WASM_WWW}" && npm link jsonpath-wasm
+ cd "${WASM_WWW_BENCH}" && npm link jsonpath-wasm
+
+ echo
+ __msg "docs"
+ cd "${WASM_WWW}" && \
+ npm run build &&
+ rm -f "${DOCS}"/*.js "${DOCS}"/*.wasm "${DOCS}"/*.html && \
+ cp "${WASM_WWW}"/dist/*.* "${DOCS}"/
+
+ cd "${WASM_WWW_BENCH}" && \
+ npm run build &&
+ rm -f "${DOCS_BENCH}"/*.js "${DOCS_BENCH}"/*.wasm "${DOCS_BENCH}"/*.html && \
+ cp "${WASM_WWW_BENCH}"/dist/*.* "${DOCS_BENCH}"/
+fi
+
+__msg "wasm done" \ No newline at end of file