publishr
Version:
A tool for harmonious publishing of git and npm packages.
57 lines (42 loc) • 1.76 kB
JavaScript
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;
;