@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
75 lines • 6.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCommand = exports.program = void 0;
var adm_zip_1 = __importDefault(require("adm-zip"));
var command_1 = require("./command");
var connector_1 = require("./utils/connector");
var logging_1 = require("./utils/logging");
var console_1 = require("./utils/console");
var command_2 = require("./utils/command");
var process_1 = __importDefault(require("process"));
var chalk_1 = __importDefault(require("chalk"));
exports.program = createCommand();
function createCommand() {
return (0, command_1.createCommand)('show', 'show the taco-toolkit related information', {
withCommonOptions: false,
setup: setup,
handler: handler,
});
}
exports.createCommand = createCommand;
function setup(program) {
return program
.option('--log-file', 'show the location of taco operation logs')
.option('--taco-info <taco-file-path>', 'show the versioning information of taco connector');
}
function handler(module) {
var options = module.optsWithGlobals();
if (options.logFile) {
showLogPath();
return;
}
var tacoInfo = options.tacoInfo;
if (tacoInfo) {
showTacoInformation(tacoInfo);
return;
}
module.help();
}
function showLogPath() {
var tacoRootPath = (0, connector_1.findTacoRootPath)();
(0, console_1.consoleInfo)((0, logging_1.getLogPath)(tacoRootPath));
}
function showTacoInformation(tacoFilePath) {
var _a;
if (!(0, connector_1.isValidTacoFile)(tacoFilePath)) {
(0, console_1.consoleError)("The target file '".concat(tacoFilePath, "' is not a valid .taco file."));
process_1.default.exit(1);
}
(0, command_2.exitIfNonExistPath)(tacoFilePath, "The taco file '".concat(tacoFilePath, "' could not be found at current path: '").concat(process_1.default.cwd(), "'"));
var tacoInfo = {};
var zip = new adm_zip_1.default(tacoFilePath);
var connectorJsonEntry = zip.getEntry('connector/connector.json');
if (!connectorJsonEntry) {
throw Error("Could not locate the connector.json inside ".concat(tacoFilePath));
}
var connectorJson = JSON.parse(connectorJsonEntry.getData().toString('utf8'));
var tableauVersion = connectorJson["tableau-version"], version = connectorJson.version;
tacoInfo.tableauVersion = tableauVersion;
tacoInfo.version = version;
var packageJsonEntry = zip.getEntry('connector/package.json');
if (!packageJsonEntry) {
throw Error("Could not locate the package.json inside ".concat(tacoFilePath));
}
var packageJson = JSON.parse(packageJsonEntry.getData().toString('utf8'));
var dependencies = packageJson.dependencies;
tacoInfo.toolkitVersion = dependencies === null || dependencies === void 0 ? void 0 : dependencies['@tableau/taco-toolkit'];
console.info("TACO connector \"".concat(chalk_1.default.green(tacoFilePath), "\" information:\n") +
" Connector version: ".concat(chalk_1.default.green(tacoInfo.version), "\n") +
" Tableau minimum version: ".concat(chalk_1.default.green((_a = tacoInfo.tableauVersion) === null || _a === void 0 ? void 0 : _a.min), "\n") +
" Built with taco-toolkit: ".concat(chalk_1.default.green('@tableau/taco-toolkit@' + tacoInfo.toolkitVersion)));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGkvdGFjby1jb21tYW5kcy9zaG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLG9EQUE0QjtBQUU1QixxQ0FBaUU7QUFDakUsK0NBQXFFO0FBQ3JFLDJDQUE0QztBQUM1QywyQ0FBMkQ7QUFDM0QsMkNBQW9EO0FBQ3BELG9EQUE2QjtBQUM3QixnREFBeUI7QUFFWixRQUFBLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQTtBQUV0QyxTQUFnQixhQUFhO0lBQzNCLE9BQU8sSUFBQSx1QkFBb0IsRUFBQyxNQUFNLEVBQUUsMkNBQTJDLEVBQUU7UUFDL0UsaUJBQWlCLEVBQUUsS0FBSztRQUN4QixLQUFLLE9BQUE7UUFDTCxPQUFPLFNBQUE7S0FDUixDQUFDLENBQUE7QUFDSixDQUFDO0FBTkQsc0NBTUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxPQUFnQjtJQUM3QixPQUFPLE9BQU87U0FDWCxNQUFNLENBQUMsWUFBWSxFQUFFLDBDQUEwQyxDQUFDO1NBQ2hFLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxtREFBbUQsQ0FBQyxDQUFBO0FBQ2hHLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxNQUFlO0lBQzlCLElBQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDbkIsV0FBVyxFQUFFLENBQUE7UUFDYixPQUFNO0tBQ1A7SUFFRCxJQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO0lBQ2pDLElBQUksUUFBUSxFQUFFO1FBQ1osbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDN0IsT0FBTTtLQUNQO0lBRUQsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixJQUFNLFlBQVksR0FBRyxJQUFBLDRCQUFnQixHQUFFLENBQUE7SUFDdkMsSUFBQSxxQkFBVyxFQUFDLElBQUEsb0JBQVUsRUFBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO0FBQ3ZDLENBQUM7QUFRRCxTQUFTLG1CQUFtQixDQUFDLFlBQW9COztJQUMvQyxJQUFJLENBQUMsSUFBQSwyQkFBZSxFQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ2xDLElBQUEsc0JBQVksRUFBQywyQkFBb0IsWUFBWSxpQ0FBOEIsQ0FBQyxDQUFBO1FBQzVFLGlCQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ2hCO0lBRUQsSUFBQSw0QkFBa0IsRUFDaEIsWUFBWSxFQUNaLHlCQUFrQixZQUFZLG9EQUEwQyxpQkFBTyxDQUFDLEdBQUcsRUFBRSxNQUFHLENBQ3pGLENBQUE7SUFFRCxJQUFNLFFBQVEsR0FBc0IsRUFBRSxDQUFBO0lBQ3RDLElBQU0sR0FBRyxHQUFHLElBQUksaUJBQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUVwQyxJQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUNuRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7UUFDdkIsTUFBTSxLQUFLLENBQUMscURBQThDLFlBQVksQ0FBRSxDQUFDLENBQUE7S0FDMUU7SUFFRCxJQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQ3ZFLElBQXFCLGNBQWMsR0FBYyxhQUFhLG1CQUEzQixFQUFFLE9BQU8sR0FBSyxhQUFhLFFBQWxCLENBQWtCO0lBQ3RFLFFBQVEsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO0lBQ3hDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBRTFCLElBQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQy9ELElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtRQUNyQixNQUFNLEtBQUssQ0FBQyxtREFBNEMsWUFBWSxDQUFFLENBQUMsQ0FBQTtLQUN4RTtJQUVELElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDbkUsSUFBQSxZQUFZLEdBQUssV0FBVyxhQUFoQixDQUFnQjtJQUNwQyxRQUFRLENBQUMsY0FBYyxHQUFHLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRyx1QkFBdUIsQ0FBQyxDQUFBO0lBRWpFLE9BQU8sQ0FBQyxJQUFJLENBQ1YsMkJBQW1CLGVBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLHNCQUFrQjtRQUM1RCxxQ0FBOEIsZUFBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQUk7UUFDL0QscUNBQThCLGVBQUssQ0FBQyxLQUFLLENBQUMsTUFBQSxRQUFRLENBQUMsY0FBYywwQ0FBRSxHQUFHLENBQUMsT0FBSTtRQUMzRSxxQ0FBOEIsZUFBSyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUUsQ0FDbEcsQ0FBQTtBQUNILENBQUMifQ==