feat: Implement Anisette JS/TS API with WASM support
- Added main Anisette class for high-level API. - Introduced device management with Device class. - Created HTTP client abstraction for network requests. - Implemented provisioning session handling with ProvisioningSession class. - Added utility functions for encoding, decoding, and random generation. - Established library management with LibraryStore class. - Integrated WASM loading and bridging with WasmBridge. - Defined core types and interfaces for the API. - Set up TypeScript configuration and build scripts. - Updated package.json for new build and run commands. - Added bun.lock and package.json for JS dependencies. - Enhanced error handling and memory management in Rust code.
This commit is contained in:
@@ -95,6 +95,18 @@ echo " ${DIST_DIR}/anisette_rs.wasm"
|
||||
echo " ${NODE_DIST_JS}"
|
||||
echo " ${NODE_DIST_WASM}"
|
||||
|
||||
# Bundle TS API + glue into a single JS file
|
||||
JS_DIR="${ROOT_DIR}/js"
|
||||
if command -v bun >/dev/null 2>&1 && [[ -f "${JS_DIR}/src/index.ts" ]]; then
|
||||
echo "bundling TS API..."
|
||||
bun build "${JS_DIR}/src/index.ts" \
|
||||
--outfile "${DIST_DIR}/anisette.js" \
|
||||
--target node \
|
||||
--format esm \
|
||||
--minify
|
||||
echo " ${DIST_DIR}/anisette.js"
|
||||
fi
|
||||
|
||||
# Copy to frontend if directory exists (skip in CI if not present)
|
||||
if [[ -d "${ROOT_DIR}/../../frontend/public/anisette" ]]; then
|
||||
cp "${DIST_DIR}/anisette_rs.js" "${ROOT_DIR}/../../frontend/public/anisette/anisette_rs.js"
|
||||
|
||||
Reference in New Issue
Block a user