94d9358e0a
## Current Behavior #35386 renamed the canonical plugin API to drop the `V2` suffix — both the exported `createNodesV2` **value** in first-party plugins (now `createNodes`) and the `*V2` **types** in `@nx/devkit` (`CreateNodesV2`, `CreateNodesContextV2`, `CreateNodesResultV2`, `CreateNodesFunctionV2`, `NxPluginV2`). The old names are kept as deprecated aliases, so existing code keeps compiling — but there is no migration to move workspaces onto the canonical names, and `@nx/angular/plugin` / `@nx/vitest` only re-exported `createNodesV2` from their public entry points (the rename was incomplete there). ## Expected Behavior - **Per-plugin value migration** (`migrate-create-nodes-v2-to-create-nodes`): every first-party plugin that publicly exposes `createNodesV2` ships a migration that rewrites named imports/re-exports of `createNodesV2` from that plugin's public specifier(s) to `createNodes` (22 plugins, incl. `@nx/gradle` + `@nx/gradle/plugin-v1`, `@nx/js/typescript`, `@nx/react/router-plugin`). - **devkit type migration** (`rename-create-nodes-v2-types`): rewrites imports/re-exports of the deprecated `*V2` types from `@nx/devkit` to their canonical names (`CreateNodesResultV2` → `CreateNodesResultArray`; the unrelated `CreateNodesResult` is left alone). - `@nx/angular/plugin` and `@nx/vitest` now also re-export `createNodes`, completing the rename so the migration targets resolve. All migrations are AST-based, modeled on devkit's `update-deep-imports`: they handle `as` aliases, dedupe when both names are already imported, preserve `type` modifiers and default imports, and leave strings/comments, dynamic `import`/`require`, and unrelated specifiers untouched. Each has unit + tree-runner specs and a `.md` doc, registered at `23.0.0-beta.5`. ## Related Issue(s) Follow-up to #35386. No issue to close.
2 lines
67 B
TypeScript
2 lines
67 B
TypeScript
export { createNodes, createNodesV2 } from './src/plugins/plugin';
|