#!/usr/bin/env node var ts = require("../lib/typescript.js"); var fs = require("fs"), path = require("path"), url = require("url"); var arg = process.argv[2]; if (!arg) { console.log("Usage: " + process.argv[1] + " (path|url)"); process.exit(1); } function fetch(target, redir) { require(/^https/.test(target) ? "https" : "http").get(url.parse(target), function(resp) { var body = ""; resp.setEncoding("utf8"); resp.on("data", function(d) { body += d; }); resp.on("end", function() { if (resp.statusCode >= 400) { console.log("Could not fetch " + target + ":\n" + body); process.exit(1); } if (resp.statusCode >= 300 && redir < 10 && resp.headers.location) return fetch(resp.headers.location, redir + 1); finish(body, path.basename(target.slice(6))); }); }); } if (/^https?:/.test(arg)) fetch(arg, 0); else finish(fs.readFileSync(arg, "utf8"), path.basename(arg)); function finish(text, name) { console.log(JSON.stringify(ts.translate(text, name), null, 2)); }