Vm2: Unterstützt TypeScript.

Erstellt am 12. Okt. 2020  ·  5Kommentare  ·  Quelle: patriksimek/vm2

Hallo, gibt es Pläne, Typoskript zu unterstützen?
Oder vielleicht gibt es jemanden, der den benutzerdefinierten ts-Compiler in der Produktion verwendet, wenn ja, den Sie teilen möchten?

stale

Hilfreichster Kommentar

Haben Sie versucht, die TypeScript-Compiler-API zu verwenden ? Es stellt Methoden bereit, um TypeScript-Code dynamisch in JavaScript-Code umzuwandeln. Ich habe es schon einmal benutzt und es funktioniert super.

const {VM} = require('vm2');
const ts = require('typescript');

const vm = new VM();

const res = ts.transpile(`
    let x: number = 3;
    x + 5;
`);

console.log(vm.run(res)); // 8

Alle 5 Kommentare

Ich würde dies auf jeden Fall gerne sehen, da ich versucht habe, einen Discord-Bot zu erstellen, der Typoskript-Code ausführt, aber ich konnte keine andere Typoskript-Ausführungsbibliothek finden, die Sandboxing unterstützt, und dies ist wahrscheinlich das Beste auf dem Markt.
BEARBEITEN: Es scheint, als würde diese Bibliothek hinter den Kulissen https://nodejs.org/api/vm.html verwenden, was auch kein Typoskript unterstützt.

Haben Sie versucht, die TypeScript-Compiler-API zu verwenden ? Es stellt Methoden bereit, um TypeScript-Code dynamisch in JavaScript-Code umzuwandeln. Ich habe es schon einmal benutzt und es funktioniert super.

const {VM} = require('vm2');
const ts = require('typescript');

const vm = new VM();

const res = ts.transpile(`
    let x: number = 3;
    x + 5;
`);

console.log(vm.run(res)); // 8

Oh, aus irgendeinem Grund habe ich nicht daran gedacht, es in Kombination mit vm2 lol zu verwenden. Das werde ich versuchen, danke.

Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivität hatte. Es wird geschlossen, wenn keine weitere Aktivität stattfindet. Vielen Dank für Ihre Beiträge.

Es sollte auch möglich sein, ts.transpile als Compiler zu setzen.
```JS
const {VM} = require('vm2');
const ts = require('typescript');

const vm = neue VM ({Compiler: ts.transpile});

console.log(vm.run( let x: number = 3; x + 5; )); // 8

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

patriksimek picture patriksimek  ·  5Kommentare

KonradLinkowski picture KonradLinkowski  ·  10Kommentare

unxcepted picture unxcepted  ·  11Kommentare

vshymanskyy picture vshymanskyy  ·  8Kommentare

keyosk picture keyosk  ·  64Kommentare