Skip to content

Component Generation #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 44 commits into from
Sep 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
51a1466
Created ComponentGeneration project from BackboneGenerator.fsx
plt-joey Jun 29, 2021
af2d65c
Added basic property generation to component generation
plt-joey Jul 1, 2021
a778627
Added sample component generation via AST
plt-joey Jul 1, 2021
2544ab2
Added basic component generation via AST, removed string-based compon…
plt-joey Jul 7, 2021
09d8cad
added basic project generation
plt-joey Jul 8, 2021
25f6065
Added a method for loading component javascript files
plt-joey Jul 8, 2021
0ce1e74
Uncomplicated method for loading component javascript files
plt-joey Jul 8, 2021
49c4b41
Created alternate method of loading component scripts on startup, rem…
plt-joey Jul 9, 2021
d8b1bfe
Added project generation and building
plt-joey Jul 21, 2021
36d7581
Cleaned up AST generation, Added AST documentation
plt-joey Jul 23, 2021
e9c0963
metadata.json parsing and automatic property type generation for comp…
plt-joey Jul 30, 2021
42d65e4
Added documentation generation to component generation, fixed json co…
plt-joey Aug 5, 2021
29f648e
Improved component generation CLI
plt-joey Aug 6, 2021
b273f8e
Component generation bug fixing and unit tests
plt-joey Aug 12, 2021
bc09a1d
Added support for flow types to component generation
plt-joey Aug 17, 2021
2f2af24
Added Feliz style DSL for generated components
plt-joey Aug 17, 2021
d1fd996
Added nuget publishing steps to component generation
plt-joey Aug 18, 2021
ed9047e
Fix build scripts, remove some component generation todos
plt-joey Aug 19, 2021
072b668
Added much better logging support to component generation
plt-joey Aug 19, 2021
a0c4c4f
Component genration unrepresentable properties showing in F# definiti…
plt-joey Aug 20, 2021
e0ea4fd
Various fixes and polishing to component generation
plt-joey Aug 20, 2021
9187b9d
Added dotnet tool definition to component generation
plt-joey Aug 20, 2021
520fcad
Added usage documentation to component generation
plt-joey Aug 20, 2021
99a34a9
Misc cleanup to component generation
plt-joey Aug 20, 2021
74a0875
Fix AST generation using the wrong serialization function in componen…
plt-joey Aug 20, 2021
6f04f68
Fixes to component generation: type list option would fail to generat…
plt-joey Aug 23, 2021
1fcf8cc
Added pascal case conversion to type and case named in component gene…
plt-joey Aug 23, 2021
7d24e89
Better naming for union cases, better handling of objectOf in compone…
plt-joey Aug 23, 2021
fee8952
Better type naming for component generation
plt-joey Aug 23, 2021
a6c955a
Component generation bug fixes, adding feliz constructors for union c…
plt-joey Aug 24, 2021
9059b44
Remove jebrains rider working folder
plt-joey Aug 24, 2021
f16ed24
Use camelCase in generated feliz-style helper constructors
plt-joey Aug 24, 2021
ab686e0
Fix ObjectOf definition in component generation
plt-joey Aug 24, 2021
a3f56d8
Use a boxed serializable object conversion instead of ToString in gen…
plt-joey Aug 24, 2021
e95e0e9
Added conver to ObjectOf property in component generation
plt-joey Aug 24, 2021
88b5fe8
component generation ObjectOf conversion bug fix
plt-joey Aug 24, 2021
7c28893
Convert & to & in documentation of generated components
plt-joey Aug 30, 2021
d901883
Change all convert functions to be boxed in generated components
plt-joey Aug 30, 2021
99f9f6e
Remove optional types from shape/exact/flowobject in component genera…
plt-joey Aug 30, 2021
925454a
Switch Dictionary to Map in component generation, switch .Convert() t…
plt-joey Aug 30, 2021
cefa5af
Fixed types passed into init and applyMembers for generated component…
plt-joey Aug 30, 2021
3764c45
Fix component generation unit tests on linux
plt-joey Sep 7, 2021
afaf467
Moved component assembly inspection to DashApp.run
plt-joey Sep 7, 2021
3106cf3
Fixed issue where component generation was incorrectly referencing Ht…
plt-joey Sep 7, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -364,3 +364,6 @@ tmp/watch
.fsdocs/cache
output/
/temp

