@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
62 lines • 4.25 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setupGitRepo = void 0;
var child_process_1 = require("child_process");
var fs_1 = __importDefault(require("fs"));
var path_1 = __importDefault(require("path"));
var command_1 = require("../utils/command");
var console_1 = require("../utils/console");
function setupGitRepo(tacoRootPath) {
if (!isGitInstalled()) {
(0, console_1.consoleError)('Unable to find Git. Please install Git first.');
process.exit(1);
}
var result = (0, command_1.executeCmd)('git', ['init'], { cwd: tacoRootPath });
if ((0, command_1.isErrorResult)(result)) {
var _a = result.error, error = _a.error, stdout = _a.stdout;
(0, console_1.consoleError)("Failed to initialize a Git repo. ".concat(stdout), error);
process.exit(1);
}
try {
createGitIgnoreFile(tacoRootPath);
(0, child_process_1.execSync)('git add -A', {
cwd: tacoRootPath,
stdio: 'ignore',
});
(0, child_process_1.execSync)('git commit -m "init commit for taco project"', {
cwd: tacoRootPath,
stdio: 'ignore',
});
}
catch (error) {
(0, console_1.consoleError)('Failed to create the init commit.', error);
process.exit(1);
}
}
exports.setupGitRepo = setupGitRepo;
function isGitInstalled() {
var output = (0, child_process_1.spawnSync)('git', ['--version']).output;
return output.toString().includes('git version');
}
function createGitIgnoreFile(tacoRootPath) {
var filePath = path_1.default.join(tacoRootPath, '.gitignore');
var entries = [
'# OS artifacts',
'.DS_Store\n',
'# Tools artifacts',
'node_modules',
'.parcel-cache\n',
'# Project artifacts',
'dist',
'log',
'tmp',
'.eps',
].join('\n');
fs_1.default.writeFileSync(filePath, entries, {
flag: 'w',
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LXNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS90YWNvLWNvbW1hbmRzL2NyZWF0ZS9naXQtc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQW1EO0FBQ25ELDBDQUFtQjtBQUNuQiw4Q0FBdUI7QUFFdkIsNENBQTREO0FBQzVELDRDQUErQztBQUUvQyxTQUFnQixZQUFZLENBQUMsWUFBb0I7SUFDL0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO1FBQ3JCLElBQUEsc0JBQVksRUFBQywrQ0FBK0MsQ0FBQyxDQUFBO1FBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCxJQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFVLEVBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtJQUNqRSxJQUFJLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsRUFBRTtRQUNuQixJQUFBLEtBQW9CLE1BQU0sQ0FBQyxLQUFLLEVBQTlCLEtBQUssV0FBQSxFQUFFLE1BQU0sWUFBaUIsQ0FBQTtRQUN0QyxJQUFBLHNCQUFZLEVBQUMsMkNBQW9DLE1BQU0sQ0FBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7SUFFRCxJQUFJO1FBQ0YsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDakMsSUFBQSx3QkFBUSxFQUFDLFlBQVksRUFBRTtZQUNyQixHQUFHLEVBQUUsWUFBWTtZQUNqQixLQUFLLEVBQUUsUUFBUTtTQUNoQixDQUFDLENBQUE7UUFDRixJQUFBLHdCQUFRLEVBQUMsOENBQThDLEVBQUU7WUFDdkQsR0FBRyxFQUFFLFlBQVk7WUFDakIsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQyxDQUFBO0tBQ0g7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUEsc0JBQVksRUFBQyxtQ0FBbUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUN4RCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0FBQ0gsQ0FBQztBQTNCRCxvQ0EyQkM7QUFFRCxTQUFTLGNBQWM7SUFDYixJQUFBLE1BQU0sR0FBSyxJQUFBLHlCQUFTLEVBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBcEMsQ0FBb0M7SUFDbEQsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBQ2xELENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLFlBQW9CO0lBQy9DLElBQU0sUUFBUSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQ3RELElBQU0sT0FBTyxHQUFHO1FBQ2QsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsTUFBTTtRQUNOLEtBQUs7UUFDTCxLQUFLO1FBQ0wsTUFBTTtLQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRVosWUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFO1FBQ2xDLElBQUksRUFBRSxHQUFHO0tBQ1YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyJ9