Feliz.CompilerPlugins
3.1.0
dotnet add package Feliz.CompilerPlugins --version 3.1.0
NuGet\Install-Package Feliz.CompilerPlugins -Version 3.1.0
<PackageReference Include="Feliz.CompilerPlugins" Version="3.1.0" />
<PackageVersion Include="Feliz.CompilerPlugins" Version="3.1.0" />
<PackageReference Include="Feliz.CompilerPlugins" />
paket add Feliz.CompilerPlugins --version 3.1.0
#r "nuget: Feliz.CompilerPlugins, 3.1.0"
#:package Feliz.CompilerPlugins@3.1.0
#addin nuget:?package=Feliz.CompilerPlugins&version=3.1.0
#tool nuget:?package=Feliz.CompilerPlugins&version=3.1.0
Feliz 
A fresh retake of the React API in Fable, optimized for happiness.
Here is how it looks like:
module App
open Feliz
[<ReactComponent>]
let Counter() =
let (count, setCount) = React.useState(0)
Html.div [
Html.button [
prop.style [ style.marginRight 5 ]
prop.onClick (fun _ -> setCount(count + 1))
prop.text "Increment"
]
Html.button [
prop.style [ style.marginLeft 5 ]
prop.onClick (fun _ -> setCount(count - 1))
prop.text "Decrement"
]
Html.h1 count
]
open Browser.Dom
let root = ReactDOM.createRoot (document.getElementById "root")
root.render (Counter())
✨ Features
- Flexible API design: Combine the reliability of F# type safety with the flexibility to interop easily with native JavaScript.
- Discoverable attributes with no more functions,
Htmlattributes or CSS properties globally available so they are easy to find. - Proper documentation: each attribute and CSS property
- Full React API support: Feliz aims to support the React API for building components using hooks, context and more.
- Fully Type-safe: no more
Margin of objbut instead utilizing a plethora of overloaded functions to account for the overloaded nature ofCSSattributes, covering 90%+ of the CSS styles, values and properties. - Compatible with Femto.
- Approximately Zero bundle size increase where everything function body is erased from the generated JavaScript unless you actually use said function.
⚡Combine with Elmish "model-view-update" architecture
Feliz offers a React.useElmish hook to seamlessly integrate Elmish state machines with React components. You can use it by referencing the Feliz.UseElmish package.
You can read more on this topic in the documentation.
module App
open Fable.Core
open Feliz
open Feliz.UseElmish
open Elmish
type Msg =
| Increment
| Decrement
type State = { Count : int }
let init() = { Count = 0 }, Cmd.none
let update msg state =
match msg with
| Increment -> { state with Count = state.Count + 1 }, Cmd.none
| Decrement -> { state with Count = state.Count - 1 }, Cmd.none
[<Erase; Mangle(false)>]
type Main =
[<ReactComponent(true)>]
static member Main() =
let state, dispatch = React.useElmish(init, update, [| |])
Html.div [
Html.h1 state.Count
Html.button [
prop.text "Increment"
prop.onClick (fun _ -> dispatch Increment)
]
Html.button [
prop.text "Decrement"
prop.onClick (fun _ -> dispatch Decrement)
]
]
🚀 Quick Start
# install the template (if you haven't already)
dotnet new -i Feliz.Template
# create a new Feliz project from the installed template
dotnet new feliz -n MyProject
# navigate to the created project folder
cd MyProject
# install the npm dependencies
npm install
# install .NET tools
dotnet tool restore
# start the development server
npm start
📚 Documentation
Explore the full docs at https://fable-hub.github.io/Feliz/ — packed with live examples and practical guidance. Highlights:
- Feliz syntax: comprehensive reference for
Html,prop,style, React hooks, and more. Browse: https://fable-hub.github.io/Feliz/category/feliz - Guides: curated walkthroughs and best practices — from getting started to advanced patterns. Start here: https://fable-hub.github.io/Feliz/category/guides
- Ecosystem: discover community libraries and official add‑ons (UI, components, hooks, testing, tooling). Explore: https://fable-hub.github.io/Feliz/ecosystem
If anything’s unclear or you’re missing an example, please open an issue or discussion — contributions are very welcome!
⌚ Changelog
Each project in Feliz has its own changelog file in the src folder. Check them out for the latest changes!
Here is a direct link to the Feliz changelog.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Fable.AST (>= 5.0.0-rc.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Feliz.CompilerPlugins:
| Package | Downloads |
|---|---|
|
Feliz
A fresh retake of the React API in Fable, optimized for happiness |
|
|
Elmish.Store
A library that merges Elmish and React, providing an external store with efficient, selective component rendering capabilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.0 | 76 | 3/20/2026 |
| 3.0.0 | 5,235 | 12/10/2025 |
| 3.0.0-rc.9 | 321 | 12/8/2025 |
| 3.0.0-rc.8 | 217 | 11/28/2025 |
| 3.0.0-rc.7 | 157 | 11/27/2025 |
| 3.0.0-rc.6 | 317 | 11/21/2025 |
| 3.0.0-rc.5 | 312 | 11/21/2025 |
| 3.0.0-rc.4 | 415 | 11/18/2025 |
| 3.0.0-rc.3 | 325 | 11/11/2025 |
| 3.0.0-rc.2 | 228 | 11/3/2025 |
| 3.0.0-rc.1 | 238 | 10/2/2025 |
| 2.2.0 | 215,352 | 3/21/2023 |
| 2.1.0 | 768 | 3/18/2023 |
| 2.0.0 | 43,801 | 12/25/2022 |
| 2.0.0-prerelease-003 | 6,683 | 9/16/2022 |
| 2.0.0-prerelease-002 | 8,796 | 9/1/2022 |
| 2.0.0-prerelease-001 | 460 | 8/26/2022 |
| 1.10.0 | 87,282 | 7/9/2022 |
| 1.9.0 | 19,102 | 5/9/2022 |
| 1.8.0 | 27,920 | 4/19/2022 |
### 🔄 Changed
- Update `Fable.AST` to `5.0.0-rc.3` (by @MangelMaxime)