Skip to content
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

Fable 2.1: back to npm, back home #1639

Merged
merged 31 commits into from
Nov 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
8660298
Release standalone fable-loader and fable-splitter versions
alfonsogarciacaro Nov 15, 2018
7296a66
Implement review comments
alfonsogarciacaro Nov 16, 2018
99e73ef
Pin minor version of fable-compiler-dotnet
alfonsogarciacaro Nov 16, 2018
099af72
Publish packages
alfonsogarciacaro Nov 16, 2018
1dcbda5
Remove experimental implicits
alfonsogarciacaro Nov 18, 2018
44208cf
Check if a .dll is passed to fable-loader cli.path option
alfonsogarciacaro Nov 19, 2018
1a9aece
Publish beta packages, enable direct .fs reference from JS and other
alfonsogarciacaro Nov 20, 2018
6eace33
Publish fable-splitter 2.1.0-beta-002: Remove nodemon dependency
alfonsogarciacaro Nov 20, 2018
b04df7d
Remove prepack dependency from fable-splitter
alfonsogarciacaro Nov 20, 2018
0143ea0
Make fable-compiler-dotnet a peerDependency of fable-loader
alfonsogarciacaro Nov 21, 2018
1afd79d
Fix #1646: fable-splitter `allFiles` overriden
alfonsogarciacaro Nov 21, 2018
8747205
Rename some projects
alfonsogarciacaro Nov 22, 2018
0d3a528
Add integration test to fable-splitter
alfonsogarciacaro Nov 22, 2018
8a9632e
Use ava for fable-splitter tests
alfonsogarciacaro Nov 22, 2018
942401e
Publish fable-babel-plugins as standalone package
alfonsogarciacaro Nov 22, 2018
1cbfaad
Rename fable-precompiled to fable-replacements
alfonsogarciacaro Nov 23, 2018
e9769b0
Rename fable-replacements to fable-library
alfonsogarciacaro Nov 24, 2018
60940ce
Add reflection info for each declared type
alfonsogarciacaro Nov 24, 2018
2a4187e
Add Fable.Core reflection methods
alfonsogarciacaro Nov 25, 2018
0d0b7db
Publish fable-compiler 2.1.0-beta-004
alfonsogarciacaro Nov 25, 2018
6666782
Don't call reflection method on interfaces and erased unions
alfonsogarciacaro Nov 25, 2018
2ab66d3
Updated install command
nojaf Nov 26, 2018
87f4584
Update READMEs and other fixes
alfonsogarciacaro Nov 27, 2018
38d4e94
Fix #1640: Nicer display name for function constructors
alfonsogarciacaro Nov 27, 2018
ee77e1f
Publish fable-compiler 2.1.0-beta-006
alfonsogarciacaro Nov 27, 2018
a03f772
Added chalk to fable-splitter
Nov 28, 2018
9573380
Fix fable-splitter tests on Windows
alfonsogarciacaro Nov 28, 2018
2dcd50c
Use bold for splitter errors and warnings
alfonsogarciacaro Nov 28, 2018
518cc61
Fix fable-import/72, using values from global modules
alfonsogarciacaro Nov 29, 2018
0c96c53
Bump version to 2.1.0
alfonsogarciacaro Nov 29, 2018
fe74abe
Publish fable-loader & fable-splitter 2.1
alfonsogarciacaro Nov 29, 2018
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
12 changes: 9 additions & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
**/package-lock.json -diff
**/yarn.lock -diff
**/paket.lock -diff
.paket/** -diff
.vscode/** -diff

###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
Expand All @@ -17,7 +23,7 @@
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
Expand Down Expand Up @@ -46,9 +52,9 @@

###############################################################################
# diff behavior for common document formats
#
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
Expand Down
8 changes: 4 additions & 4 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceRoot}/src/dotnet/Fable.Compiler/bin/Debug/netcoreapp2.0/dotnet-fable.dll",
"args": ["yarn-splitter", "--fable-core", "../../../build/fable-core"],
"cwd": "${workspaceRoot}/src/tools/",
"stopAtEntry": true,
"program": "${workspaceRoot}/src/dotnet/Fable.Compiler/bin/Debug/netcoreapp2.1/dotnet-fable.dll",
"args": ["fable-splitter", "--args", "-c tests/splitter.config.js"],
"cwd": "${workspaceRoot}",
"stopAtEntry": false,
"console": "internalConsole"
},
{
Expand Down
36 changes: 18 additions & 18 deletions Fable.sln
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fable.Core", "src\dotnet\Fa
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fable.Compiler", "src\dotnet\Fable.Compiler\Fable.Compiler.fsproj", "{3EE0220A-B4CA-48B0-B144-39411A8A3AE7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "js", "js", "{ABC376C9-5C51-49F9-BF46-849CD02AA5CD}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fable.Core.JS", "src\js\fable-core\Fable.Core.JS.fsproj", "{84F60313-3BD6-45C2-848F-B816260FBE0B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{2EBC1A1B-BEFA-4277-A4F6-AE662FBF264B}"
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "InjectProcessor", "src\tools\InjectProcessor\InjectProcessor.fsproj", "{75DF9AB5-EEAF-40B0-B484-F21412422D94}"
Expand All @@ -25,6 +21,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{EACEC340
EndProject
Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Fable.Tests", "tests\Main\Fable.Tests.fsproj", "{E527F5C7-FB57-42E6-861A-0FECCD672A80}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "js", "js", "{8281AC16-0FEA-4049-8E56-556C9097DE51}"
EndProject
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fable.Library", "src\js\fable-library\Fable.Library.fsproj", "{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -59,18 +59,6 @@ Global
{3EE0220A-B4CA-48B0-B144-39411A8A3AE7}.Release|x64.Build.0 = Release|Any CPU
{3EE0220A-B4CA-48B0-B144-39411A8A3AE7}.Release|x86.ActiveCfg = Release|Any CPU
{3EE0220A-B4CA-48B0-B144-39411A8A3AE7}.Release|x86.Build.0 = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|x64.ActiveCfg = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|x64.Build.0 = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|x86.ActiveCfg = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Debug|x86.Build.0 = Debug|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|Any CPU.Build.0 = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|x64.ActiveCfg = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|x64.Build.0 = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|x86.ActiveCfg = Release|Any CPU
{84F60313-3BD6-45C2-848F-B816260FBE0B}.Release|x86.Build.0 = Release|Any CPU
{75DF9AB5-EEAF-40B0-B484-F21412422D94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75DF9AB5-EEAF-40B0-B484-F21412422D94}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75DF9AB5-EEAF-40B0-B484-F21412422D94}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -107,6 +95,18 @@ Global
{E527F5C7-FB57-42E6-861A-0FECCD672A80}.Release|x64.Build.0 = Release|Any CPU
{E527F5C7-FB57-42E6-861A-0FECCD672A80}.Release|x86.ActiveCfg = Release|Any CPU
{E527F5C7-FB57-42E6-861A-0FECCD672A80}.Release|x86.Build.0 = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|x64.ActiveCfg = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|x64.Build.0 = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|x86.ActiveCfg = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Debug|x86.Build.0 = Debug|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|Any CPU.Build.0 = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|x64.ActiveCfg = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|x64.Build.0 = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|x86.ActiveCfg = Release|Any CPU
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -115,12 +115,12 @@ Global
{47B0EDE0-19E5-4177-94B6-812BC2B1BA3B} = {6488327B-65F6-4981-9D84-DF8CD49909BA}
{6A2A72E0-0B61-4E21-8E95-E51FB646A660} = {47B0EDE0-19E5-4177-94B6-812BC2B1BA3B}
{3EE0220A-B4CA-48B0-B144-39411A8A3AE7} = {47B0EDE0-19E5-4177-94B6-812BC2B1BA3B}
{ABC376C9-5C51-49F9-BF46-849CD02AA5CD} = {6488327B-65F6-4981-9D84-DF8CD49909BA}
{84F60313-3BD6-45C2-848F-B816260FBE0B} = {ABC376C9-5C51-49F9-BF46-849CD02AA5CD}
{2EBC1A1B-BEFA-4277-A4F6-AE662FBF264B} = {6488327B-65F6-4981-9D84-DF8CD49909BA}
{75DF9AB5-EEAF-40B0-B484-F21412422D94} = {2EBC1A1B-BEFA-4277-A4F6-AE662FBF264B}
{C4B9F536-95F4-4197-8D8B-0B09A11702E8} = {6488327B-65F6-4981-9D84-DF8CD49909BA}
{E527F5C7-FB57-42E6-861A-0FECCD672A80} = {EACEC340-9216-427D-8307-EF71D744C142}
{8281AC16-0FEA-4049-8E56-556C9097DE51} = {6488327B-65F6-4981-9D84-DF8CD49909BA}
{147AE7D6-F51C-4309-B6DB-A70C8584BBF3} = {8281AC16-0FEA-4049-8E56-556C9097DE51}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AD1E5DC7-40AC-48D0-8F5B-5A2B889576FE}
Expand Down
38 changes: 20 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,29 @@ Then you just need to type `./build.cmd` or `./build.sh` depending on your syste

## Using your local build in your projects

Many of you are making really useful contributions that you also need for your own projects, however a new release may take several days. If you need the latest features the easiest way is to use `dotnet run` that will automatically build and run Fable based on latest code. For this, in macOS/Linux you can write a `fable-next` script as follows:

```shell
#!/bin/sh

dotnet --version
dotnet run -c Release -p /Users/alfonso/Fable/src/dotnet/Fable.Compiler $@ --force-pkgs
Many of you are making really useful contributions that you also need for your own projects, however a new release may take several days. If you need the latest features you can tell `fable-compiler` to use a local build. For this, use the `cli.path` option. For example when using the `fable-loader` you can include the following in your webpack.config.js:

```js
module: {
rules: [
{
test: /\.fs(x|proj)?$/,
use: {
loader: "fable-loader",
options: {
cli: {
// This should be the path to your local clone of Fable
path: "../Fable/src/dotnet/Fable.Compiler"
}
}
}
}
]
}
```

> Note you need the **full path to Fable.Compiler**. The `--force-pkgs` option is used to force a new copy of package sources (including fable-core) in the hidden `.fable` folder.

Make it executable (`chmod +x fable-next`) and put it somewhere included in your PATH (e.g. in macOS `/usr/local/bin`). Then in your projects, instead of running `dotnet fable webpack-dev-server`, use `fable-next webpack-dev-server`.

In Windows, you would write a `fable-next.cmd` script as follows:

```cmd
dotnet --version
dotnet run -c Release -p C:\Users\alfonso\Documents\Fable\src\dotnet\Fable.Compiler %* --force-pkgs
```

**ATTENTION**: Remember to **build fable-core JS files beforehand**. This can be done just by building the whole project (see "Building" above) or running the `FableCoreJs` FAKE target (after this, if you edit one of the src/js/fablecore JS or TS files, you can run the `FableCoreJsTypescriptOnly` which is faster).
**ATTENTION**: Remember to **build fable-library files beforehand**. This can be done just by building the whole project (see "Building" above) or running the `FableLibrary` FAKE target (after this, if you edit one of the src/js/fable-library JS or TS files, you can run the `FableLibraryTypescriptOnly` which is faster).

## Contributing

Expand Down
Loading