UNPKG

brackets-npm-registry

Version:

Install your extensions into Brackets using npm

95 lines (81 loc) 3.36 kB
/*eslint strict:0, no-console:0, no-process-env:0*/ 'use strict'; var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); var express = require('express'); var fs = require('fs'); var path = require('path'); var buffspawn = require('buffered-spawn'); var nodeEnsure = require('../node/node-ensure'); var app = express(); var registryFilePath = path.resolve(__dirname, '../../tmp/registry.json'); var logger = function logger() { console.log.apply(console, arguments); }; var utils = require('../node/utils'); var registryJson = undefined; var buildRegistry = undefined; var buildRegistryInterval = undefined; var scheduleBuild = function scheduleBuild() { // call now setTimeout(buildRegistry, 1); // clear current interval clearInterval(buildRegistryInterval); // and then every 30 minutes buildRegistryInterval = setInterval(buildRegistry, 30 * 60000); }; buildRegistry = function () { nodeEnsure().then(function (nodePath) { logger('going to build a registry.json file to', registryFilePath); var args = ['../node/registry-builder.js', registryFilePath]; return buffspawn(nodePath, args, { cwd: __dirname, env: utils.processEnvWithPath(path.dirname(nodePath)) }).progress(function (buff) { if (buff.type === 'stderr') { logger('buildRegistry progress =>', buff.toString()); } }).then(function (_ref) { var _ref2 = _slicedToArray(_ref, 1); var stdout = _ref2[0]; logger('registry file built at', registryFilePath); try { registryJson = JSON.parse(stdout); logger('parsed registryJson from stdout'); } catch (err) { registryJson = null; logger('failed to parse registryJson from stdout: ' + err); } })['catch'](function () { logger('failed to build registry'); scheduleBuild(); }); })['catch'](function (err) { logger('failed to build a registry at', registryFilePath); logger(err.name, ':', err.message, '\n', err.stack); }); }; app.set('port', process.env.PORT || 5000); app.get('/registry', function (request, response, next) { if (registryJson) { response.send(registryJson); return; } fs.readFile(registryFilePath, { encoding: 'utf8' }, function (err, str) { if (err) { return next(err); } try { response.send(JSON.parse(str)); } catch (err2) { next(err2); } }); }); app.get('/', function (request, response) { response.send('Hello World!'); }); app.listen(app.get('port'), function () { logger('Node app is running at localhost:' + app.get('port')); scheduleBuild(); }); //# sourceMappingURL=C:\Users\Zaggi\AppData\Roaming\Brackets-Electron\extensions\user\brackets-npm-registry\dist//server/index.js.map