Skip to content

Commit 41e80b3

Browse files
authored
Merge branch 'gear-tech:master' into ri/judge_async_methods_in_service_impl
2 parents 8ae79ce + 15e0d41 commit 41e80b3

File tree

115 files changed

+6628
-3853
lines changed

Some content is hidden

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

115 files changed

+6628
-3853
lines changed

.github/workflows/ci-js.yml

+12-48
Original file line numberDiff line numberDiff line change
@@ -34,48 +34,33 @@ jobs:
3434
with:
3535
node-version: 20.x
3636

37-
- name: "Install: pkg dependencies"
38-
working-directory: js/sails
37+
- name: "Install: dependencies"
3938
run: yarn install
4039

4140
- name: "Install: binaryen"
41+
working-directory: /usr
4242
run: |
4343
sudo wget -c https://github.com/WebAssembly/binaryen/releases/download/$BINARYEN_VERSION/binaryen-$BINARYEN_VERSION-x86_64-linux.tar.gz -O - | sudo tar -xz -C .
4444
sudo cp binaryen-$BINARYEN_VERSION/bin/wasm-opt /usr/bin/
4545
46-
- name: "Prepare: build parser"
47-
run: |
48-
cargo build -p sails-idl-parser --target=wasm32-unknown-unknown --release
49-
wasm-opt -O4 -o ./js/sails/parser.wasm ./target/wasm32-unknown-unknown/release/sails_idl_parser.wasm
50-
51-
- name: "Prepare: build sails-js"
52-
working-directory: js/sails
46+
- name: "Prepare: build all"
5347
run: yarn build
5448

55-
- name: "Prepare: build demo app"
56-
run: |
57-
cargo build -p demo --release
49+
- name: "Prepare: fmt"
50+
run: yarn fmt
5851

5952
- name: "Prepare: download Gear node"
6053
run: |
6154
wget -O ./gear https://github.com/gear-tech/gear/releases/download/build/gear
6255
chmod +x gear
6356
6457
- name: "Prepare: run Gear node"
65-
run: |
66-
nohup ./gear --dev --execution=wasm --tmp --unsafe-rpc-external --rpc-methods Unsafe --rpc-cors all &
58+
run: nohup ./gear --dev --execution=wasm --tmp --unsafe-rpc-external --rpc-methods Unsafe --rpc-cors all &
6759

6860
- name: "Prepare: sleep 3 min"
6961
run: sleep 180
7062

71-
- name: "Prepare: generate ts lib"
72-
working-directory: js/sails
73-
run: |
74-
node lib/app.js generate ../../examples/demo/client/demo.idl -o ./test/demo
75-
node test/modify-import.js
76-
7763
- name: "Test: run"
78-
working-directory: js/sails
7964
run: yarn test
8065

8166
publish-to-npm:
@@ -86,48 +71,27 @@ jobs:
8671
- name: Checkout
8772
uses: actions/checkout@v4
8873

89-
- name: Check package version
90-
uses: EndBug/version-check@v2
91-
id: check
92-
with:
93-
file-name: js/sails/package.json
94-
file-url: https://unpkg.com/sails-js@latest/package.json
95-
static-checking: localIsNew
96-
97-
- name: Use node 18.x
98-
if: steps.check.outputs.changed == 'true'
74+
- name: Use node 20.x
9975
uses: actions/setup-node@v4
10076
with:
101-
node-version: 18.x
77+
node-version: 20.x
10278

10379
- name: "Prepare: install dependencies"
104-
if: steps.check.outputs.changed == 'true'
105-
working-directory: js/sails
10680
run: yarn install
10781

10882
- name: "Install: binaryen"
109-
if: steps.check.outputs.changed == 'true'
83+
working-directory: /usr
11084
run: |
11185
sudo wget -c https://github.com/WebAssembly/binaryen/releases/download/$BINARYEN_VERSION/binaryen-$BINARYEN_VERSION-x86_64-linux.tar.gz -O - | sudo tar -xz -C .
11286
sudo cp binaryen-$BINARYEN_VERSION/bin/wasm-opt /usr/bin/
11387
114-
- name: "Prepare: build parser"
115-
if: steps.check.outputs.changed == 'true'
116-
run: |
117-
cargo build -p sails-idl-parser --target=wasm32-unknown-unknown --release
118-
wasm-opt -O4 -o ./js/sails/parser.wasm ./target/wasm32-unknown-unknown/release/sails_idl_parser.wasm
119-
120-
- name: "Prepare: build sails-js"
121-
if: steps.check.outputs.changed == 'true'
122-
working-directory: js/sails
88+
- name: "Prepare: build all"
12389
run: yarn build
12490

12591
- name: Publish
126-
if: steps.check.outputs.changed == 'true'
127-
working-directory: js/sails/lib
12892
run: |
12993
export token=$(printenv npm_token)
130-
npm config set //registry.npmjs.org/:_authToken=$token
131-
npm publish
94+
echo "//registry.npmjs.org/:_authToken=$token" > .npmrc
95+
npx lerna publish from-package --yes --no-private
13296
env:
13397
npm_token: ${{ secrets.NPM_TOKEN }}

.gitignore

+12-5
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,15 @@ target/
77

88
# js
99
node_modules/
10-
js/sails/lib/
11-
js/sails/parser.wasm
12-
js/sails/test/demo/
13-
js/sails/.yarn/*
14-
!js/sails/.yarn/releases
10+
js/**/lib/
11+
js/cli/build/
12+
js/parser/parser.wasm
13+
js/test/demo/
14+
.pnp.*
15+
.yarn/*
16+
!.yarn/patches
17+
!.yarn/plugins
18+
!.yarn/releases
19+
!.yarn/sdks
20+
!.yarn/versions
21+
.npmrc
File renamed without changes.

js/sails/.yarnrc.yml .yarnrc.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
nodeLinker: node-modules
2-
31
yarnPath: .yarn/releases/yarn-4.4.1.cjs
2+
nodeLinker: node-modules

Cargo.lock

+12-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ git-download = "0.1"
5858
handlebars = "4.4"
5959
hashbrown = "0.14"
6060
hex = { version = "0.4", default-features = false }
61-
insta = "1.39"
61+
insta = "1.40"
6262
itertools = "0.13"
6363
lalrpop = { version = "0.20", default-features = false }
6464
lalrpop-util = "0.20"

Makefile

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
precommit: fmt clippy test
22

3+
precommit-js:
4+
@yarn install
5+
@yarn build
6+
@yarn fmt
7+
38
fmt:
49
@__GEAR_WASM_BUILDER_NO_FEATURES_TRACKING=1 cargo fmt --all -- --check
510

@@ -13,7 +18,6 @@ build-parser:
1318
@echo "Building idlparser"
1419
@cargo build -p sails-idl-parser --target=wasm32-unknown-unknown --release
1520
@ls -lah ./target/wasm32-unknown-unknown/release/sails_idl_parser.wasm
16-
@cp ./target/wasm32-unknown-unknown/release/sails_idl_parser.wasm js/sails/parser.wasm
1721
@cp ./target/wasm32-unknown-unknown/release/sails_idl_parser.wasm js/parser/parser.wasm
1822

1923
build-proxy:
@@ -29,4 +33,4 @@ build-proxy-idl:
2933

3034
build-js:
3135
@echo "Building sails-js"
32-
@cd js/sails && yarn build
36+
yarn build

eslint.config.mjs

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import globals from 'globals';
2+
import pluginJs from '@eslint/js';
3+
import tseslint from 'typescript-eslint';
4+
5+
export default [
6+
{ files: ['js/**/src/**/*.{ts}'] },
7+
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
8+
pluginJs.configs.recommended,
9+
...tseslint.configs.recommended,
10+
{
11+
rules: {
12+
'@typescript-eslint/no-explicit-any': 'off',
13+
'@typescript-eslint/no-this-alias': 'off',
14+
'no-unexpected-multiline': 'off',
15+
},
16+
},
17+
];

examples/demo/app/tests/gclient.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -227,8 +227,9 @@ async fn counter_query_not_enough_gas() {
227227
assert!(matches!(
228228
result,
229229
Err(sails_rs::errors::Error::Rtl(RtlError::ReplyHasError(
230-
ErrorReplyReason::Execution(SimpleExecutionError::RanOutOfGas)
231-
)))
230+
ErrorReplyReason::Execution(SimpleExecutionError::RanOutOfGas),
231+
message
232+
))) if message == "Not enough gas to handle program data"
232233
));
233234
}
234235

examples/demo/app/tests/gtest.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,9 @@ async fn counter_query_not_enough_gas() {
139139
assert!(matches!(
140140
result,
141141
Err(sails_rs::errors::Error::Rtl(RtlError::ReplyHasError(
142-
ErrorReplyReason::Execution(SimpleExecutionError::RanOutOfGas)
143-
)))
142+
ErrorReplyReason::Execution(SimpleExecutionError::RanOutOfGas),
143+
message
144+
))) if message == "Not enough gas to handle program data"
144145
));
145146
}
146147

0 commit comments

Comments
 (0)