Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(nx-cloud): remove env variable for login #27791

Merged
merged 1 commit into from
Sep 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions docs/generated/cli/login.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: 'login - CLI command'
description: 'Login to Nx Cloud.'
---

# login

Login to Nx Cloud.

## Usage

```shell
nx login [nxCloudUrl]
```

Install `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpm nx`.

## Options

| Option | Type | Description |
| -------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--help` | boolean | Show help. |
| `--nxCloudUrl` | string | The Nx Cloud URL of the instance you are trying to connect to. If no positional argument is provided, this command will connect to https://cloud.nx.app. |
| `--verbose` | boolean | Prints additional information about the commands (e.g., stack traces). |
| `--version` | boolean | Show version number. |
24 changes: 24 additions & 0 deletions docs/generated/cli/logout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: 'logout - CLI command'
description: 'Logout from Nx Cloud.'
---

# logout

Logout from Nx Cloud.

## Usage

```shell
nx logout
```

Install `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpm nx`.

## Options

| Option | Type | Description |
| ----------- | ------- | ---------------------------------------------------------------------- |
| `--help` | boolean | Show help. |
| `--verbose` | boolean | Prints additional information about the commands (e.g., stack traces). |
| `--version` | boolean | Show version number. |
16 changes: 16 additions & 0 deletions docs/generated/manifests/menus.json
Original file line number Diff line number Diff line change
Expand Up @@ -8712,6 +8712,22 @@
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "login",
"path": "/nx-api/nx/documents/login",
"id": "login",
"isExternal": false,
"children": [],
"disableCollapsible": false
},
{
"name": "logout",
"path": "/nx-api/nx/documents/logout",
"id": "logout",
"isExternal": false,
"children": [],
"disableCollapsible": false
}
],
"isExternal": false,
Expand Down
22 changes: 22 additions & 0 deletions docs/generated/manifests/nx-api.json
Original file line number Diff line number Diff line change
Expand Up @@ -1967,6 +1967,28 @@
"path": "/nx-api/nx/documents/add",
"tags": [],
"originalFilePath": "generated/cli/add"
},
"/nx-api/nx/documents/login": {
"id": "login",
"name": "login",
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/nx/documents/login",
"itemList": [],
"isExternal": false,
"path": "/nx-api/nx/documents/login",
"tags": [],
"originalFilePath": "generated/cli/login"
},
"/nx-api/nx/documents/logout": {
"id": "logout",
"name": "logout",
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/nx/documents/logout",
"itemList": [],
"isExternal": false,
"path": "/nx-api/nx/documents/logout",
"tags": [],
"originalFilePath": "generated/cli/logout"
}
},
"root": "/packages/nx",
Expand Down
22 changes: 22 additions & 0 deletions docs/generated/packages-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -1946,6 +1946,28 @@
"path": "nx/documents/add",
"tags": [],
"originalFilePath": "generated/cli/add"
},
{
"id": "login",
"name": "login",
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/nx/documents/login",
"itemList": [],
"isExternal": false,
"path": "nx/documents/login",
"tags": [],
"originalFilePath": "generated/cli/login"
},
{
"id": "logout",
"name": "logout",
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
"file": "generated/packages/nx/documents/logout",
"itemList": [],
"isExternal": false,
"path": "nx/documents/logout",
"tags": [],
"originalFilePath": "generated/cli/logout"
}
],
"executors": [
Expand Down
25 changes: 25 additions & 0 deletions docs/generated/packages/nx/documents/login.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: 'login - CLI command'
description: 'Login to Nx Cloud.'
---

# login

Login to Nx Cloud.

## Usage

```shell
nx login [nxCloudUrl]
```

Install `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpm nx`.

## Options

| Option | Type | Description |
| -------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--help` | boolean | Show help. |
| `--nxCloudUrl` | string | The Nx Cloud URL of the instance you are trying to connect to. If no positional argument is provided, this command will connect to https://cloud.nx.app. |
| `--verbose` | boolean | Prints additional information about the commands (e.g., stack traces). |
| `--version` | boolean | Show version number. |
24 changes: 24 additions & 0 deletions docs/generated/packages/nx/documents/logout.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: 'logout - CLI command'
description: 'Logout from Nx Cloud.'
---

# logout

Logout from Nx Cloud.

## Usage

```shell
nx logout
```

Install `nx` globally to invoke the command directly using `nx`, or use `npx nx`, `yarn nx`, or `pnpm nx`.

## Options

