Vm2: Mendukung TypeScript.

Dibuat pada 12 Okt 2020  ·  5Komentar  ·  Sumber: patriksimek/vm2

Halo, ada rencana untuk mendukung TypeScript?
Atau mungkin ada yang menggunakan kompilator custom ts dalam produksinya, jika demikian maukah Anda berbagi?

stale

Komentar yang paling membantu

Sudahkah Anda mencoba menggunakan TypeScript Compiler API ? Ini menyediakan metode untuk mengubah kode TypeScript menjadi kode JavaScript secara dinamis. Saya telah menggunakannya sebelumnya dan itu bekerja dengan baik.

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

Semua 5 komentar

Saya pasti ingin melihat ini, karena saya mencoba membuat bot perselisihan yang mengeksekusi kode TypeScript tetapi saya tidak dapat menemukan perpustakaan eksekusi TypeScript lain yang mendukung sandboxing dan ini mungkin yang terbaik di luar sana.
EDIT: sepertinya perpustakaan ini menggunakan https://nodejs.org/api/vm.html di belakang layar, yang sepertinya juga tidak mendukung TypeScript.

Sudahkah Anda mencoba menggunakan TypeScript Compiler API ? Ini menyediakan metode untuk mengubah kode TypeScript menjadi kode JavaScript secara dinamis. Saya telah menggunakannya sebelumnya dan itu bekerja dengan baik.

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, untuk beberapa alasan saya tidak berpikir untuk menggunakannya dalam kombinasi dengan vm2 lol. Saya akan mencoba ini, terima kasih.

Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.

Seharusnya juga dimungkinkan untuk mengatur ts.transpile sebagai kompiler.
```JS
const {VM} = membutuhkan('vm2');
const ts = membutuhkan('typescript');

const vm = new VM({compiler: ts.transpile});

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

XmiliaH picture XmiliaH  ·  19Komentar

patriksimek picture patriksimek  ·  5Komentar

KonradLinkowski picture KonradLinkowski  ·  10Komentar

unxcepted picture unxcepted  ·  11Komentar

wojpawlik picture wojpawlik  ·  4Komentar