Single-file components
Parse
Vize.parse_sfc(source)Template, scripts, styles, and custom blocks, with locations.
Compile
Vize.compile_sfc(source,
filename: "App.vue",
scope_id: "7a7a37b1",
vapor: false,
ssr: false,
strip_types: false,
source_map: false,
custom_renderer: false
)Analyze
Vize.analyze_sfc(source, mode: :full)%Vize.Croquis{} with props, bindings, and template expressions.
Lint
Vize.lint(source, "App.vue")Declarations
Vize.generate_dts(source, filename: "App.vue")Bundler helpers
Vize.SFC.scope_id("src/App.vue", root: root)
Vize.SFC.collect_template_assets(source)
Vize.SFC.rewrite_asset_references(code, assets)
Vize.SFC.external_sources(source)Templates
Render function
Vize.compile_template(source,
mode: "function",
ssr: false
)SSR
Vize.compile_ssr(source)Vapor
Vize.compile_vapor(source,
ssr: false,
diagnostics: false,
template_syntax: :standard
)Vapor IR
Vize.vapor_ir(source)Split for server rendering
{:ok, %{statics: statics, slots: slots}} = Vize.split_template(source)
Vize.split_template(source, root_attrs: true)CSS
Compile
Vize.CSS.compile(css,
minify: true,
targets: %{chrome: 80, safari: 14},
scoped: false,
scope_id: "data-v-7a7a37b1",
css_modules: false,
filename: "app.css"
)Targets apply only with minify: true.
Bundle
Vize.CSS.bundle(path,
minify: true,
targets: %{safari: 14},
css_modules: false
)Sass
Vize.CSS.compile_sass(scss,
syntax: :scss,
filename: path,
load_paths: ["assets/css"],
compressed: false
)URLs
Vize.CSS.collect_urls(css)
Vize.CSS.rewrite_urls(css, fn url -> :keep end)
Vize.CSS.select(css, :dependencies)AST
{:ok, %{ast: ast}} = Vize.CSS.parse_ast(css)
ast = Vize.CSS.postwalk(ast, & &1)
Vize.CSS.print_ast(ast, minify: true)