# JetBrains Rider working folder
.idea
29 changes: 29 additions & 0 deletions Dash.NET.sln
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "content", "content", "{ED23
docs\content\fsdocs-custom.css = docs\content\fsdocs-custom.css
EndProjectSection
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Dash.NET.ComponentGeneration", "src\Dash.NET.ComponentGeneration\Dash.NET.ComponentGeneration.fsproj", "{8451791C-0654-441A-AF7C-0E0C5B097113}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Dash.NET.ComponentGeneration.Tests", "tests\Dash.NET.ComponentGeneration.Tests\Dash.NET.ComponentGeneration.Tests.fsproj", "{0F230F90-C64E-4CAA-8B6D-A27353375D56}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -100,6 +104,30 @@ Global
{ECDBA25E-39B4-4C59-B665-0695F50A51BF}.Release|x64.Build.0 = Release|Any CPU
{ECDBA25E-39B4-4C59-B665-0695F50A51BF}.Release|x86.ActiveCfg = Release|Any CPU
{ECDBA25E-39B4-4C59-B665-0695F50A51BF}.Release|x86.Build.0 = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|x64.ActiveCfg = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|x64.Build.0 = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|x86.ActiveCfg = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Debug|x86.Build.0 = Debug|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|Any CPU.Build.0 = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|x64.ActiveCfg = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|x64.Build.0 = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|x86.ActiveCfg = Release|Any CPU
{8451791C-0654-441A-AF7C-0E0C5B097113}.Release|x86.Build.0 = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|x64.ActiveCfg = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|x64.Build.0 = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|x86.ActiveCfg = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Debug|x86.Build.0 = Debug|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|Any CPU.Build.0 = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|x64.ActiveCfg = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|x64.Build.0 = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|x86.ActiveCfg = Release|Any CPU
{0F230F90-C64E-4CAA-8B6D-A27353375D56}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -109,6 +137,7 @@ Global
{EBDFED69-A812-46BC-80E8-5D7DCFED71FE} = {420D4858-5F4C-45FE-BD17-818FDB1E94ED}
{C93A091D-58DB-4896-A9DA-1016011A6494} = {420D4858-5F4C-45FE-BD17-818FDB1E94ED}
{ED23F221-EFE6-4538-BEA2-A6A4F806FDDF} = {420D4858-5F4C-45FE-BD17-818FDB1E94ED}
{0F230F90-C64E-4CAA-8B6D-A27353375D56} = {8531DA15-1690-4671-8741-89C4953163C6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {47D6A0E3-05A6-4BB7-81D1-A90CE758E430}
Expand Down
29 changes: 28 additions & 1 deletion build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ module ProjectInfo =

let testProject = "tests/Dash.NET.Tests/Dash.NET.Tests.fsproj"

let componentGenerationTestProject = "tests/Dash.NET.ComponentGeneration.Tests/Dash.NET.ComponentGeneration.Tests.fsproj"

let summary = "F# interface to Dash- the most downloaded framework for building ML & data science web apps"

let configuration = "Release"
Expand Down Expand Up @@ -126,6 +128,7 @@ module BasicTasks =
!! "src/**/*.??proj"
-- "src/**/*.shproj"
|> Seq.map (fun f -> ((Path.getDirectory f) </> "bin" </> configuration, "bin" </> (Path.GetFileNameWithoutExtension f)))
|> Seq.filter (fun (fromDir, toDir) -> not (fromDir.Contains "template" || toDir.Contains "template"))
for i in targets do printfn "%A" i
targets
|> Seq.iter (fun (fromDir, toDir) -> Shell.copyDir toDir fromDir (fun _ -> true))
Expand All @@ -139,7 +142,7 @@ module TestTasks =


let runTests = BuildTask.create "RunTests" [clean; build; copyBinaries] {
let standardParams = Fake.DotNet.MSBuild.CliArguments.Create ()
//let standardParams = Fake.DotNet.MSBuild.CliArguments.Create ()
Fake.DotNet.DotNet.test(fun testParams ->
{
testParams with
Expand All @@ -148,6 +151,15 @@ module TestTasks =
NoBuild = true
}
) testProject

Fake.DotNet.DotNet.test(fun testParams ->
{
testParams with
Logger = Some "console;verbosity=detailed"
Configuration = DotNet.BuildConfiguration.fromString configuration
NoBuild = true
}
) componentGenerationTestProject
}

// to do: use this once we have actual tests
Expand All @@ -167,6 +179,21 @@ module TestTasks =
Logger = Some "console;verbosity=detailed"
}
) testProject

Fake.DotNet.DotNet.test(fun testParams ->
{
testParams with
MSBuildParams = {
standardParams with
Properties = [
"AltCover","true"
"AltCoverCobertura","../../codeCov.xml"
"AltCoverForce","true"
]
};
Logger = Some "console;verbosity=detailed"
}
) componentGenerationTestProject
}

/// Package creation
Expand Down
5 changes: 5 additions & 0 deletions src/Dash.NET.ComponentGeneration/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"cSpell.words": [
"defenition"
]
}
Loading