This repository has been archived on 2020-11-02. You can view files and clone it, but cannot push or open issues or pull requests.
TripSit_Suite/node_modules/husky/lib/installer/index.js
2020-11-01 22:46:04 +00:00

57 lines
2.2 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const debug_1 = require("../debug");
const getConf_1 = require("../getConf");
const hooks_1 = require("./hooks");
const localScript_1 = require("./localScript");
const mainScript_1 = require("./mainScript");
// This prevents the case where someone would want to debug a node_module that has
// husky as devDependency and run npm install from node_modules directory
function isInNodeModules(dir) {
return dir.indexOf('node_modules') !== -1;
}
function getGitHooksDir(gitDir) {
return path_1.default.join(gitDir, 'hooks');
}
function install({ absoluteGitCommonDir, relativeUserPkgDir, userPkgDir, pmName, // package manager name
isCI, }) {
// Get conf from package.json or .huskyrc
const conf = getConf_1.getConf(userPkgDir);
// Checks
if (isCI && conf.skipCI) {
console.log('CI detected, skipping Git hooks installation.');
return;
}
if (isInNodeModules(userPkgDir)) {
console.log('Trying to install from node_modules directory, skipping Git hooks installation.');
return;
}
// Create hooks directory if it doesn't exist
const gitHooksDir = getGitHooksDir(absoluteGitCommonDir);
if (!fs_1.default.existsSync(gitHooksDir)) {
fs_1.default.mkdirSync(gitHooksDir);
}
debug_1.debug(`Installing hooks in ${gitHooksDir}`);
hooks_1.createHooks(gitHooksDir);
localScript_1.createLocalScript(gitHooksDir, pmName, relativeUserPkgDir);
mainScript_1.createMainScript(gitHooksDir);
}
exports.install = install;
function uninstall({ absoluteGitCommonDir, userPkgDir, }) {
if (isInNodeModules(userPkgDir)) {
console.log('Trying to uninstall from node_modules directory, skipping Git hooks uninstallation.');
return;
}
// Remove hooks
const gitHooksDir = getGitHooksDir(absoluteGitCommonDir);
hooks_1.removeHooks(gitHooksDir);
localScript_1.removeLocalScript(gitHooksDir);
mainScript_1.removeMainScript(gitHooksDir);
}
exports.uninstall = uninstall;