Files
medusa-store/packages/admin/admin-vite-plugin/src/babel.ts

70 lines
1.4 KiB
TypeScript

import { parse, type ParseResult, type ParserOptions } from "@babel/parser"
import _traverse, { type NodePath } from "@babel/traverse"
import {
ExportDefaultDeclaration,
ExportNamedDeclaration,
File,
isArrayExpression,
isCallExpression,
isFunctionDeclaration,
isIdentifier,
isJSXElement,
isJSXFragment,
isMemberExpression,
isObjectExpression,
isObjectProperty,
isStringLiteral,
isTemplateLiteral,
isVariableDeclaration,
isVariableDeclarator,
ObjectExpression,
ObjectMethod,
ObjectProperty,
SpreadElement,
StringLiteral,
} from "@babel/types"
/**
* Depending on whether we are running the CJS or ESM build of the plugin, we
* need to import the default export of the `@babel/traverse` package in
* different ways.
*/
let traverse: typeof _traverse
if (typeof _traverse === "function") {
traverse = _traverse
} else {
traverse = (_traverse as any).default
}
export {
isArrayExpression,
isCallExpression,
isFunctionDeclaration,
isIdentifier,
isJSXElement,
isJSXFragment,
isMemberExpression,
isObjectExpression,
isObjectProperty,
isStringLiteral,
isTemplateLiteral,
isVariableDeclaration,
isVariableDeclarator,
parse,
traverse,
}
export type {
ExportDefaultDeclaration,
ExportNamedDeclaration,
File,
NodePath,
ObjectExpression,
ObjectMethod,
ObjectProperty,
ParseResult,
ParserOptions,
SpreadElement,
StringLiteral,
}