Skip to content

Commit 901f130

Browse files
authored
Merge pull request #2135 from input-output-hk/ensemble/2091/client-wasm-multiple-targets
Client wasm multiple targets
2 parents dfb1eea + 9e8e19e commit 901f130

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+3411
-2521
lines changed

.github/workflows/actions/publish-npm-package/action.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,24 @@ runs:
7474
7575
- name: Build package
7676
shell: bash
77+
working-directory: ${{ inputs.package }}
78+
env:
79+
WASM_PACK_ARGS: --release --scope ${{ inputs.scope }}
7780
run: |
7881
echo "Build '@${{ inputs.scope }}/${{ inputs.package }}' package"
79-
cp ./LICENSE ./mithril-client-wasm/
80-
cp -f ./mithril-client-wasm/npm/README.md ./mithril-client-wasm/
81-
wasm-pack build ${{ inputs.package }} --release --target web --out-dir ./pkg --scope ${{ inputs.scope }} --out-name index
82+
make build
83+
84+
- name: Prepare publish
85+
shell: bash
86+
run: |
87+
cp ./LICENSE ${{ inputs.package }}
88+
cp -f ${{ inputs.package }}/npm/README.md ${{ inputs.package }}/
8289
8390
- name: List package
8491
shell: bash
8592
run: |
8693
echo "List '@${{ inputs.scope }}/${{ inputs.package }}' package"
87-
ls -al ${{ inputs.package }}/pkg
94+
ls -al -R ${{ inputs.package }}/dist
8895
8996
- name: Publish package new version
9097
if: steps.check_version.outputs.deploy_mode == 'publish'
@@ -99,7 +106,7 @@ runs:
99106
else
100107
npm whoami
101108
fi
102-
cd ${{ inputs.package }}/pkg
109+
cd ${{ inputs.package }}/
103110
if [ "${{ inputs.dry_run }}" == "false" ]; then
104111
dry_run_option=""
105112
else
@@ -116,6 +123,6 @@ runs:
116123
echo "Publish '@${{ inputs.scope }}/${{ inputs.package }}' package"
117124
npm set "//registry.npmjs.org/:_authToken=${NPM_TOKEN}"
118125
npm whoami
119-
cd ${{ inputs.package }}/pkg
126+
cd ${{ inputs.package }}/
120127
npm dist-tag add @${{ inputs.scope }}/${{ inputs.package }}@${{ steps.check_version.outputs.package_version }} latest
121128
npm dist-tag rm @${{ inputs.scope }}/${{ inputs.package }}@${{ steps.check_version.outputs.package_version }} next

.github/workflows/ci.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,17 @@ jobs:
125125

126126
- name: Build 'mithril-client-wasm' library
127127
shell: bash
128-
run: |
129-
cp LICENSE ./mithril-client-wasm/
130-
wasm-pack build mithril-client-wasm --release --target web --out-dir ./pkg --scope mithril-dev --out-name index
128+
working-directory: mithril-client-wasm
129+
env:
130+
WASM_PACK_ARGS: --release --scope mithril-dev
131+
run: make build
131132

