Spaces:
Sleeping
Sleeping
module.exports = function (fileInfo, api) { | |
const j = api.jscodeshift | |
const root = j(fileInfo.source) | |
const useDoubleQuote = root.find(j.Literal).some(({ node }) => node.raw.startsWith('"')) | |
root | |
.find(j.Literal, { value: '@vue/app' }) | |
.replaceWith(j.stringLiteral('@vue/cli-plugin-babel/preset')) | |
root | |
.find(j.Literal, { value: '@vue/babel-preset-app' }) | |
.replaceWith(j.stringLiteral('@vue/cli-plugin-babel/preset')) | |
const templateLiterals = root | |
.find(j.TemplateLiteral, { | |
expressions: { length: 0 } | |
}) | |
templateLiterals | |
.find(j.TemplateElement, { | |
value: { | |
cooked: '@vue/app' | |
} | |
}) | |
.closest(j.TemplateLiteral) | |
.replaceWith(j.stringLiteral('@vue/cli-plugin-babel/preset')) | |
templateLiterals | |
.find(j.TemplateElement, { | |
value: { | |
cooked: '@vue/babel-preset-app' | |
} | |
}) | |
.closest(j.TemplateLiteral) | |
.replaceWith(j.stringLiteral('@vue/cli-plugin-babel/preset')) | |
return root.toSource({ | |
lineTerminator: '\n', | |
quote: useDoubleQuote ? 'double' : 'single' | |
}) | |
} | |