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
35541
3b90afb9 fix(devkit): drop /internal fallback for non-named deep imports [Self-Healing CI Rerun]
by nx-cloud[bot]
n
Canceled
35541
4072ea2e fix(devkit): keep /internal fallback for non-named deep imports Reverts df70f84587. Without the fallback, any non-named deep import (default / namespace / side-effect / require() / dynamic import()) left a `@nx/devkit/src/...` specifier in the file that the new exports map flat-out rejects, so workspaces with any of those shapes wouldn't compile post-migration. Restoring the fallback rewrites those shapes to `@nx/devkit/internal` — which is where the bulk of previously deep-importable symbols actually live. If a user's symbol isn't in /internal (e.g. it's part of the public API), they get a clear "no exported member" error pointing at the new entry point, which is a much better signal than an unresolvable @nx/devkit/src/... path. The migration's user-facing doc now spells this out as a best-guess rather than a guarantee, with instructions for the manual fix.
by Jason Jean
J
Failed
35541
Flaky task
→
df70f845 fix(devkit): drop /internal fallback for non-named deep imports `/internal` is not guaranteed to re-export every symbol that was previously reachable through `@nx/devkit/src/...`, so blindly rewriting non-named-import shapes (default / namespace / side-effect / require() / dynamic import()) to `/internal` could silently send users to a broken path. Only plain named imports — which we can bucket per-symbol against the explicit DEVKIT_INTERNAL_SYMBOLS set — are rewritten now; everything else is left untouched and called out as a manual-migration step in the migration's user-facing doc.
by Jason Jean
J
Canceled
35541
df70f845 fix(devkit): drop /internal fallback for non-named deep imports `/internal` is not guaranteed to re-export every symbol that was previously reachable through `@nx/devkit/src/...`, so blindly rewriting non-named-import shapes (default / namespace / side-effect / require() / dynamic import()) to `/internal` could silently send users to a broken path. Only plain named imports — which we can bucket per-symbol against the explicit DEVKIT_INTERNAL_SYMBOLS set — are rewritten now; everything else is left untouched and called out as a manual-migration step in the migration's user-facing doc.
by Jason Jean
J
Succeeded
35541
1123a7d1 fix(devkit): use relative imports in deep-imports migration The migration imported from '@nx/devkit' which is self-referential inside the devkit package — @nx/dependency-checks flagged it as a missing dependency, and the eslint config bans non-relative @nx/devkit imports inside the package. Rewrite to use the same relative paths that public-api.ts uses, plus nx/src/devkit-exports for Tree/logger. Also add the missing Promise<void> return type on the migration default export.
by Jason Jean
J
Failed
35541
22b7e5f5 feat(devkit): migrate `@nx/devkit/src/...` deep imports to public/internal entry points Adds an `nx migrate` step that rewrites every `@nx/devkit/src/...` import in a workspace's `.ts`/`.tsx`/`.cts`/`.mts` files to a supported entry point, since the new `exports` map closes off the deep-import paths. The rewrite uses the TypeScript compiler API (lazy-loaded via `ensurePackage`) to bucket each named specifier by symbol name: - Public-API names land on `@nx/devkit`. - Names that were previously only deep-importable land on `@nx/devkit/internal`. Default, namespace, side-effect, `require(...)`, and dynamic `import(...)` forms can't be split by symbol; they get rewritten to `@nx/devkit/internal`, which re-exports every previously deep-importable symbol. A final collapse pass merges any duplicate `@nx/devkit` and `@nx/devkit/internal` named-only imports (including pre-existing ones the user already had) into a single declaration per `(specifier, isTypeOnly)` group, deduping specifiers by rendered text.
by Jason Jean
J
Previous page
Previous
Next
Next page