Skip to content

Commit ef06e63

Browse files
feat(codemod): add support for renaming multiple packages, not only react-query
1 parent 2954e30 commit ef06e63

File tree

3 files changed

+31
-13
lines changed

3 files changed

+31
-13
lines changed
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1+
// React Query
12
import { useQuery, useQueryClient } from 'react-query'
23
import { useQuery as RenamedUseQuery, useQueryClient as RenamedUseQueryClient } from 'react-query'
3-
import Something from 'react-query'
4-
import * as RQ from 'react-query'
4+
import DefaultReactQuery from 'react-query'
5+
import * as NamespacedReactQuery from 'react-query'
6+
// Devtools
7+
import { ReactQueryDevtools } from 'react-query/devtools'
8+
import { ReactQueryDevtools as RenamedReactQueryDevtools } from 'react-query/devtools'
9+
import DefaultReactQueryDevtools from 'react-query/devtools'
10+
import * as NamespacedReactQueryDevtools from 'react-query/devtools'
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1+
// React Query
12
import { useQuery, useQueryClient } from '@tanstack/react-query'
23
import { useQuery as RenamedUseQuery, useQueryClient as RenamedUseQueryClient } from '@tanstack/react-query'
3-
import Something from '@tanstack/react-query'
4-
import * as RQ from '@tanstack/react-query'
4+
import DefaultReactQuery from '@tanstack/react-query'
5+
import * as NamespacedReactQuery from '@tanstack/react-query'
6+
// Devtools
7+
import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
8+
import { ReactQueryDevtools as RenamedReactQueryDevtools } from '@tanstack/react-query-devtools'
9+
import DefaultReactQueryDevtools from '@tanstack/react-query-devtools'
10+
import * as NamespacedReactQueryDevtools from '@tanstack/react-query-devtools'

packages/react-query/codemods/v4/replace-import-specifier.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,23 @@ module.exports = (file, api) => {
22
const jscodeshift = api.jscodeshift
33
const root = jscodeshift(file.source)
44

5-
const findImportSpecifiers = () =>
6-
root.find(jscodeshift.ImportDeclaration, {
7-
source: {
8-
value: 'react-query',
9-
},
10-
})
5+
const replacements = [
6+
{ from: 'react-query', to: '@tanstack/react-query' },
7+
{ from: 'react-query/devtools', to: '@tanstack/react-query-devtools' },
8+
]
119

12-
findImportSpecifiers().replaceWith(({ node }) => {
13-
node.source.value = '@tanstack/react-query'
10+
replacements.forEach(({ from, to }) => {
11+
root
12+
.find(jscodeshift.ImportDeclaration, {
13+
source: {
14+
value: from,
15+
},
16+
})
17+
.replaceWith(({ node }) => {
18+
node.source.value = to
1419

15-
return node
20+
return node
21+
})
1622
})
1723

1824
return root.toSource({ quote: 'single' })

0 commit comments

Comments
 (0)