Skip to content

fix(e2e): streamline CI workflow and add debugging output #31830

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

Draft
wants to merge 45 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
d30cb70
feat(core): Update nx repo to use ts solutions (packages/graph)
ndcunningham Jun 7, 2025
befdee2
feat(core): Make nx-dev buildable with ts solution
ndcunningham Jun 21, 2025
e5441f0
feat(core): Refactor build process and add copy-assets executor
ndcunningham Jun 24, 2025
ad97881
feat(core): enable nx-release to work with ts solution
ndcunningham Jun 24, 2025
2d318c3
feat(core): enable tesing for ts solution
ndcunningham Jun 26, 2025
d2a9966
feat(core): remove jest from devDependencies and rely on the root pac…
ndcunningham Jun 26, 2025
5e59170
feat(core): update pnpm documentation scripts to work inside ts solut…
ndcunningham Jun 26, 2025
c8cbb3a
feat(core): Add typecheck target and decouple devkit from graph libs
ndcunningham Jun 26, 2025
5a1429d
chore(core): update package.json files to include jest as a devDepend…
ndcunningham Jun 26, 2025
7c0e4ba
fix(core): enabled e2e test in ts solution
ndcunningham Jun 27, 2025
5025902
feat(core): add-package-json-fields executor to enhance package.json …
ndcunningham Jun 27, 2025
1c57697
fix(core): unify tsconfig extensions to use tsconfig.base.json across…
ndcunningham Jun 27, 2025
16f89ce
fix(core): rebase with master
ndcunningham Jun 27, 2025
1ae37ac
fix(core): update documentation based on lint fixes for generators
ndcunningham Jun 28, 2025
ff3c6b0
chore(core): update conformance rule paths and remove debugging logs
ndcunningham Jun 28, 2025
17f7c1f
fix(core): update package.json to ensure it is private for conformanc…
ndcunningham Jun 28, 2025
b263047
chore(core): update scripts to not check node_modules
ndcunningham Jun 28, 2025
ccc1d43
chore(angular): add @nx/cypress dependency and update tsconfig refere…
ndcunningham Jun 28, 2025
411d3b4
fix(core): update tsconfig files to extend base config and include JS…
ndcunningham Jun 28, 2025
412ca99
fix(core): update import paths to use @nx/e2e-utils
ndcunningham Jun 28, 2025
5a62f32
feat(core): replace copy-assets and add-package-json-fields executor …
ndcunningham Jun 29, 2025
dd8c581
fix(node): update the node app generator to append to test target ins…
ndcunningham Jun 30, 2025
c0e9258
fix(core): revert generator factories in rollup, rsbuild, rspack, sto…
ndcunningham Jul 1, 2025
dc67eb7
fix(nx-dev): fix nx-dev app router pages and blog ordering in production
ndcunningham Jul 1, 2025
f9e746f
fix(core): streamline package.json dependencies across e2e projects
ndcunningham Jul 3, 2025
4ba498e
fix(core): update jest executor and options in application spec files
ndcunningham Jul 3, 2025
6d19e77
fix(core): remove unused package references from tsconfig files
ndcunningham Jul 3, 2025
b20d717
fix: remove duplicate --verbose flag in runCreateWorkspace command
nx-cloud[bot] Jul 3, 2025
7d5b198
chore(core): fix e2e backup path handling for package managers and pr…
ndcunningham Jul 3, 2025
e14c1c6
fix(core): update import paths to use @nx/e2e-utils and include src/*…
ndcunningham Jul 3, 2025
33bf58a
fix(testing): revert changes back to how master has them
ndcunningham Jul 3, 2025
b4f583a
fix(e2e): streamline CI workflow and add debugging output
FrozenPandaz Jul 3, 2025
189f440
chore(core): enhance logging and error handling in preset generator
ndcunningham Jul 4, 2025
ff98c24
chore(plugin): add logging for package.json reading
ndcunningham Jul 4, 2025
9d48ea1
fix(core): add workspace path validation to getNxRequirePaths if the …
ndcunningham Jul 4, 2025
98ccd09
chore(core): add more logs for in-process-loader to indentify a fix
ndcunningham Jul 4, 2025
41480f8
fix(core): for pnpm the installation can be at .pnpm so should check …
ndcunningham Jul 4, 2025
79a0a52
chore(testing): add more logs for newProejct creation
ndcunningham Jul 4, 2025
7e15077
chore(core): add symlink log
ndcunningham Jul 4, 2025
339d0a3
fix(core): update workspace export type
ndcunningham Jul 5, 2025
1244fa7
chore(core): skip packages for resolution when creating workspaces
ndcunningham Jul 5, 2025
65d0f81
fix(testing): add core pack env flags
ndcunningham Jul 5, 2025
61af005
fix(e2e): ensure correct package manager is used in workspace creatio…
nx-cloud[bot] Jul 5, 2025
aaeca8b
fix(e2e): update e2e command to include all e2e tests
ndcunningham Jul 5, 2025
e93a029
fix(e2e): only install required @nx/js package for js-executor-tsc test
nx-cloud[bot] Jul 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[build]
target-dir = 'build/target'
target-dir = 'dist/target'

[target.x86_64-unknown-linux-musl]
rustflags = [
Expand Down
20 changes: 2 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,27 +97,11 @@ jobs:
pnpm install --frozen-lockfile
pnpm playwright install --with-deps

- name: Check Documentation
run: pnpm nx documentation
timeout-minutes: 20

- name: Run Checks/Lint/Test/Build
run: |
pids=()

pnpm nx-cloud record -- nx format:check &
pids+=($!)

pnpm nx-cloud record -- nx sync:check
pids+=($!)

pnpm nx-cloud record -- nx-cloud conformance:check
pids+=($!)

pnpm nx run-many -t check-imports check-commit check-lock-files check-codeowners --parallel=1 --no-dte &
pids+=($!)

pnpm nx affected --targets=lint,test,build,e2e,e2e-ci,format-native,lint-native &

pnpm nx affected --targets=e2e,e2e-ci &
pids+=($!)

for pid in "${pids[@]}"; do
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ CHANGELOG.md
# Next.js
.next
out
nx-dev/nx-dev/public/documentation
nx-dev/nx-dev/public/sitemap.xml
nx-dev/nx-dev/public/sitemap-0.xml
nx-dev/nx-dev/public/robots.txt


# Angular Cache
.angular
Expand Down Expand Up @@ -106,4 +111,3 @@ tasks/

# Raw docs local configuration (machine-specific)
.rawdocs.local.json

6 changes: 6 additions & 0 deletions .nx/workflows/agents.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ launch-templates:
- name: Check Node Version
script: node --version

- name: Check COREPACK_ENABLE_AUTO_PIN
script: echo $COREPACK_ENABLE_AUTO_PIN

- name: Check COREPACK_ENABLE_STRICT
script: echo $COREPACK_ENABLE_STRICT

- name: Cache restore
uses: 'nrwl/nx-cloud-workflows/v5/workflow-steps/cache/main.yaml'
inputs:
Expand Down
4 changes: 0 additions & 4 deletions docs/generated/devkit/AggregateCreateNodesError.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,6 @@ Error.cause

• `Readonly` **errors**: [file: string, error: Error][]

An array of tuples that represent errors encountered when processing a given file. An example entry might look like ['path/to/project.json', [Error: 'Invalid JSON. Unexpected token 'a' in JSON at position 0]]

---

### message
Expand All @@ -121,8 +119,6 @@ Error.name

• `Readonly` **partialResults**: [`CreateNodesResultV2`](/reference/core-api/devkit/documents/CreateNodesResultV2)

The partial results of the `createNodesV2` function. This should be the results for each file that didn't encounter an issue.

---

### pluginIndex
Expand Down
129 changes: 129 additions & 0 deletions docs/generated/devkit/PackageManagerCommands.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Interface: PackageManagerCommands

## Table of contents

### Properties

- [add](/reference/core-api/devkit/documents/PackageManagerCommands#add): string
- [addDev](/reference/core-api/devkit/documents/PackageManagerCommands#adddev): string
- [ciInstall](/reference/core-api/devkit/documents/PackageManagerCommands#ciinstall): string
- [dlx](/reference/core-api/devkit/documents/PackageManagerCommands#dlx): string
- [exec](/reference/core-api/devkit/documents/PackageManagerCommands#exec): string
- [getRegistryUrl](/reference/core-api/devkit/documents/PackageManagerCommands#getregistryurl): string
- [install](/reference/core-api/devkit/documents/PackageManagerCommands#install): string
- [list](/reference/core-api/devkit/documents/PackageManagerCommands#list): string
- [preInstall](/reference/core-api/devkit/documents/PackageManagerCommands#preinstall): string
- [publish](/reference/core-api/devkit/documents/PackageManagerCommands#publish): Function
- [rm](/reference/core-api/devkit/documents/PackageManagerCommands#rm): string
- [run](/reference/core-api/devkit/documents/PackageManagerCommands#run): Function
- [updateLockFile](/reference/core-api/devkit/documents/PackageManagerCommands#updatelockfile): string

## Properties

### add

• **add**: `string`

---

### addDev

• **addDev**: `string`

---

### ciInstall

• **ciInstall**: `string`

---

### dlx

• **dlx**: `string`

---

### exec

• **exec**: `string`

---

### getRegistryUrl

• `Optional` **getRegistryUrl**: `string`

---

### install

• **install**: `string`

---

### list

• **list**: `string`

---

### preInstall

• `Optional` **preInstall**: `string`

---

### publish

• **publish**: (`packageRoot`: `string`, `registry`: `string`, `registryConfigKey`: `string`, `tag`: `string`) => `string`

#### Type declaration

▸ (`packageRoot`, `registry`, `registryConfigKey`, `tag`): `string`

##### Parameters

| Name | Type |
| :------------------ | :------- |
| `packageRoot` | `string` |
| `registry` | `string` |
| `registryConfigKey` | `string` |
| `tag` | `string` |

##### Returns

`string`

---

### rm

• **rm**: `string`

---

### run

• **run**: (`script`: `string`, `args?`: `string`) => `string`

#### Type declaration

▸ (`script`, `args?`): `string`

##### Parameters

| Name | Type |
| :------- | :------- |
| `script` | `string` |
| `args?` | `string` |

##### Returns

`string`

---

### updateLockFile

• **updateLockFile**: `string`
4 changes: 2 additions & 2 deletions docs/generated/devkit/ProjectGraphProjectNode.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ A node describing a project in a workspace

- [data](/reference/core-api/devkit/documents/ProjectGraphProjectNode#data): ProjectConfiguration & Object
- [name](/reference/core-api/devkit/documents/ProjectGraphProjectNode#name): string
- [type](/reference/core-api/devkit/documents/ProjectGraphProjectNode#type): "lib" | "app" | "e2e"
- [type](/reference/core-api/devkit/documents/ProjectGraphProjectNode#type): "app" | "e2e" | "lib"

## Properties

Expand All @@ -28,4 +28,4 @@ Additional metadata about a project

### type

• **type**: `"lib"` \| `"app"` \| `"e2e"`
• **type**: `"app"` \| `"e2e"` \| `"lib"`
1 change: 1 addition & 0 deletions docs/generated/devkit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ It only uses language primitives and immutable objects
- [MigrationsJson](/reference/core-api/devkit/documents/MigrationsJson)
- [NxAffectedConfig](/reference/core-api/devkit/documents/NxAffectedConfig)
- [NxJsonConfiguration](/reference/core-api/devkit/documents/NxJsonConfiguration)
- [PackageManagerCommands](/reference/core-api/devkit/documents/PackageManagerCommands)
- [ProjectConfiguration](/reference/core-api/devkit/documents/ProjectConfiguration)
- [ProjectFileMap](/reference/core-api/devkit/documents/ProjectFileMap)
- [ProjectGraph](/reference/core-api/devkit/documents/ProjectGraph)
Expand Down
14 changes: 7 additions & 7 deletions docs/generated/devkit/addDependenciesToPackageJson.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ This will **add** `react` and `jest` to the dependencies and devDependencies sec

#### Parameters

| Name | Type | Description |
| :---------------------- | :-------------------------------------------------- | :-------------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | Tree representing file system to modify |
| `dependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the dependencies section of package.json |
| `devDependencies` | `Record`\<`string`, `string`\> | Dependencies to be added to the devDependencies section of package.json |
| `packageJsonPath?` | `string` | Path to package.json |
| `keepExistingVersions?` | `boolean` | If true, prevents existing dependencies from being bumped to newer versions |
| Name | Type | Default value | Description |
| :---------------------- | :-------------------------------------------------- | :--------------- | :-------------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | `undefined` | Tree representing file system to modify |
| `dependencies` | `Record`\<`string`, `string`\> | `undefined` | Dependencies to be added to the dependencies section of package.json |
| `devDependencies` | `Record`\<`string`, `string`\> | `undefined` | Dependencies to be added to the devDependencies section of package.json |
| `packageJsonPath` | `string` | `'package.json'` | Path to package.json |
| `keepExistingVersions?` | `boolean` | `undefined` | If true, prevents existing dependencies from being bumped to newer versions |

#### Returns

Expand Down
12 changes: 6 additions & 6 deletions docs/generated/devkit/addProjectConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ Adds project configuration to the Nx workspace.

#### Parameters

| Name | Type | Default value | Description |
| :--------------------- | :---------------------------------------------------------------------------------- | :------------ | :---------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | `undefined` | the file system tree |
| `projectName` | `string` | `undefined` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
| `projectConfiguration` | [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) | `undefined` | project configuration |
| `standalone` | `boolean` | `true` | whether the project is configured in workspace.json or not |
| Name | Type | Description |
| :--------------------- | :---------------------------------------------------------------------------------- | :---------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree |
| `projectName` | `string` | unique name. Often directories are part of the name (e.g., mydir-mylib) |
| `projectConfiguration` | [`ProjectConfiguration`](/reference/core-api/devkit/documents/ProjectConfiguration) | project configuration |
| `standalone?` | `boolean` | whether the project is configured in workspace.json or not |

#### Returns

Expand Down
8 changes: 4 additions & 4 deletions docs/generated/devkit/convertNxGenerator.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ Convert an Nx Generator into an Angular Devkit Schematic.

#### Parameters

| Name | Type | Description |
| :------------------------------ | :------------------------------------------------------------------- | :---------------------------------------------------------- |
| `generator` | [`Generator`](/reference/core-api/devkit/documents/Generator)\<`T`\> | The Nx generator to convert to an Angular Devkit Schematic. |
| `skipWritingConfigInOldFormat?` | `boolean` | - |
| Name | Type | Default value | Description |
| :----------------------------- | :------------------------------------------------------------------- | :------------ | :---------------------------------------------------------- |
| `generator` | [`Generator`](/reference/core-api/devkit/documents/Generator)\<`T`\> | `undefined` | The Nx generator to convert to an Angular Devkit Schematic. |
| `skipWritingConfigInOldFormat` | `boolean` | `false` | - |

#### Returns

Expand Down
2 changes: 1 addition & 1 deletion docs/generated/devkit/createProjectGraphAsync.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ stored in the daemon process. To reset both run: `nx reset`.

| Name | Type |
| :------------------------ | :-------- |
| `opts` | `Object` |
| `opts?` | `Object` |
| `opts.exitOnError` | `boolean` |
| `opts.resetDaemonClient?` | `boolean` |

Expand Down
6 changes: 3 additions & 3 deletions docs/generated/devkit/detectPackageManager.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ Detects which package manager is used in the workspace based on the lock file.

#### Parameters

| Name | Type | Default value |
| :---- | :------- | :------------ |
| `dir` | `string` | `''` |
| Name | Type |
| :----- | :------- |
| `dir?` | `string` |

#### Returns

Expand Down
10 changes: 5 additions & 5 deletions docs/generated/devkit/formatFiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ Formats all the created or updated files using Prettier

#### Parameters

| Name | Type | Description |
| :------------------------------ | :-------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | the file system tree |
| `options?` | `Object` | - |
| `options.sortRootTsconfigPaths` | `boolean` | TODO(v21): Stop sorting tsconfig paths by default, paths are now less common/important in Nx workspace setups, and the sorting causes comments to be lost. |
| Name | Type | Default value | Description |
| :------------------------------ | :-------------------------------------------------- | :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tree` | [`Tree`](/reference/core-api/devkit/documents/Tree) | `undefined` | the file system tree |
| `options` | `Object` | `undefined` | - |
| `options.sortRootTsconfigPaths` | `boolean` | `true` | TODO(v21): Stop sorting tsconfig paths by default, paths are now less common/important in Nx workspace setups, and the sorting causes comments to be lost. |

#### Returns

Expand Down
2 changes: 1 addition & 1 deletion docs/generated/devkit/generateFiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ doesn't get confused about incorrect TypeScript files.
| `srcFolder` | `string` | the source folder of files (absolute path) |
| `target` | `string` | the target folder (relative to the tree root) |
| `substitutions` | `Object` | an object of key-value pairs |
| `options?` | `GenerateFilesOptions` | See GenerateFilesOptions |
| `options` | `GenerateFilesOptions` | See GenerateFilesOptions |

#### Returns

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ Pass the target and overrides instead. This will be removed in v20.

▸ **getOutputsForTargetAndConfiguration**(`target`, `overrides`, `node`): `string`[]

Returns the list of outputs that will be cached.

#### Parameters

| Name | Type |
Expand Down
12 changes: 6 additions & 6 deletions docs/generated/devkit/getPackageManagerCommand.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Function: getPackageManagerCommand

▸ **getPackageManagerCommand**(`packageManager?`, `root?`): `PackageManagerCommands`
▸ **getPackageManagerCommand**(`packageManager?`, `root?`): [`PackageManagerCommands`](/reference/core-api/devkit/documents/PackageManagerCommands)

Returns commands for the package manager used in the workspace.
By default, the package manager is derived based on the lock file,
Expand All @@ -14,11 +14,11 @@ execSync(`${getPackageManagerCommand().addDev} my-dev-package`);

#### Parameters

| Name | Type | Default value | Description |
| :--------------- | :---------------------------------------------------------------------- | :-------------- | :------------------------------------------------------------------------------------------ |
| `packageManager` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | `undefined` | The package manager to use. If not provided, it will be detected based on the lock file. |
| `root` | `string` | `workspaceRoot` | The directory the commands will be ran inside of. Defaults to the current workspace's root. |
| Name | Type | Description |
| :---------------- | :---------------------------------------------------------------------- | :------------------------------------------------------------------------------------------ |
| `packageManager?` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) | The package manager to use. If not provided, it will be detected based on the lock file. |
| `root?` | `string` | The directory the commands will be ran inside of. Defaults to the current workspace's root. |

#### Returns

`PackageManagerCommands`
[`PackageManagerCommands`](/reference/core-api/devkit/documents/PackageManagerCommands)
8 changes: 4 additions & 4 deletions docs/generated/devkit/getPackageManagerVersion.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ but it can also be passed in explicitly.

#### Parameters

| Name | Type |
| :--------------- | :---------------------------------------------------------------------- |
| `packageManager` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) |
| `cwd` | `string` |
| Name | Type |
| :---------------- | :---------------------------------------------------------------------- |
| `packageManager?` | [`PackageManager`](/reference/core-api/devkit/documents/PackageManager) |
| `cwd?` | `string` |

#### Returns

Expand Down
Loading
Loading