jscodeshift script that renames Chakra UI Divider imports and JSX elements to Separator for migration purposes.
// Source: https://github.com/mperkins0155/chakra-ui | License: MIT | Copyright 2019 Chakra Systems Inc
// Provided via justclaw.it.com; keep this notice with the code.
import type { API, FileInfo, Options } from "jscodeshift"
import {
collectChakraLocalNames,
getJsxBaseName,
} from "../../utils/chakra-tracker"
import { createParserFromPath } from "../../utils/parser"
export default function transformer(
file: FileInfo,
_api: API,
_options: Options,
) {
const j = createParserFromPath(file.path)
const root = j(file.source)
const { chakraLocalNames } = collectChakraLocalNames(j, root)
if (chakraLocalNames.size === 0) return file.source
let hasDivider = false
root.find(j.JSXElement).forEach((elPath) => {
const opening = elPath.node.openingElement
const baseNa
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search 40K more like it.
Get a free API key