Skip to content

Commit d413e06

Browse files
Merge pull request #2559 from o1-labs/shigoto/generate-files-when-needed
Isolate bindings constants and transaction layout build
2 parents 64fe16e + 4899adc commit d413e06

File tree

3 files changed

+42
-11
lines changed

3 files changed

+42
-11
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"build:bindings-all": "./src/bindings/scripts/update-o1js-bindings.sh",
5757
"build:bindings-remote": "./scripts/build/build-bindings-remote.sh",
5858
"build:bindings-download": "./src/bindings/scripts/download-bindings.sh",
59+
"build:bindings-transaction-layout": "./src/bindings/scripts/build-transaction-layout.sh",
5960
"check:bindings": "./scripts/build/check-for-bindings.sh",
6061
"build:wasm": "npm run build:wasm:web && npm run build:wasm:node",
6162
"build:wasm:web": "./scripts/build/wasm/build-web.sh",

src/bindings/scripts/build-o1js-node-artifacts.sh

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,7 @@ ok "Mina config files copied"
3434
npm run build:wasm:node
3535
npm run build:jsoo:node
3636

37-
info "Building transaction layout TypeScript definitions..."
38-
run_cmd dune b src/bindings/mina-transaction/gen/v1/js-layout.ts \
39-
src/bindings/mina-transaction/gen/v2/js-layout.ts \
40-
src/bindings/crypto/constants.ts
41-
ok "TypeScript definitions built"
42-
43-
info "Formatting generated transaction layout definitions..."
44-
run_cmd npx prettier --write \
45-
src/bindings/crypto/constants.ts \
46-
src/bindings/mina-transaction/gen/**/*.ts
47-
ok "TypeScript definitions formatted"
37+
npm run build:bindings-transaction-layout
4838

4939
info "Cleaning up Mina config files..."
5040
run_cmd rm -rf "src/config"
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env bash
2+
set -Eeuo pipefail
3+
4+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5+
ROOT_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)"
6+
CRYPTO_CONSTANTS="$ROOT_DIR/_build/default/src/bindings/crypto/constants.ts"
7+
MINA_TRANSACTION_GEN="$ROOT_DIR/_build/default/src/bindings/mina-transaction/gen"
8+
9+
# shared libraries
10+
source "$ROOT_DIR/scripts/lib/ux.sh"
11+
12+
bold "Cleaning compiled bindings crypto constants"
13+
if [ -f "$CRYPTO_CONSTANTS" ]; then
14+
info "Removing $CRYPTO_CONSTANTS"
15+
run_cmd rimraf "$CRYPTO_CONSTANTS"
16+
ok "_build/default/src/bindings/crypto/constants.ts removed"
17+
else
18+
warn "_build/default/src/bindings/crypto/constants.ts not found, skipping"
19+
fi
20+
21+
bold "Cleaning compiled Mina transaction layout TS definitions"
22+
if [ -d "$MINA_TRANSACTION_GEN" ]; then
23+
info "Removing compiled files in $MINA_TRANSACTION_GEN"
24+
run_cmd rimraf "$MINA_TRANSACTION_GEN";
25+
ok "Mina transaction layout TS definitions removed"
26+
else
27+
warn "Compiled directory not found, skipping"
28+
fi
29+
30+
info "Building bindings constants & transaction layout TypeScript definitions..."
31+
run_cmd dune b src/bindings/mina-transaction/gen/v1/js-layout.ts \
32+
src/bindings/mina-transaction/gen/v2/js-layout.ts \
33+
src/bindings/crypto/constants.ts
34+
ok "Bindings constants & Mina Transaction Layout TypeScript definitions built"
35+
36+
info "Formatting generated transaction layout definitions..."
37+
run_cmd npx prettier --write \
38+
src/bindings/crypto/constants.ts \
39+
src/bindings/mina-transaction/gen/**/*.ts
40+
ok "TypeScript definitions formatted"

0 commit comments

Comments
 (0)