@sharekey/meteor-desktop
Version:
Build a Meteor's desktop client with hot code push.
40 lines (39 loc) • 4.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = addScript;
var _fs = _interopRequireDefault(require("fs"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function readJsonFile(jsonFilePath) {
try {
return JSON.parse(_fs.default.readFileSync(jsonFilePath, 'UTF-8'));
} catch (e) {
return false;
}
}
function writeJsonFile(jsonFilePath, jsonContents) {
try {
_fs.default.writeFileSync(jsonFilePath, JSON.stringify(jsonContents, null, 2));
} catch (e) {
return false;
}
return true;
}
function addScript(name, script, packageJsonPath, fail) {
const packageJson = readJsonFile(packageJsonPath);
if (!(packageJson && packageJson.name)) {
fail();
return;
}
if (!('scripts' in packageJson)) {
packageJson.scripts = {};
}
if (!(name in packageJson.scripts)) {
packageJson.scripts[name] = script;
}
if (!writeJsonFile(packageJsonPath, packageJson)) {
fail();
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwicmVhZEpzb25GaWxlIiwianNvbkZpbGVQYXRoIiwiSlNPTiIsInBhcnNlIiwiZnMiLCJyZWFkRmlsZVN5bmMiLCJlIiwid3JpdGVKc29uRmlsZSIsImpzb25Db250ZW50cyIsIndyaXRlRmlsZVN5bmMiLCJzdHJpbmdpZnkiLCJhZGRTY3JpcHQiLCJuYW1lIiwic2NyaXB0IiwicGFja2FnZUpzb25QYXRoIiwiZmFpbCIsInBhY2thZ2VKc29uIiwic2NyaXB0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY3JpcHRzL3V0aWxzL2FkZFNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuXG5mdW5jdGlvbiByZWFkSnNvbkZpbGUoanNvbkZpbGVQYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgJ1VURi04JykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JpdGVKc29uRmlsZShqc29uRmlsZVBhdGgsIGpzb25Db250ZW50cykge1xuICAgIHRyeSB7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uQ29udGVudHMsIG51bGwsIDIpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFNjcmlwdChuYW1lLCBzY3JpcHQsIHBhY2thZ2VKc29uUGF0aCwgZmFpbCkge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gcmVhZEpzb25GaWxlKHBhY2thZ2VKc29uUGF0aCk7XG4gICAgaWYgKCEocGFja2FnZUpzb24gJiYgcGFja2FnZUpzb24ubmFtZSkpIHtcbiAgICAgICAgZmFpbCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEoJ3NjcmlwdHMnIGluIHBhY2thZ2VKc29uKSkge1xuICAgICAgICBwYWNrYWdlSnNvbi5zY3JpcHRzID0ge307XG4gICAgfVxuXG4gICAgaWYgKCEobmFtZSBpbiBwYWNrYWdlSnNvbi5zY3JpcHRzKSkge1xuICAgICAgICBwYWNrYWdlSnNvbi5zY3JpcHRzW25hbWVdID0gc2NyaXB0O1xuICAgIH1cblxuICAgIGlmICghd3JpdGVKc29uRmlsZShwYWNrYWdlSnNvblBhdGgsIHBhY2thZ2VKc29uKSkge1xuICAgICAgICBmYWlsKCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxHQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBb0IsU0FBQUQsdUJBQUFFLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFFcEIsU0FBU0csWUFBWUEsQ0FBQ0MsWUFBWSxFQUFFO0VBQ2hDLElBQUk7SUFDQSxPQUFPQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsV0FBRSxDQUFDQyxZQUFZLENBQUNKLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztFQUM3RCxDQUFDLENBQUMsT0FBT0ssQ0FBQyxFQUFFO0lBQ1IsT0FBTyxLQUFLO0VBQ2hCO0FBQ0o7QUFFQSxTQUFTQyxhQUFhQSxDQUFDTixZQUFZLEVBQUVPLFlBQVksRUFBRTtFQUMvQyxJQUFJO0lBQ0FKLFdBQUUsQ0FBQ0ssYUFBYSxDQUFDUixZQUFZLEVBQUVDLElBQUksQ0FBQ1EsU0FBUyxDQUFDRixZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLENBQUMsQ0FBQyxPQUFPRixDQUFDLEVBQUU7SUFDUixPQUFPLEtBQUs7RUFDaEI7RUFDQSxPQUFPLElBQUk7QUFDZjtBQUVlLFNBQVNLLFNBQVNBLENBQUNDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxlQUFlLEVBQUVDLElBQUksRUFBRTtFQUNuRSxNQUFNQyxXQUFXLEdBQUdoQixZQUFZLENBQUNjLGVBQWUsQ0FBQztFQUNqRCxJQUFJLEVBQUVFLFdBQVcsSUFBSUEsV0FBVyxDQUFDSixJQUFJLENBQUMsRUFBRTtJQUNwQ0csSUFBSSxDQUFDLENBQUM7SUFDTjtFQUNKO0VBRUEsSUFBSSxFQUFFLFNBQVMsSUFBSUMsV0FBVyxDQUFDLEVBQUU7SUFDN0JBLFdBQVcsQ0FBQ0MsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUM1QjtFQUVBLElBQUksRUFBRUwsSUFBSSxJQUFJSSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxFQUFFO0lBQ2hDRCxXQUFXLENBQUNDLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDLEdBQUdDLE1BQU07RUFDdEM7RUFFQSxJQUFJLENBQUNOLGFBQWEsQ0FBQ08sZUFBZSxFQUFFRSxXQUFXLENBQUMsRUFBRTtJQUM5Q0QsSUFBSSxDQUFDLENBQUM7RUFDVjtBQUNKIn0=