create-nx-workspace
Version:
62 lines (61 loc) • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMessageFactory = getMessageFactory;
const git_1 = require("../git/git");
function getSetupMessage(url, pushedToVcs) {
if (pushedToVcs === git_1.VcsPushStatus.PushedToVcs) {
return url
? `Go to Nx Cloud and finish the setup: ${url}`
: 'Return to Nx Cloud and finish the setup.';
}
// Default case: FailedToPushToVcs
const action = url ? 'go' : 'return';
const urlSuffix = url ? `: ${url}` : '.';
return `Push your repo, then ${action} to Nx Cloud and finish the setup${urlSuffix}`;
}
const outputMessages = {
'create-nx-workspace-success-ci-setup': [
{
code: 'ci-setup-visit',
createMessage: (url, pushedToVcs) => {
return {
title: `Your CI setup is almost complete.`,
type: 'success',
bodyLines: [getSetupMessage(url, pushedToVcs)],
};
},
},
],
'create-nx-workspace-success-cache-setup': [
{
code: 'remote-cache-visit',
createMessage: (url, pushedToVcs) => {
return {
title: `Your remote cache is almost complete.`,
type: 'success',
bodyLines: [getSetupMessage(url, pushedToVcs)],
};
},
},
],
};
class ABTestingMessages {
constructor() {
this.selectedMessages = {};
}
getMessageFactory(key) {
if (this.selectedMessages[key] === undefined) {
if (process.env.NX_GENERATE_DOCS_PROCESS === 'true') {
this.selectedMessages[key] = 0;
}
else {
this.selectedMessages[key] = Math.floor(Math.random() * outputMessages[key].length);
}
}
return outputMessages[key][this.selectedMessages[key]];
}
}
const messages = new ABTestingMessages();
function getMessageFactory(key) {
return messages.getMessageFactory(key);
}