create-nx-workspace
Advanced tools
Comparing version 0.0.0-pr-25990-b92e6b1 to 0.0.0-pr-26482-1bdb7bd
@@ -17,3 +17,2 @@ "use strict"; | ||
const show_nx_warning_1 = require("../src/utils/nx/show-nx-warning"); | ||
const nx_cloud_1 = require("../src/utils/nx/nx-cloud"); | ||
const ab_testing_1 = require("../src/utils/nx/ab-testing"); | ||
@@ -129,3 +128,3 @@ const error_utils_1 = require("../src/utils/error-utils"); | ||
if (parsedArgs.nxCloud && workspaceInfo.nxCloudInfo) { | ||
(0, nx_cloud_1.printNxCloudSuccessMessage)(workspaceInfo.nxCloudInfo); | ||
console.log(workspaceInfo.nxCloudInfo); | ||
} | ||
@@ -177,23 +176,12 @@ if ((0, preset_1.isKnownPreset)(parsedArgs.preset)) { | ||
const defaultBase = await (0, prompts_1.determineDefaultBase)(argv); | ||
if (process.env.NX_NEW_CLOUD_ONBOARDING === 'true') { | ||
const nxCloud = argv.skipGit === true ? 'skip' : await (0, prompts_1.determineNxCloud)(argv); | ||
const useGitHub = nxCloud === 'skip' | ||
? undefined | ||
: nxCloud === 'github' || | ||
(await (0, prompts_1.determineIfGitHubWillBeUsed)(nxCloud)); | ||
Object.assign(argv, { | ||
nxCloud, | ||
useGitHub, | ||
packageManager, | ||
defaultBase, | ||
}); | ||
} | ||
else { | ||
const nxCloud = await (0, prompts_1.determineNxCloud)(argv); | ||
Object.assign(argv, { | ||
nxCloud, | ||
packageManager, | ||
defaultBase, | ||
}); | ||
} | ||
const nxCloud = argv.skipGit === true ? 'skip' : await (0, prompts_1.determineNxCloud)(argv); | ||
const useGitHub = nxCloud === 'skip' | ||
? undefined | ||
: nxCloud === 'github' || (await (0, prompts_1.determineIfGitHubWillBeUsed)(nxCloud)); | ||
Object.assign(argv, { | ||
nxCloud, | ||
useGitHub, | ||
packageManager, | ||
defaultBase, | ||
}); | ||
} | ||
@@ -200,0 +188,0 @@ catch (e) { |
{ | ||
"name": "create-nx-workspace", | ||
"version": "0.0.0-pr-25990-b92e6b1", | ||
"version": "0.0.0-pr-26482-1bdb7bd", | ||
"private": false, | ||
@@ -40,3 +40,3 @@ "description": "Smart Monorepos · Fast CI", | ||
"yargs": "^17.6.2", | ||
"axios": "^1.6.0" | ||
"axios": "^1.7.2" | ||
}, | ||
@@ -43,0 +43,0 @@ "publishConfig": { |
@@ -27,4 +27,2 @@ <p style="text-align: center;"> | ||
{{getting-started}} | ||
## What is It? | ||
@@ -69,3 +67,3 @@ | ||
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools) | ||
- [Blog Posts About Nx](https://blog.nrwl.io/nx/home) | ||
- [Blog Posts About Nx](https://nx.dev/blog) | ||
@@ -72,0 +70,0 @@ <p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg" |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createEmptyWorkspace = void 0; | ||
exports.createEmptyWorkspace = createEmptyWorkspace; | ||
const ora = require("ora"); | ||
@@ -67,2 +67,1 @@ const path_1 = require("path"); | ||
} | ||
exports.createEmptyWorkspace = createEmptyWorkspace; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createPreset = void 0; | ||
exports.createPreset = createPreset; | ||
const output_1 = require("./utils/output"); | ||
@@ -44,2 +44,1 @@ const package_manager_1 = require("./utils/package-manager"); | ||
} | ||
exports.createPreset = createPreset; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createSandbox = void 0; | ||
exports.createSandbox = createSandbox; | ||
const fs_1 = require("fs"); | ||
@@ -55,2 +55,1 @@ const tmp_1 = require("tmp"); | ||
} | ||
exports.createSandbox = createSandbox; |
@@ -6,1 +6,2 @@ import { CreateWorkspaceOptions } from './create-workspace-options'; | ||
}>; | ||
export declare function extractConnectUrl(text: string): string | null; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.createWorkspace = void 0; | ||
exports.createWorkspace = createWorkspace; | ||
exports.extractConnectUrl = extractConnectUrl; | ||
const output_1 = require("./utils/output"); | ||
@@ -28,12 +29,16 @@ const nx_cloud_1 = require("./utils/nx/nx-cloud"); | ||
} | ||
let nxCloudInstallRes; | ||
let connectUrl; | ||
let nxCloudInfo; | ||
if (nxCloud !== 'skip') { | ||
nxCloudInstallRes = await (0, nx_cloud_1.setupNxCloud)(directory, packageManager, nxCloud, useGitHub); | ||
const token = await (0, nx_cloud_1.setupNxCloud)(directory, nxCloud, useGitHub); | ||
if (nxCloud !== 'yes') { | ||
await (0, setup_ci_1.setupCI)(directory, nxCloud, packageManager, nxCloudInstallRes?.code === 0); | ||
await (0, setup_ci_1.setupCI)(directory, nxCloud, packageManager); | ||
} | ||
const { connectCloudUrl, output } = await (0, nx_cloud_1.getOnboardingInfo)(nxCloud, token, directory, useGitHub); | ||
connectUrl = connectCloudUrl; | ||
nxCloudInfo = output; | ||
} | ||
if (!skipGit && commit) { | ||
if (!skipGit) { | ||
try { | ||
await (0, git_1.initializeGitRepo)(directory, { defaultBase, commit }); | ||
await (0, git_1.initializeGitRepo)(directory, { defaultBase, commit, connectUrl }); | ||
} | ||
@@ -53,6 +58,10 @@ catch (e) { | ||
return { | ||
nxCloudInfo: nxCloudInstallRes?.stdout, | ||
nxCloudInfo, | ||
directory, | ||
}; | ||
} | ||
exports.createWorkspace = createWorkspace; | ||
function extractConnectUrl(text) { | ||
const urlPattern = /(https:\/\/[^\s]+\/connect\/[^\s]+)/g; | ||
const match = text.match(urlPattern); | ||
return match ? match[0] : null; | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.determinePackageManager = exports.determineDefaultBase = exports.determineIfGitHubWillBeUsed = exports.determineNxCloud = void 0; | ||
exports.determineNxCloud = determineNxCloud; | ||
exports.determineIfGitHubWillBeUsed = determineIfGitHubWillBeUsed; | ||
exports.determineDefaultBase = determineDefaultBase; | ||
exports.determinePackageManager = determinePackageManager; | ||
const ab_testing_1 = require("../utils/nx/ab-testing"); | ||
@@ -19,3 +22,2 @@ const output_1 = require("../utils/output"); | ||
} | ||
exports.determineNxCloud = determineNxCloud; | ||
async function determineIfGitHubWillBeUsed(nxCloud) { | ||
@@ -36,3 +38,2 @@ if (nxCloud === 'yes' || nxCloud === 'circleci') { | ||
} | ||
exports.determineIfGitHubWillBeUsed = determineIfGitHubWillBeUsed; | ||
async function nxCloudPrompt(key) { | ||
@@ -87,3 +88,2 @@ const { message, choices, initial, fallback, footer, hint } = ab_testing_1.messages.getPrompt(key); | ||
} | ||
exports.determineDefaultBase = determineDefaultBase; | ||
async function determinePackageManager(parsedArgs) { | ||
@@ -125,2 +125,1 @@ const packageManager = parsedArgs.packageManager; | ||
} | ||
exports.determinePackageManager = determinePackageManager; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.withOptions = exports.withGitOptions = exports.withPackageManager = exports.withAllPrompts = exports.withUseGitHub = exports.withNxCloud = void 0; | ||
exports.withNxCloud = withNxCloud; | ||
exports.withUseGitHub = withUseGitHub; | ||
exports.withAllPrompts = withAllPrompts; | ||
exports.withPackageManager = withPackageManager; | ||
exports.withGitOptions = withGitOptions; | ||
exports.withOptions = withOptions; | ||
const chalk = require("chalk"); | ||
@@ -17,3 +22,2 @@ const ab_testing_1 = require("../utils/nx/ab-testing"); | ||
} | ||
exports.withNxCloud = withNxCloud; | ||
function withUseGitHub(argv) { | ||
@@ -26,3 +30,2 @@ return argv.option('useGitHub', { | ||
} | ||
exports.withUseGitHub = withUseGitHub; | ||
function withAllPrompts(argv) { | ||
@@ -36,3 +39,2 @@ return argv.option('allPrompts', { | ||
} | ||
exports.withAllPrompts = withAllPrompts; | ||
function withPackageManager(argv) { | ||
@@ -47,3 +49,2 @@ return argv.option('packageManager', { | ||
} | ||
exports.withPackageManager = withPackageManager; | ||
function withGitOptions(argv) { | ||
@@ -76,3 +77,2 @@ return argv | ||
} | ||
exports.withGitOptions = withGitOptions; | ||
function withOptions(argv, ...options) { | ||
@@ -83,2 +83,1 @@ // Reversing the options keeps the execution order correct. | ||
} | ||
exports.withOptions = withOptions; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.execAndWait = exports.spawnAndWait = void 0; | ||
exports.spawnAndWait = spawnAndWait; | ||
exports.execAndWait = execAndWait; | ||
const child_process_1 = require("child_process"); | ||
@@ -30,3 +31,2 @@ const fs_1 = require("fs"); | ||
} | ||
exports.spawnAndWait = spawnAndWait; | ||
function execAndWait(command, cwd) { | ||
@@ -47,2 +47,1 @@ return new Promise((res, rej) => { | ||
} | ||
exports.execAndWait = execAndWait; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isCI = void 0; | ||
exports.isCI = isCI; | ||
function isCI() { | ||
@@ -20,2 +20,1 @@ return ((process.env.CI && process.env.CI !== 'false') || | ||
} | ||
exports.isCI = isCI; |
import { PackageManager } from '../package-manager'; | ||
export declare function setupCI(directory: string, ci: string, packageManager: PackageManager, nxCloudSuccessfullyInstalled: boolean): Promise<{ | ||
export declare function setupCI(directory: string, ci: string, packageManager: PackageManager): Promise<{ | ||
code: number; | ||
stdout: string; | ||
}>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.setupCI = void 0; | ||
exports.setupCI = setupCI; | ||
const ora = require("ora"); | ||
@@ -9,12 +9,3 @@ const child_process_utils_1 = require("../child-process-utils"); | ||
const package_manager_1 = require("../package-manager"); | ||
async function setupCI(directory, ci, packageManager, nxCloudSuccessfullyInstalled) { | ||
if (!nxCloudSuccessfullyInstalled) { | ||
output_1.output.error({ | ||
title: `CI workflow generation skipped`, | ||
bodyLines: [ | ||
`Nx Cloud was not installed`, | ||
`The autogenerated CI workflow requires Nx Cloud to be set-up.`, | ||
], | ||
}); | ||
} | ||
async function setupCI(directory, ci, packageManager) { | ||
const ciSpinner = ora(`Generating CI workflow`).start(); | ||
@@ -44,2 +35,1 @@ try { | ||
} | ||
exports.setupCI = setupCI; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.mapErrorToBodyLines = exports.CreateNxWorkspaceError = void 0; | ||
exports.CreateNxWorkspaceError = void 0; | ||
exports.mapErrorToBodyLines = mapErrorToBodyLines; | ||
class CreateNxWorkspaceError extends Error { | ||
@@ -32,2 +33,1 @@ constructor(logMessage, code, logFile) { | ||
} | ||
exports.mapErrorToBodyLines = mapErrorToBodyLines; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.deduceDefaultBase = void 0; | ||
exports.deduceDefaultBase = deduceDefaultBase; | ||
const child_process_1 = require("child_process"); | ||
@@ -19,2 +19,1 @@ /* | ||
} | ||
exports.deduceDefaultBase = deduceDefaultBase; |
@@ -9,2 +9,3 @@ export declare function checkGitVersion(): string | null | undefined; | ||
}; | ||
connectUrl?: string | null; | ||
}): Promise<void>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.initializeGitRepo = exports.checkGitVersion = void 0; | ||
exports.checkGitVersion = checkGitVersion; | ||
exports.initializeGitRepo = initializeGitRepo; | ||
const child_process_1 = require("child_process"); | ||
@@ -16,3 +17,2 @@ const default_base_1 = require("./default-base"); | ||
} | ||
exports.checkGitVersion = checkGitVersion; | ||
async function initializeGitRepo(directory, options) { | ||
@@ -75,6 +75,14 @@ const execute = (args, ignoreErrorStream = false) => { | ||
if (options.commit) { | ||
const message = options.commit.message || 'initial commit'; | ||
let message = `${options.commit.message}` || 'initial commit'; | ||
if (options.connectUrl) { | ||
message = `${message} | ||
To connect your workspace to Nx Cloud, push your repository | ||
to your git hosting provider and go to the following URL: | ||
${options.connectUrl} | ||
`; | ||
} | ||
await execute(['commit', `-m "${message}"`]); | ||
} | ||
} | ||
exports.initializeGitRepo = initializeGitRepo; |
export declare const NxCloudChoices: string[]; | ||
declare const messageOptions: { | ||
readonly setupCI: readonly [{ | ||
readonly code: "enable-nx-cloud"; | ||
readonly message: "Do you want Nx Cloud to make your CI fast?"; | ||
readonly initial: 1; | ||
readonly choices: readonly [{ | ||
readonly value: "yes"; | ||
readonly name: "Yes, enable Nx Cloud"; | ||
}, { | ||
readonly value: "github"; | ||
readonly name: "Yes, configure Nx Cloud for GitHub Actions"; | ||
}, { | ||
readonly value: "circleci"; | ||
readonly name: "Yes, configure Nx Cloud for Circle CI"; | ||
}, { | ||
readonly value: "skip"; | ||
readonly name: "Skip for now"; | ||
}]; | ||
readonly footer: "\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud"; | ||
readonly hint: "\n(it's free and can be disabled any time)"; | ||
readonly fallback: undefined; | ||
}, { | ||
readonly code: "set-up-ci"; | ||
readonly message: "Set up CI with caching, distribution and test deflaking"; | ||
readonly initial: 0; | ||
readonly choices: readonly [{ | ||
readonly value: "github"; | ||
readonly name: "Yes, for GitHub Actions with Nx Cloud"; | ||
}, { | ||
readonly value: "circleci"; | ||
readonly name: "Yes, for CircleCI with Nx Cloud"; | ||
}, { | ||
readonly value: "skip"; | ||
readonly name: "Skip for now"; | ||
}]; | ||
readonly footer: "\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud"; | ||
readonly hint: "\n(it's free and can be disabled any time)"; | ||
readonly fallback: { | ||
readonly value: "skip"; | ||
readonly key: "setupNxCloud"; | ||
}; | ||
}]; | ||
readonly setupNxCloud: readonly [{ | ||
readonly code: "enable-caching"; | ||
readonly message: "Would you like remote caching to make your build faster?"; | ||
readonly initial: 0; | ||
readonly choices: readonly [{ | ||
readonly value: "yes"; | ||
readonly name: "Yes"; | ||
}, { | ||
readonly value: "skip"; | ||
readonly name: "Skip for now"; | ||
}]; | ||
readonly footer: "\nRead more about remote caching at https://nx.dev/ci/features/remote-cache"; | ||
readonly hint: "\n(it's free and can be disabled any time)"; | ||
readonly fallback: undefined; | ||
}]; | ||
}; | ||
declare const messageOptions: Record<string, MessageData[]>; | ||
export type MessageKey = keyof typeof messageOptions; | ||
type MessageData = (typeof messageOptions)[MessageKey][number]; | ||
interface MessageData { | ||
code: string; | ||
message: string; | ||
initial: number; | ||
choices: Array<{ | ||
value: string; | ||
name: string; | ||
}>; | ||
footer: string; | ||
hint?: string; | ||
fallback?: { | ||
value: string; | ||
key: MessageKey; | ||
}; | ||
} | ||
export declare class PromptMessages { | ||
@@ -63,0 +20,0 @@ private selectedMessages; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.recordStat = exports.messages = exports.PromptMessages = exports.NxCloudChoices = void 0; | ||
exports.messages = exports.PromptMessages = exports.NxCloudChoices = void 0; | ||
exports.recordStat = recordStat; | ||
const node_child_process_1 = require("node:child_process"); | ||
const is_ci_1 = require("../ci/is-ci"); | ||
const package_manager_1 = require("../package-manager"); | ||
exports.NxCloudChoices = ['yes', 'github', 'circleci', 'skip']; | ||
exports.NxCloudChoices = [ | ||
'github', | ||
'circleci', | ||
'gitlab', | ||
'azure', | ||
'bitbucket-pipelines', | ||
'skip', | ||
'yes', // Deprecated but still handled | ||
]; | ||
const messageOptions = { | ||
/** | ||
* These messages are for setting up CI as part of create-nx-workspace and nx init | ||
*/ | ||
setupCI: [ | ||
{ | ||
code: 'enable-nx-cloud', | ||
message: `Do you want Nx Cloud to make your CI fast?`, | ||
initial: 1, | ||
choices: [ | ||
{ value: 'yes', name: 'Yes, enable Nx Cloud' }, | ||
{ value: 'github', name: 'Yes, configure Nx Cloud for GitHub Actions' }, | ||
{ value: 'circleci', name: 'Yes, configure Nx Cloud for Circle CI' }, | ||
{ value: 'skip', name: 'Skip for now' }, | ||
], | ||
footer: '\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud', | ||
hint: `\n(it's free and can be disabled any time)`, | ||
fallback: undefined, | ||
}, | ||
{ | ||
code: 'set-up-ci', | ||
message: `Set up CI with caching, distribution and test deflaking`, | ||
code: 'which-ci-provider', | ||
message: `Which CI provider would you like to use?`, | ||
initial: 0, | ||
choices: [ | ||
{ value: 'github', name: 'Yes, for GitHub Actions with Nx Cloud' }, | ||
{ value: 'circleci', name: 'Yes, for CircleCI with Nx Cloud' }, | ||
{ value: 'skip', name: 'Skip for now' }, | ||
{ value: 'github', name: 'GitHub Actions' }, | ||
{ value: 'circleci', name: 'Circle CI' }, | ||
{ value: 'gitlab', name: 'Gitlab' }, | ||
{ value: 'azure', name: 'Azure DevOps' }, | ||
{ value: 'bitbucket-pipelines', name: 'BitBucket Pipelines' }, | ||
{ value: 'skip', name: '\nDo it later' }, | ||
], | ||
footer: '\nWatch a short video on Nx Cloud at https://nx.dev/ci/intro/why-nx-cloud', | ||
hint: `\n(it's free and can be disabled any time)`, | ||
footer: '\nRemote caching, task distribution and test splitting are provided by Nx Cloud. Read more at https://nx.dev/ci', | ||
fallback: { value: 'skip', key: 'setupNxCloud' }, | ||
}, | ||
], | ||
/** | ||
* These messages are a fallback for setting up CI as well as when migrating major versions | ||
*/ | ||
setupNxCloud: [ | ||
{ | ||
code: 'enable-caching', | ||
code: 'enable-caching2', | ||
message: `Would you like remote caching to make your build faster?`, | ||
@@ -45,6 +48,9 @@ initial: 0, | ||
{ value: 'yes', name: 'Yes' }, | ||
{ value: 'skip', name: 'Skip for now' }, | ||
{ | ||
value: 'skip', | ||
name: 'No - I would not like remote caching', | ||
}, | ||
], | ||
footer: '\nRead more about remote caching at https://nx.dev/ci/features/remote-cache', | ||
hint: `\n(it's free and can be disabled any time)`, | ||
hint: `\n(can be disabled any time)`, | ||
fallback: undefined, | ||
@@ -109,3 +115,2 @@ }, | ||
} | ||
exports.recordStat = recordStat; | ||
function shouldRecordStats() { | ||
@@ -112,0 +117,0 @@ const pmc = (0, package_manager_1.getPackageManagerCommand)(); |
@@ -1,7 +0,6 @@ | ||
import { PackageManager } from '../package-manager'; | ||
export type NxCloud = 'yes' | 'github' | 'circleci' | 'skip'; | ||
export declare function setupNxCloud(directory: string, packageManager: PackageManager, nxCloud: NxCloud, useGitHub?: boolean): Promise<{ | ||
code: number; | ||
stdout: string; | ||
export declare function setupNxCloud(directory: string, nxCloud: NxCloud, useGitHub?: boolean): Promise<string>; | ||
export declare function getOnboardingInfo(nxCloud: NxCloud, token: string, directory: string, useGithub?: boolean): Promise<{ | ||
output: string; | ||
connectCloudUrl: string; | ||
}>; | ||
export declare function printNxCloudSuccessMessage(nxCloudOut: string): void; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.printNxCloudSuccessMessage = exports.setupNxCloud = void 0; | ||
exports.setupNxCloud = setupNxCloud; | ||
exports.getOnboardingInfo = getOnboardingInfo; | ||
const ora = require("ora"); | ||
const child_process_utils_1 = require("../child-process-utils"); | ||
const output_1 = require("../output"); | ||
const package_manager_1 = require("../package-manager"); | ||
const error_utils_1 = require("../error-utils"); | ||
async function setupNxCloud(directory, packageManager, nxCloud, useGitHub) { | ||
const messages_1 = require("./messages"); | ||
async function setupNxCloud(directory, nxCloud, useGitHub) { | ||
const nxCloudSpinner = ora(`Setting up Nx Cloud`).start(); | ||
try { | ||
const pmc = (0, package_manager_1.getPackageManagerCommand)(packageManager); | ||
const res = await (0, child_process_utils_1.execAndWait)(process.env.NX_NEW_CLOUD_ONBOARDING === 'true' | ||
? `${pmc.exec} nx g nx:connect-to-nx-cloud --installationSource=create-nx-workspace ${useGitHub ? '--github' : ''} --no-interactive` | ||
: `${pmc.exec} nx g nx:connect-to-nx-cloud --no-interactive --quiet`, directory); | ||
if (nxCloud !== 'yes') { | ||
nxCloudSpinner.succeed('CI workflow with Nx Cloud has been generated successfully'); | ||
// nx-ignore-next-line | ||
const { connectWorkspaceToCloud } = require(require.resolve('nx/src/command-line/connect/connect-to-nx-cloud', { | ||
paths: [directory], | ||
} | ||
else { | ||
nxCloudSpinner.succeed('Nx Cloud has been set up successfully'); | ||
} | ||
return res; | ||
// nx-ignore-next-line | ||
)); | ||
const accessToken = await connectWorkspaceToCloud({ | ||
installationSource: 'create-nx-workspace', | ||
directory, | ||
github: useGitHub, | ||
}); | ||
nxCloudSpinner.succeed('Nx Cloud has been set up successfully'); | ||
return accessToken; | ||
} | ||
@@ -41,19 +43,24 @@ catch (e) { | ||
} | ||
exports.setupNxCloud = setupNxCloud; | ||
function printNxCloudSuccessMessage(nxCloudOut) { | ||
// remove leading Nx carret and any new lines | ||
const logContent = nxCloudOut.split('NX ')[1]; | ||
const indexOfTitleEnd = logContent.indexOf('\n'); | ||
const title = logContent.slice(0, logContent.indexOf('\n')).trim(); | ||
const bodyLines = logContent | ||
.slice(indexOfTitleEnd) | ||
.replace(/^\n*/, '') // remove leading new lines | ||
.replace(/\n*$/, '') // remove trailing new lines | ||
.split('\n') | ||
.map((r) => r.trim()); | ||
output_1.output.warn({ | ||
title, | ||
bodyLines, | ||
}); | ||
async function getOnboardingInfo(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 | ||
)); | ||
const source = nxCloud === 'yes' | ||
? 'create-nx-workspace-success-cache-setup' | ||
: 'create-nx-workspace-success-ci-setup'; | ||
const { code, createMessage } = (0, messages_1.getMessageFactory)(source); | ||
const connectCloudUrl = await createNxCloudOnboardingURL(source, token, useGithub ?? | ||
(nxCloud === 'yes' || nxCloud === 'github' || nxCloud === 'circleci'), code); | ||
const out = new output_1.CLIOutput(false); | ||
const message = createMessage(connectCloudUrl); | ||
if (message.type === 'success') { | ||
out.success(message); | ||
} | ||
else { | ||
out.warn(message); | ||
} | ||
return { output: out.getOutput(), connectCloudUrl }; | ||
} | ||
exports.printNxCloudSuccessMessage = printNxCloudSuccessMessage; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.showNxWarning = void 0; | ||
exports.showNxWarning = showNxWarning; | ||
const child_process_1 = require("child_process"); | ||
@@ -29,2 +29,1 @@ const path_1 = require("path"); | ||
} | ||
exports.showNxWarning = showNxWarning; |
@@ -18,3 +18,6 @@ import * as chalk from 'chalk'; | ||
} | ||
declare class CLIOutput { | ||
export declare class CLIOutput { | ||
private real; | ||
private outstream; | ||
constructor(real?: boolean); | ||
/** | ||
@@ -57,4 +60,4 @@ * Longer dash character which forms more of a continuous line when place side to side | ||
}): void; | ||
getOutput(): string; | ||
} | ||
export declare const output: CLIOutput; | ||
export {}; |
@@ -7,3 +7,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.output = void 0; | ||
exports.output = exports.CLIOutput = void 0; | ||
const chalk = require("chalk"); | ||
@@ -19,3 +19,5 @@ const os_1 = require("os"); | ||
class CLIOutput { | ||
constructor() { | ||
constructor(real = true) { | ||
this.real = real; | ||
this.outstream = this.real ? process.stdout : new FakeStdout(); | ||
/** | ||
@@ -50,3 +52,3 @@ * Expose some color and other utility functions so that other parts of the codebase that need | ||
writeToStdOut(str) { | ||
process.stdout.write(str); | ||
this.outstream.write(str); | ||
} | ||
@@ -140,3 +142,18 @@ writeOutputTitle({ color, title, }) { | ||
} | ||
getOutput() { | ||
return this.outstream.toString(); | ||
} | ||
} | ||
exports.CLIOutput = CLIOutput; | ||
exports.output = new CLIOutput(); | ||
class FakeStdout { | ||
constructor() { | ||
this.content = ''; | ||
} | ||
write(str) { | ||
this.content += str; | ||
} | ||
toString() { | ||
return this.content; | ||
} | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.detectInvokedPackageManager = exports.getPackageManagerVersion = exports.generatePackageManagerFiles = exports.getPackageManagerCommand = exports.detectPackageManager = exports.packageManagerList = void 0; | ||
exports.packageManagerList = void 0; | ||
exports.detectPackageManager = detectPackageManager; | ||
exports.getPackageManagerCommand = getPackageManagerCommand; | ||
exports.generatePackageManagerFiles = generatePackageManagerFiles; | ||
exports.getPackageManagerVersion = getPackageManagerVersion; | ||
exports.detectInvokedPackageManager = detectInvokedPackageManager; | ||
const child_process_1 = require("child_process"); | ||
@@ -21,3 +26,2 @@ const fs_1 = require("fs"); | ||
} | ||
exports.detectPackageManager = detectPackageManager; | ||
/** | ||
@@ -81,3 +85,2 @@ * Returns commands for the package manager used in the workspace. | ||
} | ||
exports.getPackageManagerCommand = getPackageManagerCommand; | ||
function generatePackageManagerFiles(root, packageManager = detectPackageManager()) { | ||
@@ -95,3 +98,2 @@ const [pmMajor] = getPackageManagerVersion(packageManager).split('.'); | ||
} | ||
exports.generatePackageManagerFiles = generatePackageManagerFiles; | ||
const pmVersionCache = new Map(); | ||
@@ -109,3 +111,2 @@ function getPackageManagerVersion(packageManager, cwd = process.cwd()) { | ||
} | ||
exports.getPackageManagerVersion = getPackageManagerVersion; | ||
/** | ||
@@ -136,2 +137,1 @@ * Detects which package manager was used to invoke create-nx-{plugin|workspace} command | ||
} | ||
exports.detectInvokedPackageManager = detectInvokedPackageManager; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getPackageNameFromThirdPartyPreset = void 0; | ||
exports.getPackageNameFromThirdPartyPreset = getPackageNameFromThirdPartyPreset; | ||
const validate_npm_package_1 = require("../validate-npm-package"); | ||
@@ -29,2 +29,1 @@ const preset_1 = require("./preset"); | ||
} | ||
exports.getPackageNameFromThirdPartyPreset = getPackageNameFromThirdPartyPreset; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.pointToTutorialAndCourse = void 0; | ||
exports.pointToTutorialAndCourse = pointToTutorialAndCourse; | ||
const output_1 = require("../output"); | ||
@@ -74,2 +74,1 @@ const preset_1 = require("./preset"); | ||
} | ||
exports.pointToTutorialAndCourse = pointToTutorialAndCourse; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.isKnownPreset = exports.Preset = void 0; | ||
exports.Preset = void 0; | ||
exports.isKnownPreset = isKnownPreset; | ||
var Preset; | ||
@@ -41,2 +42,1 @@ (function (Preset) { | ||
} | ||
exports.isKnownPreset = isKnownPreset; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.stringifyCollection = void 0; | ||
exports.stringifyCollection = stringifyCollection; | ||
function stringifyCollection(items) { | ||
return items.map((item) => `"${item}"`).join(', '); | ||
} | ||
exports.stringifyCollection = stringifyCollection; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.unparse = void 0; | ||
exports.unparse = unparse; | ||
const flat_1 = require("flat"); | ||
@@ -13,3 +13,2 @@ function unparse(options) { | ||
} | ||
exports.unparse = unparse; | ||
function unparseOption(key, value, unparsed) { | ||
@@ -16,0 +15,0 @@ if (value === true) { |
@@ -7,3 +7,3 @@ "use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.validateNpmPackage = void 0; | ||
exports.validateNpmPackage = validateNpmPackage; | ||
const scopedPackagePattern = new RegExp('^(?:@([^/]+?)[/])?([^/]+?)$'); | ||
@@ -71,3 +71,2 @@ const denyList = ['node_modules', 'favicon.ico']; | ||
} | ||
exports.validateNpmPackage = validateNpmPackage; | ||
function formatResult(warnings, errors) { | ||
@@ -74,0 +73,0 @@ return { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
121533
69
3363
71
Updatedaxios@^1.7.2