132133
- name: Prepare 'mithril-client-wasm' package
133134
shell: bash
135+
working-directory: mithril-client-wasm
134136
run: |
135-
cp LICENSE ./mithril-client-wasm/
136-
wasm-pack pack mithril-client-wasm/pkg
137+
cp LICENSE ./mithril-client-wasm/ && cp npm/README.md .
138+
npm pack
137139
138140
- name: Build a fake aggregator
139141
shell: bash
@@ -163,7 +165,7 @@ jobs:
163165
with:
164166
name: mithril-distribution-wasm
165167
path: |
166-
mithril-client-wasm/**/*-mithril-client-wasm-*.tgz
168+
mithril-client-wasm/*-mithril-client-wasm-*.tgz
167169
if-no-files-found: error
168170
test:
169171
strategy:
@@ -832,7 +834,7 @@ jobs:
832834

833835
- name: Unpack 'mithril-client-wasm' package
834836
working-directory: mithril-client-wasm
835-
run: tar -xvzf pkg/*.tgz -C pkg/ && mv pkg/package/* pkg/
837+
run: tar -xvzf *.tgz && mv package/dist .
836838

837839
- name: Setup Node.js
838840
uses: actions/setup-node@v4

.github/workflows/test-client.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -296,23 +296,23 @@ jobs:
296296

297297
- name: Unpack 'mithril-client-wasm' package
298298
working-directory: mithril-client-wasm
299-
run: tar -xvzf pkg/*.tgz -C pkg/ && mv pkg/package/* pkg/
299+
run: tar -xvzf *.tgz && mv package/dist .
300300

301301
- name: Install dependencies
302302
working-directory: mithril-client-wasm
303-
run: make www-test-install
303+
run: make ci-test-install
304304

305305
- name: Create .env file
306306
working-directory: mithril-client-wasm
307307
run: |
308-
echo "AGGREGATOR_ENDPOINT=${{ inputs.aggregator_endpoint }}" > ./www-test/.env
309-
echo "GENESIS_VERIFICATION_KEY=$(curl -s ${{ inputs.genesis_verification_key }})" >> ./www-test/.env
310-
echo "TRANSACTIONS_HASHES_TO_CERTIFY=${{ inputs.transactions_hashes_to_certify }}" >> ./www-test/.env
308+
echo "AGGREGATOR_ENDPOINT=${{ inputs.aggregator_endpoint }}" > ./ci-test/.env
309+
echo "GENESIS_VERIFICATION_KEY=$(curl -s ${{ inputs.genesis_verification_key }})" >> ./ci-test/.env
310+
echo "TRANSACTIONS_HASHES_TO_CERTIFY=${{ inputs.transactions_hashes_to_certify }}" >> ./ci-test/.env
311311
312312
- name: Start the server
313313
working-directory: mithril-client-wasm
314314
shell: bash
315-
run: make www-test-serve &
315+
run: make ci-test-serve &
316316

317317
- name: Wait for the server to be ready
318318
shell: bash

.prettierignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
demo/protocol-demo/artifacts/
22
docs/website/.docusaurus/
33
docs/website/build/
4-
mithril-client-wasm/pkg/
54
mithril-explorer/font.css.hbs
65
mithril-explorer/out/
76
mithril-explorer/.next/
@@ -12,3 +11,5 @@ mithril-test-lab/mithril-end-to-end/monitor/config/grafana/provisioning/dashboar
1211
mithril-test-lab/mithril-aggregator-fake/default_data/
1312
mithril-test-lab/mithril-devnet/configuration/
1413
flake.lock
14+
**/dist/
15+
**/pkg/

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ As a minor extension, we have adopted a slightly different versioning convention
1515

1616
- Deprecate the `network` field in all messages that contain a `CardanoDbBeacon` field.
1717

18+
- Add Node.js and bundler targets to the Mithril client WASM library.
19+
1820
- **BREAKING** Remove the `network` field from the internal `CardanoDbBeacon` struct, Certificates of types `CardanoImmutableFilesFull`
1921
must have their hashes recomputed in order to stay valid (procedure detailed in the [`recompute-certificates-hash`](./docs/runbook/recompute-certificates-hash) runbook).
2022

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/devbook/upgrade-repository-dependencies/README.md

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,32 +84,61 @@ chore: upgrade doc dependencies
8484
By running 'make upgrade' command.
8585
```
8686

87-
### Upgrade `www/` and `www-test/` dependencies
87+
### Upgrade client wasm `ci-test/` dependencies
8888

8989
From the root of the repository, run:
9090

91-
[!IMPORTANT]: This command must be run before upgrading `mithril-explorer`.
91+
Upgrade the `ci-test` dependencies by running:
9292

9393
```bash
94-
cd mithril-client-wasm
95-
make upgrade-www-deps
94+
make -C mithril-client-wasm upgrade-ci-test-deps
95+
```
96+
97+
Create a dedicated commit, e.g.:
98+
99+
```bash
100+
chore: upgrade mithril client wasm 'ci-test' dependencies
101+
102+
By running 'make upgrade-ci-test-deps' command.
103+
```
104+
105+
### Upgrade client wasm examples dependencies
106+
107+
From the root of the repository, run:
108+
109+
[!IMPORTANT]: This command must be run before upgrading client wasm examples.
110+
111+
```bash
112+
make -C mithril-client-wasm build
113+
```
114+
115+
Upgrade the examples dependencies by running:
116+
117+
```bash
118+
make -C examples/client-wasm-nodejs upgrade
119+
make -C examples/client-wasm-web upgrade
96120
```
97121

98122
Create a dedicated commit, e.g.:
99123

100124
```bash
101-
chore: upgrade mithril client wasm 'www' and 'www-test' dependencies
125+
chore: upgrade mithril client wasm examples dependencies
102126

