Nx
Enterprise
Nx
Sign in / Sign up
Open main menu
Nx
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
35743
249ae274 chore(testing): bump rewrite-internal-subpath-imports migration to 23.0.0-beta.19
by FrozenPandaz
F
Failed
35743
Flaky task
→
249ae274 chore(testing): bump rewrite-internal-subpath-imports migration to 23.0.0-beta.19
by FrozenPandaz
F
Succeeded
35743
18cb13f9 chore(testing): bump rewrite-internal-subpath-imports migration to 23.0.0-beta.19
by FrozenPandaz
F
Failed
35743
Flaky task
→
4624c77b fix(testing): update nx-build verification paths for local-dist packages [Self-Healing CI Rerun]
by nx-cloud[bot]
n
Succeeded
35743
4624c77b fix(testing): update nx-build verification paths for local-dist packages [Self-Healing CI Rerun]
by nx-cloud[bot]
n
Succeeded
35743
e645b374 chore(repo): prettier format dist-build-migration skill
by Jason Jean
J
Failed
35743
Flaky task
→
8bcb368f fix(testing): update nx-build verification paths for local-dist packages The 'should build all packages and produce correct output' assertion in e2e/nx-build/src/nx-build.test.ts still expected @nx/playwright to ship from the workspace-root dist/packages/playwright/index.js. Update the expected paths for the four newly-migrated packages (@nx/playwright, @nx/cypress, @nx/vite, @nx/vitest) to packages/<name>/dist/index.js matching the new layout, and add the cypress/vite/vitest entries since they weren't covered before.
by Jason Jean
J
Failed
35743
Fix ready
→
8bcb368f fix(testing): update nx-build verification paths for local-dist packages The 'should build all packages and produce correct output' assertion in e2e/nx-build/src/nx-build.test.ts still expected @nx/playwright to ship from the workspace-root dist/packages/playwright/index.js. Update the expected paths for the four newly-migrated packages (@nx/playwright, @nx/cypress, @nx/vite, @nx/vitest) to packages/<name>/dist/index.js matching the new layout, and add the cypress/vite/vitest entries since they weren't covered before.
by Jason Jean
J
Failed
35743
Flaky task
→
ad3d9f45 chore(skills): format dist-build-migration documentation Co-authored-by: FrozenPandaz <FrozenPandaz@users.noreply.github.com>
by nx-cloud[bot]
n
Failed
35743
Flaky task
→
759f1e2c fix(vite): use require() after ensurePackage to resolve temp installs under nodenext After the local-dist migration, `@nx/vite` and `@nx/vitest` compile with `module: nodenext`. Under that setting TypeScript no longer downlevels `await import('@nx/eslint/internal')` into a synchronous `Promise.resolve(require(...))` — it stays as a true ESM dynamic import. ESM resolution walks up `node_modules` from the importing file's location and ignores `Module._initPaths`, which is exactly the mechanism `ensurePackage` uses to register the on-demand temp install. Result: every generator path that goes through `ignoreViteTempFiles` / `ignoreVitestTempFiles` (or the `@nx/vite:configuration` generator's `includeVitest` branch) crashed with `Cannot find package '@nx/eslint'` (or `'@nx/vitest'`) when run against the published artifact in an e2e workspace. Same bug fired the `migrations.spec.ts`-shape regressions in the `@nx/vite:setup-paths` generator's downstream consumers in `@nx/web` and `@nx/react` e2es. Switch the four affected call sites to a synchronous CommonJS `require()` call after `ensurePackage`. `require()` honors `Module._initPaths`, so the temp install resolves correctly. Type information is preserved via `typeof import(...)` on the destructuring. Also fixes `e2e/nx-build/src/nx-build.test.ts` which still expected `@nx/playwright` to publish from the workspace-root `dist/packages/playwright/index.js`; updates the expected paths for `@nx/playwright`, `@nx/cypress`, `@nx/vite`, and `@nx/vitest` to `packages/<name>/dist/index.js` matching the new layout. Updates the dist-build-migration skill with a new step 15b documenting the `ensurePackage` + `await import()` audit so future migrations don't ship the same regression.
by Jason Jean
J
Failed
35743
Fix applied
→
759f1e2c fix(vite): use require() after ensurePackage to resolve temp installs under nodenext After the local-dist migration, `@nx/vite` and `@nx/vitest` compile with `module: nodenext`. Under that setting TypeScript no longer downlevels `await import('@nx/eslint/internal')` into a synchronous `Promise.resolve(require(...))` — it stays as a true ESM dynamic import. ESM resolution walks up `node_modules` from the importing file's location and ignores `Module._initPaths`, which is exactly the mechanism `ensurePackage` uses to register the on-demand temp install. Result: every generator path that goes through `ignoreViteTempFiles` / `ignoreVitestTempFiles` (or the `@nx/vite:configuration` generator's `includeVitest` branch) crashed with `Cannot find package '@nx/eslint'` (or `'@nx/vitest'`) when run against the published artifact in an e2e workspace. Same bug fired the `migrations.spec.ts`-shape regressions in the `@nx/vite:setup-paths` generator's downstream consumers in `@nx/web` and `@nx/react` e2es. Switch the four affected call sites to a synchronous CommonJS `require()` call after `ensurePackage`. `require()` honors `Module._initPaths`, so the temp install resolves correctly. Type information is preserved via `typeof import(...)` on the destructuring. Also fixes `e2e/nx-build/src/nx-build.test.ts` which still expected `@nx/playwright` to publish from the workspace-root `dist/packages/playwright/index.js`; updates the expected paths for `@nx/playwright`, `@nx/cypress`, `@nx/vite`, and `@nx/vitest` to `packages/<name>/dist/index.js` matching the new layout. Updates the dist-build-migration skill with a new step 15b documenting the `ensurePackage` + `await import()` audit so future migrations don't ship the same regression.
by Jason Jean
J
Failed
35743
5108b8e7 fix(core): strip dist/ prefix in migration & generator floor test helpers `assertValidMigrationPaths` already strips `dist/` from the `implementation` path of a migration entry before `require`-ing the source `.ts`, but did the existence check on the `prompt` path verbatim. After the dist-build migration, prompt entries in `migrations.json` point at `./dist/src/migrations/<dir>/<file>.md` (the published copy that ships under the package's `dist/`); the spec runs against the source tree, where the `.md` lives at `./src/migrations/<dir>/<file>.md`. Result: every prompt-form migration in @nx/vitest (and other packages that adopt the same shape post-migration) failed the `should have valid path generator: ...` assertion. `assertGeneratorsEnforceVersionFloor` had the same blind spot for `factory` paths in `generators.json` — `./dist/src/generators/…` made `require(join(packageRoot, factoryRelative))` resolve to a not-yet-built dist file rather than the source. @nx/playwright's `all-generators-enforce-floor.spec.ts` was failing on all three generators for this reason. Both helpers now drop the leading `dist/` segment before resolving, matching the existing implementation-path behaviour.
by Jason Jean
J
Failed
35743
4edd890b chore(testing): apply prettier Co-authored-by: FrozenPandaz <FrozenPandaz@users.noreply.github.com>
by nx-cloud[bot]
n
Failed
35743
8806cd4a fix(testing): rewrite typeof import() type queries in dist-build migrations The @nx/js, @nx/jest, @nx/eslint, and @nx/cypress 23.0.0 codemods walk `require`/dynamic `import`/`jest.mock` call expressions and rewrite `@nx/<name>/src/*` arguments, but a `typeof import('@nx/<name>/src/x')` type query parses as an `ImportTypeNode` — a separate AST branch — so the previous handler left it untouched. In practice that meant the common `const m = require('@nx/<name>/src/x') as typeof import('@nx/<name>/src/x')` typed-runtime-require idiom would have its runtime argument rewritten to `/internal` while the type argument kept pointing at the now-removed `./src/*` wildcard, leaving external consumers with a TS error after running the migration. Walk `ImportTypeNode` explicitly and rewrite its literal-type-node argument when the specifier starts with the package's `src/` prefix. Adds: - the `<typeof import()>require()` cast case in tandem to each spec. - (for @nx/cypress) coverage for `componentConfigurationGenerator` as a public-routed symbol, default and default-plus-named imports, and every entry in `MOCK_HELPER_METHODS` via `it.each` — drift between these hardcoded sets and the real public/mock surface was the most plausible future silent-regression path. Updates the dist-build-migration skill to document the `ImportTypeNode` handling and the expanded spec checklist.
by Jason Jean
J
Failed
35743
Fix applied
→
8806cd4a fix(testing): rewrite typeof import() type queries in dist-build migrations The @nx/js, @nx/jest, @nx/eslint, and @nx/cypress 23.0.0 codemods walk `require`/dynamic `import`/`jest.mock` call expressions and rewrite `@nx/<name>/src/*` arguments, but a `typeof import('@nx/<name>/src/x')` type query parses as an `ImportTypeNode` — a separate AST branch — so the previous handler left it untouched. In practice that meant the common `const m = require('@nx/<name>/src/x') as typeof import('@nx/<name>/src/x')` typed-runtime-require idiom would have its runtime argument rewritten to `/internal` while the type argument kept pointing at the now-removed `./src/*` wildcard, leaving external consumers with a TS error after running the migration. Walk `ImportTypeNode` explicitly and rewrite its literal-type-node argument when the specifier starts with the package's `src/` prefix. Adds: - the `<typeof import()>require()` cast case in tandem to each spec. - (for @nx/cypress) coverage for `componentConfigurationGenerator` as a public-routed symbol, default and default-plus-named imports, and every entry in `MOCK_HELPER_METHODS` via `it.each` — drift between these hardcoded sets and the real public/mock surface was the most plausible future silent-regression path. Updates the dist-build-migration skill to document the `ImportTypeNode` handling and the expanded spec checklist.
by Jason Jean
J
Previous page
Previous
Next
Next page