bit-bin
Version:
<a href="https://opensource.org/licenses/Apache-2.0"><img alt="apache" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"></a> <a href="https://github.com/teambit/bit/blob/master/CONTRIBUTING.md"><img alt="prs" src="https://img.shields.io/b
86 lines (61 loc) • 1.81 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
function _defineProperty2() {
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
_defineProperty2 = function () {
return data;
};
return data;
}
function path() {
const data = _interopRequireWildcard(require("path"));
path = function () {
return data;
};
return data;
}
function _fsExtra() {
const data = _interopRequireDefault(require("fs-extra"));
_fsExtra = function () {
return data;
};
return data;
}
function errors() {
const data = _interopRequireWildcard(require("./exceptions"));
errors = function () {
return data;
};
return data;
}
class GitHook {
constructor(hooksDirPath, name, content) {
(0, _defineProperty2().default)(this, "hooksDirPath", void 0);
(0, _defineProperty2().default)(this, "name", void 0);
(0, _defineProperty2().default)(this, "content", void 0);
this.hooksDirPath = hooksDirPath;
this.name = name;
this.content = content;
} // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
get fullPath() {
return path().join(this.hooksDirPath, this.name);
}
isExistSync() {
return _fsExtra().default.existsSync(this.fullPath);
}
writeSync(override = false, throws = false) {
const exist = this.isExistSync();
if (exist && !override) {
if (throws) throw new (errors().GitHookAlreadyExists)(this.name);
return null;
}
_fsExtra().default.writeFileSync(this.fullPath, this.content);
return true;
}
}
exports.default = GitHook;