warpo 3.0.0 → 3.1.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 (86) hide show
  1. package/dist/debug_server/debugSession.d.ts +17 -1
  2. package/dist/debug_server/debugSession.js +169 -7
  3. package/dist/debug_server/debugSession.js.map +1 -1
  4. package/dist/debug_server/debugger.d.ts +25 -0
  5. package/dist/debug_server/debugger.js +4 -0
  6. package/dist/debug_server/debugger.js.map +1 -0
  7. package/dist/debug_server/debuggerWasmModule.d.ts +28 -0
  8. package/dist/debug_server/debuggerWasmModule.js +75 -0
  9. package/dist/debug_server/debuggerWasmModule.js.map +1 -0
  10. package/dist/debug_server/nodeDebugger.d.ts +27 -0
  11. package/dist/debug_server/nodeDebugger.js +240 -0
  12. package/dist/debug_server/nodeDebugger.js.map +1 -0
  13. package/dist/debug_server/tests/debugSession.test.js +45 -1
  14. package/dist/debug_server/tests/debugSession.test.js.map +1 -1
  15. package/dist/debug_server/tests/testModule/debugger_basic.d.ts +1 -0
  16. package/dist/debug_server/tests/testModule/debugger_basic.js +6 -0
  17. package/dist/debug_server/tests/testModule/debugger_basic.js.map +1 -0
  18. package/dist/debug_server/wasmEntry.js +36 -0
  19. package/dist/debug_server/wasmEntry.js.map +1 -0
  20. package/dist/heap_analyzer/cli.d.ts +1 -0
  21. package/dist/heap_analyzer/cli.js +172 -0
  22. package/dist/heap_analyzer/cli.js.map +1 -0
  23. package/dist/heap_analyzer/src/comparison.d.ts +2 -0
  24. package/dist/heap_analyzer/src/comparison.js +77 -0
  25. package/dist/heap_analyzer/src/comparison.js.map +1 -0
  26. package/dist/heap_analyzer/src/constants.d.ts +1 -1
  27. package/dist/heap_analyzer/src/constants.js +1 -1
  28. package/dist/heap_analyzer/src/debugInfoResolver.d.ts +30 -0
  29. package/dist/heap_analyzer/src/debugInfoResolver.js +334 -0
  30. package/dist/heap_analyzer/src/debugInfoResolver.js.map +1 -0
  31. package/dist/heap_analyzer/src/dumpReader.js +11 -2
  32. package/dist/heap_analyzer/src/dumpReader.js.map +1 -1
  33. package/dist/heap_analyzer/src/dwarfParser.d.ts +30 -9
  34. package/dist/heap_analyzer/src/dwarfParser.js +54 -20
  35. package/dist/heap_analyzer/src/dwarfParser.js.map +1 -1
  36. package/dist/heap_analyzer/src/index.d.ts +7 -0
  37. package/dist/heap_analyzer/src/index.js +16 -0
  38. package/dist/heap_analyzer/src/index.js.map +1 -0
  39. package/dist/heap_analyzer/src/referenceScanner.d.ts +4 -4
  40. package/dist/heap_analyzer/src/referenceScanner.js +52 -21
  41. package/dist/heap_analyzer/src/referenceScanner.js.map +1 -1
  42. package/dist/heap_analyzer/src/roots.d.ts +3 -6
  43. package/dist/heap_analyzer/src/roots.js +12 -5
  44. package/dist/heap_analyzer/src/roots.js.map +1 -1
  45. package/dist/heap_analyzer/src/snapshot.d.ts +2 -2
  46. package/dist/heap_analyzer/src/snapshot.js +36 -88
  47. package/dist/heap_analyzer/src/snapshot.js.map +1 -1
  48. package/dist/heap_analyzer/src/types.d.ts +54 -11
  49. package/dist/heap_analyzer/src/types.js +22 -1
  50. package/dist/heap_analyzer/src/types.js.map +1 -1
  51. package/dist/heap_analyzer/tests/comparison.test.d.ts +1 -0
  52. package/dist/heap_analyzer/tests/comparison.test.js +121 -0
  53. package/dist/heap_analyzer/tests/comparison.test.js.map +1 -0
  54. package/dist/heap_analyzer/tests/debugInfoResolver.test.d.ts +1 -0
  55. package/dist/heap_analyzer/tests/debugInfoResolver.test.js +205 -0
  56. package/dist/heap_analyzer/tests/debugInfoResolver.test.js.map +1 -0
  57. package/dist/heap_analyzer/tests/dumpReader.test.js +12 -2
  58. package/dist/heap_analyzer/tests/dumpReader.test.js.map +1 -1
  59. package/dist/heap_analyzer/tests/dwarfParser.test.js +40 -28
  60. package/dist/heap_analyzer/tests/dwarfParser.test.js.map +1 -1
  61. package/dist/heap_analyzer/tests/roots.test.js +21 -4
  62. package/dist/heap_analyzer/tests/roots.test.js.map +1 -1
  63. package/dist/heap_analyzer/tests/snapshot.test.js +58 -54
  64. package/dist/heap_analyzer/tests/snapshot.test.js.map +1 -1
  65. package/dist/heap_analyzer/tests/testHelper.js +1 -1
  66. package/dist/heap_analyzer/tests/testHelper.js.map +1 -1
  67. package/dist/heap_analyzer/tests/wasmExecutor.js +2 -1
  68. package/dist/heap_analyzer/tests/wasmExecutor.js.map +1 -1
  69. package/dist/scripts/lib.d.ts +5 -1
  70. package/dist/scripts/lib.js +171 -24
  71. package/dist/scripts/lib.js.map +1 -1
  72. package/dist/test_runner/core/compiler.js +0 -1
  73. package/dist/test_runner/core/compiler.js.map +1 -1
  74. package/dist/warpo.d.ts +12 -1
  75. package/dist/warpo.js +32 -7
  76. package/dist/warpo.js.map +1 -1
  77. package/dist/warpo_internal.d.ts +1 -1
  78. package/dist/warpo_internal.js +23 -14
  79. package/dist/warpo_internal.js.map +1 -1
  80. package/package.json +11 -2
  81. package/dist/heap_analyzer/src/classResolver.d.ts +0 -34
  82. package/dist/heap_analyzer/src/classResolver.js +0 -206
  83. package/dist/heap_analyzer/src/classResolver.js.map +0 -1
  84. package/dist/heap_analyzer/tests/classResolver.test.js +0 -110
  85. package/dist/heap_analyzer/tests/classResolver.test.js.map +0 -1
  86. /package/dist/{heap_analyzer/tests/classResolver.test.d.ts → debug_server/wasmEntry.d.ts} +0 -0
