| 1 | #!/usr/bin/env python3 |
| 2 | """Build and run the actual wasm notebook receipt regression.""" |
| 3 | from pathlib import Path |
| 4 | import sys |
| 5 | |
| 6 | sys.path.insert(0, str(Path(__file__).resolve().parents[1])) |
| 7 | from cargo_fresh import clean_local |
| 8 | import release_web |
| 9 | |
| 10 | |
| 11 | def main(): |
| 12 | environment = release_web.environment() |
| 13 | target = Path(environment['CARGO_TARGET_DIR']) |
| 14 | output = target / 'receipt-probe' |
| 15 | clean_local(release_web.ROOT, '--target', 'wasm32-unknown-unknown', environment=environment) |
| 16 | release_web.run(['cargo', 'build', '--locked', '-p', 'notebook', '--example', 'browser_receipts', |
| 17 | '--target', 'wasm32-unknown-unknown'], env=environment) |
| 18 | release_web.run([release_web.tool('wasm-bindgen'), '--target', 'nodejs', '--no-typescript', |
| 19 | '--out-dir', output, |
| 20 | target / 'wasm32-unknown-unknown/debug/examples/browser_receipts.wasm']) |
| 21 | release_web.run(['node', Path(__file__).with_suffix('.mjs'), output / 'browser_receipts.js']) |
| 22 | |
| 23 | |
| 24 | if __name__ == '__main__': |
| 25 | main() |