UNPKG

@meteor-community/meteor-desktop

Version:
40 lines (39 loc) 4.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = addScript; var _fs = _interopRequireDefault(require("fs")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInJlYWRKc29uRmlsZSIsImpzb25GaWxlUGF0aCIsIkpTT04iLCJwYXJzZSIsImZzIiwicmVhZEZpbGVTeW5jIiwid3JpdGVKc29uRmlsZSIsImpzb25Db250ZW50cyIsIndyaXRlRmlsZVN5bmMiLCJzdHJpbmdpZnkiLCJhZGRTY3JpcHQiLCJuYW1lIiwic2NyaXB0IiwicGFja2FnZUpzb25QYXRoIiwiZmFpbCIsInBhY2thZ2VKc29uIiwic2NyaXB0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY3JpcHRzL3V0aWxzL2FkZFNjcmlwdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuXG5mdW5jdGlvbiByZWFkSnNvbkZpbGUoanNvbkZpbGVQYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGpzb25GaWxlUGF0aCwgJ1VURi04JykpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gd3JpdGVKc29uRmlsZShqc29uRmlsZVBhdGgsIGpzb25Db250ZW50cykge1xuICAgIHRyeSB7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMoanNvbkZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShqc29uQ29udGVudHMsIG51bGwsIDIpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFNjcmlwdChuYW1lLCBzY3JpcHQsIHBhY2thZ2VKc29uUGF0aCwgZmFpbCkge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gcmVhZEpzb25GaWxlKHBhY2thZ2VKc29uUGF0aCk7XG4gICAgaWYgKCEocGFja2FnZUpzb24gJiYgcGFja2FnZUpzb24ubmFtZSkpIHtcbiAgICAgICAgZmFpbCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEoJ3NjcmlwdHMnIGluIHBhY2thZ2VKc29uKSkge1xuICAgICAgICBwYWNrYWdlSnNvbi5zY3JpcHRzID0ge307XG4gICAgfVxuXG4gICAgaWYgKCEobmFtZSBpbiBwYWNrYWdlSnNvbi5zY3JpcHRzKSkge1xuICAgICAgICBwYWNrYWdlSnNvbi5zY3JpcHRzW25hbWVdID0gc2NyaXB0O1xuICAgIH1cblxuICAgIGlmICghd3JpdGVKc29uRmlsZShwYWNrYWdlSnNvblBhdGgsIHBhY2thZ2VKc29uKSkge1xuICAgICAgICBmYWlsKCk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxHQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBb0IsU0FBQUQsdUJBQUFFLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFcEIsU0FBU0csWUFBWUEsQ0FBQ0MsWUFBWSxFQUFFO0VBQ2hDLElBQUk7SUFDQSxPQUFPQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsV0FBRSxDQUFDQyxZQUFZLENBQUNKLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztFQUM3RCxDQUFDLENBQUMsT0FBT0osQ0FBQyxFQUFFO0lBQ1IsT0FBTyxLQUFLO0VBQ2hCO0FBQ0o7QUFFQSxTQUFTUyxhQUFhQSxDQUFDTCxZQUFZLEVBQUVNLFlBQVksRUFBRTtFQUMvQyxJQUFJO0lBQ0FILFdBQUUsQ0FBQ0ksYUFBYSxDQUFDUCxZQUFZLEVBQUVDLElBQUksQ0FBQ08sU0FBUyxDQUFDRixZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3pFLENBQUMsQ0FBQyxPQUFPVixDQUFDLEVBQUU7SUFDUixPQUFPLEtBQUs7RUFDaEI7RUFDQSxPQUFPLElBQUk7QUFDZjtBQUVlLFNBQVNhLFNBQVNBLENBQUNDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxlQUFlLEVBQUVDLElBQUksRUFBRTtFQUNuRSxNQUFNQyxXQUFXLEdBQUdmLFlBQVksQ0FBQ2EsZUFBZSxDQUFDO0VBQ2pELElBQUksRUFBRUUsV0FBVyxJQUFJQSxXQUFXLENBQUNKLElBQUksQ0FBQyxFQUFFO0lBQ3BDRyxJQUFJLENBQUMsQ0FBQztJQUNOO0VBQ0o7RUFFQSxJQUFJLEVBQUUsU0FBUyxJQUFJQyxXQUFXLENBQUMsRUFBRTtJQUM3QkEsV0FBVyxDQUFDQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0VBQzVCO0VBRUEsSUFBSSxFQUFFTCxJQUFJLElBQUlJLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDLEVBQUU7SUFDaENELFdBQVcsQ0FBQ0MsT0FBTyxDQUFDTCxJQUFJLENBQUMsR0FBR0MsTUFBTTtFQUN0QztFQUVBLElBQUksQ0FBQ04sYUFBYSxDQUFDTyxlQUFlLEVBQUVFLFdBQVcsQ0FBQyxFQUFFO0lBQzlDRCxJQUFJLENBQUMsQ0FBQztFQUNWO0FBQ0oiLCJpZ25vcmVMaXN0IjpbXX0=