使用此代码
您可以使用以下命令运行此编码器:
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页:1link选项并创建新HttpLink实例 - 移动
name财务报告和审定财务报表version改为 aclientAwareness选项 - 添加一个
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