Skip to main content
Partas
tip

If you're not aware of Fable, and/or are new to F#, then I suggest you visit their website to familiarise yourself with the technology.


Introduction

Partas.Solid is a plugin for the F# to JS transpiler Fable.

Partas.Solid differs from other front end plugins in F# in its overarching goal:

To define a DSL that allows building HTML/JSX trees for native, imported, and user defined components

What this means

  • You can define a component and use it within the same DSL

This means User defined components are indistinguishable from native or library imported components in their usage. Forming DOM trees is consistently uniform in syntax, making it easier to read, understand, refactor, and use.

  • When creating a UI element, you can inherit the ability to receive children or not, have classes, have event signatures, all by interfacing a single type. No need to overload. No need to define optional signatures. Just go.
  • Creating components with optional properties/attributes are as intuitive as the source material.

These are unique goals for Partas.Solid.


Contents

This documentation is organised (or disorganised) in the following manner:

  • About
    • Context/History of the plugin/fork
    • Advantages of JSX
  • Documentation
    • Features of the Plugin and general introduction to Solid-JS
    • Bindings and signatures for bindings where relevant
  • Dev
    • Minor plugin details (the source is better documented)
  • Troubleshooting

Further examples and recipes are to come.

A separate section is available for the Ecosystem

Getting Started

Benefits of JSX Output

Learn More About Us

Isn't this Oxpecker.Solid?

Partas.Solid is an opinionated fork of Lanayx's Oxpecker.Solid, the plugin aggressively transforms the Fable AST to produce Solid-js compatible JSX with lots of syntactic sugar sprinkled in for a smooth developer experience.

There are fundamental differences with the goals of each plugin, which is why the fork exists. Where possible, everything is done to simultaneously support and contribute to Oxpecker.Solid.

Last updated: 7/9/25, 7:54 PM

PartasBuilt using the Partas.SolidStart SolidBase template
Community
githubdiscord