@veryfront/ext-parser-babel
v0.1.1278
Published
Veryfront first-party extension package for ext-parser-babel
Maintainers
Readme
@veryfront/ext-parser-babel
Category: Build | Contract:
CodeParser| Built-in
Provides JavaScript/TypeScript AST parsing, traversal, and JSX source-position injection for Veryfront, backed by @babel/parser, @babel/traverse, @babel/generator, and @babel/types. Used by the transform pipeline and Studio Navigator.
Registration
This extension is auto-enabled by core bootstrap. Add it to veryfront.config.ts only when you need to override the built-in registration:
import extBabel from "@veryfront/ext-parser-babel";
export default defineConfig({
extensions: [extBabel()],
});Provided contract
CodeParser exposes:
parse(options)/traverse(ast, visitor)/generate(ast, options): generic AST pipeline for callers that want to build custom transforms.hasFunctionDirective(options): parser-owned function directive detection with Babel's syntax semantics.findStaticCommonJsImports(options): parser-owned static CommonJS discovery that respects lexical and TypeScript bindings.injectJsxNodePositions(source, options): the Studio Navigator helper that stampsdata-node-*attributes onto JSX elements at compile time.
Core's src/transforms/plugins/babel-node-positions.ts is a thin shim that resolves this contract at call time. When the extension is not installed and the shim is invoked, Veryfront throws an install-suggestion error directing the user to add @veryfront/ext-parser-babel.
Parser-only entry
Permission-constrained workers that only need AST parsing can import
BabelParseOnlyParser from @veryfront/ext-parser-babel/parser-only. This
entry preserves the full parser's language and file-extension behavior without
loading Babel traversal, code generation, JSX transformation, extension
lifecycle, or debug dependencies. It does not read environment variables or
request filesystem/network permissions.
parse(options) accepts two parser-only grammar controls:
syntaxselects"javascript"or"typescript". It defaults to"typescript"for compatibility withCodeParser.decoratorModeselects only the current decorator grammar with"current", or accepts the current and legacy grammars with"compatible". It defaults to"compatible".
The file extension continues to select JSX parsing. Markdown paths are treated as JSX-capable inputs because this entry receives their compiled output.
Configuration
No factory options. The extension takes no config.
