Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

stylex-enums

Part of the StyleX SWC Plugin workspace

Overview

Shared enum and type-alias definitions used throughout the StyleX compiler crates. Extracted from the monolithic stylex-shared crate so that every consumer can depend on a small, stable set of domain types without pulling in transformation or CSS logic.

  • Defines all domain enums for the StyleX pipeline in one place
  • Zero runtime cost — every variant maps to a simple discriminant
  • Consumed by five downstream crates, making it one of the most widely depended-on crates in the workspace

Architecture

  • Layer: 2 — Domain Leaves
  • Depends on: stylex-macros
  • Depended on by: stylex-css, stylex-rs-compiler, stylex-structures, stylex-transform, stylex-types

Modules

Module Purpose
aliases Type alias enums for shorthand mappings
core Core StyleX operation variants
counter_mode CSS counter style modes
css_syntax CSS syntax classification types
import_path_resolution Module resolution strategy variants
js JavaScript expression classification
misc Miscellaneous helper enums
property_validation_mode Property validation strategy selection
style_resolution Style merge and resolution strategies
style_vars_to_keep Tracking which CSS variables to preserve
sx_prop_name_param stylex() property name parameter types
theme_ref Theme reference value wrappers
top_level_expression Top-level call expression classification
value_with_default Values carrying optional default fallbacks

Dependency Graph

Dependency Graph

graph TD
  subgraph L0["Primitives"]
    stylex_constants["constants"]
    stylex_regex["regex"]
    stylex_utils["utils"]
  end
  subgraph L1["Proc Macros"]
    stylex_macros["macros"]
  end
  subgraph L2["Domain Leaves"]
    stylex_enums["enums"]
    stylex_js["js"]
    stylex_logs["logs"]
    stylex_css_parser["css-parser"]
    stylex_path_resolver["path-resolver"]
  end
  subgraph L3["Core Data Structures"]
    stylex_structures["structures"]
  end
  subgraph L4["Type System"]
    stylex_types["types"]
  end
  subgraph L5["AST Foundations"]
    stylex_ast["ast"]
  end
  subgraph L6["Evaluation"]
    stylex_evaluator["evaluator"]
  end
  subgraph L7["CSS Processing"]
    stylex_css["css"]
  end
  subgraph L8["StyleX Transform"]
    stylex_transform["transform"]
  end
  subgraph L9["Compilers"]
    stylex_compiler_rs["rs-compiler"]
  end
  stylex_macros --> stylex_constants
  stylex_enums --> stylex_macros
  stylex_js --> stylex_constants
  stylex_js --> stylex_macros
  stylex_logs --> stylex_macros
  stylex_css_parser --> stylex_macros
  stylex_path_resolver --> stylex_macros
  stylex_structures --> stylex_constants
  stylex_structures --> stylex_enums
  stylex_structures --> stylex_macros
  stylex_types --> stylex_constants
  stylex_types --> stylex_enums
  stylex_types --> stylex_macros
  stylex_types --> stylex_structures
  stylex_types --> stylex_utils
  stylex_ast --> stylex_constants
  stylex_ast --> stylex_macros
  stylex_ast --> stylex_types
  stylex_ast --> stylex_utils
  stylex_evaluator --> stylex_ast
  stylex_evaluator --> stylex_constants
  stylex_evaluator --> stylex_js
  stylex_evaluator --> stylex_macros
  stylex_evaluator --> stylex_path_resolver
  stylex_evaluator --> stylex_types
  stylex_css --> stylex_ast
  stylex_css --> stylex_constants
  stylex_css --> stylex_css_parser
  stylex_css --> stylex_enums
  stylex_css --> stylex_evaluator
  stylex_css --> stylex_macros
  stylex_css --> stylex_regex
  stylex_css --> stylex_structures
  stylex_css --> stylex_types
  stylex_transform --> stylex_ast
  stylex_transform --> stylex_constants
  stylex_transform --> stylex_css
  stylex_transform --> stylex_css_parser
  stylex_transform --> stylex_enums
  stylex_transform --> stylex_logs
  stylex_transform --> stylex_macros
  stylex_transform --> stylex_path_resolver
  stylex_transform --> stylex_regex
  stylex_transform --> stylex_structures
  stylex_transform --> stylex_types
  stylex_transform --> stylex_utils
  stylex_compiler_rs --> stylex_ast
  stylex_compiler_rs --> stylex_enums
  stylex_compiler_rs --> stylex_logs
  stylex_compiler_rs --> stylex_macros
  stylex_compiler_rs --> stylex_regex
  stylex_compiler_rs --> stylex_structures
  stylex_compiler_rs --> stylex_transform
  stylex_compiler_rs --> stylex_types
  stylex_compiler_rs --> stylex_utils
  classDef l0 fill:#e8e8e8,stroke:#999,color:#333
  classDef l1 fill:#dce8ff,stroke:#6699cc,color:#333
  classDef l2 fill:#dcf5dc,stroke:#66aa66,color:#333
  classDef l3 fill:#fff3dc,stroke:#cc9933,color:#333
  classDef l4 fill:#ffe8dc,stroke:#cc6633,color:#333
  classDef l5 fill:#f5dcff,stroke:#9933cc,color:#333
  classDef l6 fill:#dcfff5,stroke:#33aaaa,color:#333
  classDef l7 fill:#ffdcdc,stroke:#cc3333,color:#333
  classDef l8 fill:#fffdc0,stroke:#aaaa33,color:#333
  classDef l9 fill:#ffc0c0,stroke:#cc0000,color:#333
  class stylex_constants,stylex_regex,stylex_utils l0
  class stylex_macros l1
  class stylex_enums,stylex_js,stylex_logs,stylex_css_parser,stylex_path_resolver l2
  class stylex_structures l3
  class stylex_types l4
  class stylex_ast l5
  class stylex_evaluator l6
  class stylex_css l7
  class stylex_transform l8
  class stylex_compiler_rs l9
Loading

License

MIT — see LICENSE