Vm2: рдкреНрд░реЙрдорд┐рд╕ рдореЗрдВ рдЕрдирдВрдд рд▓реВрдкред рдлрд┐рд░ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЬрдире░ 2018  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: patriksimek/vm2

рдпрд╣ рдХреЛрдб рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ:

'use strict'

const {VM} = require('vm2')

const vm = new VM({
    timeout: 5000,
})

console.log('Runs')

vm.run('Promise.resolve(42).then(() => {while(true) {}})') // hangs the process

setImmediate(console.log, 'Will never run')

рдФрд░ рд╡рд╛рджрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛: #74.

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд░реАрдбрдореА.рдПрдордбреА

рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдЯрд╛рдЗрдордЖрдЙрдЯ NodeVM рдХреЗ рд▓рд┐рдП рдкреНрд░рднрд╛рд╡реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрдмрдХрд┐ (рд╕рддреНрдп) {} рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреА рдмреБрд░рд╛рдИ рд╕реЗ рдкреНрд░рддрд┐рд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред

@awiebe рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдореИрдВ VM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, NodeVM рдирд╣реАрдВред

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдиреЛрдб рдХреЗ рдЯрд╛рдЗрдордЖрдЙрдЯ рдлреАрдЪрд░ рдХреА рдПрдХ рдФрд░ рд╕реАрдорд╛ рд╣реИ - рдпрд╣ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╣реЛрдВред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

patriksimek picture patriksimek  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: рдкреНрд░реЙрдХреНрд╕реА рдкрд░ 'рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ': рд╕рдВрдкрддреНрддрд┐ 'рд╕реНрдерд┐рд░рд╛рдВрдХ' рдкреНрд░реЙрдХреНрд╕реА рд▓рдХреНрд╖реНрдп рдкрд░ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЧреИрд░-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рд╕рдВрдкрддреНрддрд┐ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░реЙрдХреНрд╕реА рдиреЗ рдЕрдкрдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛
karthikv picture karthikv  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  23рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

somebody1234 picture somebody1234  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wintertime-inc picture wintertime-inc  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