Skip to content

Commit 9679061

Browse files
Initial commit
0 parents  commit 9679061

13 files changed

+7878
-0
lines changed

.gitignore

+214
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
public/bundle.js*
2+
3+
# Node
4+
node_modules/
5+
6+
## Ignore Visual Studio temporary files, build results, and
7+
## files generated by popular Visual Studio add-ons.
8+
9+
# User-specific files
10+
*.suo
11+
*.user
12+
*.sln.docstates
13+
/build
14+
# Xamarin Studio / monodevelop user-specific
15+
*.userprefs
16+
*.dll.mdb
17+
*.exe.mdb
18+
19+
# Build results
20+
21+
[Dd]ebug/
22+
[Rr]elease/
23+
x64/
24+
[Bb]in/
25+
[Oo]bj/
26+
27+
# MSTest test Results
28+
[Tt]est[Rr]esult*/
29+
[Bb]uild[Ll]og.*
30+
31+
*_i.c
32+
*_p.c
33+
*.ilk
34+
*.meta
35+
*.obj
36+
*.pch
37+
*.pdb
38+
*.pgc
39+
*.pgd
40+
*.rsp
41+
*.sbr
42+
*.tlb
43+
*.tli
44+
*.tlh
45+
*.tmp
46+
*.tmp_proj
47+
*.log
48+
*.vspscc
49+
*.vssscc
50+
.builds
51+
*.pidb
52+
*.log
53+
*.scc
54+
55+
# Visual C++ cache files
56+
ipch/
57+
*.aps
58+
*.ncb
59+
*.opensdf
60+
*.sdf
61+
*.cachefile
62+
63+
# Visual Studio profiler
64+
*.psess
65+
*.vsp
66+
*.vspx
67+
68+
# Other Visual Studio data
69+
.vs/
70+
71+
# Guidance Automation Toolkit
72+
*.gpState
73+
74+
# ReSharper is a .NET coding add-in
75+
_ReSharper*/
76+
*.[Rr]e[Ss]harper
77+
78+
# TeamCity is a build add-in
79+
_TeamCity*
80+
81+
# DotCover is a Code Coverage Tool
82+
*.dotCover
83+
84+
# NCrunch
85+
*.ncrunch*
86+
.*crunch*.local.xml
87+
88+
# Installshield output folder
89+
#[Ee]xpress/
90+
91+
# DocProject is a documentation generator add-in
92+
DocProject/buildhelp/
93+
DocProject/Help/*.HxT
94+
DocProject/Help/*.HxC
95+
DocProject/Help/*.hhc
96+
DocProject/Help/*.hhk
97+
DocProject/Help/*.hhp
98+
DocProject/Help/Html2
99+
DocProject/Help/html
100+
101+
# Click-Once directory
102+
publish/
103+
104+
# Publish Web Output
105+
*.Publish.xml
106+
107+
# Enable nuget.exe in the .nuget folder (though normally executables are not tracked)
108+
!.nuget/NuGet.exe
109+
110+
# Windows Azure Build Output
111+
csx
112+
*.build.csdef
113+
114+
# Windows Store app package directory
115+
AppPackages/
116+
117+
# Others
118+
sql/
119+
*.Cache
120+
ClientBin/
121+
[Ss]tyle[Cc]op.*
122+
~$*
123+
*~
124+
*.dbmdl
125+
*.[Pp]ublish.xml
126+
*.pfx
127+
*.publishsettings
128+
129+
# RIA/Silverlight projects
130+
Generated_Code/
131+
132+
# Backup & report files from converting an old project file to a newer
133+
# Visual Studio version. Backup files are not needed, because we have git ;-)
134+
_UpgradeReport_Files/
135+
Backup*/
136+
UpgradeLog*.XML
137+
UpgradeLog*.htm
138+
139+
# SQL Server files
140+
App_Data/*.mdf
141+
App_Data/*.ldf
142+
143+
144+
#LightSwitch generated files
145+
GeneratedArtifacts/
146+
_Pvt_Extensions/
147+
ModelManifest.xml
148+
149+
# =========================
150+
# Windows detritus
151+
# =========================
152+
153+
# Windows image file caches
154+
Thumbs.db
155+
ehthumbs.db
156+
157+
# Folder config file
158+
Desktop.ini
159+
160+
# Recycle Bin used on file shares
161+
$RECYCLE.BIN/
162+
163+
# Mac desktop service store files
164+
.DS_Store
165+
166+
# ===================================================
167+
# Exclude F# project specific directories and files
168+
# ===================================================
169+
170+
# NuGet Packages Directory
171+
packages/
172+
173+
# Generated documentation folder
174+
docs/output/
175+
176+
# Temp folder used for publishing docs
177+
temp*/
178+
179+
# Test results produced by build
180+
TestResults.xml
181+
TestResult.xml
182+
183+
# Nuget outputs
184+
nuget/*.nupkg
185+
release.cmd
186+
release.sh
187+
localpackages/
188+
paket-files
189+
*.orig
190+
docs/content/license.md
191+
docs/content/release-notes.md
192+
.fake
193+
docs/tools/FSharp.Formatting.svclog
194+
.ionide
195+
*.bak
196+
project.lock.json
197+
198+
browser/yarn\.lock
199+
200+
promises/yarn\.lock
201+
202+
nodejs/build/
203+
204+
nodejs/yarn\.lock
205+
206+
nodejsbundle/build/App\.js
207+
208+
nodejsbundle/yarn\.lock
209+
210+
mocha/build/
211+
212+
mocha/yarn\.lock
213+
214+
interopFableFromJS/yarn\.lock

Nuget.Config

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<!-- This clears Nuget configuration in the machine to avoid conflicts -->
4+
<packageSources>
5+
<clear />
6+
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
7+
</packageSources>
8+
<disabledPackageSources>
9+
<clear />
10+
</disabledPackageSources>
11+
</configuration>

README.md

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Fable Minimal App
2+
3+
This is a simple Fable app including an [Elmish](https://elmish.github.io/) counter with as little configuration as possible. If you want to see a more complex app including commonly used F# tools like Paket or Fake, check [the Fulma demo](https://github.com/MangelMaxime/fulma-demo).
4+
5+
## Requirements
6+
7+
* [dotnet SDK](https://www.microsoft.com/net/download/core) 2.1 or higher
8+
* [node.js](https://nodejs.org) with [npm](https://www.npmjs.com/)
9+
* An F# editor like Visual Studio, Visual Studio Code with [Ionide](http://ionide.io/) or [JetBrains Rider](https://www.jetbrains.com/rider/).
10+
11+
## Building and running the app
12+
13+
* Install JS dependencies: `npm install`
14+
* Start Webpack dev server: `npx webpack-dev-server` or `npm start`
15+
* After the first compilation is finished, in your browser open: http://localhost:8080/
16+
17+
Any modification you do to the F# code will be reflected in the web page after saving.
18+
19+
## Project structure
20+
21+
### npm
22+
23+
JS dependencies are declared in `package.json`, while `package-lock.json` is a lock file automatically generated.
24+
25+
### Webpack
26+
27+
[Webpack](https://webpack.js.org) is a JS bundler with extensions, like a static dev server that enables hot reloading on code changes. Fable interacts with Webpack through the `fable-loader`. Configuration for Webpack is defined in the `webpack.config.js` file. Note this sample only includes basic Webpack configuration for development mode, if you want to see a more comprehensive configuration check the [Fable webpack-config-template](https://github.com/fable-compiler/webpack-config-template/blob/master/webpack.config.js).
28+
29+
### F#
30+
31+
The sample only contains two F# files: the project (.fsproj) and a source file (.fs) in the `src` folder.
32+
33+
### Web assets
34+
35+
The `index.html` file and other assets like an icon can be found in the `public` folder.

0 commit comments

Comments
 (0)