UNPKG

@pobuca/xsc

Version:

A cli tool with common git command sets.

53 lines 2.35 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = require("path"); const getLocalPackageFile_1 = require("./getLocalPackageFile"); const tryGetCSharpProjectDetails_1 = require("./tryGetCSharpProjectDetails"); function inferProjectDetails(terminal) { return __awaiter(this, void 0, void 0, function* () { try { return yield getNodeJSProjectDetails(terminal); } catch (e) { return yield getCSharpProjectDetails(terminal); } }); } exports.default = inferProjectDetails; function getNodeJSProjectDetails(terminal) { return __awaiter(this, void 0, void 0, function* () { const packageFile = yield getLocalPackageFile_1.default(terminal); return { type: ProjectType.NodeJS, version: packageFile.version }; }); } function getCSharpProjectDetails(terminal) { return __awaiter(this, void 0, void 0, function* () { const dir = terminal.readdirSync(terminal.cwd); for (const folder of dir) { const projectRoot = path_1.resolve(terminal.cwd, folder); const projectDetails = tryGetCSharpProjectDetails_1.default(terminal, projectRoot); if (projectDetails) { return projectDetails; } } throw new Error('Could not infer project details.'); }); } var ProjectType; (function (ProjectType) { ProjectType[ProjectType["NodeJS"] = 0] = "NodeJS"; ProjectType[ProjectType["CSharp"] = 1] = "CSharp"; })(ProjectType = exports.ProjectType || (exports.ProjectType = {})); //# sourceMappingURL=inferProjectDetails.js.map