Skip to content

Commit 3cdeddd

Browse files
authored
udpate asm script 0.21 (#74)
* udpate asm script * update node lts * update node
1 parent 106645e commit 3cdeddd

29 files changed

+465
-324
lines changed

.github/workflows/npm-publish.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: Set up Node.js
1414
uses: actions/setup-node@v1
1515
with:
16-
node-version: 10.0.0
16+
node-version: 16.17.0
1717
- name: Publish if version has been updated
1818
uses: pascalgn/npm-publish-action@4f4bf159e299f65d21cd1cbd96fc5d53228036df
1919
with: # All of theses inputs are optional

.github/workflows/pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Set up Node.js
1515
uses: actions/setup-node@v1
1616
with:
17-
node-version: 10.0.0
17+
node-version: 16.17.0
1818
- run: npm install
1919
- run: npm run asbuild
2020
# make sure example filter builds:

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ npx asinit .
1212

1313
add `--use abort=abort_proc_exit` to the `asc` in packages.json. for example:
1414
```json
15-
"asbuild:untouched": "asc assembly/index.ts -b build/untouched.wasm --use abort=abort_proc_exit -t build/untouched.wat --sourceMap http://127.0.0.1:8081/build/untouched.wasm.map --debug",
16-
"asbuild:optimized": "asc assembly/index.ts -b build/optimized.wasm --use abort=abort_proc_exit -t build/optimized.wat --sourceMap --optimize",
15+
"asbuild:debug": "asc assembly/index.ts -b build/untouched.wasm --use abort=abort_proc_exit -t build/untouched.wat --sourceMap http://127.0.0.1:8081/build/untouched.wasm.map --debug",
16+
"asbuild:release": "asc assembly/index.ts -b build/optimized.wasm --use abort=abort_proc_exit -t build/optimized.wat --sourceMap --optimize",
1717
```
1818

1919
Add `"@solo-io/proxy-runtime": "file:/home/yuval/Projects/solo/proxy-assemblyscript"` to your dependencies.

asconfig.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"targets": {
3+
"debug": {
4+
"outFile": "build/debug.wasm",
5+
"textFile": "build/debug.wat",
6+
"sourceMap": "http://127.0.0.1:8081/build/untouched.wasm.map",
7+
"debug": true
8+
},
9+
"release": {
10+
"outFile": "build/release.wasm",
11+
"textFile": "build/release.wat",
12+
"sourceMap": true,
13+
"optimizeLevel": 3,
14+
"shrinkLevel": 0,
15+
"converge": false,
16+
"noAssert": false
17+
}
18+
},
19+
"options": {
20+
"bindings": "esm",
21+
"use": "abort=abort_proc_exit"
22+
}
23+
}

assembly/proxy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
export * from "./malloc";
1+
export { malloc } from "./malloc";
22
export * from "./exports";

assembly/runtime.ts

+15-17
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
// import {LogLevel, WasmResult, MetricType, PeerType, HeaderMapType, BufferType, BufferFlags} from "./exports";
21
import * as imports from "./imports";
32
import { free } from "./malloc";
4-
import { proc_exit } from "bindings/wasi_unstable";
5-
3+
import { proc_exit } from "./wasi_unstable";
64

