UNPKG

publishr

Version:

A tool for harmonious publishing of git and npm packages.

86 lines (66 loc) 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _logger = require("./logger"); var _logger2 = _interopRequireDefault(_logger); var _objectAssign = require("object-assign"); var _objectAssign2 = _interopRequireDefault(_objectAssign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var packageUtils = { updateDependencies: function updateDependencies(json) { if (!json.publishr || !json.publishr.dependencies) { return json; } json.dependencies = (0, _objectAssign2.default)({}, json.dependencies); json.devDependencies = (0, _objectAssign2.default)({}, json.devDependencies); var dependencyKeys = Object.keys(json.dependencies); json.publishr.dependencies.forEach(function (str) { var regex = new RegExp(str); dependencyKeys.filter(function (key) { return regex.test(key); }).forEach(function (key) { json.devDependencies[key] = json.dependencies[key]; _logger2.default.pass("dependency '" + key + "'"); }); json.dependencies = dependencyKeys.filter(function (key) { return !regex.test(key); }).reduce(function (result, key) { result[key] = json.dependencies[key]; return result; }, {}); }); return json; }, updateScripts: function updateScripts(json) { if (!json.publishr || !json.publishr.scripts) { return json; } json.scripts = (0, _objectAssign2.default)({}, json.scripts); Object.keys(json.publishr.scripts).forEach(function (key) { var script = json.publishr.scripts[key]; if (!script) { delete json.scripts[key]; _logger2.default.pass("remove script '" + key + "'"); } else { json.scripts[key] = script; _logger2.default.pass("replace script '" + key + "'"); } }); return json; }, updateMeta: function updateMeta(json, files) { json._publishr = files.map(function (file) { return { created: file.created, path: file.newPath }; }); json._publishr.push({ created: false, path: "package.json" }); return json; } }; exports.default = packageUtils;