Class VanParser
java.lang.Object
dev.vanengine.core.compile.VanParser
Parser for
.van files (Vue SFC syntax).
Extracts template, script, style blocks and parses imports, props, and scoped styles.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordA single prop declaration fromdefineProps({ ... }).static final recordA non-component import from<script setup>(.ts/.js/.tsx/.jsx files).static final recordExtracted blocks from a.vanfile.static final recordA.vancomponent import from<script setup>. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringaddScopeClass(String html, String id) Add a scope class to every opening HTML tag in the fragment.static VanParser.VanBlockparseBlocks(String source) Extract blocks from a.vansource file.static List<VanParser.PropDef> parseDefineProps(String script) ParsedefineProps({ ... })from a script setup block.static List<VanParser.VanImport> parseImports(String scriptSetup) Parseimport X from './path.van'statements from a script setup block.static List<VanParser.ScriptImport> parseScriptImports(String scriptSetup) Parse non-.van imports from a script setup block.static StringConvert PascalCase to kebab-case:DefaultLayout->default-layout.static StringScope CSS by inserting.{id}on selectors.static StringGenerate a deterministic 8-hex-char scope ID from content.
-
Method Details
-
parseImports
Parseimport X from './path.van'statements from a script setup block. -
parseScriptImports
Parse non-.van imports from a script setup block. Returns imports from .ts, .js, .tsx, .jsx files. -
pascalToKebab
-
parseBlocks
Extract blocks from a.vansource file. -
parseDefineProps
ParsedefineProps({ ... })from a script setup block. -
scopeId
-
addScopeClass
-
scopeCss
-