@apollo/client-codemod-migrate-3-to-4

中文文档
1.0.2发布于 2025/08/28MITES Module构建来源已验证近 30 天下载 2361

阿波罗客户端代码Mod从第3版迁移到第4版

中文使用文档
文档目录4 节
  1. 使用此代码
  2. 可用的编码模式 :
  3. 针对类型脚本/ TSX 的使用
  4. 使用特定 PR 中的代码

使用此代码

您可以使用以下命令运行此编码器:

npx @apollo/client-codemod-migrate-3-to-4 --parser ts file1.ts file2.ts

如果您只想要运行特定的代码:

npx @apollo/client-codemod-migrate-3-to-4 --parser ts file1.ts file2.ts  --codemod imports

可用的编码模式 :

如果您不手动指定一个代码, 则按默认顺序应用 :

  • legacyEntryPoints: 从旧的旧的入关点移出进口 @apollo/client/main.cjs 或者说 @apollo/client/react/react.cjs 切入点,例如 @apollo/client 或者说 @apollo/client/react。 。 。 .
  • imports: 移动已移动或更名于阿波罗客户端 4. 还酌情将类型移至命名空间导入.
  • links: 移动 split, (中文(简体) ), from, (中文(简体) ), concat 财务报告和审定财务报表 empty 打开 ApolloLink 名称空间, 更改 funtion 链接引用 createHttpLink(...) 至等同的阶级new HttpLink(...)) (中文(简体) ). 不变 setContext((operation, prevContext) => {}) 改为 new ContextLink((prevContext, operation) => {}) - 这需要人工干预,因为回调参数的顺序被翻转,这并非可靠的可编码.
  • removals: 将阿波罗客户端 4 中已删除的所有值或类型导入点对准 @apollo/client/v4-migration 进入点。 该入境点包含每次移出的背景,经常有移民指示.
  • clientSetup: 应用从迁移指南到您的阿波罗客户端设置代码的下列步骤
    • 移动 uri, (中文(简体) ), headers 财务报告和审定财务报表 credentials 页:1 link 选项并创建新 HttpLink 实例
    • 移动 name 财务报告和审定财务报表 version 改为 a clientAwareness 选项
    • 添加一个 localState 带有新选项 LocalState 实例,移动 resolvers,并删除 typeDefs 财务报告和审定财务报表 fragmentMatcher 选项
    • 更改 connectToDevTools 选项到 devtools.enabled
    • 重命名 disableNetworkFetches 改为 prioritizeCacheValues
    • 若为 dataMasking 启用,为全局类型扩展添加模板,以重新覆盖数据类型
    • 添加 incrementalHandler 选项,并添加一个全局类型增强模板,从而在自定义链接中按此键入网络响应
    • 删除 TCacheShape 全部类型参数 ApolloClient 用途(类型和构造器呼叫)

针对类型脚本/ TSX 的使用

TypeScript 和 TypeScript-JSX 文件之间有一些语法重叠,所以您可能需要在两个文件扩展名中以平缓方式运行代码mod来避免出错:

npx @apollo/client-codemod-migrate-3-to-4 --parser ts --ignore-pattern="*.{tsx,d.ts}" file1.ts file2.ts
npx @apollo/client-codemod-migrate-3-to-4 --parser tsx --ignore-pattern="*.ts" file1.ts file2.ts

使用特定 PR 中的代码

npx https://pkg.pr.new/apollographql/apollo-client/@apollo/client-codemod-migrate-3-to-4@12733 --parser ts file1.ts file2.ts

版本与发布记录

@apollo/client-codemod-migrate-3-to-4 共发布 7 个版本,首次发布于 2025/06/28;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.2latest2025/08/281.2 年前
1.0.12025/08/261.2 年前
1.0.02025/08/221.2 年前
1.0.0-rc.3nextrc2025/08/211.2 年前
1.0.0-rc.22025/08/151.2 年前
1.0.0-rc.12025/07/191.3 年前

关于 @apollo/client-codemod-migrate-3-to-4 的常见问题

@apollo/client-codemod-migrate-3-to-4 是什么?

阿波罗客户端代码Mod从第3版迁移到第4版

如何安装 @apollo/client-codemod-migrate-3-to-4?

在项目目录运行 npm install @apollo/client-codemod-migrate-3-to-4,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 apollo-client-codemod-migrate-3-to-4,可以用 npx apollo-client-codemod-migrate-3-to-4 直接运行。

@apollo/client-codemod-migrate-3-to-4 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/apollo__client-codemod-migrate-3-to-4 是否存在。

@apollo/client-codemod-migrate-3-to-4 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@apollo/client-codemod-migrate-3-to-4 可以商用吗?

@apollo/client-codemod-migrate-3-to-4 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@apollo/client-codemod-migrate-3-to-4 的下载量有多少?

根据 npm 官方下载统计,@apollo/client-codemod-migrate-3-to-4 在 2026/10/07 – 2026/11/05 这 30 天内被下载 2,361 次,日均约 79 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@apollo/client-codemod-migrate-3-to-4 还在维护吗?

最新版本 1.0.2 发布于 2025/08/28(1.2 年前);至今共发布 7 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/06/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。