You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b992b68
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CHANGELOG.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,16 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) from version [0.1.0] moving forward.
7
7
8
+
## [0.5.0] - 2026-09-09
9
+
10
+
### Added
11
+
12
+
-`temporal` option. Compiles the .NET date and time types to the Temporal API instead of `Date`, with tick precision and .NET's arithmetic across DST changes. It is Fable's experimental `--test:js-temporal` flag passed through, and the plugin adds no polyfill. Off by default, so existing output is unchanged. See [Temporal](https://fable.io/vite-plugin-fable/recipes.html#Temporal).
13
+
14
+
### Changed
15
+
16
+
- Updated Fable.Compiler to 5.16.0 and `@fable-org/fable-library-js` to 2.7.0. Numeric formatting in the emitted JavaScript now matches .NET for the `G`, `E` and custom format strings, and `E` is accepted on `int64` and `uint64`.
Copy file name to clipboardExpand all lines: docs/recipes.md
+22-4Lines changed: 22 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,20 +18,21 @@ Every option the plugin accepts. All of them are optional.
18
18
|`configuration`| <code>"Debug" | "Release"</code> |`Release` on build, `Debug` on dev | MSBuild configuration. See [Debug or Release](#Debug-or-Release). |
19
19
|`jsx`| <code>"automatic" | "transform" | null</code> |`null`| Transform JSX that Fable emitted. See [Fable.Core.JSX](#Fable-Core-JSX). |
20
20
|`noReflection`|`boolean`|`false`| Passed to Fable. Skips emitting reflection info, which produces smaller output. |
21
+
|`temporal`|`boolean`|`false`| Passed to Fable. Compiles the .NET date and time types to the Temporal API instead of `Date`. See [Temporal](#Temporal). |
21
22
|`exclude`|`string[]`|`[]`| Passed to Fable. Excludes assemblies from compilation, typically Fable plugins. |
22
23
|`debug`|`boolean`|`false`| Print what the plugin is doing, and start the daemon's debug server. See [Seeing what the plugin is doing](#Seeing-what-the-plugin-is-doing). |
23
24
|`fableModulesDiagnostics`|`boolean`|`false`| Report diagnostics for files under `fable_modules`. See [Diagnostics from restored packages](#Diagnostics-from-restored-packages). |
24
25
25
-
`noReflection`and `exclude` are handed to Fable.Compiler unchanged; they mean what they mean for
26
-
the `dotnet fable` CLI. Changing either invalidates the plugin's build caches, so you do not need
27
-
to clear `obj/` yourself.
26
+
`noReflection`, `temporal`and `exclude` are handed to Fable.Compiler unchanged; they mean what
27
+
they mean for the `dotnet fable` CLI. Changing any of them invalidates the plugin's build caches,
28
+
so you do not need to clear `obj/` yourself.
28
29
29
30
Unknown or badly typed options are rejected when the config loads, so a misspelled one fails with
30
31
a message rather than being quietly ignored:
31
32
32
33
```
33
34
vite-plugin-fable: unknown option "noRefleciton". Did you mean "noReflection"?
34
-
Known options: fsproj, jsx, noReflection, exclude, configuration, debug, fableModulesDiagnostics.
35
+
Known options: fsproj, jsx, noReflection, temporal, exclude, configuration, debug, fableModulesDiagnostics.
35
36
```
36
37
37
38
If you write your Vite config in TypeScript you get the same feedback in the editor. The plugin
@@ -59,6 +60,23 @@ takes the only signal with it: nothing is printed and `vite build` exits 0, even
59
60
emitted nothing usable for that file. If a build succeeds and the app is broken in a way that
60
61
points at a package, turn this on first.
61
62
63
+
## Temporal
64
+
65
+
Fable compiles `DateTime`, `DateTimeOffset`, `DateOnly`, `TimeOnly` and `TimeSpan` to JavaScript's
66
+
`Date` by default, which is millisecond precise and does arithmetic across DST changes differently
0 commit comments