PHP WebShell

Текущая директория: /opt/BitGoJS/node_modules/.bin

Просмотр файла: wat2js

#!/usr/bin/env node

process.title = 'wat2js'

var minimist = require('minimist')
var proc = require('child_process')
var os = require('os')
var path = require('path')
var fs = require('fs')
var wasm2js = require('wasm2js')

var argv = minimist(process.argv.slice(2), {
  alias: {output: 'o', watch: 'w'},
  boolean: ['w']
})

var inp = argv._[0]

if (!inp) {
  console.error(`
Usage: wat2js [input.wat file] [options...]
  --output, -o [output.js file]
  --watch,  -w [recompile on input.wat change]
  `.trim())
  process.exit(1)
}

if (argv.watch && !argv.output) {
  console.error('--watch requires --output')
  process.exit(2)
}

if (argv.watch) fs.watch(inp, compile)
compile()

function compile () {
  var tmp = path.join(os.tmpdir(), 'out.wasm.' + Date.now())

  proc.spawn('wat2wasm', [inp, '-o', tmp], {stdio: 'inherit'}).on('exit', function (code) {
    if (code) {
      if (argv.watch) return
      process.exit(1)
    }

    var wasm = fs.readFileSync(tmp)
    fs.unlink(tmp, noop)

    var src = wasm2js(wasm)

    if (argv.output) fs.writeFileSync(argv.output, src)
    else process.stdout.write(src)
  })
}

function noop () {}

Выполнить команду


Для локальной разработки. Не используйте в интернете!