UNPKG

alm

Version:

The best IDE for TypeScript

61 lines (60 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * The stuff that interacts with system git */ var cp = require("child_process"); var wd = require("../../disk/workingDir"); var fsu = require("../../utils/fsu"); /** TODO: this is just a placeholder as I think about how to do this */ var getPackageJsonFilePath = function () { var packageJsonFilePath = wd.getProjectRoot(); try { packageJsonFilePath = fsu.travelUpTheDirectoryTreeTillYouFind(packageJsonFilePath, 'package.json'); } catch (e) { } return packageJsonFilePath; }; /** Main utility function to execute a command */ var npmCmd = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } return new Promise(function (resolve, reject) { var cwd = wd.getProjectRoot(); cp.exec("npm " + args.join(' '), { cwd: cwd }, function (err, stdout, stderr) { if (stderr.toString().trim().length) { return resolve(stderr.toString()); } return resolve(stdout.toString()); }); }); }; function npmInfo(args) { return npmCmd('npm', 'info', args.packageName); } exports.npmInfo = npmInfo; var _fetch = require("node-fetch"); function npmLatest(_a) { var pack = _a.pack; var queryUrl = 'http://registry.npmjs.org:80/' + encodeURIComponent(pack) + '/latest'; return _fetch(queryUrl) .then(function (response) { return response.json(); }) .then(function (obj) { var result = {}; if (obj.description) { result.description = obj.description; } if (obj.version) { result.version = obj.version; } return result; }) .catch(function (error) { return { description: "Failed to query info for " + pack }; }); } exports.npmLatest = npmLatest;