warpo 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/assemblyscript/std/README.md +5 -0
  2. package/assemblyscript/std/assembly/array.ts +542 -0
  3. package/assemblyscript/std/assembly/arraybuffer.ts +72 -0
  4. package/assemblyscript/std/assembly/builtins.ts +2312 -0
  5. package/assemblyscript/std/assembly/compat.ts +2 -0
  6. package/assemblyscript/std/assembly/dataview.ts +144 -0
  7. package/assemblyscript/std/assembly/date.ts +383 -0
  8. package/assemblyscript/std/assembly/diagnostics.ts +11 -0
  9. package/assemblyscript/std/assembly/error.ts +39 -0
  10. package/assemblyscript/std/assembly/function.ts +44 -0
  11. package/assemblyscript/std/assembly/iterator.ts +24 -0
  12. package/assemblyscript/std/assembly/map.ts +304 -0
  13. package/assemblyscript/std/assembly/math.ts +3401 -0
  14. package/assemblyscript/std/assembly/memory.ts +110 -0
  15. package/assemblyscript/std/assembly/number.ts +388 -0
  16. package/assemblyscript/std/assembly/object.ts +30 -0
  17. package/assemblyscript/std/assembly/polyfills.ts +24 -0
  18. package/assemblyscript/std/assembly/process.ts +7 -0
  19. package/assemblyscript/std/assembly/promise.ts +172 -0
  20. package/assemblyscript/std/assembly/reference.ts +48 -0
  21. package/assemblyscript/std/assembly/regexp.ts +16 -0
  22. package/assemblyscript/std/assembly/rt/common.ts +79 -0
  23. package/assemblyscript/std/assembly/rt/index-incremental.ts +4 -0
  24. package/assemblyscript/std/assembly/rt/index-radical.ts +4 -0
  25. package/assemblyscript/std/assembly/rt/index.d.ts +37 -0
  26. package/assemblyscript/std/assembly/rt/itcms.ts +415 -0
  27. package/assemblyscript/std/assembly/rt/tcms.ts +276 -0
  28. package/assemblyscript/std/assembly/rt/tlsf.ts +564 -0
  29. package/assemblyscript/std/assembly/rt.ts +71 -0
  30. package/assemblyscript/std/assembly/set.ts +261 -0
  31. package/assemblyscript/std/assembly/shared/feature.ts +69 -0
  32. package/assemblyscript/std/assembly/shared/host.ts +12 -0
  33. package/assemblyscript/std/assembly/shared/runtime.ts +9 -0
  34. package/assemblyscript/std/assembly/shared/target.ts +9 -0
  35. package/assemblyscript/std/assembly/shared/tsconfig.json +9 -0
  36. package/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
  37. package/assemblyscript/std/assembly/staticarray.ts +446 -0
  38. package/assemblyscript/std/assembly/string.ts +892 -0
  39. package/assemblyscript/std/assembly/symbol.ts +61 -0
  40. package/assemblyscript/std/assembly/table.ts +15 -0
  41. package/assemblyscript/std/assembly/tsconfig.json +4 -0
  42. package/assemblyscript/std/assembly/tuple.ts +36 -0
  43. package/assemblyscript/std/assembly/typedarray.ts +2000 -0
  44. package/assemblyscript/std/assembly/uri.ts +17 -0
  45. package/assemblyscript/std/assembly/util/bytes.ts +90 -0
  46. package/assemblyscript/std/assembly/util/casemap.ts +264 -0
  47. package/assemblyscript/std/assembly/util/error.ts +54 -0
  48. package/assemblyscript/std/assembly/util/hash.ts +117 -0
  49. package/assemblyscript/std/assembly/util/math.ts +1922 -0
  50. package/assemblyscript/std/assembly/util/memory.ts +309 -0
  51. package/assemblyscript/std/assembly/util/number.ts +884 -0
  52. package/assemblyscript/std/assembly/util/sort.ts +282 -0
  53. package/assemblyscript/std/assembly/util/string.ts +1075 -0
  54. package/assemblyscript/std/assembly/util/uri.ts +251 -0
  55. package/assemblyscript/std/assembly/vector.ts +3 -0
  56. package/dist/debug_server/debugSession.d.ts +1 -0
  57. package/dist/debug_server/debugSession.js +15 -6
  58. package/dist/debug_server/debugSession.js.map +1 -1
  59. package/dist/debug_server/debuggerWasmModule.d.ts +3 -0
  60. package/dist/debug_server/debuggerWasmModule.js +47 -2
  61. package/dist/debug_server/debuggerWasmModule.js.map +1 -1
  62. package/dist/debug_server/tests/debugSession.test.js +96 -0
  63. package/dist/debug_server/tests/debugSession.test.js.map +1 -1
  64. package/dist/debug_server/tests/testModule/debugger_closure_stepping.d.ts +1 -0
  65. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js +12 -0
  66. package/dist/debug_server/tests/testModule/debugger_closure_stepping.js.map +1 -0
  67. package/dist/debug_server/tests/testModule/debugger_std_array.d.ts +1 -0
  68. package/dist/debug_server/tests/testModule/debugger_std_array.js +6 -0
  69. package/dist/debug_server/tests/testModule/debugger_std_array.js.map +1 -0
  70. package/dist/debug_server/tests/testModule/debugger_string_stepping.d.ts +1 -0
  71. package/dist/debug_server/tests/testModule/debugger_string_stepping.js +9 -0
  72. package/dist/debug_server/tests/testModule/debugger_string_stepping.js.map +1 -0
  73. package/package.json +7 -7
  74. package/warpo_extension/std/tsconfig.json +4 -0
  75. package/warpo_extension/std/warpo/ffi.ts +16 -0
  76. package/warpo_extension/std/warpo/test/comparison.ts +122 -0
  77. package/warpo_extension/std/warpo/test/env.ts +33 -0
  78. package/warpo_extension/std/warpo/test/expect.ts +101 -0
  79. package/warpo_extension/std/warpo/test/formatPrint.ts +99 -0
  80. package/warpo_extension/std/warpo/test/implement.ts +41 -0
  81. package/warpo_extension/std/warpo/test/index.d.ts +0 -0
  82. package/warpo_extension/std/warpo/test/index.ts +39 -0
  83. package/warpo_extension/std/warpo/test/mockInstrument.ts +26 -0
  84. package/warpo_extension/std/warpo/utf8/const_str.ts +17 -0
  85. package/warpo_extension/std/wasi_snapshot_preview1/LICENSE +202 -0
  86. package/warpo_extension/std/wasi_snapshot_preview1/README.md +1 -0
  87. package/warpo_extension/std/wasi_snapshot_preview1/bindings/wasi_snapshot_preview1.ts +1731 -0
  88. package/warpo_extension/std/wasi_snapshot_preview1/wasi_console.ts +96 -0
  89. package/warpo_extension/std/wasi_snapshot_preview1/wasi_crypto.ts +8 -0
  90. package/warpo_extension/std/wasi_snapshot_preview1/wasi_date.ts +13 -0
  91. package/warpo_extension/std/wasi_snapshot_preview1/wasi_internal.ts +119 -0
  92. package/warpo_extension/std/wasi_snapshot_preview1/wasi_performance.ts +11 -0
  93. package/warpo_extension/std/wasi_snapshot_preview1/wasi_process.ts +191 -0
