UNPKG

@tableau/taco-toolkit

Version:
76 lines 5.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidTacoFile = exports.isOldDependencySetup = exports.getConnectorHandlersPath = exports.getConnectorAppPath = exports.getConnectorJsonPath = exports.getConnectorFolderPath = exports.isTacoRootPath = exports.outputLocationErrorAndExit = exports.exitIfNotTacoRoot = exports.findTacoRootPath = exports.sourceTypes = void 0; var fs_1 = __importDefault(require("fs")); var fs_extra_1 = __importDefault(require("fs-extra")); var path_1 = __importDefault(require("path")); var console_1 = require("./console"); exports.sourceTypes = ['app', 'handlers']; function findTacoRootPath() { var currentPath = process.cwd(); var possiblePaths = [ currentPath, path_1.default.dirname(currentPath), // parent path ]; var tacoRootPath = possiblePaths.find(function (possiblePath) { return isTacoRootPath(possiblePath); }); if (tacoRootPath === undefined) { outputLocationErrorAndExit(currentPath); } return tacoRootPath; } exports.findTacoRootPath = findTacoRootPath; /** * Exit with code 1 from program if the given path is not a connector root path. */ function exitIfNotTacoRoot(rootPath) { if (!isTacoRootPath(rootPath)) { outputLocationErrorAndExit(rootPath); } } exports.exitIfNotTacoRoot = exitIfNotTacoRoot; function outputLocationErrorAndExit(rootPath) { (0, console_1.consoleError)("Cannot locate taco connector.json file at current path, are you in the root directory of a taco connector?\nCurrent path: ".concat(rootPath)); return process.exit(1); } exports.outputLocationErrorAndExit = outputLocationErrorAndExit; function isTacoRootPath(path) { return fs_1.default.existsSync(getConnectorJsonPath(path)); } exports.isTacoRootPath = isTacoRootPath; function getConnectorFolderPath(tacoRootPath) { return path_1.default.join(tacoRootPath, 'connector'); } exports.getConnectorFolderPath = getConnectorFolderPath; function getConnectorJsonPath(tacoRootPath) { return path_1.default.join(tacoRootPath, 'connector', 'connector.json'); } exports.getConnectorJsonPath = getConnectorJsonPath; function getConnectorAppPath(tacoRootPath) { return path_1.default.join(tacoRootPath, 'connector', 'app'); } exports.getConnectorAppPath = getConnectorAppPath; function getConnectorHandlersPath(tacoRootPath) { return path_1.default.join(tacoRootPath, 'connector', 'handlers'); } exports.getConnectorHandlersPath = getConnectorHandlersPath; /** * Check if a taco project is using the old npm link setup. * Remove this when all existing projects define taco-toolkit as npm dependency. */ function isOldDependencySetup(tacoRootPath) { var packageJsonPath = path_1.default.join(tacoRootPath, 'connector', 'package.json'); var packageJson = fs_extra_1.default.readJSONSync(packageJsonPath); if (packageJson.dependencies && '@tableau/taco-toolkit' in packageJson.dependencies) { return false; } return true; } exports.isOldDependencySetup = isOldDependencySetup; function isValidTacoFile(tacoFilePath) { return path_1.default.extname(tacoFilePath).toLowerCase() === '.taco'; } exports.isValidTacoFile = isValidTacoFile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS90YWNvLWNvbW1hbmRzL3V0aWxzL2Nvbm5lY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwQ0FBbUI7QUFDbkIsc0RBQTBCO0FBQzFCLDhDQUF1QjtBQUN2QixxQ0FBd0M7QUFFM0IsUUFBQSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFVLENBQUE7QUFJdkQsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUVqQyxJQUFNLGFBQWEsR0FBRztRQUNwQixXQUFXO1FBQ1gsY0FBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxjQUFjO0tBQzFDLENBQUE7SUFFRCxJQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQUMsWUFBWSxJQUFLLE9BQUEsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUE1QixDQUE0QixDQUFDLENBQUE7SUFDdkYsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFO1FBQzlCLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxDQUFBO0tBQ3hDO0lBRUQsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQWRELDRDQWNDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxRQUFnQjtJQUNoRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQ3JDO0FBQ0gsQ0FBQztBQUpELDhDQUlDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsUUFBZ0I7SUFDekQsSUFBQSxzQkFBWSxFQUNWLG9JQUE2SCxRQUFRLENBQUUsQ0FDeEksQ0FBQTtJQUNELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUN4QixDQUFDO0FBTEQsZ0VBS0M7QUFFRCxTQUFnQixjQUFjLENBQUMsSUFBWTtJQUN6QyxPQUFPLFlBQUUsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUNsRCxDQUFDO0FBRkQsd0NBRUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxZQUFvQjtJQUN6RCxPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0FBQzdDLENBQUM7QUFGRCx3REFFQztBQUVELFNBQWdCLG9CQUFvQixDQUFDLFlBQW9CO0lBQ3ZELE9BQU8sY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUE7QUFDL0QsQ0FBQztBQUZELG9EQUVDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsWUFBb0I7SUFDdEQsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDcEQsQ0FBQztBQUZELGtEQUVDO0FBRUQsU0FBZ0Isd0JBQXdCLENBQUMsWUFBb0I7SUFDM0QsT0FBTyxjQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUE7QUFDekQsQ0FBQztBQUZELDREQUVDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsWUFBb0I7SUFDdkQsSUFBTSxlQUFlLEdBQUcsY0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFBO0lBQzVFLElBQU0sV0FBVyxHQUFHLGtCQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFBO0lBRXJELElBQUksV0FBVyxDQUFDLFlBQVksSUFBSSx1QkFBdUIsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO1FBQ25GLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFURCxvREFTQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxZQUFvQjtJQUNsRCxPQUFPLGNBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssT0FBTyxDQUFBO0FBQzdELENBQUM7QUFGRCwwQ0FFQyJ9