Skip to main content

Crate vize_atelier_sfc

Crate vize_atelier_sfc 

Source
Expand description

Vue Single File Component (.vue) compiler.

This module provides parsing and compilation of Vue SFCs, following the Vue.js core structure:

  • parse - SFC parsing into descriptor blocks
  • compile_script - Script/script setup compilation
  • compile_template - Template block compilation (DOM and Vapor)
  • compile - Main SFC compilation orchestration
  • style - Style block compilation with scoped CSS
  • css - Low-level CSS compilation with LightningCSS

§Example

use vize_atelier_sfc::{parse_sfc, compile_sfc, SfcParseOptions, SfcCompileOptions};

let source = r#"
<script setup>
import { ref } from 'vue'
const count = ref(0)
</script>
<template>
  <button @click="count++">{{ count }}</button>
</template>
"#;

let descriptor = parse_sfc(source, SfcParseOptions::default()).unwrap();
let result = compile_sfc(&descriptor, SfcCompileOptions::default()).unwrap();
println!("{}", result.code);

Re-exports§

pub use bundler::BundlerCustomBlock;
pub use bundler::BundlerStyleBlock;
pub use bundler::SfcBlockAttribute;
pub use bundler::SfcSrcInfo;
pub use bundler::TemplateAssetTagRule;
pub use bundler::TemplateAssetUrl;
pub use bundler::collect_template_asset_urls;
pub use bundler::extract_custom_blocks;
pub use bundler::extract_src_info;
pub use bundler::extract_style_blocks;
pub use bundler::generate_bundler_scope_id;
pub use bundler::has_scoped_style;
pub use bundler::is_importable_asset_url;
pub use bundler::strip_css_comments_for_scoped;
pub use bundler::wrap_scoped_preprocessor_style;
pub use compile::compile_sfc_with_vue_parser_quirks;Deprecated
pub use compile::ScriptCompileResult;
pub use compile::compile_sfc;
pub use compile_script::props::validate_script_setup_semantics;
pub use compile_script::props::validate_script_setup_semantics_located;
pub use css::CssAstResult;
pub use css::CssCompileOptions;
pub use css::CssCompileResult;
pub use css::CssTargets;
pub use css::bundle_css;
pub use css::compile_css;
pub use css::compile_style_block;
pub use css::parse_css_ast;
pub use css::print_css_ast;
pub use parse::parse_sfc;
pub use script::begin_type_resolution_batch;
pub use types::BlockLocation;
pub use types::PadOption;
pub use types::PropsDestructure;
pub use types::ScriptCompileOptions;
pub use types::SfcCompileOptions;
pub use types::SfcCompileResult;
pub use types::SfcCustomBlock;
pub use types::SfcDescriptor;
pub use types::SfcError;
pub use types::SfcMacroArtifact;
pub use types::SfcParseOptions;
pub use types::SfcScriptBlock;
pub use types::SfcStyleBlock;
pub use types::SfcTemplateBlock;
pub use types::StyleCompileOptions;
pub use types::TemplateCompileOptions;

Modules§

bundler
compile
SFC compilation implementation.
compile_script
Script compilation for Vue SFCs.
compile_template
Template compilation for Vue SFCs.
croquis
Shared Croquis analysis for SFC consumers.
css
CSS compilation using LightningCSS.
parse
SFC parsing implementation.
rewrite_default
Rewrite default export to a variable declaration.
script
Script block analysis and compilation.
style
Style block processing and scoped CSS.
types
SFC type definitions.
vite_plugin
Native request classification for the Vite plugin.

Structs§

BindingMetadata
Binding metadata from script setup
CompilerError
Compiler error

Enums§

BindingType
Binding type from script setup.

Functions§

compile_template
Compile a Vue template for DOM with default options