Comparing version 0.0.15 to 0.0.16
@@ -9,6 +9,12 @@ "use strict"; | ||
var fixFiles = function fixFiles() { | ||
(0, _child_process.exec)("git clean -df && git checkout .", function (err) { | ||
var _rimraf = require("rimraf"); | ||
var _rimraf2 = _interopRequireDefault(_rimraf); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var checkoutFile = function checkoutFile(file) { | ||
(0, _child_process.exec)("git checkout " + file.path, function (err) { | ||
if (err) { | ||
throw new Error("GIT ERROR"); | ||
throw new Error("Error checking out " + file.path + "."); | ||
} | ||
@@ -18,2 +24,27 @@ }); | ||
var removeFile = function removeFile(file) { | ||
(0, _rimraf2.default)(file.path, function (err) { | ||
if (err) { | ||
throw new Error("Error removing " + file + "."); | ||
} | ||
}); | ||
}; | ||
var fixFiles = function fixFiles(json) { | ||
var files = json._publishr; | ||
files.push({ | ||
path: "package.json", | ||
created: false | ||
}); | ||
files.forEach(function (file) { | ||
if (file.created) { | ||
removeFile(file); | ||
} else { | ||
checkoutFile(file); | ||
} | ||
}); | ||
}; | ||
exports.default = fixFiles; |
@@ -13,24 +13,66 @@ "use strict"; | ||
var overwriteFiles = function overwriteFiles(json) { | ||
Object.keys(json.publishr.files).forEach(function (key) { | ||
var oldFilePath = json.publishr.files[key]; | ||
var newFilePath = key; | ||
var statFiles = function statFiles(files) { | ||
return Promise.all(files.map(function (file) { | ||
return new Promise(function (resolve, reject) { | ||
_fs2.default.stat(file.newPath, function (err) { | ||
if (err && err.code !== "ENOENT") { | ||
return reject(err); | ||
} else if (!err) { | ||
file.created = false; | ||
} else { | ||
file.created = true; | ||
} | ||
_fs2.default.readFile(oldFilePath, "utf8", function (readErr, contents) { | ||
if (readErr) { | ||
throw new Error("READ ERROR: " + oldFilePath); | ||
} | ||
return resolve(file); | ||
}); | ||
}); | ||
})); | ||
}; | ||
_fs2.default.writeFile(newFilePath, contents, "utf8", function (writeErr) { | ||
if (writeErr) { | ||
throw new Error("WRITE ERROR ${newFilePath}"); | ||
var readFiles = function readFiles(files) { | ||
return Promise.all(files.map(function (file) { | ||
return new Promise(function (resolve, reject) { | ||
_fs2.default.readFile(file.oldPath, "utf8", function (err, contents) { | ||
if (err) { | ||
return reject(err); | ||
} | ||
file.contents = contents; | ||
return resolve(file); | ||
}); | ||
}); | ||
}); | ||
})); | ||
}; | ||
_fs2.default.writeFile("package.json", JSON.stringify(json, null, 2), "utf8", function (writeErr) { | ||
if (writeErr) { | ||
throw new Error("WRITE ERROR: package.json"); | ||
} | ||
var writeFiles = function writeFiles(files) { | ||
return Promise.all(files.map(function (file) { | ||
return new Promise(function (resolve, reject) { | ||
_fs2.default.writeFile(file.newPath, file.contents, "utf8", function (err) { | ||
if (err) { | ||
return reject(err); | ||
} | ||
file.written = true; | ||
return resolve(file); | ||
}); | ||
}); | ||
})); | ||
}; | ||
var overwriteFiles = function overwriteFiles(json) { | ||
return new Promise(function (resolve, reject) { | ||
var files = Object.keys(json.publishr.files).map(function (file) { | ||
return { | ||
newPath: file, | ||
oldPath: json.publishr.files[file] | ||
}; | ||
}); | ||
statFiles(files).then(readFiles).then(writeFiles).then(function (result) { | ||
return resolve(result); | ||
}).catch(function (err) { | ||
return reject(err); | ||
}); | ||
}); | ||
@@ -37,0 +79,0 @@ }; |
@@ -11,8 +11,20 @@ "use strict"; | ||
var _fs = require("fs"); | ||
var _fs2 = _interopRequireDefault(_fs); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var postpublish = function postpublish() { | ||
(0, _fixFiles2.default)(); | ||
_fs2.default.readFile("package.json", "utf8", function (err, contents) { | ||
if (err) { | ||
throw new Error("Error reading package.json."); | ||
} | ||
var packageJSON = JSON.parse(contents); | ||
(0, _fixFiles2.default)(packageJSON); | ||
}); | ||
}; | ||
exports.default = postpublish; |
@@ -11,6 +11,2 @@ "use strict"; | ||
var _moveDependencies = require("./move-dependencies"); | ||
var _moveDependencies2 = _interopRequireDefault(_moveDependencies); | ||
var _overwriteFiles = require("./overwrite-files"); | ||
@@ -20,8 +16,12 @@ | ||
var _overwritePackage = require("./overwrite-package"); | ||
var _overwritePackage2 = _interopRequireDefault(_overwritePackage); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
var postversion = function postversion() { | ||
_fs2.default.readFile("package.json", "utf8", function (readErr, contents) { | ||
if (readErr) { | ||
throw new Error("READ ERROR: package.json"); | ||
_fs2.default.readFile("package.json", "utf8", function (err, contents) { | ||
if (err) { | ||
throw new Error("Error reading package.json."); | ||
} | ||
@@ -31,4 +31,5 @@ | ||
(0, _moveDependencies2.default)(packageJSON); | ||
(0, _overwriteFiles2.default)(packageJSON); | ||
(0, _overwriteFiles2.default)(packageJSON).then(function (files) { | ||
(0, _overwritePackage2.default)(packageJSON, files); | ||
}); | ||
}); | ||
@@ -35,0 +36,0 @@ }; |
{ | ||
"name": "publishr", | ||
"version": "0.0.15", | ||
"version": "0.0.16", | ||
"description": "A tool for harmonious publishing of git and npm packages.", | ||
@@ -23,3 +23,4 @@ "bin": { | ||
"dependencies": { | ||
"object-assign": "^4.1.0" | ||
"object-assign": "^4.1.0", | ||
"rimraf": "^2.5.2" | ||
}, | ||
@@ -31,3 +32,2 @@ "devDependencies": { | ||
"eslint-plugin-filenames": "^0.2.0", | ||
"rimraf": "^2.5.2", | ||
"babel-cli": "^6.9.1", | ||
@@ -44,3 +44,9 @@ "babel-core": "^6.9.1", | ||
} | ||
} | ||
}, | ||
"_publishr": [ | ||
{ | ||
"created": true, | ||
"path": ".npmignore" | ||
} | ||
] | ||
} |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
8837
7
199
2
5
2
+ Addedrimraf@^2.5.2
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedrimraf@2.7.1(transitive)
+ Addedwrappy@1.0.2(transitive)