Vigia

将 nx 从 23.x 升级到 24.x

根据 TypeScript 类型自动比较 nx 23.3.1 与 24.0.0 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出0
已修改的签名3
已删除的类或接口成员12
已修改的类或接口成员18
新增弃用0
要求变化(engines、peer 依赖)0
新增导出40

已删除的导出

未发现。

已修改的签名

export之前之后
nx/src/native · expandFilesInput(workspaceRoot: string, globs: string[]): string[](workspaceRoot: string, globs: string[], projectRoots?: string[] | null | undefined): string[]
nx/src/native/index · expandFilesInput(workspaceRoot: string, globs: string[]): string[](workspaceRoot: string, globs: string[], projectRoots?: string[] | null | undefined): string[]
nx/src/native/index.js · expandFilesInput(workspaceRoot: string, globs: string[]): string[](workspaceRoot: string, globs: string[], projectRoots?: string[] | null | undefined): string[]

已删除的类或接口成员

memberimport之前
InvocationRecord.parentPidnx/src/nativenumber
TaskInvocationTracker.getInvocationChainnx/src/native(): InvocationRecord[]
TaskUltracacheSettings.ignoredReadsnx/src/nativestring[] | undefined
TaskUltracacheSettings.ignoredWritesnx/src/nativestring[] | undefined
InvocationRecord.parentPidnx/src/native/indexnumber
TaskInvocationTracker.getInvocationChainnx/src/native/index(): InvocationRecord[]
TaskUltracacheSettings.ignoredReadsnx/src/native/indexstring[] | undefined
TaskUltracacheSettings.ignoredWritesnx/src/native/indexstring[] | undefined
InvocationRecord.parentPidnx/src/native/index.jsnumber
TaskInvocationTracker.getInvocationChainnx/src/native/index.js(): InvocationRecord[]
TaskUltracacheSettings.ignoredReadsnx/src/native/index.jsstring[] | undefined
TaskUltracacheSettings.ignoredWritesnx/src/native/index.jsstring[] | undefined

已修改的类或接口成员

member之前之后
TaskGraph.dependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
TaskGraph.continuousDependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
AppLifeCycle.constructor(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, isCloudEnabled?: boolean | null | undefined): AppLifeCycle(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, readyDependencies: Record<string, string[]>, isCloudEnabled?: boolean | null | undefined): AppLifeCycle
TaskInvocationTracker.constructor(db: ExternalObject<NxDbConnection>, rootPid: number): TaskInvocationTracker(db: ExternalObject<NxDbConnection>, rootPid: number, ancestorPids: number[]): TaskInvocationTracker
TaskInvocationTracker.registerTask(parentPid: number, taskId: string): void(pid: number, taskId: string, overridesHash: string): InvocationRecord[] | null
TaskInvocationTracker.unregisterTask(taskId: string): void(pid: number, taskId: string): void
TaskGraph.dependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
TaskGraph.continuousDependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
AppLifeCycle.constructor(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, isCloudEnabled?: boolean | null | undefined): AppLifeCycle(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, readyDependencies: Record<string, string[]>, isCloudEnabled?: boolean | null | undefined): AppLifeCycle
TaskInvocationTracker.constructor(db: ExternalObject<NxDbConnection>, rootPid: number): TaskInvocationTracker(db: ExternalObject<NxDbConnection>, rootPid: number, ancestorPids: number[]): TaskInvocationTracker
TaskInvocationTracker.registerTask(parentPid: number, taskId: string): void(pid: number, taskId: string, overridesHash: string): InvocationRecord[] | null
TaskInvocationTracker.unregisterTask(taskId: string): void(pid: number, taskId: string): void
TaskGraph.dependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
TaskGraph.continuousDependenciesRecord<string, string[]>Record<string, TaskGraphEdge[]>
AppLifeCycle.constructor(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, isCloudEnabled?: boolean | null | undefined): AppLifeCycle(tasks: Task[], initiatingTasks: string[], runMode: RunMode, pinnedTasks: string[], tuiCliArgs: TuiCliArgs, tuiConfig: TuiConfig, titleText: string, workspaceRoot: string, taskGraph: TaskGraph, readyDependencies: Record<string, string[]>, isCloudEnabled?: boolean | null | undefined): AppLifeCycle
TaskInvocationTracker.constructor(db: ExternalObject<NxDbConnection>, rootPid: number): TaskInvocationTracker(db: ExternalObject<NxDbConnection>, rootPid: number, ancestorPids: number[]): TaskInvocationTracker
TaskInvocationTracker.registerTask(parentPid: number, taskId: string): void(pid: number, taskId: string, overridesHash: string): InvocationRecord[] | null
TaskInvocationTracker.unregisterTask(taskId: string): void(pid: number, taskId: string): void

