diff --git a/.github/workflows/dotnet-core-desktop.yml b/.github/workflows/dotnet-core-desktop.yml
new file mode 100644
index 000000000..194ac738e
--- /dev/null
+++ b/.github/workflows/dotnet-core-desktop.yml
@@ -0,0 +1,64 @@
+name: .NET Core Desktop
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+
+ build:
+
+ strategy:
+ matrix:
+ configuration: [Debug, Release]
+
+ runs-on: windows-latest # For a list of available runner types, refer to
+ # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Cache node modules
+ uses: actions/cache@v2
+ env:
+ cache-name: cache-node-modules
+ with:
+ # npm cache files are stored in `~/.npm` on Linux/macOS
+ path: ~/.npm
+ key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-build-${{ env.cache-name }}-
+ ${{ runner.os }}-build-
+ ${{ runner.os }}-
+
+ - name: Install .NET Core
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 3.1.x
+
+ - name: Use Node.js 12
+ uses: actions/setup-node@v1
+ with:
+ node-version: 12
+
+ - name: Setup MSBuild.exe
+ uses: microsoft/setup-msbuild@2008f912f56e61277eefaac6d1888b750582aa16
+ env:
+ ACTIONS_ALLOW_UNSECURE_COMMANDS: true
+
+ - name: Build
+ run: msbuild build.proj /p:PackageOutputDir="${{ env.GITHUB_WORKSPACE }}/nuget-output" /p:Configuration=${{ matrix.configuration }}
+ env:
+ ACTIONS_ALLOW_UNSECURE_COMMANDS: true
+ Configuration: ${{ matrix.configuration }}
+
+ - name: Upload build artifacts
+ uses: actions/upload-artifact@v1
+ with:
+ name: Nuget Package
+ path: "${{ env.GITHUB_WORKSPACE }}/nuget-output"
diff --git a/README.md b/README.md
index 46f7b1b7b..8a6674e56 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# [ReactJS.NET](http://reactjs.net/)
-ReactJS.NET is a library that makes it easier to use [Babel](http://babeljs.io/) along with Facebook's [React](http://facebook.github.io/react/) and [JSX](http://facebook.github.io/react/docs/jsx-in-depth.html) from C#.
+ReactJS.NET is a library that makes it easier to use [Babel](http://babeljs.io/) along with Facebook's [React](https://reactjs.org/) and [JSX](https://reactjs.org/docs/jsx-in-depth.html) from C#.
-[](https://ci.appveyor.com/project/Daniel15/react-net/branch/master)
+
[](https://www.nuget.org/packages/React.Core/)
[](https://www.nuget.org/packages/React.Core/)
@@ -27,58 +27,18 @@ ReactJS.NET is a library that makes it easier to use [Babel](http://babeljs.io/)
# Quick Start
-Install the package
-
-```powershell
-Install-Package React.Web.Mvc4 # For ASP.NET MVC 4 or 5
-Install-Package React.AspNet # For ASP.NET Core MVC
-```
-
-Install a Javascript engine and configure as the default (more info [here](https://reactjs.net/getting-started/aspnet.html) on how this works)
-
-```powershell
-Install-Package JavaScriptEngineSwitcher.V8
-Install-Package JavaScriptEngineSwitcher.V8.Native.win-x64
-```
-
-```csharp
-public static class ReactConfig
-{
- public static void Configure()
- {
- ReactSiteConfiguration.Configuration
- .AddScript("~/Content/HelloWorld.jsx");
-
- JsEngineSwitcher.Current.DefaultEngineName = V8JsEngine.EngineName;
- JsEngineSwitcher.Current.EngineFactories.AddV8();
- }
-}
```
-
-Create JSX files
-
-```javascript
-// /Scripts/HelloWorld.jsx
-const HelloWorld = props => {
- return
Hello {props.greeting}
;
-};
+dotnet new -i React.Template
+dotnet new reactnet-vanilla
+dotnet run
```
-Reference the JSX files from your HTML
-
-```html
-
-@Html.React("HelloWorld", new { Greeting = "friends!" });
-
-
-
-@Html.ReactInitJavaScript();
-```
+#### Planning on using `require` or `import` module syntax in your application? Use the `reactnet-webpack` template instead for webpack support.
-Now you can use the `HelloWorld` component.
+See also:
-For information on more advanced topics (including precompilation and
-server-side rendering), check out [the documentation](http://reactjs.net/docs)
+- [Getting Started](https://reactjs.net/getting-started/aspnetcore.html)
+- [Tutorial](https://reactjs.net/tutorials/aspnetcore.html)
## Building Manually and Contributing
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 995ec531e..2c176e021 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,5 +1,6 @@
trigger:
- - master
+ - main
+ - ci-updates
pool:
vmImage: 'windows-2019'
@@ -16,10 +17,11 @@ steps:
- script: npm install --global npm
- - task: DotNetCoreInstaller@0
+ - task: UseDotNet@2
+ displayName: 'Use .NET Core sdk'
inputs:
packageType: 'sdk'
- version: '3.0.100'
+ version: '3.1.x'
- task: VSBuild@1
inputs:
diff --git a/build.proj b/build.proj
index 400d3ae8d..afbf537d6 100644
--- a/build.proj
+++ b/build.proj
@@ -10,8 +10,8 @@ of patent rights can be found in the PATENTS file in the same directory.
5
- 1
- 2
+ 2
+ 13
0
http://reactjs.net/packages/
$(MSBuildProjectDirectory)\tools\MSBuildTasks
@@ -31,6 +31,7 @@ of patent rights can be found in the PATENTS file in the same directory.
+
@@ -60,10 +61,6 @@ of patent rights can be found in the PATENTS file in the same directory.
WorkingDirectory="src/React.Sample.Mvc4"
Command="npm install"
/>
-
@@ -103,7 +100,6 @@ of patent rights can be found in the PATENTS file in the same directory.
-
@@ -117,7 +113,22 @@ of patent rights can be found in the PATENTS file in the same directory.
/>
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -129,6 +140,11 @@ of patent rights can be found in the PATENTS file in the same directory.
/>
+
+
+
+
+
diff --git a/global.json b/global.json
deleted file mode 100644
index d96e311f9..000000000
--- a/global.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "projects": [ "src", "test" ],
- "sdk": {
- "version": "3.0.100-preview"
- }
-}
diff --git a/renovate.json b/renovate.json
index 7d85e2c8d..f197b0de8 100644
--- a/renovate.json
+++ b/renovate.json
@@ -25,6 +25,10 @@
"https://github.com/aspnet/AspNetCore"
],
"groupName": "ASP.NET Core packages"
+ },
+ {
+ "packagePatterns": ["^React"],
+ "groupName": "React.NET packages"
}
],
"separateMinorPatch": true,
diff --git a/site/jekyll/Gemfile.lock b/site/jekyll/Gemfile.lock
index 6145bde92..60c113656 100644
--- a/site/jekyll/Gemfile.lock
+++ b/site/jekyll/Gemfile.lock
@@ -10,7 +10,7 @@ GEM
colorator (0.1)
commander (4.1.6)
highline (~> 1.6.11)
- crass (1.0.2)
+ crass (1.0.6)
fast-stemmer (1.0.2)
ffi (1.9.18)
ffi (1.9.18-x64-mingw32)
@@ -41,19 +41,19 @@ GEM
maruku (0.7.0)
mini_portile2 (2.4.0)
multi_json (1.12.1)
- nokogiri (1.10.4)
+ nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
- nokogiri (1.10.4-x64-mingw32)
+ nokogiri (1.10.9-x64-mingw32)
mini_portile2 (~> 2.4.0)
- nokogumbo (1.4.10)
- nokogiri
+ nokogumbo (2.0.2)
+ nokogiri (~> 1.8, >= 1.8.4)
parslet (1.5.0)
blankslate (~> 2.0)
posix-spawn (0.3.13)
pygments.rb (0.5.4)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
- rack (1.6.5)
+ rack (1.6.12)
rb-fsevent (0.9.8)
rb-inotify (0.9.8)
ffi (>= 0.5.0)
@@ -61,10 +61,10 @@ GEM
ffi (>= 0.5.0)
redcarpet (2.3.0)
safe_yaml (1.0.4)
- sanitize (4.4.0)
+ sanitize (5.2.1)
crass (~> 1.0.2)
- nokogiri (>= 1.4.4)
- nokogumbo (~> 1.4.1)
+ nokogiri (>= 1.8.0)
+ nokogumbo (~> 2.0)
sass (3.4.23)
sprockets (2.12.4)
hike (~> 1.2)
diff --git a/site/jekyll/_layouts/default.html b/site/jekyll/_layouts/default.html
index 93ff780bb..d59c8b506 100644
--- a/site/jekyll/_layouts/default.html
+++ b/site/jekyll/_layouts/default.html
@@ -58,7 +58,7 @@