UNPKG

@tableau/taco-toolkit

Version:
54 lines 5.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.installTacoToolkit = exports.installDependencies = void 0; var command_1 = require("../utils/command"); var error_codes_1 = require("../../../shared/errors/error-codes"); var error_source_1 = require("../../../shared/errors/error-source"); var status_code_1 = require("../../../shared/errors/status-code"); var connector_1 = require("../utils/connector"); var logging_1 = require("../utils/logging"); var console_1 = require("../utils/console"); var constants_1 = require("../utils/constants"); var npm_command_1 = require("../utils/npm-command"); function installDependencies(tacoRootPath, state) { var spinner = state.spinner; var connectorFolderPath = (0, connector_1.getConnectorFolderPath)(tacoRootPath); spinner.start('Installing dependency packages. It may take a few minutes...'); var result = (0, npm_command_1.executeNpmCmd)(['install', '--loglevel=error', '--no-fund'], { cwd: connectorFolderPath, }); if ((0, command_1.isErrorResult)(result)) { var _a = result.error, stderr = _a.stderr, stdout = _a.stdout, error = _a.error; logging_1.logger.debug("Execution failure: failed to install npm dependencies.\nstdout: \"".concat(stdout, "\"\nstderr: \"").concat(stderr, "\"")); spinner.fail('Failed to install npm dependencies'); (0, logging_1.logFatalError)({ statusCode: status_code_1.StatusCode.Cancelled, errorSource: error_source_1.ErrorSources.Client, errorCode: error_codes_1.ErrorCodes.WQX8WEDW, message: "Failed to install npm dependencies.\nMore information: ".concat(stderr), error: error, }); process.exit(constants_1.TACO_COMMAND_ERROR_EXIT_CODE); } spinner.success('Successfully installed npm dependencies!'); } exports.installDependencies = installDependencies; // TODO: taco project should specify taco-toolkit as dependency. // Once it's done, we should remove this and add a npm package script to create the link for dev. function installTacoToolkit(tacoRootPath) { var connectorFolderPath = (0, connector_1.getConnectorFolderPath)(tacoRootPath); // TODO: warn here for the projects that don't declare taco-toolkit in package.json // Currently, we have too many existing useages. Let's add it after some cleanup. // As a fallback, link to the global taco-toolkit, if the dependency is not declared in package.json var result = (0, npm_command_1.executeNpmCmd)(['link', '@tableau/taco-toolkit', '--loglevel=error'], { cwd: connectorFolderPath, }); if ((0, command_1.isErrorResult)(result)) { var _a = result.error, stderr = _a.stderr, stdout = _a.stdout, error = _a.error; logging_1.logger.debug("Execution failure: failed to link taco-toolkit.\nstdout: \"".concat(stdout, "\"\nstderr: \"").concat(stderr, "\"")); (0, console_1.consoleError)('Failed to link taco-toolkit', error); process.exit(constants_1.TACO_COMMAND_ERROR_EXIT_CODE); } } exports.installTacoToolkit = installTacoToolkit; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvdGFjby1jb21tYW5kcy9idWlsZC9pbnN0YWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFnRTtBQUNoRSxrRUFBK0Q7QUFDL0Qsb0VBQWtFO0FBQ2xFLGtFQUErRDtBQUMvRCxnREFBMkQ7QUFDM0QsNENBQXdEO0FBQ3hELDRDQUErQztBQUMvQyxnREFBaUU7QUFDakUsb0RBQW9EO0FBRXBELFNBQWdCLG1CQUFtQixDQUFDLFlBQW9CLEVBQUUsS0FBcUI7SUFDckUsSUFBQSxPQUFPLEdBQUssS0FBSyxRQUFWLENBQVU7SUFDekIsSUFBTSxtQkFBbUIsR0FBRyxJQUFBLGtDQUFzQixFQUFDLFlBQVksQ0FBQyxDQUFBO0lBRWhFLE9BQU8sQ0FBQyxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQTtJQUM3RSxJQUFNLE1BQU0sR0FBRyxJQUFBLDJCQUFhLEVBQUMsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLEVBQUU7UUFDekUsR0FBRyxFQUFFLG1CQUFtQjtLQUN6QixDQUFDLENBQUE7SUFFRixJQUFJLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsRUFBRTtRQUNuQixJQUFBLEtBQTRCLE1BQU0sQ0FBQyxLQUFLLEVBQXRDLE1BQU0sWUFBQSxFQUFFLE1BQU0sWUFBQSxFQUFFLEtBQUssV0FBaUIsQ0FBQTtRQUU5QyxnQkFBTSxDQUFDLEtBQUssQ0FBQyw0RUFBb0UsTUFBTSwyQkFBZSxNQUFNLE9BQUcsQ0FBQyxDQUFBO1FBRWhILE9BQU8sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtRQUVsRCxJQUFBLHVCQUFhLEVBQUM7WUFDWixVQUFVLEVBQUUsd0JBQVUsQ0FBQyxTQUFTO1lBQ2hDLFdBQVcsRUFBRSwyQkFBWSxDQUFDLE1BQU07WUFDaEMsU0FBUyxFQUFFLHdCQUFVLENBQUMsUUFBUTtZQUM5QixPQUFPLEVBQUUsaUVBQTBELE1BQU0sQ0FBRTtZQUMzRSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQTRCLENBQUMsQ0FBQTtLQUMzQztJQUVELE9BQU8sQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQTtBQUM3RCxDQUFDO0FBM0JELGtEQTJCQztBQUVELGdFQUFnRTtBQUNoRSxpR0FBaUc7QUFDakcsU0FBZ0Isa0JBQWtCLENBQUMsWUFBb0I7SUFDckQsSUFBTSxtQkFBbUIsR0FBRyxJQUFBLGtDQUFzQixFQUFDLFlBQVksQ0FBQyxDQUFBO0lBRWhFLG1GQUFtRjtJQUNuRixpRkFBaUY7SUFFakYsb0dBQW9HO0lBQ3BHLElBQU0sTUFBTSxHQUFHLElBQUEsMkJBQWEsRUFBQyxDQUFDLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO1FBQ2xGLEdBQUcsRUFBRSxtQkFBbUI7S0FDekIsQ0FBQyxDQUFBO0lBRUYsSUFBSSxJQUFBLHVCQUFhLEVBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbkIsSUFBQSxLQUE0QixNQUFNLENBQUMsS0FBSyxFQUF0QyxNQUFNLFlBQUEsRUFBRSxNQUFNLFlBQUEsRUFBRSxLQUFLLFdBQWlCLENBQUE7UUFDOUMsZ0JBQU0sQ0FBQyxLQUFLLENBQUMscUVBQTZELE1BQU0sMkJBQWUsTUFBTSxPQUFHLENBQUMsQ0FBQTtRQUN6RyxJQUFBLHNCQUFZLEVBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbEQsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBNEIsQ0FBQyxDQUFBO0tBQzNDO0FBQ0gsQ0FBQztBQWpCRCxnREFpQkMifQ==