新增弃用

未发现。

要求变化(engines、peer 依赖)

未发现。

新增导出 (40)
importexportkind
nx/src/nativeopenUrlfunction
nx/src/nativeLogMatcherclass
nx/src/nativeShebangFileinterface
nx/src/nativeTaskGraphEdgeinterface
nx/src/nativeTaskReadinessenum
nx/src/nativeReadinessProbeclass
nx/src/nativeSocketDirDetailsinterface
nx/src/nativereadShebangHeadersfunction
nx/src/nativeReadinessProbeConfiginterface
nx/src/nativeresolveDaemonSocketPathfunction
nx/src/nativeresolvePluginSocketPathfunction
nx/src/nativeresolveNxConsoleSocketPathfunction
nx/src/nativeresolveForkedProcessSocketPathfunction
nx/src/native/indexopenUrlfunction
nx/src/native/indexLogMatcherclass
nx/src/native/indexShebangFileinterface
nx/src/native/indexTaskGraphEdgeinterface
nx/src/native/indexTaskReadinessenum
nx/src/native/indexReadinessProbeclass
nx/src/native/indexSocketDirDetailsinterface
nx/src/native/indexreadShebangHeadersfunction
nx/src/native/indexReadinessProbeConfiginterface
nx/src/native/indexresolveDaemonSocketPathfunction
nx/src/native/indexresolvePluginSocketPathfunction
nx/src/native/indexresolveNxConsoleSocketPathfunction
nx/src/native/indexresolveForkedProcessSocketPathfunction
nx/nx-cloud-internalsTASK_GRAPH_FORMATvariable
nx/src/native/index.jsopenUrlfunction
nx/src/native/index.jsLogMatcherclass
nx/src/native/index.jsShebangFileinterface
nx/src/native/index.jsTaskGraphEdgeinterface
nx/src/native/index.jsTaskReadinessenum
nx/src/native/index.jsReadinessProbeclass
nx/src/native/index.jsSocketDirDetailsinterface
nx/src/native/index.jsreadShebangHeadersfunction
nx/src/native/index.jsReadinessProbeConfiginterface
nx/src/native/index.jsresolveDaemonSocketPathfunction
nx/src/native/index.jsresolvePluginSocketPathfunction
nx/src/native/index.jsresolveNxConsoleSocketPathfunction
nx/src/native/index.jsresolveForkedProcessSocketPathfunction

把这些数据交给你的 AI 智能体

Vigia 是免费的 MCP 服务器:你的编程智能体在写代码之前就能检查版本、不兼容变更和安全漏洞。无需注册,无需 API 密钥。

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

添加到 Cursor添加到 VS Code★ 在 GitHub 上加星

任何其他 MCP 客户端
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

智能体技能(SKILL.md):告诉智能体何时使用 Vigia · 用于拉取请求的 GitHub Action

常见问题

将 nx 从 23 升级到 24 有哪些不兼容变更?

在 nx 23.3.1 与 24.0.0 之间,Vigia 发现 0 个已删除的导出、3 个已修改的签名,以及 30 个已删除或修改的类或接口成员。

nx 24 中弃用了哪些内容?

nx 24.0.0 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/nx/upgrade?from=23.3.1&to=24.0.0