New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

publishr

Package Overview
Dependencies
Maintainers
2
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

publishr - npm Package Compare versions

Comparing version 0.0.15 to 0.0.16

lib/overwrite-package.js

37

lib/fix-files.js

@@ -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;

74

lib/overwrite-files.js

@@ -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"
}
]
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc