UNPKG

publishr

Version:

A tool for harmonious publishing of git and npm packages.

57 lines (42 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _es6Promise = require("es6-promise"); var _fileUtils = require("./file-utils"); var _fileUtils2 = _interopRequireDefault(_fileUtils); var _git = require("./git"); var _git2 = _interopRequireDefault(_git); var _packageUtils = require("./package-utils"); var _packageUtils2 = _interopRequireDefault(_packageUtils); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var fileHandler = { fixFiles: function fixFiles(json) { json._publishr = json._publishr || []; return _es6Promise.Promise.all(json._publishr.map(function (file) { return file.created ? _fileUtils2.default.removeFile(file.path) : _git2.default.checkout(file.path); })); }, overwriteFiles: function overwriteFiles(json) { json.publishr = json.publishr || {}; json.publishr.files = json.publishr.files || {}; json.publishr.dependencies = json.publishr.dependencies || []; json.publishr.scripts = json.publishr.scripts || {}; var files = Object.keys(json.publishr.files).map(function (file) { return { newPath: file, oldPath: json.publishr.files[file] }; }); return _fileUtils2.default.statFiles(files).then(_fileUtils2.default.readFiles).then(_fileUtils2.default.writeFiles).then(function (allFiles) { return fileHandler.overwritePackage(json, allFiles); }); }, overwritePackage: function overwritePackage(json, files) { _packageUtils2.default.updateMeta(json, files); _packageUtils2.default.updateDependencies(json); _packageUtils2.default.updateScripts(json); return _fileUtils2.default.writePackage(json); } }; exports.default = fileHandler;