UNPKG

create-nx-workspace

Version:

Smart Repos · Fast Builds

72 lines (71 loc) 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.connectToNxCloudForTemplate = connectToNxCloudForTemplate; exports.readNxCloudToken = readNxCloudToken; exports.createNxCloudOnboardingUrl = createNxCloudOnboardingUrl; exports.getNxCloudInfo = getNxCloudInfo; exports.getSkippedNxCloudInfo = getSkippedNxCloudInfo; const output_1 = require("../output"); const messages_1 = require("./messages"); const ab_testing_1 = require("./ab-testing"); const ora = require("ora"); async function connectToNxCloudForTemplate(directory, installationSource, useGitHub) { // nx-ignore-next-line const { connectToNxCloud } = require(require.resolve('nx/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud', { paths: [directory], } // nx-ignore-next-line )); // nx-ignore-next-line const { FsTree, flushChanges } = require(require.resolve('nx/src/generators/tree', { paths: [directory], // nx-ignore-next-line })); const tree = new FsTree(directory, false); const result = await connectToNxCloud(tree, { installationSource, directory: '', github: useGitHub, }); // Flush the tree changes to disk flushChanges(directory, tree.listChanges()); return result; } function readNxCloudToken(directory) { const nxCloudSpinner = ora(`Checking Nx Cloud setup`).start(); // nx-ignore-next-line const { getCloudOptions } = require(require.resolve('nx/src/nx-cloud/utilities/get-cloud-options', { paths: [directory], } // nx-ignore-next-line )); const { accessToken, nxCloudId } = getCloudOptions(directory); nxCloudSpinner.succeed('Nx Cloud has been set up successfully'); return accessToken || nxCloudId; } async function createNxCloudOnboardingUrl(nxCloud, token, directory, useGitHub) { // nx-ignore-next-line const { createNxCloudOnboardingURL } = require(require.resolve('nx/src/nx-cloud/utilities/url-shorten', { paths: [directory], } // nx-ignore-next-line )); // Source determines the onboarding flow type const source = nxCloud === 'yes' ? 'create-nx-workspace-success-cache-setup' : 'create-nx-workspace-success-ci-setup'; const meta = ab_testing_1.messages.codeOfSelectedPromptMessage('setupNxCloudV2'); return createNxCloudOnboardingURL(source, token, meta, false, useGitHub ?? (nxCloud === 'yes' || nxCloud === 'github' || nxCloud === 'circleci'), directory); } async function getNxCloudInfo(connectCloudUrl, pushedToVcs, completionMessageKey) { const out = new output_1.CLIOutput(false); const message = (0, messages_1.getCompletionMessage)(completionMessageKey, connectCloudUrl, pushedToVcs); out.success(message); return out.getOutput(); } function getSkippedNxCloudInfo() { const out = new output_1.CLIOutput(false); out.success((0, messages_1.getSkippedCloudMessage)()); return out.getOutput(); }