#!/usr/bin/env node /* Get localized-urls.json from resources.scratch.mit.edu */ var https = require('https'); var fs = require('fs'); var path = require('path'); var urlData = ''; var args = process.argv.slice(2); if (!args.length) { process.stdout.write('A output filename must be specified.\n'); process.exit(1); } var filename = path.resolve(__dirname, 'lib', args.shift()); https.get('https://resources.scratch.mit.edu/localized-urls.json', (res) => { var statusCode = res && res.statusCode; var error; if (statusCode !== 200) { error = new Error('Request Failed.\n' + `Status Code: ${statusCode}`); } if (error) { process.stdout.write(`${error.message}\n`); // consume response data to free up memory res.resume(); return; } res.setEncoding('utf8'); res.on('data', (chunk) => { urlData += chunk; }); res.on('end', () => { try { var urlJson = JSON.parse(urlData); fs.writeFile(filename, JSON.stringify(urlJson, null, ' ')); } catch (e) { process.stdout.write(`Failed parsing url data: ${e.message}\n`); process.exit(1); } }); }).on('error', (e) => { process.stdout.write(`Got error: ${e.message}\n`); process.exit(1); });