Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

65 changes: 45 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,57 @@
"version": "14.1.2",
"description": "(De)serialization functions for the Cardano blockchain along with related utility functions",
"scripts": {
"rust:build-nodejs": "(rimraf ./rust/pkg && cd rust; wasm-pack build --target=nodejs; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-browser": "(rimraf ./rust/pkg && cd rust; wasm-pack build --target=browser; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-web": "(rimraf ./rust/pkg && cd rust; wasm-pack build --target=web; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-asm": "(rimraf ./rust/pkg && cd rust; wasm-pack build --target=browser; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run asm:build && npm run js:flowgen",
"rust:build-nodejs:gc": "(rimraf ./rust/pkg && cd rust; WASM_BINDGEN_WEAKREF=1 wasm-pack build --target=nodejs; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-browser:gc": "(rimraf ./rust/pkg && cd rust; WASM_BINDGEN_WEAKREF=1 wasm-pack build --target=browser; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-web:gc": "(rimraf ./rust/pkg && cd rust; WASM_BINDGEN_WEAKREF=1 wasm-pack build --target=web; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run js:flowgen",
"rust:build-asm:gc": "(rimraf ./rust/pkg && cd rust; WASM_BINDGEN_WEAKREF=1 wasm-pack build --target=browser; cd ..; npm run js:ts-json-gen; cd rust; wasm-pack pack) && npm run asm:build && npm run js:flowgen",
"publish-all:prod": "node scripts/build-helper.js publish-all --env prod",
"publish-all:beta": "node scripts/build-helper.js publish-all --env beta",

"build:all": "npm run build:all:no-gc && npm run build:all:gc",
"build:all:no-gc": "npm run build:targets:no-gc && npm run build:variants:no-gc",
"build:all:gc": "npm run build:targets:gc && npm run build:variants:gc",

"build:targets:no-gc": "npm run rust:build-nodejs && npm run rust:build-browser && npm run rust:build-web",
"build:targets:gc": "npm run rust:build-nodejs:gc && npm run rust:build-browser:gc && npm run rust:build-web:gc",
"build:variants:no-gc": "npm run rust:build-browser-inlined && npm run rust:build-asm",
"build:variants:gc": "npm run rust:build-browser-inlined:gc && npm run rust:build-asm:gc",

"rust:build-nodejs": "node scripts/build-helper.js build --target nodejs --variant normal --gc false",
"rust:build-browser": "node scripts/build-helper.js build --target browser --variant normal --gc false",
"rust:build-browser-inlined": "node scripts/build-helper.js build --target browser --variant inlined --gc false",
"rust:build-web": "node scripts/build-helper.js build --target web --variant normal --gc false",
"rust:build-asm": "node scripts/build-helper.js build --target browser --variant asm --gc false",

"rust:build-nodejs:gc": "node scripts/build-helper.js build --target nodejs --variant normal --gc true",
"rust:build-browser:gc": "node scripts/build-helper.js build --target browser --variant normal --gc true",
"rust:build-browser-inlined:gc": "node scripts/build-helper.js build --target browser --variant inlined --gc true",
"rust:build-web:gc": "node scripts/build-helper.js build --target web --variant normal --gc true",
"rust:build-asm:gc": "node scripts/build-helper.js build --target browser --variant asm --gc true",

"js:publish-nodejs:prod:no-gc": "node scripts/build-helper.js publish --target nodejs --variant normal --gc false --env prod",
"js:publish-nodejs:beta:no-gc": "node scripts/build-helper.js publish --target nodejs --variant normal --gc false --env beta",
"js:publish-browser:prod:no-gc": "node scripts/build-helper.js publish --target browser --variant normal --gc false --env prod",
"js:publish-browser:beta:no-gc": "node scripts/build-helper.js publish --target browser --variant normal --gc false --env beta",
"js:publish-browser-inlined:prod:no-gc": "node scripts/build-helper.js publish --target browser --variant inlined --gc false --env prod",
"js:publish-browser-inlined:beta:no-gc": "node scripts/build-helper.js publish --target browser --variant inlined --gc false --env beta",
"js:publish-asm:prod:no-gc": "node scripts/build-helper.js publish --target browser --variant asm --gc false --env prod",
"js:publish-asm:beta:no-gc": "node scripts/build-helper.js publish --target browser --variant asm --gc false --env beta",

"js:publish-nodejs:prod:gc": "node scripts/build-helper.js publish --target nodejs --variant normal --gc true --env prod",
"js:publish-nodejs:beta:gc": "node scripts/build-helper.js publish --target nodejs --variant normal --gc true --env beta",
"js:publish-browser:prod:gc": "node scripts/build-helper.js publish --target browser --variant normal --gc true --env prod",
"js:publish-browser:beta:gc": "node scripts/build-helper.js publish --target browser --variant normal --gc true --env beta",
"js:publish-browser-inlined:prod:gc": "node scripts/build-helper.js publish --target browser --variant inlined --gc true --env prod",
"js:publish-browser-inlined:beta:gc": "node scripts/build-helper.js publish --target browser --variant inlined --gc true --env beta",
"js:publish-asm:prod:gc": "node scripts/build-helper.js publish --target browser --variant asm --gc true --env prod",
"js:publish-asm:beta:gc": "node scripts/build-helper.js publish --target browser --variant asm --gc true --env beta",

"rust:publish": "cd rust && cargo publish && cd ../",
"asm:build": "./binaryen/bin/wasm2js ./rust/pkg/cardano_serialization_lib_bg.wasm --output ./rust/pkg/cardano_serialization_lib.asm.js && node ./scripts/wasm-to-asm && node ./scripts/fix-buffer-ref.js",
"rust:check-warnings": "(cd rust; RUSTFLAGS=\"-D warnings\" cargo +stable build)",
"rust:test": "(cd rust; cargo test)",
"js:flowgen": "flowgen ./rust/pkg/cardano_serialization_lib.d.ts -o ./rust/pkg/cardano_serialization_lib.js.flow --add-flow-header",
"js:prepublish": "npm run rust:test && rimraf ./publish && cp -r ./rust/pkg ./publish && cp README.md publish/ && cp LICENSE publish/",
"js:publish-nodejs:prod:no-gc": "npm run rust:build-nodejs && npm run js:prepublish && node ./scripts/publish-helper -nodejs && cd publish && npm publish --access public",
"js:publish-nodejs:beta:no-gc": "npm run rust:build-nodejs && npm run js:prepublish && node ./scripts/publish-helper -nodejs && cd publish && npm publish --tag beta --access public",
"js:publish-browser:prod:no-gc": "npm run rust:build-browser && npm run js:prepublish && node ./scripts/publish-helper -browser && cd publish && npm publish --access public",
"js:publish-browser:beta:no-gc": "npm run rust:build-browser && npm run js:prepublish && node ./scripts/publish-helper -browser && cd publish && npm publish --tag beta --access public",
"js:publish-asm:prod:no-gc": "npm run rust:build-asm && npm run js:prepublish && node ./scripts/publish-helper -asmjs && cd publish && npm publish --access public",
"js:publish-asm:beta:no-gc": "npm run rust:build-asm && npm run js:prepublish && node ./scripts/publish-helper -asmjs && cd publish && npm publish --tag beta --access public",
"js:publish-nodejs:prod:gc": "npm run rust:build-nodejs:gc && npm run js:prepublish && node ./scripts/publish-helper -nodejs -gc && cd publish && npm publish --access public",
"js:publish-nodejs:beta:gc": "npm run rust:build-nodejs:gc && npm run js:prepublish && node ./scripts/publish-helper -nodejs -gc && cd publish && npm publish --tag beta --access public",
"js:publish-browser:prod:gc": "npm run rust:build-browser:gc && npm run js:prepublish && node ./scripts/publish-helper -browser -gc && cd publish && npm publish --access public",
"js:publish-browser:beta:gc": "npm run rust:build-browser:gc && npm run js:prepublish && node ./scripts/publish-helper -browser -gc && cd publish && npm publish --tag beta --access public",
"js:publish-asm:prod:gc": "npm run rust:build-asm:gc && npm run js:prepublish && node ./scripts/publish-helper -asmjs -gc && cd publish && npm publish --access public",
"js:publish-asm:beta:gc": "npm run rust:build-asm:gc && npm run js:prepublish && node ./scripts/publish-helper -asmjs -gc && cd publish && npm publish --tag beta --access public",
"js:ts-json-gen": "cd rust/json-gen && cargo +stable run && cd ../.. && node ./scripts/run-json2ts.js && node ./scripts/json-ts-types.js",
"wasm:inline": "node scripts/encode-wasm-to-base64.js inline rust/pkg",
"wasm:delete-wasm-files": "rimraf ./rust/pkg/cardano_serialization_lib_bg.wasm && rimraf ./rust/pkg/cardano_serialization_lib_bg.wasm.d.ts",
"postinstall": "git submodule update --init --recursive && cd binaryen; cmake . && make"
},
"husky": {
Expand All @@ -44,6 +68,7 @@
"url": "git+https://github.com/Emurgo/cardano-serialization-lib.git"
},
"devDependencies": {
"commander": "^11.1.0",
"flowgen": "1.21.0",
"husky": "^9.0.11",
"json-schema-to-typescript": "^14.0.5",
Expand Down
2 changes: 2 additions & 0 deletions release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ echo "Preparing ${RELEASE_TYPE} release"
. ./build-and-test.sh \
&& npm run js:publish-nodejs:${RELEASE_TYPE}:no-gc \
&& npm run js:publish-browser:${RELEASE_TYPE}:no-gc \
&& npm run js:publish-browser-inlined:${RELEASE_TYPE}:no-gc \
&& npm run js:publish-asm:${RELEASE_TYPE}:no-gc \
&& npm run js:publish-nodejs:${RELEASE_TYPE}:gc \
&& npm run js:publish-browser:${RELEASE_TYPE}:gc \
&& npm run js:publish-browser-inlined:${RELEASE_TYPE}:gc \
&& npm run js:publish-asm:${RELEASE_TYPE}:gc \
&& (cd rust; cargo publish --allow-dirty)
Loading