All files / v4 replace-import-specifier.js

0% Statements 0/9
100% Branches 0/0
0% Functions 0/3
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26                                                   
module.exports = (file, api) => {
  const jscodeshift = api.jscodeshift
  const root = jscodeshift(file.source)
 
  const replacements = [
    { from: 'react-query', to: '@tanstack/react-query' },
    { from: 'react-query/devtools', to: '@tanstack/react-query-devtools' },
  ]
 
  replacements.forEach(({ from, to }) => {
    root
      .find(jscodeshift.ImportDeclaration, {
        source: {
          value: from,
        },
      })
      .replaceWith(({ node }) => {
        node.source.value = to
 
        return node
      })
  })
 
  return root.toSource({ quote: 'single', lineTerminator: '\n' })
}