wasm-idle 0.0.7 → 0.0.9

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.
@@ -70,7 +70,7 @@ export default class Clang {
70
70
  await this.ready;
71
71
  this.memfs.addFile(input, code);
72
72
  const clang = await this.getModule(clangUrl(this.path));
73
- return await this.run(clang, this.log, 'clang', '-cc1', '-emit-obj', ...clangCommonArgs, '-O' + opt, '-o', obj, '-x', 'c++', input);
73
+ return await this.run(clang, this.log, 'clang', '-cc1', '-emit-obj', ...clangCommonArgs, '-O' + opt, '-o', obj, '-std=c++17', '-x', 'c++', input);
74
74
  }
75
75
  async link(obj, wasm) {
76
76
  const stackSize = 1024 * 1024;
@@ -79,7 +79,7 @@ export default class Clang {
79
79
  await this.ready;
80
80
  const lld = await this.getModule(lldUrl(this.path));
81
81
  return await this.run(lld, this.log, 'wasm-ld', '--no-threads', '--export-dynamic', // TODO required?
82
- '-z', `stack-size=${stackSize}`, `-L${libdir}`, crt1, obj, '-lc', '-lc++', '-lc++abi', '-lcanvas', '-o', wasm);
82
+ '-z', `stack-size=${stackSize}`, `-L${libdir}`, crt1, obj, '-lc', '-lc++', '-lc++abi', '-o', wasm);
83
83
  }
84
84
  async run(module, out, ...args) {
85
85
  this.memfs.out = out;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  import Terminal from "./terminal";
2
+ import playground from "./playground";
2
3
  export default Terminal;
4
+ export { playground };
package/dist/index.js CHANGED
@@ -1,2 +1,4 @@
1
1
  import Terminal from "./terminal";
2
+ import playground from "./playground";
2
3
  export default Terminal;
4
+ export { playground };
@@ -1,3 +1,3 @@
1
1
  import type Sandbox from './sandbox';
2
2
  export declare const supportedLanguages: string[];
3
- export declare function load(language: string): Promise<Sandbox | undefined>;
3
+ export default function load(language: string): Promise<Sandbox | undefined>;
@@ -2,7 +2,7 @@ import Clang from './clang';
2
2
  import Python from './python';
3
3
  const sandboxCache = {};
4
4
  export const supportedLanguages = ['PYTHON3', 'PYPY3', 'C', 'CPP'];
5
- export async function load(language) {
5
+ export default async function load(language) {
6
6
  if (sandboxCache[language])
7
7
  return sandboxCache[language];
8
8
  let sandbox;
@@ -1,5 +1,5 @@
1
1
  <script>import { Theme, registerAllPlugins } from "./";
2
- import { load } from "../playground";
2
+ import load from "../playground";
3
3
  import { onMount, createEventDispatcher } from "svelte";
4
4
  import "xterm/css/xterm.css";
5
5
  const dispatch = createEventDispatcher();
@@ -23,7 +23,7 @@ async function initSandbox(language) {
23
23
  input = "";
24
24
  finish = false;
25
25
  if (ll !== language) {
26
- sandbox = await load(language, path);
26
+ sandbox = await load(language);
27
27
  await sandbox.clear();
28
28
  ll = language;
29
29
  }
@@ -63,6 +63,12 @@ export const terminal = {
63
63
  async run(language, code, log = true) {
64
64
  await Promise.all([initSandbox(language).then(() => sandbox.load(path, code, log)), initTerm()]);
65
65
  await runSandbox(sandbox.run(code, false));
66
+ },
67
+ async destroy() {
68
+ await wait();
69
+ term.dispose();
70
+ if (sandbox)
71
+ await sandbox.clear();
66
72
  }
67
73
  };
68
74
  $:
@@ -9,6 +9,7 @@ declare const __propDef: {
9
9
  clear(): Promise<void>;
10
10
  prepare(language: any, code: any, log?: boolean): Promise<void>;
11
11
  run(language: any, code: any, log?: boolean): Promise<void>;
12
+ destroy(): Promise<void>;
12
13
  } | undefined;
13
14
  };
14
15
  events: {
@@ -27,6 +28,7 @@ export default class Terminal extends SvelteComponentTyped<TerminalProps, Termin
27
28
  clear(): Promise<void>;
28
29
  prepare(language: any, code: any, log?: boolean): Promise<void>;
29
30
  run(language: any, code: any, log?: boolean): Promise<void>;
31
+ destroy(): Promise<void>;
30
32
  };
31
33
  }
32
34
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wasm-idle",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "A simple web app to run C++/Python code in the browser",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,36 +16,36 @@
16
16
  "page": "pnpm run build && node ./gh-pages.js"
17
17
  },
18
18
  "devDependencies": {
19
- "@sveltejs/adapter-auto": "^2.0.0",
19
+ "@sveltejs/adapter-auto": "^2.1.0",
20
20
  "@sveltejs/adapter-static": "^2.0.2",
21
- "@sveltejs/kit": "^1.15.5",
22
- "@sveltejs/package": "^2.0.2",
23
- "@typescript-eslint/eslint-plugin": "^5.58.0",
24
- "@typescript-eslint/parser": "^5.58.0",
25
- "eslint": "^8.38.0",
21
+ "@sveltejs/kit": "^1.22.1",
22
+ "@sveltejs/package": "^2.1.0",
23
+ "@typescript-eslint/eslint-plugin": "^5.61.0",
24
+ "@typescript-eslint/parser": "^5.61.0",
25
+ "eslint": "^8.44.0",
26
26
  "eslint-config-prettier": "^8.8.0",
27
27
  "eslint-plugin-svelte3": "^4.0.0",
28
28
  "gh-pages": "^5.0.0",
29
- "monaco-editor": "^0.37.1",
30
- "prettier": "^2.8.7",
31
- "prettier-plugin-svelte": "^2.10.0",
32
- "svelte": "^3.58.0",
33
- "svelte-check": "^3.2.0",
34
- "tslib": "^2.5.0",
35
- "typescript": "^5.0.4",
36
- "vite": "^4.3.0-beta.7"
29
+ "monaco-editor": "^0.40.0",
30
+ "prettier": "^3.0.0",
31
+ "prettier-plugin-svelte": "^2.10.1",
32
+ "svelte": "^4.0.5",
33
+ "svelte-check": "^3.4.5",
34
+ "tslib": "^2.6.0",
35
+ "typescript": "^5.1.6",
36
+ "vite": "^4.4.2"
37
37
  },
38
38
  "dependencies": {
39
39
  "pyodide": "^0.23.1",
40
- "xterm": "^5.1.0",
41
- "xterm-addon-canvas": "^0.3.0",
40
+ "xterm": "^5.2.1",
41
+ "xterm-addon-canvas": "^0.4.0",
42
42
  "xterm-addon-fit": "^0.7.0",
43
43
  "xterm-addon-ligatures": "^0.6.0",
44
- "xterm-addon-search": "^0.11.0",
45
- "xterm-addon-serialize": "^0.9.0",
44
+ "xterm-addon-search": "^0.12.0",
45
+ "xterm-addon-serialize": "^0.10.0",
46
46
  "xterm-addon-unicode11": "^0.5.0",
47
47
  "xterm-addon-web-links": "^0.8.0",
48
- "xterm-addon-webgl": "^0.14.0"
48
+ "xterm-addon-webgl": "^0.15.0"
49
49
  },
50
50
  "files": [
51
51
  "dist",