diff --git a/src/apps/Rsdo.Concordancer.Api/Controllers/WebAppController.cs b/src/apps/Rsdo.Concordancer.Api/Controllers/WebAppController.cs deleted file mode 100644 index 1da3267..0000000 --- a/src/apps/Rsdo.Concordancer.Api/Controllers/WebAppController.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using System.Net.Mime; -using HtmlAgilityPack; -using Microsoft.AspNetCore.Hosting; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Configuration; -using Rsdo.Concordancer.Core.Constants; - -namespace Rsdo.Concordancer.Api.Controllers -{ - public class WebAppController : Controller - { - private readonly IConfiguration configuration; - private readonly IWebHostEnvironment webHostEnvironment; - - public WebAppController(IConfiguration configuration, IWebHostEnvironment webHostEnvironment) - { - this.configuration = configuration; - this.webHostEnvironment = webHostEnvironment; - } - - public IActionResult Index() - { - var indexFilePath = webHostEnvironment.WebRootFileProvider.GetFileInfo("index.html").PhysicalPath; - var html = new HtmlDocument(); - html.Load(indexFilePath); - - var baseAppPath = configuration[ConfigurationKey.Web.BaseAppPath] ?? string.Empty; - var scriptNode = HtmlNode.CreateNode($""); - var headNode = html.DocumentNode.SelectSingleNode("//head"); - headNode.ChildNodes.Add(scriptNode); - - var indexStream = new MemoryStream(); - html.Save(indexStream); - indexStream.Position = 0; - - return File(indexStream, MediaTypeNames.Text.Html); - } - } -} \ No newline at end of file diff --git a/src/apps/Rsdo.Concordancer.Api/Dockerfile b/src/apps/Rsdo.Concordancer.Api/Dockerfile index c665279..ede4bf3 100644 --- a/src/apps/Rsdo.Concordancer.Api/Dockerfile +++ b/src/apps/Rsdo.Concordancer.Api/Dockerfile @@ -4,6 +4,12 @@ EXPOSE 80 FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +# INSTALL NODE.JS +RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \ + && apt-get install -y \ + nodejs \ + && rm -rf /var/lib/apt/lists/* + # COPY LOCAL NUGET PACKAGES WORKDIR /nuget COPY local-packages/. . @@ -36,8 +42,14 @@ COPY src/core/Rsdo.Concordancer.Infrastructure/. Rsdo.Concordancer.Infrastructur COPY src/core/Rsdo.Concordancer.ServiceModel/. Rsdo.Concordancer.ServiceModel/ COPY src/core/Rsdo.Concordancer.Services/. Rsdo.Concordancer.Services/ -# BUILD +# BUILD WEBAPP AND AFTER THAT API, WHICH INCLUDES WEBAPP FROM build AS publish + +WORKDIR /src/apps/Rsdo.Concordancer.Api/WebApp +ARG WEBAPP_PUBLIC_URL='' +ENV PUBLIC_URL=${WEBAPP_PUBLIC_URL} +RUN npm install && npm run build + WORKDIR /src/apps/Rsdo.Concordancer.Api RUN dotnet publish "Rsdo.Concordancer.Api.csproj" -c Release -o /app/publish diff --git a/src/apps/Rsdo.Concordancer.Api/Rsdo.Concordancer.Api.csproj b/src/apps/Rsdo.Concordancer.Api/Rsdo.Concordancer.Api.csproj index 897933a..c07d158 100644 --- a/src/apps/Rsdo.Concordancer.Api/Rsdo.Concordancer.Api.csproj +++ b/src/apps/Rsdo.Concordancer.Api/Rsdo.Concordancer.Api.csproj @@ -4,7 +4,7 @@ net6.0 true false - 1.0.0 + 1.0.1 @@ -12,7 +12,6 @@ - diff --git a/src/apps/Rsdo.Concordancer.Api/Startup.cs b/src/apps/Rsdo.Concordancer.Api/Startup.cs index 6458b3e..40f9f0a 100644 --- a/src/apps/Rsdo.Concordancer.Api/Startup.cs +++ b/src/apps/Rsdo.Concordancer.Api/Startup.cs @@ -144,7 +144,7 @@ public class Startup { endpoints.MapControllers(); endpoints.MapHangfireDashboard("/hangfire"); - endpoints.MapFallbackToController("Index", "WebApp"); + endpoints.MapFallbackToFile("index.html"); }); } } \ No newline at end of file diff --git a/src/apps/Rsdo.Concordancer.Api/WebApp/package-lock.json b/src/apps/Rsdo.Concordancer.Api/WebApp/package-lock.json index cb141bd..3e3e75c 100644 --- a/src/apps/Rsdo.Concordancer.Api/WebApp/package-lock.json +++ b/src/apps/Rsdo.Concordancer.Api/WebApp/package-lock.json @@ -1,12 +1,12 @@ { "name": "concordancer-web", - "version": "0.1.0", + "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "concordancer-web", - "version": "0.1.0", + "version": "1.0.0", "dependencies": { "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^13.4.0", diff --git a/src/apps/Rsdo.Concordancer.Api/WebApp/package.json b/src/apps/Rsdo.Concordancer.Api/WebApp/package.json index b3e9c45..6cdc58b 100644 --- a/src/apps/Rsdo.Concordancer.Api/WebApp/package.json +++ b/src/apps/Rsdo.Concordancer.Api/WebApp/package.json @@ -1,6 +1,6 @@ { "name": "concordancer-web", - "version": "1.0.0", + "version": "1.0.1", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.16.5", diff --git a/src/apps/Rsdo.Concordancer.Api/WebApp/public/index.html b/src/apps/Rsdo.Concordancer.Api/WebApp/public/index.html index aac82e4..94690a4 100644 --- a/src/apps/Rsdo.Concordancer.Api/WebApp/public/index.html +++ b/src/apps/Rsdo.Concordancer.Api/WebApp/public/index.html @@ -5,10 +5,7 @@ - +