75
// abort function.
86
// use with:
97
// --use abort=index/abort_proc_exit
108
// compiler flag
119
// @ts-ignore: decorator
1210
@global
13-
export function abort_proc_exit(message: string | null, fileName: string | null, lineNumber: u32, columnNumber: u32): void {
14-
let logMessage = "";
11+
export function abort_proc_exit(message: string | null, fileName: string | null, lineNumber: u32, columnNumber: u32): void {
12+
let logMessage = "abort: ";
1513
if (message !== null) {
1614
logMessage += message.toString();
1715
}
@@ -89,7 +87,7 @@ export class HeaderPair {
8987
}
9088
}
9189

92-
export function makeHeaderPair(key: string, value: string) : HeaderPair {
90+
export function makeHeaderPair(key: string, value: string): HeaderPair {
9391
let key_arr = String.UTF8.encode(key);
9492
let value_arr = String.UTF8.encode(value);
9593
return new HeaderPair(key_arr, value_arr);
@@ -355,25 +353,25 @@ export function send_local_response(response_code: u32, response_code_details: s
355353

356354
export function clear_route_cache(): WasmResultValues { return imports.proxy_clear_route_cache(); }
357355
class GetSharedData {
358-
value: ArrayBuffer|null;
356+
value: ArrayBuffer | null;
359357
result: WasmResultValues;
360-
cas: u32;
358+
cas: usize;
361359
}
362360

363361
export function get_shared_data(key: string): GetSharedData {
364362
const key_buffer = String.UTF8.encode(key);
365363
let cas = globalUsizeRef;
366364
let data = globalArrayBufferReference;
367365
let result = new GetSharedData();
368-
result.result = imports.proxy_get_shared_data(changetype<usize>(key_buffer), key_buffer.byteLength, data.bufferPtr(), data.sizePtr(), cas.ptr());
366+
result.result = imports.proxy_get_shared_data(changetype<usize>(key_buffer), key_buffer.byteLength, data.bufferPtr(), data.sizePtr(), cas.ptr());
369367
if (result.result == WasmResultValues.Ok) {
370368
result.value = data.toArrayBuffer();
371369
result.cas = cas.data;
372370
}
373371
return result;
374372
}
375373

376-
export function set_shared_data(key: string, value: ArrayBuffer, cas : u32 = 0): WasmResultValues {
374+
export function set_shared_data(key: string, value: ArrayBuffer, cas: u32 = 0): WasmResultValues {
377375
const key_buffer = String.UTF8.encode(key);
378376
return imports.proxy_set_shared_data(changetype<usize>(key_buffer), key_buffer.byteLength, changetype<usize>(value), value.byteLength, cas);
379377
}
@@ -409,7 +407,7 @@ export function resolve_shared_queue(vm_id: string, queue_name: string): TokenSh
409407

410408
class DequeueSharedQueueResult {
411409
result: WasmResultValues;
412-
data: ArrayBuffer|null;
410+
data: ArrayBuffer | null;
413411
}
414412
export function dequeue_shared_queue(token: u32): DequeueSharedQueueResult {
415413
let result = new DequeueSharedQueueResult();
@@ -734,12 +732,12 @@ export function call_foreign_function(function_name: string, argument: string):
734732
let argument_name_buffer = String.UTF8.encode(argument);
735733

736734
CHECK_RESULT(imports.proxy_call_foreign_function(
737-
changetype<usize>(function_name_buffer),
738-
function_name_buffer.byteLength,
739-
changetype<usize>(argument_name_buffer),
740-
argument_name_buffer.byteLength,
741-
globalArrayBufferReference.bufferPtr(),
742-
globalArrayBufferReference.sizePtr()));
735+
changetype<usize>(function_name_buffer),
736+
function_name_buffer.byteLength,
737+
changetype<usize>(argument_name_buffer),
738+
argument_name_buffer.byteLength,
739+
globalArrayBufferReference.bufferPtr(),
740+
globalArrayBufferReference.sizePtr()));
743741
return globalArrayBufferReference.toArrayBuffer();
744742
}
745743
/////// runtime support

assembly/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../node_modules/assemblyscript/std/assembly.json",
2+
"extends": "assemblyscript/std/assembly.json",
33
"include": [
44
"./**/*.ts"
55
]

assembly/wasi_unstable.ts

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
/** Terminate the process normally. An exit code of 0 indicates successful termination of the program. The meanings of other values is dependent on the environment. */
3+
// @ts-ignore: decorator
4+
@unsafe
5+
export declare function proc_exit(
6+
/** Input: The exit code returned by the process. */
7+
rval: u32
8+
): void;

examples/addheader/asconfig.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"targets": {
3+
"debug": {
4+
"outFile": "build/debug.wasm",
5+
"textFile": "build/debug.wat",
6+
"sourceMap": true,
7+
"debug": true
8+
},
9+
"release": {
10+
"outFile": "build/release.wasm",
11+
"textFile": "build/release.wat",
12+
"sourceMap": true,
13+
"optimizeLevel": 3,
14+
"shrinkLevel": 0,
15+
"converge": false,
16+
"noAssert": false
17+
}
18+
},
19+
"options": {
20+
"bindings": "esm",
21+
"use": "abort=abort_proc_exit"
22+
}
23+
}

examples/addheader/assembly/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

2-
export * from "@solo-io/proxy-runtime/proxy"; // this exports the required functions for the proxy to interact with us.
3-
import { RootContext, Context, registerRootContext, FilterHeadersStatusValues, stream_context } from "@solo-io/proxy-runtime";
2+
export * from "@solo-io/proxy-runtime/assembly/proxy"; // this exports the required functions for the proxy to interact with us.
3+
import { RootContext, Context, registerRootContext, FilterHeadersStatusValues, stream_context } from "@solo-io/proxy-runtime/assembly";
44

55
class AddHeaderRoot extends RootContext {
66
createContext(context_id: u32): Context {

examples/addheader/assembly/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"extends": "../node_modules/assemblyscript/std/assembly.json",
2+
"extends": "assemblyscript/std/assembly.json",
33
"include": [
44
"./**/*.ts"
55
]

examples/addheader/package-lock.json

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

0 commit comments

Comments
 (0)