| Option | Type | Description |
| ----------- | ------- | ---------------------------------------------------------------------- |
| `--help` | boolean | Show help. |
| `--verbose` | boolean | Prints additional information about the commands (e.g., stack traces). |
| `--version` | boolean | Show version number. |
10 changes: 10 additions & 0 deletions docs/map.json
Original file line number Diff line number Diff line change
Expand Up @@ -2110,6 +2110,16 @@
"name": "add",
"id": "add",
"file": "generated/cli/add"
},
{
"name": "login",
"id": "login",
"file": "generated/cli/login"
},
{
"name": "logout",
"id": "logout",
"file": "generated/cli/logout"
}
]
},
Expand Down
2 changes: 2 additions & 0 deletions docs/shared/reference/sitemap.md
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,8 @@
- [view-logs](/nx-api/nx/documents/view-logs)
- [release](/nx-api/nx/documents/release)
- [add](/nx-api/nx/documents/add)
- [login](/nx-api/nx/documents/login)
- [logout](/nx-api/nx/documents/logout)
- [executors](/nx-api/nx/executors)
- [noop](/nx-api/nx/executors/noop)
- [run-commands](/nx-api/nx/executors/run-commands)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ describe('connect-to-nx-cloud', () => {
expect(
withEnvironmentVariables(
{
NX_ENABLE_LOGIN: null,
NX_CLOUD_ACCESS_TOKEN: null,
},
() =>
onlyDefaultRunnerIsUsed({
Expand Down
2 changes: 1 addition & 1 deletion packages/nx/src/command-line/login/command-object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { withVerbose } from '../../command-line/yargs-utils/shared-options';

export const yargsLoginCommand: CommandModule = {
command: 'login [nxCloudUrl]',
describe: false,
describe: 'Login to Nx Cloud.',
builder: (yargs) =>
withVerbose(
yargs.positional('nxCloudUrl', {
Expand Down
2 changes: 1 addition & 1 deletion packages/nx/src/command-line/logout/command-object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { withVerbose } from '../../command-line/yargs-utils/shared-options';

export const yargsLogoutCommand: CommandModule = {
command: 'logout',
describe: false,
describe: 'Logout from Nx Cloud.',
builder: (yargs) => withVerbose(yargs),
handler: async (args: any) => {
process.exit(await (await import('./logout')).logoutHandler(args));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,28 +48,6 @@ function getNxInitDate(): string | null {
}
}

async function createNxCloudWorkspaceV1(
workspaceName: string,
installationSource: string,
nxInitDate: string | null
): Promise<{ token: string; url: string }> {
const apiUrl = getCloudUrl();
const response = await require('axios').post(
`${apiUrl}/nx-cloud/create-org-and-workspace`,
{
workspaceName,
installationSource,
nxInitDate,
}
);

if (response.data.message) {
throw new Error(response.data.message);
}

return response.data;
}

async function createNxCloudWorkspaceV2(
workspaceName: string,
installationSource: string,
Expand Down Expand Up @@ -125,29 +103,6 @@ export interface ConnectToNxCloudOptions {
generateToken?: boolean;
}

function addNxCloudOptionsToNxJson(
tree: Tree,
token: string,
directory: string = ''
) {
const nxJsonPath = join(directory, 'nx.json');
if (tree.exists(nxJsonPath)) {
updateJson<NxJsonConfiguration>(
tree,
join(directory, 'nx.json'),
(nxJson) => {
const overrideUrl = process.env.NX_CLOUD_API || process.env.NRWL_API;
if (overrideUrl) {
nxJson.nxCloudUrl = overrideUrl;
}
nxJson.nxCloudAccessToken = token;

return nxJson;
}
);
}
}

function addNxCloudIdToNxJson(
tree: Tree,
nxCloudId: string,
Expand Down Expand Up @@ -208,41 +163,22 @@ export async function connectToNxCloud(
)
return null;

if (process.env.NX_ENABLE_LOGIN === 'true') {
responseFromCreateNxCloudWorkspaceV2 = await createNxCloudWorkspaceV2(
getRootPackageName(tree),
schema.installationSource,
getNxInitDate()
);

addNxCloudIdToNxJson(
tree,
responseFromCreateNxCloudWorkspaceV2?.nxCloudId,
schema.directory
);

await formatChangedFilesWithPrettierIfAvailable(tree, {
silent: schema.hideFormatLogs,
});
return responseFromCreateNxCloudWorkspaceV2.nxCloudId;
} else {
responseFromCreateNxCloudWorkspaceV1 = await createNxCloudWorkspaceV1(
getRootPackageName(tree),
schema.installationSource,
getNxInitDate()
);
responseFromCreateNxCloudWorkspaceV2 = await createNxCloudWorkspaceV2(
getRootPackageName(tree),
schema.installationSource,
getNxInitDate()
);

addNxCloudOptionsToNxJson(
tree,
responseFromCreateNxCloudWorkspaceV1?.token,
schema.directory
);
addNxCloudIdToNxJson(
tree,
responseFromCreateNxCloudWorkspaceV2?.nxCloudId,
schema.directory
);

await formatChangedFilesWithPrettierIfAvailable(tree, {
silent: schema.hideFormatLogs,
});
return responseFromCreateNxCloudWorkspaceV1.token;
}
await formatChangedFilesWithPrettierIfAvailable(tree, {
silent: schema.hideFormatLogs,
});
return responseFromCreateNxCloudWorkspaceV2.nxCloudId;
}

async function connectToNxCloudGenerator(
Expand Down