@@ -1,42 +1,189 @@
1
1
  import * as os from "node:os";
2
- import { execSync, spawn } from "node:child_process";
3
- import { existsSync, readFileSync } from "node:fs";
4
- import { join } from "node:path";
5
- const dirname = import.meta.dirname;
2
+ import { spawn } from "node:child_process";
3
+ import { createWriteStream, existsSync, readFileSync } from "node:fs";
4
+ import { access, mkdir, readdir, rm } from "node:fs/promises";
5
+ import { basename, join } from "node:path";
6
+ import { Readable } from "node:stream";
7
+ import { pipeline } from "node:stream/promises";
8
+ import { fileURLToPath } from "node:url";
9
+ import * as tar from "tar";
10
+ import { fetch, ProxyAgent } from "undici";
11
+ const dirname = fileURLToPath(new URL(".", import.meta.url));
6
12
  const warpoRoot = join(dirname, "..", "..");
7
- function download_url(version) {
8
- const arch = os.arch();
9
- const platform = os.platform();
13
+ function isTarGzAsset(asset) {
14
+ return asset.name.endsWith(".tar.gz");
15
+ }
16
+ function getProxyUrl(proxy) {
17
+ return (proxy ?? process.env.HTTPS_PROXY ?? process.env.https_proxy ?? process.env.HTTP_PROXY ?? process.env.http_proxy);
18
+ }
19
+ function getFetchOptions(proxy) {
20
+ const proxyUrl = getProxyUrl(proxy);
21
+ return {
22
+ dispatcher: proxyUrl ? new ProxyAgent(proxyUrl) : undefined,
23
+ headers: { "user-agent": "warpo-release-downloader" },
24
+ };
25
+ }
26
+ async function getReleaseAssets(version, proxy) {
27
+ const response = await fetch(`https://api.github.com/repos/wasm-ecosystem/warpo/releases/tags/${version}`, getFetchOptions(proxy));
28
+ if (!response.ok) {
29
+ throw new Error(`failed to query release ${version}: ${response.status}`);
30
+ }
31
+ const release = (await response.json());
32
+ return release.assets ?? [];
33
+ }
34
+ async function downloadFile(url, outputPath, proxy) {
35
+ const response = await fetch(url, getFetchOptions(proxy));
36
+ if (!response.ok) {
37
+ throw new Error(`failed to download ${url}: ${response.status}`);
38
+ }
39
+ if (!response.body) {
40
+ throw new Error(`failed to download ${url}: empty response body`);
41
+ }
42
+ await pipeline(Readable.fromWeb(response.body), createWriteStream(outputPath));
43
+ }
44
+ function getAssetUrl(asset, version) {
10
45
  const base_url = process.env["WARPO_DOWNLOAD_BASE_URL"] ?? `https://github.com/wasm-ecosystem/warpo/releases/download`;
11
- if ((platform === "linux" && arch === "x64") || (platform === "darwin" && arch === "arm64")) {
12
- return `${base_url}/${version}/warpo-${version}-${platform}-${arch}.tar.gz`;
46
+ return process.env["WARPO_DOWNLOAD_BASE_URL"] ? `${base_url}/${version}/${asset.name}` : asset.browser_download_url;
47
+ }
48
+ function getCurrentMachineAssetName(version) {
49
+ return `warpo-${version}-${os.platform()}-${os.arch()}.tar.gz`;
50
+ }
51
+ function createCurrentMachineAsset(version) {
52
+ const name = getCurrentMachineAssetName(version);
53
+ return {
54
+ name,
55
+ browser_download_url: `https://github.com/wasm-ecosystem/warpo/releases/download/${version}/${name}`,
56
+ };
57
+ }
58
+ function getBinaryName() {
59
+ return os.platform() === "win32" ? "warpo_asc.exe" : "warpo_asc";
60
+ }
61
+ function getExtractedPath(archivePath) {
62
+ if (archivePath.endsWith(".tar.gz")) {
63
+ return join(dirname, basename(archivePath, ".tar.gz"));
64
+ }
65
+ throw new Error(`unsupported archive format: ${archivePath}`);
66
+ }
67
+ async function extract_archive(archivePath) {
68
+ const outputPath = getExtractedPath(archivePath);
69
+ await rm(outputPath, { recursive: true, force: true });
70
+ await mkdir(outputPath, { recursive: true });
71
+ if (archivePath.endsWith(".tar.gz")) {
72
+ await tar.x({ file: archivePath, cwd: outputPath });
73
+ return outputPath;
74
+ }
75
+ throw new Error(`unsupported archive format: ${archivePath}`);
76
+ }
77
+ function getVersion() {
78
+ return (process.env["WARPO_DOWNLOAD_VERSION"] || JSON.parse(readFileSync(join(warpoRoot, "package.json"), "utf8")).version);
79
+ }
80
+ async function pathExists(path) {
81
+ try {
82
+ await access(path);
83
+ return true;
84
+ }
85
+ catch {
86
+ return false;
13
87
  }
14
- console.log(`there is no precompiled binary for ${version} + ${platform} + ${arch}, please compile from source.`);
15
- process.exit(1);
16
88
  }
17
- function get_binary() {
89
+ function getExtractedPathForAsset(asset) {
90
+ return getExtractedPath(join(dirname, asset.name));
91
+ }
92
+ function applyDefaultBuildOptions(args, cwd) {
93
+ const handleConfigOption = (args) => {
94
+ const configPath = join(cwd, "asconfig.json");
95
+ const hasConfig = args.includes("--config") || args.includes("-c");
96
+ return !hasConfig && existsSync(configPath) ? [...args, "--config", configPath] : args;
97
+ };
98
+ const handleProjectOption = (args) => {
99
+ const hasProject = args.includes("--project") || args.includes("-p");
100
+ return !hasProject && existsSync(join(cwd, "create.ts")) ? [...args, "--project", cwd] : args;
101
+ };
102
+ return [handleConfigOption, handleProjectOption].reduce((nextArgs, handler) => handler(nextArgs), args);
103
+ }
104
+ async function downloadAndExtractAsset(asset, version, proxy) {
105
+ const archivePath = join(dirname, asset.name);
106
+ const outputPath = getExtractedPathForAsset(asset);
107
+ if (await pathExists(outputPath)) {
108
+ return;
109
+ }
110
+ const url = getAssetUrl(asset, version);
111
+ console.log(`downloading warpo from ${url}`);
112
+ await downloadFile(url, archivePath, proxy);
113
+ await extract_archive(archivePath);
114
+ await rm(archivePath, { force: true });
115
+ }
116
+ export async function downloadForCurrentMachine(proxy) {
117
+ const version = getVersion();
118
+ if (version === "0.0.0") {
119
+ throw new Error("download command is unavailable for development version 0.0.0");
120
+ }
121
+ const asset = createCurrentMachineAsset(version);
122
+ const outputPath = getExtractedPathForAsset(asset);
123
+ await downloadAndExtractAsset(asset, version, proxy);
124
+ return outputPath;
125
+ }
126
+ export async function downloadAll(proxy) {
127
+ const version = getVersion();
128
+ if (version === "0.0.0") {
129
+ throw new Error("download command is unavailable for development version 0.0.0");
130
+ }
131
+ const assets = await getReleaseAssets(version, proxy);
132
+ const tarGzAssets = assets.filter(isTarGzAsset);
133
+ return await Promise.all(tarGzAssets.map(async (asset) => {
134
+ const outputPath = getExtractedPathForAsset(asset);
135
+ await downloadAndExtractAsset(asset, version, proxy);
136
+ return outputPath;
137
+ }));
138
+ }
139
+ export async function cleanDownloaded() {
140
+ const version = getVersion();
141
+ const cachedDirs = [join(dirname, "warpo")];
142
+ const entries = await readdir(dirname, { withFileTypes: true });
143
+ for (const entry of entries) {
144
+ if (!entry.isDirectory()) {
145
+ continue;
146
+ }
147
+ if (!entry.name.startsWith(`warpo-${version}-`)) {
148
+ continue;
149
+ }
150
+ cachedDirs.push(join(dirname, entry.name));
151
+ }
152
+ const removedDirs = [];
153
+ await Promise.all(cachedDirs.map(async (dirPath) => {
154
+ if (!(await pathExists(dirPath))) {
155
+ return;
156
+ }
157
+ await rm(dirPath, { recursive: true, force: true });
158
+ removedDirs.push(dirPath);
159
+ }));
160
+ return removedDirs;
161
+ }
162
+ async function downloadForCurrentMachineBinary(proxy) {
18
163
  if (process.env["WARPO_BINARY_PATH"]) {
19
164
  return process.env["WARPO_BINARY_PATH"];
20
165
  }
21
166
  if (process.env["WARPO_FORCE_DOWNLOAD"] !== "1" && existsSync(join(dirname, "warpo"))) {
22
- return join(dirname, "warpo", "warpo_asc");
167
+ return join(dirname, "warpo", getBinaryName());
23
168
  }
24
- const version = process.env["WARPO_DOWNLOAD_VERSION"] || JSON.parse(readFileSync(join(warpoRoot, "package.json"), "utf8")).version;
169
+ const version = getVersion();
25
170
  if (version === "0.0.0") {
26
171
  // for development purpose, use local build
27
- return join(warpoRoot, "build", "warpo", "warpo_asc");
172
+ return join(warpoRoot, "build", "warpo", getBinaryName());
28
173
  }
29
- const url = download_url(version);
30
- console.log(`downloading warpo from ${url}`);
31
- execSync(`curl -L ${url} | tar xz -C ${dirname}`, { stdio: "inherit" });
32
- return join(dirname, "warpo", "warpo_asc");
174
+ const asset = createCurrentMachineAsset(version);
175
+ const outputPath = getExtractedPathForAsset(asset);
176
+ await downloadAndExtractAsset(asset, version, proxy);
177
+ return join(outputPath, "warpo", getBinaryName());
33
178
  }
34
179
  export async function build(options) {
35
- const binary = get_binary();
36
- const ps = spawn(binary, options.argv, {
180
+ const cwd = options.cwd ?? process.cwd();
181
+ const argv = applyDefaultBuildOptions(options.argv, cwd);
182
+ const binary = await downloadForCurrentMachineBinary(options.proxy);
183
+ const ps = spawn(binary, argv, {
37
184
  stdio: options.onStdout === undefined ? "inherit" : ["inherit", "pipe", "inherit"],
38
- env: options.env,
39
- cwd: options.cwd,
185
+ env: options.env ?? process.env,
186
+ cwd,
40
187
  });
41
188
  if (options.onStdout !== undefined) {
42
189
  ps.stdout.on("data", (chunk) => {
@@ -46,7 +193,7 @@ export async function build(options) {
46
193
  return new Promise((resolve, reject) => {
47
194
  function shutdown() {
48
195
  ps.kill("SIGTERM");
49
- reject();
196
+ reject(new Error("WARPO process terminated by signal"));
50
197
  }
51
198
  process.on("SIGINT", shutdown);
52
199
  process.on("SIGTERM", shutdown);
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../tools/scripts/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../tools/scripts/lib.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,6 @@ async function buildWithWARPO({ sources, output, userDefinedFlags, collectCovera
35
35
  }
36
36
  const returnCode = await warpo.build({
37
37
  argv: warpoArgv,
38
- env: process.env,
39
38
  });
40
39
  if (returnCode !== 0) {
41
40
  throw new CompilationError(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,YAAgC;QAC1C,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,eAAe,GACG;IAClB,IAAI,SAAS,GAAG;QACd,GAAG,OAAO;QACV,IAAI;QACJ,MAAM,CAAC,IAAI;QACX,eAAe;QACf,wDAAwD;QACxD,eAAe;QACf,mBAAmB;QACnB,SAAS;QACT,wBAAwB;QACxB,cAAc;KACf,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,2CAA2C;QAC3C,iCAAiC;QACjC,8EAA8E;QAC9E,gDAAgD;QAChD,MAAM,IAAI,GAAG,gBAAgB;aAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACzC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC,CAAC;QACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../tools/test_runner/core/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,YAAgC;QAC1C,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,KAAK,UAAU,cAAc,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,eAAe,GACG;IAClB,IAAI,SAAS,GAAG;QACd,GAAG,OAAO;QACV,IAAI;QACJ,MAAM,CAAC,IAAI;QACX,eAAe;QACf,wDAAwD;QACxD,eAAe;QACf,mBAAmB;QACnB,SAAS;QACT,wBAAwB;QACxB,cAAc;KACf,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,2CAA2C;QAC3C,iCAAiC;QACjC,8EAA8E;QAC9E,gDAAgD;QAChD,MAAM,IAAI,GAAG,gBAAgB;aAC1B,OAAO,CAAC,WAAW,EAAE,mBAAmB,CAAC;aACzC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,GAAG,CAAC,CAAC;QACd,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC;QACnC,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
package/dist/warpo.d.ts CHANGED
@@ -1,2 +1,13 @@
1
1
  #!/usr/bin/env node
2
- export {};
2
+ import { type Option as BuildOption } from "./scripts/lib.js";
3
+ export { main as runCli } from "./warpo_internal.js";
4
+ export type { CliOption } from "./warpo_internal.js";
5
+ export type { Option as BuildOption } from "./scripts/lib.js";
6
+ export interface DownloadOption {
7
+ all?: boolean;
8
+ clean?: boolean;
9
+ proxy?: string;
10
+ }
11
+ export declare function build(options: BuildOption): Promise<number>;
12
+ export declare function test(argv?: string[]): Promise<number>;
13
+ export declare function download(options?: DownloadOption): Promise<string | string[]>;
package/dist/warpo.js CHANGED
@@ -1,11 +1,36 @@
1
1
  #!/usr/bin/env node
2
2
  // Copyright (C) 2025 wasm-ecosystem
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import { argv as processArgv, env as processEnv, exit as processExit } from "node:process";
5
- import { main } from "./warpo_internal.js";
6
- main({ argv: processArgv.slice(2), env: processEnv })
7
- .then((code) => processExit(code))
8
- .catch(() => {
9
- processExit(255);
10
- });
4
+ import { fileURLToPath } from "node:url";
5
+ import { argv as processArgv, exit as processExit } from "node:process";
6
+ import { main as runCli } from "./warpo_internal.js";
7
+ import { build as runCompiler, cleanDownloaded, downloadAll as downloadAllAssets, downloadForCurrentMachine, } from "./scripts/lib.js";
8
+ import { runFromCliArgs as runUnitTestsFromCliArgs } from "./test_runner/cli.js";
9
+ export { main as runCli } from "./warpo_internal.js";
10
+ export async function build(options) {
11
+ return await runCompiler(options);
12
+ }
13
+ export async function test(argv = []) {
14
+ return await runUnitTestsFromCliArgs(argv);
15
+ }
16
+ export async function download(options = {}) {
17
+ if (options.clean) {
18
+ return await cleanDownloaded();
19
+ }
20
+ if (options.all) {
21
+ return await downloadAllAssets(options.proxy);
22
+ }
23
+ return await downloadForCurrentMachine(options.proxy);
24
+ }
25
+ if (processArgv[1] !== undefined && fileURLToPath(import.meta.url) === processArgv[1]) {
26
+ runCli({ argv: processArgv.slice(2) })
27
+ .then((code) => {
28
+ return processExit(code);
29
+ })
30
+ // eslint-disable-next-line unicorn/prefer-top-level-await
31
+ .catch((error) => {
32
+ console.error(error);
33
+ return processExit(255);
34
+ });
35
+ }
11
36
  //# sourceMappingURL=warpo.js.map
package/dist/warpo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"warpo.js","sourceRoot":"","sources":["../tools/warpo.ts"],"names":[],"mappings":";AAEA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,GAAG,IAAI,UAAU,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAE3C,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;KAClD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC,KAAK,CAAC,GAAG,EAAE;IACV,WAAW,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"warpo.js","sourceRoot":"","sources":["../tools/warpo.ts"],"names":[],"mappings":";AAEA,oCAAoC;AACpC,sCAAsC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,KAAK,IAAI,WAAW,EACpB,eAAe,EACf,WAAW,IAAI,iBAAiB,EAChC,yBAAyB,GAE1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUrD,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,OAAoB;IAC9C,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAiB,EAAE;IAC5C,OAAO,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,UAA0B,EAAE;IACzD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,MAAM,eAAe,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,yBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACnC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;QACF,0DAA0D;SACzD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export interface CliOption {
2
- env: NodeJS.Dict<string>;
3
2
  argv: string[];
3
+ env?: NodeJS.Dict<string>;
4
4
  cwd?: string;
5
5
  onStdout?: (chunk: string) => void;
6
6
  }
@@ -1,11 +1,12 @@
1
1
  // Copyright (C) 2026 wasm-ecosystem
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { existsSync, readFileSync } from "node:fs";
3
+ import { readFileSync } from "node:fs";
4
4
  import { join } from "node:path";
5
+ import { fileURLToPath } from "node:url";
5
6
  import { Command } from "commander";
6
- import { build as runCompiler } from "./scripts/lib.js";
7
+ import { build as runCompiler, cleanDownloaded, downloadAll, downloadForCurrentMachine } from "./scripts/lib.js";
7
8
  import { runFromCliArgs as runUnitTestsFromCliArgs } from "./test_runner/cli.js";
8
- const warpoRoot = join(import.meta.dirname, "..");
9
+ const warpoRoot = join(fileURLToPath(new URL(".", import.meta.url)), "..");
9
10
  function getVersion() {
10
11
  try {
11
12
  return JSON.parse(readFileSync(join(warpoRoot, "package.json"), "utf8")).version;
@@ -20,6 +21,7 @@ export async function main(options) {
20
21
  const first = args[0];
21
22
  if (first !== undefined &&
22
23
  first !== "build" &&
24
+ first !== "download" &&
23
25
  first !== "test" &&
24
26
  first !== "-h" &&
25
27
  first !== "--help" &&
@@ -40,23 +42,30 @@ export async function main(options) {
40
42
  .action(async () => {
41
43
  const index = args.indexOf("build");
42
44
  const buildArgs = index === -1 ? [] : args.slice(index + 1);
43
- const cwd = options.cwd ?? process.cwd();
44
- const handleConfigOption = (args) => {
45
- const configPath = join(cwd, "asconfig.json");
46
- const hasConfig = args.includes("--config") || args.includes("-c");
47
- return !hasConfig && existsSync(configPath) ? [...args, "--config", configPath] : args;
48
- };
49
- const handleProjectOption = (args) => {
50
- const hasProject = args.includes("--project") || args.includes("-p");
51
- return !hasProject && existsSync(join(cwd, "create.ts")) ? [...args, "--project", cwd] : args;
52
- };
53
45
  returnCode = await runCompiler({
54
- argv: [handleConfigOption, handleProjectOption].reduce((args, handler) => handler(args), buildArgs),
46
+ argv: buildArgs,
55
47
  env: options.env,
56
48
  cwd: options.cwd,
57
49
  onStdout: options.onStdout,
58
50
  });
59
51
  });
52
+ program
53
+ .command("download")
54
+ .description("Download WARPO prebuilt compiler archive")
55
+ .option("--all", "Download all release assets")
56
+ .option("--clean", "Remove pre-downloaded compiler folders")
57
+ .option("--proxy <url>", "Proxy URL for WARPO binary download")
58
+ .action(async (command) => {
59
+ if (command.clean) {
60
+ await cleanDownloaded();
61
+ return;
62
+ }
63
+ if (command.all) {
64
+ await downloadAll(command.proxy);
65
+ return;
66
+ }
67
+ await downloadForCurrentMachine(command.proxy);
68
+ });
60
69
  program
61
70
  .command("test")
62
71
  .description("Run unit tests via WARPO test runner")
@@ -1 +1 @@
1
- {"version":3,"file":"warpo_internal.js","sourceRoot":"","sources":["../tools/warpo_internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warpo_internal.js","sourceRoot":"","sources":["../tools/warpo_internal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "warpo",
3
- "version": "3.0.0",
3
+ "version": "3.1.1",
4
4
  "description": "next generation AssemblyScript compiler with optimizations",
5
5
  "type": "module",
6
6
  "bin": {
7
- "warpo": "dist/warpo.js"
7
+ "warpo": "dist/warpo.js",
8
+ "heap-analyzer": "dist/heap_analyzer/cli.js"
8
9
  },
9
10
  "scripts": {
10
11
  "update": "cmake -S . -B build && cmake --build build --parallel --target warpo_binaryen_enums_gen && ./build/bin/warpo_binaryen_enums_gen",
@@ -41,6 +42,9 @@
41
42
  "compiler"
42
43
  ],
43
44
  "author": "congcong.cai@bmw.com",
45
+ "engines": {
46
+ "node": ">=22.4.0"
47
+ },
44
48
  "repository": {
45
49
  "url": "https://github.com/wasm-ecosystem/warpo"
46
50
  },
@@ -57,6 +61,7 @@
57
61
  "@eslint/js": "^9.0.0",
58
62
  "@types/fs-extra": "^11.0.4",
59
63
  "@types/node": "^22.15.21",
64
+ "@types/tar-stream": "^3.1.4",
60
65
  "@types/vscode": "^1.80.0",
61
66
  "@vscode/debugadapter-testsupport": "^1.65.0",
62
67
  "@vscode/vsce": "^3.0.0",
@@ -90,8 +95,12 @@
90
95
  "commander": "^14.0.3",
91
96
  "fs-extra": "^11.3.3",
92
97
  "glob": "^13.0.0",
98
+ "https-proxy-agent": "^7.0.6",
93
99
  "ignore": "^7.0.5",
94
100
  "source-map": "^0.7.6",
101
+ "tar": "^7.5.15",
102
+ "tar-stream": "^2.2.0",
103
+ "undici": "^7.26.0",
95
104
  "wasmparser": "^5.11.1"
96
105
  }
97
106
  }
@@ -1,34 +0,0 @@
1
- import type { ClassField, ClassLayout } from "./types.js";
2
- /**
3
- * Resolves class layouts from DWARF debug information embedded in a
4
- * WebAssembly binary and provides helper queries for reference scanning.
5
- *
6
- * Only classes with a runtime ID (`DW_AT_signature`) are included.
7
- */
8
- export declare class ClassResolver {
9
- private readonly layoutMap;
10
- private constructor();
11
- static fromWasm(wasmBinary: Uint8Array | ArrayBuffer): ClassResolver;
12
- getLayouts(): ClassLayout[];
13
- /** Returns class name, or "Class#<id>" if not found in debug info */
14
- getClassName(classId: number): string;
15
- /** Returns ClassDef or undefined */
16
- getClassDef(classId: number): ClassLayout | undefined;
17
- /**
18
- * Check if a type has no managed references (no reference fields, no reference elements).
19
- * Derived from field layout and elementIsReference rather than flags.
20
- */
21
- isPointerfree(classId: number): boolean;
22
- /**
23
- * Returns all reference fields (isReference == true) for this class,
24
- * walking the full inheritance chain via base.
25
- */
26
- getReferenceFields(classId: number): ClassField[];
27
- }
28
- /**
29
- * Resolve all class layouts from DWARF debug information embedded in a
30
- * WebAssembly binary.
31
- *
32
- * Only classes with a runtime ID (`DW_AT_signature`) are included.
33
- */
34
- export declare function resolveClassLayouts(wasmBinary: Uint8Array | ArrayBuffer): ClassLayout[];