Skip to content

Commit abf8e6a

Browse files
authored
feat: Fable v5 (#147)
1 parent 3153742 commit abf8e6a

28 files changed

+770
-2516
lines changed

.config/dotnet-tools.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
"isRoot": true,
44
"tools": {
55
"paket": {
6-
"version": "9.0.2",
6+
"version": "10.0.0-alpha011",
77
"commands": [
88
"paket"
99
],
1010
"rollForward": false
1111
},
1212
"fable": {
13-
"version": "4.24.0",
13+
"version": "5.0.0-alpha.17",
1414
"commands": [
1515
"fable"
1616
],
1717
"rollForward": false
1818
},
1919
"fantomas": {
20-
"version": "6.2.3",
20+
"version": "7.0.3",
2121
"commands": [
2222
"fantomas"
2323
],

.github/workflows/publish.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ jobs:
1313
uses: actions/checkout@v4
1414

1515
- name: Setup .NET Core
16-
uses: actions/setup-dotnet@v4
16+
uses: actions/setup-dotnet@v5
1717
with:
1818
dotnet-version: |
1919
6.x
2020
8.x
2121
9.x
22+
10.x
2223
2324
- name: Setup tools
2425
run: dotnet tool restore

Build.fs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ Target.create "Build" (fun _ ->
2222
run dotnet $"fable --lang Python --outDir {buildPath}" srcPath
2323
)
2424

25-
Target.create "Docs" (fun _ ->
26-
run uv $"run jb build docs-src --path-output {buildPath}/docs" "."
27-
Fake.IO.Shell.copyDir "docs" $"{buildPath}/docs/_build/html" (fun _ -> true)
28-
)
25+
// Docs target removed - documentation is maintained centrally at https://fable.io/docs/
2926

3027
Target.create "Run" (fun _ ->
3128
run dotnet "build" srcPath
@@ -61,9 +58,6 @@ let dependencies = [
6158
"Build"
6259
==> "Test"
6360

64-
"Build"
65-
==> "Docs"
66-
6761
"Build"
6862
==> "Pack"
6963
]

examples/timeflies/TimeFlies.fsproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
5+
<TargetFramework>net10.0</TargetFramework>
66
<WarnOn>3390;$(WarnOn)</WarnOn>
77
</PropertyGroup>
88
<ItemGroup>
99
<Compile Include="Program.fs" />
1010
</ItemGroup>
1111
<ItemGroup>
1212
<PackageReference Include="Fable.Python" Version="4.*" />
13-
<PackageReference Include="Fable.Core" Version="4.*" />
13+
<PackageReference Include="Fable.Core" Version="5.0.0-beta.2" />
1414
<PackageReference Include="FSharp.Control.AsyncRx" Version="1.6.5" />
1515
</ItemGroup>
1616
<ItemGroup>

examples/timeflies/pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@ authors = [{ name = "Dag Brattli", email = "dag@brattli.net" }]
77
license = "MIT"
88
requires-python = ">=3.11"
99
dependencies = [
10-
"fable-library>=0.8.0",
11-
#"fable-python",
12-
#"fsharp-control-async-rx",
10+
"fable-library==5.0.0a17",
1311
]
1412

1513
[dependency-groups]

examples/timeflies/uv.lock

Lines changed: 109 additions & 56 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

paket.dependencies

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
source https://api.nuget.org/v3/index.json
44
storage: none
5-
framework: netstandard2.0, netstandard2.1, net6.0, net8.0, net9.0
5+
framework: netstandard2.0, netstandard2.1, net6.0, net8.0, net9.0, net10.0
66

77
nuget FSharp.Core >= 4.7.2 lowest_matching: true
8-
nuget Fable.Core ~> 4.1
8+
nuget Fable.Core 5.0.0-beta.2
99

1010
group Test
1111
source https://api.nuget.org/v3/index.json
1212
storage: none
1313
framework: net9.0
1414

1515
nuget FSharp.Core
16-
nuget Fable.Core ~> 4.1
16+
nuget Fable.Core 5.0.0-beta.2
1717
nuget Microsoft.NET.Test.Sdk ~> 16
1818
nuget xunit ~> 2
1919
nuget xunit.runner.visualstudio ~> 2

paket.lock

Lines changed: 53 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,90 @@
11
STORAGE: NONE
2-
RESTRICTION: || (== net6.0) (== net8.0) (== net9.0) (== netstandard2.0) (== netstandard2.1)
2+
RESTRICTION: || (== net10.0) (== net6.0) (== net8.0) (== net9.0) (== netstandard2.0) (== netstandard2.1)
33
NUGET
44
remote: https://api.nuget.org/v3/index.json
5-
Fable.Core (4.5)
5+
Fable.Core (5.0.0-beta.2)
6+
FSharp.Core (>= 4.7.2)
67
FSharp.Core (4.7.2)
78

89
GROUP Build
910
STORAGE: NONE
1011
RESTRICTION: == net8.0
1112
NUGET
1213
remote: https://api.nuget.org/v3/index.json
13-
Fake.Core.CommandLineParsing (6.1.3)
14+
Fake.Core.CommandLineParsing (6.1.4)
1415
FParsec (>= 1.1.1)
15-
FSharp.Core (>= 8.0.301)
16-
Fake.Core.Context (6.1.3)
17-
FSharp.Core (>= 8.0.301)
18-
Fake.Core.Environment (6.1.3)
19-
FSharp.Core (>= 8.0.301)
20-
Fake.Core.FakeVar (6.1.3)
21-
Fake.Core.Context (>= 6.1.3)
22-
FSharp.Core (>= 8.0.301)
23-
Fake.Core.Process (6.1.3)
24-
Fake.Core.Environment (>= 6.1.3)
25-
Fake.Core.FakeVar (>= 6.1.3)
26-
Fake.Core.String (>= 6.1.3)
27-
Fake.Core.Trace (>= 6.1.3)
28-
Fake.IO.FileSystem (>= 6.1.3)
29-
FSharp.Core (>= 8.0.301)
16+
FSharp.Core (>= 8.0.400)
17+
Fake.Core.Context (6.1.4)
18+
FSharp.Core (>= 8.0.400)
19+
Fake.Core.Environment (6.1.4)
20+
FSharp.Core (>= 8.0.400)
21+
Fake.Core.FakeVar (6.1.4)
22+
Fake.Core.Context (>= 6.1.4)
23+
FSharp.Core (>= 8.0.400)
24+
Fake.Core.Process (6.1.4)
25+
Fake.Core.Environment (>= 6.1.4)
26+
Fake.Core.FakeVar (>= 6.1.4)
27+
Fake.Core.String (>= 6.1.4)
28+
Fake.Core.Trace (>= 6.1.4)
29+
Fake.IO.FileSystem (>= 6.1.4)
30+
FSharp.Core (>= 8.0.400)
3031
System.Collections.Immutable (>= 8.0)
31-
Fake.Core.String (6.1.3)
32-
FSharp.Core (>= 8.0.301)
33-
Fake.Core.Target (6.1.3)
34-
Fake.Core.CommandLineParsing (>= 6.1.3)
35-
Fake.Core.Context (>= 6.1.3)
36-
Fake.Core.Environment (>= 6.1.3)
37-
Fake.Core.FakeVar (>= 6.1.3)
38-
Fake.Core.Process (>= 6.1.3)
39-
Fake.Core.String (>= 6.1.3)
40-
Fake.Core.Trace (>= 6.1.3)
32+
Fake.Core.String (6.1.4)
33+
FSharp.Core (>= 8.0.400)
34+
Fake.Core.Target (6.1.4)
35+
Fake.Core.CommandLineParsing (>= 6.1.4)
36+
Fake.Core.Context (>= 6.1.4)
37+
Fake.Core.Environment (>= 6.1.4)
38+
Fake.Core.FakeVar (>= 6.1.4)
39+
Fake.Core.Process (>= 6.1.4)
40+
Fake.Core.String (>= 6.1.4)
41+
Fake.Core.Trace (>= 6.1.4)
4142
FSharp.Control.Reactive (>= 5.0.2)
42-
FSharp.Core (>= 8.0.301)
43-
Fake.Core.Trace (6.1.3)
44-
Fake.Core.Environment (>= 6.1.3)
45-
Fake.Core.FakeVar (>= 6.1.3)
46-
FSharp.Core (>= 8.0.301)
47-
Fake.IO.FileSystem (6.1.3)
48-
Fake.Core.String (>= 6.1.3)
49-
Fake.Core.Trace (>= 6.1.3)
50-
FSharp.Core (>= 8.0.301)
43+
FSharp.Core (>= 8.0.400)
44+
Fake.Core.Trace (6.1.4)
45+
Fake.Core.Environment (>= 6.1.4)
46+
Fake.Core.FakeVar (>= 6.1.4)
47+
FSharp.Core (>= 8.0.400)
48+
Fake.IO.FileSystem (6.1.4)
49+
Fake.Core.String (>= 6.1.4)
50+
Fake.Core.Trace (>= 6.1.4)
51+
FSharp.Core (>= 8.0.400)
5152
FParsec (1.1.1)
5253
FSharp.Core (>= 4.3.4)
5354
FSharp.Control.Reactive (6.1.2)
5455
FSharp.Core (>= 6.0.7)
5556
System.Reactive (>= 6.0.1)
56-
FSharp.Core (9.0.300)
57-
System.Collections.Immutable (9.0.6)
58-
System.Reactive (6.0.1)
57+
FSharp.Core (10.0.100)
58+
System.Collections.Immutable (10.0)
59+
System.Reactive (6.1)
5960

6061
GROUP Test
6162
STORAGE: NONE
6263
RESTRICTION: == net9.0
6364
NUGET
6465
remote: https://api.nuget.org/v3/index.json
65-
Fable.Core (4.5)
66-
FSharp.Core (9.0.300)
67-
Microsoft.CodeCoverage (17.14.1)
66+
Fable.Core (5.0.0-beta.2)
67+
FSharp.Core (>= 4.7.2)
68+
FSharp.Core (10.0.100)
69+
Microsoft.CodeCoverage (18.0.1)
6870
Microsoft.NET.Test.Sdk (16.11)
6971
Microsoft.CodeCoverage (>= 16.11)
7072
Microsoft.TestPlatform.TestHost (>= 16.11)
71-
Microsoft.TestPlatform.ObjectModel (17.14.1)
73+
Microsoft.TestPlatform.ObjectModel (18.0.1)
7274
System.Reflection.Metadata (>= 8.0)
73-
Microsoft.TestPlatform.TestHost (17.14.1)
74-
Microsoft.TestPlatform.ObjectModel (>= 17.14.1)
75+
Microsoft.TestPlatform.TestHost (18.0.1)
76+
Microsoft.TestPlatform.ObjectModel (>= 18.0.1)
7577
Newtonsoft.Json (>= 13.0.3)
76-
Newtonsoft.Json (13.0.3)
77-
System.Reflection.Metadata (9.0.6)
78+
Newtonsoft.Json (13.0.4)
79+
System.Collections.Immutable (10.0)
80+
System.Reflection.Metadata (10.0)
81+
System.Collections.Immutable (>= 10.0)
7882
xunit (2.9.3)
7983
xunit.analyzers (>= 1.18)
8084
xunit.assert (>= 2.9.3)
8185
xunit.core (2.9.3)
8286
xunit.abstractions (2.0.3)
83-
xunit.analyzers (1.22)
87+
xunit.analyzers (1.26)
8488
xunit.assert (2.9.3)
8589
xunit.core (2.9.3)
8690
xunit.extensibility.core (2.9.3)

pyproject.toml

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,46 @@ name = "Fable.Python"
33
version = "4.4.0"
44
description = "Fable"
55
authors = [{ name = "Dag Brattli", email = "dag@brattli.net" }]
6-
requires-python = ">= 3.10, < 4.0"
6+
requires-python = ">= 3.12, < 4"
77
readme = "README.md"
88
license = "MIT"
9+
dependencies = [
10+
"fable-library==5.0.0a17",
11+
]
912

1013
[project.urls]
1114
Homepage = "https://fable.io"
1215

1316
[dependency-groups]
1417
dev = [
1518
"pytest>=6.2.4,<7",
16-
"black>=24.3.0,<25",
17-
"jupyter-book>=0.13.1,<0.14",
19+
"ruff>=0.14.0",
20+
]
21+
22+
[tool.ruff]
23+
target-version = "py312"
24+
line-length = 100
25+
26+
[tool.ruff.lint]
27+
select = [
28+
"E", # pycodestyle errors
29+
"W", # pycodestyle warnings
30+
"F", # pyflakes
31+
"I", # isort
32+
"UP", # pyupgrade
33+
"B", # flake8-bugbear
34+
"SIM", # flake8-simplify
35+
"C4", # flake8-comprehensions
36+
]
37+
ignore = [
38+
"E501", # line too long (handled by formatter)
1839
]
1940

41+
[tool.ruff.format]
42+
quote-style = "double"
43+
indent-style = "space"
44+
line-ending = "auto"
45+
2046
[tool.pyright]
2147
reportMissingTypeStubs = false
2248
reportMissingImports = false
@@ -33,5 +59,5 @@ reportConstantRedefinition = true
3359
reportOverlappingOverload = true
3460
reportInconsistentConstructor = true
3561
reportImplicitStringConcatenation = true
36-
pythonVersion = "3.10"
62+
pythonVersion = "3.12"
3763
typeCheckingMode = "basic"

src/Fable.Python.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project Sdk="Microsoft.NET.Sdk">
33
<PropertyGroup>
4-
<TargetFrameworks>netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0</TargetFrameworks>
4+
<TargetFrameworks>netstandard2.0;netstandard2.1;net6.0;net8.0;net9.0;net10.0</TargetFrameworks>
55
<GenerateDocumentationFile>true</GenerateDocumentationFile>
66
<Author>Dag Brattli</Author>
77
<Copyright>Dag Brattli</Copyright>

0 commit comments

Comments
 (0)