@@ -4,12 +4,25 @@ import assert from "node:assert/strict";
4
4
  import { existsSync } from "node:fs";
5
5
  import { readFile } from "node:fs/promises";
6
6
  import * as path from "node:path";
7
+ import { fileURLToPath } from "node:url";
7
8
  import { DwarfClassInfoResolver } from "../dwarf/classDebugInfo.js";
8
9
  import { DwarfFunctionInfoResolver, getClosureVariableLevels, getScopeChainInFunctionAtBytecodeOffset, getVariablesInFunctionAtBytecodeOffset, } from "../dwarf/functionDebugInfo.js";
9
10
  import { readULEB128 } from "../common/leb128.js";
10
11
  import { SourceMapConsumer } from "source-map";
11
12
  import { BinaryReader, } from "wasmparser";
12
13
  import { normalizeDebugPath } from "./debugPath.js";
14
+ const WARPO_ROOT = findWarpoRoot(fileURLToPath(import.meta.url));
15
+ function findWarpoRoot(modulePath) {
16
+ for (let currentPath = path.dirname(modulePath); path.dirname(currentPath) !== currentPath; currentPath = path.dirname(currentPath)) {
17
+ if (existsSync(path.join(currentPath, "assemblyscript", "std", "assembly"))) {
18
+ return currentPath;
19
+ }
20
+ if (path.basename(currentPath) === "warpo" && existsSync(path.join(currentPath, "package.json"))) {
21
+ break;
22
+ }
23
+ }
24
+ throw new Error(`Unable to find Warpo package root from ${modulePath}`);
25
+ }
13
26
  export function getNextBytecodeOffsetAfterCall(bytecode, wasmBytecodeOffset) {
14
27
  if (wasmBytecodeOffset < 0 || wasmBytecodeOffset >= bytecode.byteLength) {
15
28
  return undefined;
@@ -223,20 +236,24 @@ export class DebuggerWasmModule {
223
236
  return undefined;
224
237
  }
225
238
  return {
226
- sourcePath: DebuggerWasmModule.resolveSourcePath(this.sourceMapFilePath, position.source),
239
+ sourcePath: position.source,
227
240
  sourceLine: position.line,
228
241
  };
229
242
  }
243
+ patchSourcePath(sourcePath) {
244
+ return DebuggerWasmModule.resolveSourcePath(this.sourceMapFilePath, sourcePath);
245
+ }
230
246
  hasSource(sourcePath) {
231
247
  return this.findSource(sourcePath) !== undefined;
232
248
  }
233
249
  findSource(sourcePath) {
250
+ const sourceMapPath = DebuggerWasmModule.toSourceMapPath(sourcePath);
234
251
  const directSource = this.sourcesByPath.get(sourcePath);
235
252
  if (directSource) {
236
253
  return directSource;
237
254
  }
238
255
  for (const source of this.sourceMap.sources) {
239
- if (sourcePath === source || sourcePath.endsWith(`/${source}`)) {
256
+ if (sourceMapPath === source || sourceMapPath.endsWith(`/${source}`)) {
240
257
  return source;
241
258
  }
242
259
  }
@@ -250,6 +267,10 @@ export class DebuggerWasmModule {
250
267
  if (path.isAbsolute(sourcePath)) {
251
268
  return normalizeDebugPath(sourcePath);
252
269
  }
270
+ const assemblyScriptSourcePath = DebuggerWasmModule.resolveAssemblyScriptSourcePath(sourceMapFilePath, sourcePath);
271
+ if (assemblyScriptSourcePath) {
272
+ return assemblyScriptSourcePath;
273
+ }
253
274
  const sourceMapDir = path.dirname(sourceMapFilePath);
254
275
  const sourceMapDirCandidate = path.resolve(sourceMapDir, sourcePath);
255
276
  if (existsSync(sourceMapDirCandidate)) {
@@ -261,6 +282,30 @@ export class DebuggerWasmModule {
261
282
  }
262
283
  return normalizeDebugPath(sourceMapDirCandidate);
263
284
  }
285
+ static resolveAssemblyScriptSourcePath(sourceMapFilePath, sourcePath) {
286
+ if (!sourcePath.startsWith("~lib/")) {
287
+ return undefined;
288
+ }
289
+ const libraryRelativePath = sourcePath.slice("~lib/".length);
290
+ const projectSourcePath = path.resolve(path.dirname(sourceMapFilePath), "..", "node_modules", "warpo", "assemblyscript", "std", "assembly", libraryRelativePath);
291
+ if (existsSync(projectSourcePath)) {
292
+ return normalizeDebugPath(projectSourcePath);
293
+ }
294
+ const physicalSourcePath = path.join(WARPO_ROOT, "assemblyscript", "std", "assembly", libraryRelativePath);
295
+ if (!existsSync(physicalSourcePath)) {
296
+ return undefined;
297
+ }
298
+ return normalizeDebugPath(physicalSourcePath);
299
+ }
300
+ static toSourceMapPath(sourcePath) {
301
+ const normalizedSourcePath = normalizeDebugPath(sourcePath);
302
+ const assemblyScriptPath = "/assemblyscript/std/assembly/";
303
+ const assemblyScriptPathStart = normalizedSourcePath.lastIndexOf(assemblyScriptPath);
304
+ if (assemblyScriptPathStart === -1) {
305
+ return normalizedSourcePath;
306
+ }
307
+ return `~lib/${normalizedSourcePath.slice(assemblyScriptPathStart + assemblyScriptPath.length)}`;
308
+ }
264
309
  static toVariableScope(name, scope, functionClosureEnvLocalIndex, tupleLevel) {
265
310
  const closureEnvLocalIndex = scope.closureEnvLocalIndex ??
266
311
  DebuggerWasmModule.findClosureEnvLocalIndex(scope.variables) ??
@@ -1 +1 @@
1
- {"version":3,"file":"debuggerWasmModule.js","sourceRoot":"","sources":["../../tools/debug_server/debuggerWasmModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debuggerWasmModule.js","sourceRoot":"","sources":["../../tools/debug_server/debuggerWasmModule.ts"],"names":[],"mappings":"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"}
@@ -269,6 +269,45 @@ void describe("WarpoDebugSession", () => {
269
269
  fs.unlinkSync(traceFile);
270
270
  }
271
271
  });
272
+ void it("should stop at a breakpoint in the AssemblyScript standard library", { timeout: 15000 }, async () => {
273
+ const source = sourcePath("debugger_std_array.ts");
274
+ const stdSource = path.resolve(DIRNAME, "..", "..", "..", "assemblyscript", "std", "assembly", "array.ts");
275
+ const output = await buildModule(source);
276
+ const breakpointLine = 101;
277
+ const traceFile = path.join(TEST_MODULE_DIR, "build", "test_std_breakpoint_trace.log");
278
+ if (fs.existsSync(traceFile)) {
279
+ fs.unlinkSync(traceFile);
280
+ }
281
+ await dc.initializeRequest();
282
+ const breakpointResponse = await dc.setBreakpointsRequest({
283
+ source: { path: stdSource },
284
+ breakpoints: [{ line: breakpointLine }],
285
+ });
286
+ assert.equal(breakpointResponse.body.breakpoints[0].verified, false);
287
+ const breakpointChangedPromise = dc.waitForEvent("breakpoint");
288
+ const stoppedPromise = waitForBreakpointStop(dc);
289
+ const launchArgs = {
290
+ program: output,
291
+ launchType: "wasm file",
292
+ runtime: "node",
293
+ entryFunctionName: "_start",
294
+ debugSessionLogFile: traceFile,
295
+ };
296
+ await launchAndConfigure(dc, launchArgs);
297
+ const breakpointChangedEvent = await breakpointChangedPromise;
298
+ const breakpointChangedBody = breakpointChangedEvent.body;
299
+ assert.equal(breakpointChangedBody?.reason, "changed");
300
+ assert.equal(breakpointChangedBody?.breakpoint?.verified, true);
301
+ await stoppedPromise;
302
+ const stackTraceResponse = await dc.stackTraceRequest({ threadId: 1, startFrame: 0, levels: 1 });
303
+ const frame = assertDefined(stackTraceResponse.body.stackFrames[0]);
304
+ assert.equal(frame.source?.path, normalizeDebugPath(stdSource));
305
+ assert.equal(frame.line, breakpointLine);
306
+ assert.equal(fs.existsSync(traceFile), true, "debugSessionLogFile should be created on launch");
307
+ if (fs.existsSync(traceFile)) {
308
+ fs.unlinkSync(traceFile);
309
+ }
310
+ });
272
311
  void it("should restart the debuggee and restore breakpoints", { timeout: 10000 }, async () => {
273
312
  const source = sourcePath("debugger_basic.ts");
274
313
  const output = await buildModule(source);
@@ -705,6 +744,63 @@ void describe("WarpoDebugSession", () => {
705
744
  assert.equal(frame.source?.path, normalizeDebugPath(entrySource));
706
745
  assert.equal(frame.line, 11);
707
746
  });
747
+ void it("should skip library frames during step into", { timeout: 10000 }, async () => {
748
+ const entrySource = sourcePath("debugger_closure_stepping.ts");
749
+ const output = await buildModule(entrySource);
750
+ await dc.initializeRequest();
751
+ await dc.setBreakpointsRequest({
752
+ source: { path: entrySource },
753
+ breakpoints: [{ line: 11 }],
754
+ });
755
+ const launchArgs = {
756
+ program: output,
757
+ launchType: "wasm file",
758
+ runtime: "node",
759
+ entryFunctionName: "main",
760
+ };
761
+ await launchAndWaitForBreakpoint(dc, launchArgs);
762
+ const stoppedPromise = dc.waitForEvent("stopped");
763
+ await dc.stepInRequest({ threadId: 1 });
764
+ await stoppedPromise;
765
+ const stackTraceResponse = await dc.stackTraceRequest({ threadId: 1, startFrame: 0, levels: 1 });
766
+ const frame = assertDefined(stackTraceResponse.body.stackFrames[0]);
767
+ assert.equal(frame.source?.path, normalizeDebugPath(entrySource));
768
+ assert.equal(frame.line, 6);
769
+ });
770
+ void it("should step within a standard library function", { timeout: 15000 }, async () => {
771
+ const source = sourcePath("debugger_string_stepping.ts");
772
+ const stdSource = path.resolve(DIRNAME, "..", "..", "..", "assemblyscript", "std", "assembly", "string.ts");
773
+ const output = await buildModule(source);
774
+ const breakpointLine = 102;
775
+ await dc.initializeRequest();
776
+ const breakpointResponse = await dc.setBreakpointsRequest({
777
+ source: { path: stdSource },
778
+ breakpoints: [{ line: breakpointLine }],
779
+ });
780
+ assert.equal(breakpointResponse.body.breakpoints[0].verified, false);
781
+ const breakpointChangedPromise = dc.waitForEvent("breakpoint");
782
+ const stoppedPromise = waitForBreakpointStop(dc);
783
+ const launchArgs = {
784
+ program: output,
785
+ launchType: "wasm file",
786
+ runtime: "node",
787
+ entryFunctionName: "_start",
788
+ };
789
+ await launchAndConfigure(dc, launchArgs);
790
+ await breakpointChangedPromise;
791
+ await stoppedPromise;
792
+ const firstStackTraceResponse = await dc.stackTraceRequest({ threadId: 1, startFrame: 0, levels: 1 });
793
+ const firstFrame = assertDefined(firstStackTraceResponse.body.stackFrames[0]);
794
+ assert.equal(firstFrame.source?.path, normalizeDebugPath(stdSource));
795
+ assert.equal(firstFrame.line, breakpointLine);
796
+ const nextStoppedPromise = dc.waitForEvent("stopped");
797
+ await dc.stepInRequest({ threadId: 1 });
798
+ await nextStoppedPromise;
799
+ const nextStackTraceResponse = await dc.stackTraceRequest({ threadId: 1, startFrame: 0, levels: 1 });
800
+ const nextFrame = assertDefined(nextStackTraceResponse.body.stackFrames[0]);
801
+ assert.equal(nextFrame.source?.path, normalizeDebugPath(stdSource));
802
+ assert.notEqual(nextFrame.line, breakpointLine);
803
+ });
708
804
  void it("should pause at a valid source line", { timeout: 10000 }, async () => {
709
805
  const entrySource = sourcePath("debugger_pause.ts");
710
806
  const output = await buildModule(entrySource);