firebase-ci
Version:
Simplified Firebase interaction for continuous integration including deploying hosting, functions, and database/storage rules.
47 lines (35 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = copyVersion;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _logger = require("../utils/logger");
var _files = require("../utils/files");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function createPath(filePath) {
return _path.default.join(process.cwd(), filePath);
}
function copyVersion(config = {
silence: false
}) {
if (!(0, _files.functionsExists)()) {
if (config.silence) {
return;
}
(0, _logger.warn)('Functions folder does not exist. Exiting...');
return;
}
(0, _logger.info)('Copying version from package.json to functions/package.json...');
const pkg = JSON.parse(_fs.default.readFileSync(createPath('package.json')));
const functionsPkg = JSON.parse(_fs.default.readFileSync(createPath(`functions/package.json`)));
functionsPkg.version = pkg.version;
try {
_fs.default.writeFileSync(createPath(`functions/package.json`), JSON.stringify(functionsPkg, null, 2), 'utf8');
(0, _logger.success)('Version copied successfully');
} catch (err) {
(0, _logger.error)('Error copying version to functions folder');
(0, _logger.log)(_logger.error);
}
}