103-
By running 'make upgrade-www-deps' command.
127+
By running 'make upgrade' command in 'examples/client-wasm-nodejs' and 'examples/client-wasm-web'.
104128
```
105129

106130
### Upgrade the explorer dependencies
107131

132+
[!IMPORTANT]: This command must be run before upgrading `mithril-explorer`.
133+
134+
```bash
135+
make -C mithril-client-wasm build
136+
```
137+
108138
From the root of the repository, run:
109139

110140
```bash
111-
cd mithril-explorer
112-
make upgrade
141+
make -C mithril-explorer upgrade
113142
```
114143

115144
Create a dedicated commit, e.g.:

docs/devbook/upgrade-repository-dependencies/upgrade_dependencies.sh

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,26 @@ cargo set-version --bump patch
2323
git commit -am "chore: bump crates versions"
2424

2525
# Build mithril-client wasm (to have latest version used in the explorer)
26-
pushd mithril-client-wasm || exit
27-
make build
28-
popd || exit
26+
make -C mithril-client-wasm build
2927

3028
# Upgrade the documentation website dependencies
31-
pushd docs/website || exit
32-
make upgrade
33-
popd || exit
29+
make -C docs/website upgrade
3430
git commit -am "chore: upgrade doc dependencies
3531
3632
By running 'make upgrade' command."
3733

38-
# Upgrade www/ and www-test/ dependencies
39-
pushd mithril-client-wasm || exit
40-
make upgrade-www-deps
41-
popd || exit
34+
# Upgrade ci-test/ dependencies
35+
make -C mithril-client-wasm upgrade-ci-test-deps
36+
git commit -am "chore: upgrade mithril client wasm 'ci-test' dependencies
37+
38+
By running 'make upgrade-ci-test-deps' command."
4239

43-
git commit -am "chore: upgrade mithril client wasm 'www' and 'www-test' dependencies
40+
# Upgrade client wasm examples dependencies
41+
make -C examples/client-wasm-nodejs upgrade
42+
make -C examples/client-wasm-web upgrade
43+
git commit -am "chore: upgrade mithril client wasm examples dependencies
4444
45-
By running 'make upgrade-www-deps' command."
45+
By running 'make upgrade' command in 'examples/client-wasm-nodejs' and 'examples/client-wasm-web'."
4646

4747
# Upgrade the explorer dependencies
4848
pushd mithril-explorer || exit
@@ -55,25 +55,19 @@ By running 'make upgrade' command."
5555
# Bump Javascript packages versions
5656

5757
# Search all package.json files and bump the version
58-
# and exclude `package.json` in `node_modules` folder
59-
for package_json_file in $(find . -name package.json | grep -v "/node_modules/" | grep -v "/pkg/"); do
58+
# and exclude `package.json` in auto-generated folders
59+
for package_json_file in $(find . -name package.json | grep -v "/node_modules/" | grep -v "/pkg/" | grep -v "/dist/"); do
6060
folder="$(dirname $package_json_file)"
6161
pushd "$folder" || exit
6262
npm version patch
6363
popd || exit
6464
done
6565

66-
pushd mithril-client-wasm || exit
67-
make www-install www-test-install
68-
popd || exit
69-
70-
pushd mithril-explorer || exit
71-
make install
72-
popd || exit
73-
74-
pushd docs/website || exit
75-
make install
76-
popd || exit
66+
make -C mithril-client-wasm ci-test-install
67+
make -C examples/client-wasm-nodejs ci-test-install
68+
make -C examples/client-wasm-web ci-test-install
69+
make -C mithril-explorer install
70+
make -C docs/website install
7771

7872
git commit -am "chore: bump javascript packages versions
7973
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
.PHONY: clean install upgrade
2+
3+
package-lock.json:
4+
npm install
5+
6+
install: package-lock.json
7+
8+
clean:
9+
rm -rf build
10+
rm package-lock.json || true
11+
12+
upgrade: clean install
13+
npm install \
14+
prettier@latest \
15+
16+
17+
lint:
18+
npm run pretty:check
19+
20+
format:
21+
npm run pretty:write

0 commit comments

Comments
 (0)