diff --git a/.github/workflows/fw-lite.yaml b/.github/workflows/fw-lite.yaml index aaa1abfa4..cd7ae4639 100644 --- a/.github/workflows/fw-lite.yaml +++ b/.github/workflows/fw-lite.yaml @@ -86,23 +86,23 @@ jobs: dotnet-version: '9.x' - name: Dotnet build - working-directory: backend/FwLite/LocalWebApp + working-directory: backend/FwLite/FwLiteWeb run: dotnet build --configuration Release - name: Publish OSX - working-directory: backend/FwLite/LocalWebApp + working-directory: backend/FwLite/FwLiteWeb run: dotnet publish -r osx-x64 --artifacts-path ../artifacts -p:Version=${{ needs.build-and-test.outputs.semver-version }} - name: Publish OSX ARM - working-directory: backend/FwLite/LocalWebApp + working-directory: backend/FwLite/FwLiteWeb run: dotnet publish -r osx-arm64 --artifacts-path ../artifacts -p:Version=${{ needs.build-and-test.outputs.semver-version }} #todo sign the app - name: Upload local web app artifacts uses: actions/upload-artifact@v4 with: - name: fw-lite-local-web-app-mac + name: fw-lite-web-mac if-no-files-found: error - path: backend/FwLite/artifacts/publish/LocalWebApp/* + path: backend/FwLite/artifacts/publish/FwLiteWeb/* publish-linux: name: Publish FW Lite app for Linux @@ -123,15 +123,15 @@ jobs: dotnet-version: '9.x' - name: Publish Linux - working-directory: backend/FwLite/LocalWebApp + working-directory: backend/FwLite/FwLiteWeb run: dotnet publish -r linux-x64 --artifacts-path ../artifacts -p:PublishSingleFile=true -p:Version=${{ needs.build-and-test.outputs.semver-version }} - name: Upload FWLite Linux artifacts uses: actions/upload-artifact@v4 with: - name: fw-lite-local-web-app-linux + name: fw-lite-web-linux if-no-files-found: error - path: backend/FwLite/artifacts/publish/LocalWebApp/* + path: backend/FwLite/artifacts/publish/FwLiteWeb/* publish-android: name: Publish FW Lite app for Android @@ -254,8 +254,8 @@ jobs: path: fw-lite-portable - uses: actions/download-artifact@v4 with: - name: fw-lite-local-web-app-linux - path: fw-lite-local-web-app-linux + name: fw-lite-web-linux + path: fw-lite-web-linux - uses: actions/download-artifact@v4 with: name: fw-lite-android @@ -264,8 +264,8 @@ jobs: - name: Zip artifacts run: | zip -r fw-lite-portable.zip fw-lite-portable - chmod +x fw-lite-local-web-app-linux/*/LocalWebApp - zip -r fw-lite-local-web-app-linux.zip fw-lite-local-web-app-linux + chmod +x fw-lite-web-linux/*/FwLiteWeb + zip -r fw-lite-web-linux.zip fw-lite-web-linux - name: Create Release uses: softprops/action-gh-release@v2 @@ -276,7 +276,7 @@ jobs: files: | fw-lite-msix/* fw-lite-portable.zip - fw-lite-local-web-app-linux.zip + fw-lite-web-linux.zip fw-lite-android/*.apk fw-lite-android/*.aab diff --git a/.vscode/launch.json b/.vscode/launch.json index 21e138896..897310f2c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,10 +5,10 @@ "version": "0.2.0", "configurations": [ { - "name": "C#: LocalWebApp Debug", + "name": "C#: FwLiteWeb Debug", "type": "dotnet", "request": "launch", - "projectPath": "${workspaceFolder}/backend/FwLite/LocalWebApp/LocalWebApp.csproj" + "projectPath": "${workspaceFolder}/backend/FwLite/FwLiteWeb/FwLiteWeb.csproj" }, { "name": "FwLite Blazor", diff --git a/FwLiteOnly.slnf b/FwLiteOnly.slnf index 962b1841d..0c4419b1a 100644 --- a/FwLiteOnly.slnf +++ b/FwLiteOnly.slnf @@ -7,7 +7,7 @@ "backend\\harmony\\src\\SIL.Harmony\\SIL.Harmony.csproj", "backend\\FwLite\\LcmCrdt\\LcmCrdt.csproj", "backend\\FwLite\\LcmCrdt.Tests\\LcmCrdt.Tests.csproj", - "backend\\FWLite\\LocalWebApp\\LocalWebApp.csproj", + "backend\\FWLite\\FwLiteWeb\\FwLiteWeb.csproj", "backend\\FwLite\\FwLiteMaui\\FwLiteMaui.csproj", "backend\\FwLite\\FwLiteShared\\FwLiteShared.csproj", "backend\\FWLite\\FwDataMiniLcmBridge\\FwDataMiniLcmBridge.csproj", diff --git a/LexBox.sln b/LexBox.sln index 95b176acc..5aca8d813 100644 --- a/LexBox.sln +++ b/LexBox.sln @@ -27,7 +27,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LfClassicData", "backend\Lf EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniLcm", "backend\FwLite\MiniLcm\MiniLcm.csproj", "{6D4062DC-1B1A-4A24-9C61-0F6A18A39882}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LocalWebApp", "backend\FwLite\LocalWebApp\LocalWebApp.csproj", "{2CDF7126-733B-46E8-9B93-7DC31DE39682}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FwLiteWeb", "backend\FwLite\FwLiteWeb\FwLiteWeb.csproj", "{2CDF7126-733B-46E8-9B93-7DC31DE39682}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LcmCrdt", "backend\FwLite\LcmCrdt\LcmCrdt.csproj", "{6B857F83-72E3-43E6-91C3-A946F3F988D8}" EndProject diff --git a/Taskfile.yml b/Taskfile.yml index ec5513e7e..8d296dcc5 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -93,8 +93,8 @@ tasks: deps: [ infra-up, api:only, k8s:infra-forward ] interactive: true - local-web-app-for-develop: - deps: [ ui:viewer-dev, fw-lite:local-web-app-for-develop, ui:https-oauth-authority ] + web-for-develop: + deps: [ ui:viewer-dev, fw-lite:lweb-for-develop, ui:https-oauth-authority ] - local-web-app: - deps: [ ui:viewer-dev, fw-lite:local-web-app, ui:https-oauth-authority ] + web: + deps: [ ui:viewer-dev, fw-lite:web, ui:https-oauth-authority ] diff --git a/backend/FwLite/FwLiteProjectSync.Tests/FwLiteProjectSync.Tests.csproj b/backend/FwLite/FwLiteProjectSync.Tests/FwLiteProjectSync.Tests.csproj index ae185c9c2..ae4f2cf5a 100644 --- a/backend/FwLite/FwLiteProjectSync.Tests/FwLiteProjectSync.Tests.csproj +++ b/backend/FwLite/FwLiteProjectSync.Tests/FwLiteProjectSync.Tests.csproj @@ -37,7 +37,7 @@ - + diff --git a/backend/FwLite/LocalWebApp/Components/App.razor b/backend/FwLite/FwLiteWeb/Components/App.razor similarity index 100% rename from backend/FwLite/LocalWebApp/Components/App.razor rename to backend/FwLite/FwLiteWeb/Components/App.razor diff --git a/backend/FwLite/LocalWebApp/Components/Pages/Error.razor b/backend/FwLite/FwLiteWeb/Components/Pages/Error.razor similarity index 100% rename from backend/FwLite/LocalWebApp/Components/Pages/Error.razor rename to backend/FwLite/FwLiteWeb/Components/Pages/Error.razor diff --git a/backend/FwLite/LocalWebApp/Components/_Imports.razor b/backend/FwLite/FwLiteWeb/Components/_Imports.razor similarity index 87% rename from backend/FwLite/LocalWebApp/Components/_Imports.razor rename to backend/FwLite/FwLiteWeb/Components/_Imports.razor index 1ca3fa6df..135589535 100644 --- a/backend/FwLite/LocalWebApp/Components/_Imports.razor +++ b/backend/FwLite/FwLiteWeb/Components/_Imports.razor @@ -7,5 +7,5 @@ @using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.JSInterop @using FwLiteShared -@using LocalWebApp -@using LocalWebApp.Components +@using FwLiteWeb +@using FwLiteWeb.Components diff --git a/backend/FwLite/FwLiteWeb/Dockerfile b/backend/FwLite/FwLiteWeb/Dockerfile new file mode 100644 index 000000000..61d306d09 --- /dev/null +++ b/backend/FwLite/FwLiteWeb/Dockerfile @@ -0,0 +1,23 @@ +FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +USER $APP_UID +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["FwLiteWeb/FwLiteWeb.csproj", "FwLiteWeb/"] +RUN dotnet restore "FwLiteWeb/FwLiteWeb.csproj" +COPY . . +WORKDIR "/src/FwLiteWeb" +RUN dotnet build "FwLiteWeb.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "FwLiteWeb.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "FwLiteWeb.dll"] diff --git a/backend/FwLite/LocalWebApp/LocalWebApp.csproj b/backend/FwLite/FwLiteWeb/FwLiteWeb.csproj similarity index 100% rename from backend/FwLite/LocalWebApp/LocalWebApp.csproj rename to backend/FwLite/FwLiteWeb/FwLiteWeb.csproj diff --git a/backend/FwLite/FwLiteWeb/FwLiteWeb.http b/backend/FwLite/FwLiteWeb/FwLiteWeb.http new file mode 100644 index 000000000..82cd70741 --- /dev/null +++ b/backend/FwLite/FwLiteWeb/FwLiteWeb.http @@ -0,0 +1,7 @@ +@FwLiteWeb_HostAddress = http://localhost:5173 + +GET {{FwLiteWeb_HostAddress}}/api/auth/login/default +Accept: application/json + + +### diff --git a/backend/FwLite/LocalWebApp/LocalWebAppConfig.cs b/backend/FwLite/FwLiteWeb/FwLiteWebConfig.cs similarity index 74% rename from backend/FwLite/LocalWebApp/LocalWebAppConfig.cs rename to backend/FwLite/FwLiteWeb/FwLiteWebConfig.cs index 7684bf693..10f539697 100644 --- a/backend/FwLite/LocalWebApp/LocalWebAppConfig.cs +++ b/backend/FwLite/FwLiteWeb/FwLiteWebConfig.cs @@ -1,6 +1,6 @@ -namespace LocalWebApp; +namespace FwLiteWeb; -public class LocalWebAppConfig +public class FwLiteWebConfig { public bool CorsAllowAny { get; init; } = false; public bool OpenBrowser { get; init; } = true; diff --git a/backend/FwLite/LocalWebApp/LocalAppKernel.cs b/backend/FwLite/FwLiteWeb/FwLiteWebKernel.cs similarity index 77% rename from backend/FwLite/LocalWebApp/LocalAppKernel.cs rename to backend/FwLite/FwLiteWeb/FwLiteWebKernel.cs index 5903f4f35..27b957e92 100644 --- a/backend/FwLite/LocalWebApp/LocalAppKernel.cs +++ b/backend/FwLite/FwLiteWeb/FwLiteWebKernel.cs @@ -2,23 +2,23 @@ using FwLiteShared; using FwLiteShared.Auth; using LcmCrdt; -using LocalWebApp.Services; +using FwLiteWeb.Services; using Microsoft.AspNetCore.Http.Json; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Options; -namespace LocalWebApp; +namespace FwLiteWeb; -public static class LocalAppKernel +public static class FwLiteWebKernel { - public static IServiceCollection AddLocalAppServices(this IServiceCollection services, IHostEnvironment environment) + public static IServiceCollection AddFwLiteWebServices(this IServiceCollection services, IHostEnvironment environment) { services.AddHttpContextAccessor(); services.AddSingleton(); services.AddSingleton(); services.AddFwLiteShared(environment); - services.AddOptions().BindConfiguration("LocalWebApp"); + services.AddOptions().BindConfiguration("FwLiteWeb"); services.AddOptions().PostConfigure>((jsonOptions, crdtConfig) => { diff --git a/backend/FwLite/LocalWebApp/LocalWebAppServer.cs b/backend/FwLite/FwLiteWeb/FwLiteWebServer.cs similarity index 88% rename from backend/FwLite/LocalWebApp/LocalWebAppServer.cs rename to backend/FwLite/FwLiteWeb/FwLiteWebServer.cs index 16a7db166..00dda4cb5 100644 --- a/backend/FwLite/LocalWebApp/LocalWebAppServer.cs +++ b/backend/FwLite/FwLiteWeb/FwLiteWebServer.cs @@ -2,20 +2,20 @@ using FwDataMiniLcmBridge.LcmUtils; using FwLiteShared.Auth; using LcmCrdt; -using LocalWebApp; -using LocalWebApp.Components; -using LocalWebApp.Hubs; -using LocalWebApp.Routes; -using LocalWebApp.Utils; +using FwLiteWeb; +using FwLiteWeb.Components; +using FwLiteWeb.Hubs; +using FwLiteWeb.Routes; +using FwLiteWeb.Utils; using Microsoft.AspNetCore.SignalR; using Microsoft.AspNetCore.StaticFiles.Infrastructure; using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.Options; using NReco.Logging.File; -namespace LocalWebApp; +namespace FwLiteWeb; -public static class LocalWebAppServer +public static class FwLiteWebServer { public static WebApplication SetupAppServer(WebApplicationOptions options, Action? configure = null) { @@ -39,12 +39,12 @@ public static WebApplication SetupAppServer(WebApplicationOptions options, Actio builder.Services.Configure(c => c.ClientId = "becf2856-0690-434b-b192-a4032b72067f"); builder.Logging.AddDebug(); builder.Services.AddRazorComponents().AddInteractiveServerComponents(); - if (builder.Configuration.GetValue("LocalWebApp:LogFileName") is { Length: > 0 } logFileName) + if (builder.Configuration.GetValue("FwLiteWeb:LogFileName") is { Length: > 0 } logFileName) { builder.Logging.AddFile(logFileName); } builder.Services.AddCors(); - builder.Services.AddLocalAppServices(builder.Environment); + builder.Services.AddFwLiteWebServices(builder.Environment); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); builder.Services.AddSignalR(options => @@ -55,7 +55,7 @@ public static WebApplication SetupAppServer(WebApplicationOptions options, Actio configure?.Invoke(builder); var app = builder.Build(); - app.Logger.LogInformation("FwLite LocalWebApp startup"); + app.Logger.LogInformation("FwLite FwLiteWeb startup"); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { @@ -64,7 +64,7 @@ public static WebApplication SetupAppServer(WebApplicationOptions options, Actio app.UseDirectoryBrowser(); } - if (app.Services.GetRequiredService>().Value.CorsAllowAny) + if (app.Services.GetRequiredService>().Value.CorsAllowAny) { app.UseCors(policyBuilder => { diff --git a/backend/FwLite/LocalWebApp/HttpHelpers.cs b/backend/FwLite/FwLiteWeb/HttpHelpers.cs similarity index 91% rename from backend/FwLite/LocalWebApp/HttpHelpers.cs rename to backend/FwLite/FwLiteWeb/HttpHelpers.cs index 73774c7e0..6096af785 100644 --- a/backend/FwLite/LocalWebApp/HttpHelpers.cs +++ b/backend/FwLite/FwLiteWeb/HttpHelpers.cs @@ -1,6 +1,6 @@ -using LocalWebApp.Hubs; +using FwLiteWeb.Hubs; -namespace LocalWebApp; +namespace FwLiteWeb; public static class HttpHelpers { diff --git a/backend/FwLite/LocalWebApp/Hubs/CrdtMiniLcmApiHub.cs b/backend/FwLite/FwLiteWeb/Hubs/CrdtMiniLcmApiHub.cs similarity index 98% rename from backend/FwLite/LocalWebApp/Hubs/CrdtMiniLcmApiHub.cs rename to backend/FwLite/FwLiteWeb/Hubs/CrdtMiniLcmApiHub.cs index 5c73b7c1b..159b2884f 100644 --- a/backend/FwLite/LocalWebApp/Hubs/CrdtMiniLcmApiHub.cs +++ b/backend/FwLite/FwLiteWeb/Hubs/CrdtMiniLcmApiHub.cs @@ -3,14 +3,14 @@ using FwLiteShared.Sync; using LcmCrdt; using LcmCrdt.Data; -using LocalWebApp.Services; +using FwLiteWeb.Services; using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Caching.Memory; using MiniLcm; using MiniLcm.Models; using SystemTextJsonPatch; -namespace LocalWebApp.Hubs; +namespace FwLiteWeb.Hubs; public class CrdtMiniLcmApiHub( IMiniLcmApi miniLcmApi, diff --git a/backend/FwLite/LocalWebApp/Hubs/FwDataMiniLcmHub.cs b/backend/FwLite/FwLiteWeb/Hubs/FwDataMiniLcmHub.cs similarity index 98% rename from backend/FwLite/LocalWebApp/Hubs/FwDataMiniLcmHub.cs rename to backend/FwLite/FwLiteWeb/Hubs/FwDataMiniLcmHub.cs index a9fb72c6f..edbb0a472 100644 --- a/backend/FwLite/LocalWebApp/Hubs/FwDataMiniLcmHub.cs +++ b/backend/FwLite/FwLiteWeb/Hubs/FwDataMiniLcmHub.cs @@ -5,7 +5,7 @@ using SIL.LCModel; using SystemTextJsonPatch; -namespace LocalWebApp.Hubs; +namespace FwLiteWeb.Hubs; public class FwDataMiniLcmHub([FromKeyedServices(FwDataBridgeKernel.FwDataApiKey)] IMiniLcmApi miniLcmApi, FwDataFactory fwDataFactory, FwDataProjectContext context) : MiniLcmApiHubBase(miniLcmApi) diff --git a/backend/FwLite/LocalWebApp/Hubs/ILexboxHubClient.cs b/backend/FwLite/FwLiteWeb/Hubs/ILexboxHubClient.cs similarity index 87% rename from backend/FwLite/LocalWebApp/Hubs/ILexboxHubClient.cs rename to backend/FwLite/FwLiteWeb/Hubs/ILexboxHubClient.cs index 0bcc97ff5..d9a1290b1 100644 --- a/backend/FwLite/LocalWebApp/Hubs/ILexboxHubClient.cs +++ b/backend/FwLite/FwLiteWeb/Hubs/ILexboxHubClient.cs @@ -1,6 +1,6 @@ using MiniLcm.Models; -namespace LocalWebApp.Hubs; +namespace FwLiteWeb.Hubs; public interface ILexboxHubClient { diff --git a/backend/FwLite/LocalWebApp/Hubs/LockedProjectFilter.cs b/backend/FwLite/FwLiteWeb/Hubs/LockedProjectFilter.cs similarity index 97% rename from backend/FwLite/LocalWebApp/Hubs/LockedProjectFilter.cs rename to backend/FwLite/FwLiteWeb/Hubs/LockedProjectFilter.cs index aadf92d95..68048636d 100644 --- a/backend/FwLite/LocalWebApp/Hubs/LockedProjectFilter.cs +++ b/backend/FwLite/FwLiteWeb/Hubs/LockedProjectFilter.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.SignalR; using SIL.LCModel; -namespace LocalWebApp.Hubs; +namespace FwLiteWeb.Hubs; public class LockedProjectFilter: IHubFilter { diff --git a/backend/FwLite/LocalWebApp/Hubs/MiniLcmApiHubBase.cs b/backend/FwLite/FwLiteWeb/Hubs/MiniLcmApiHubBase.cs similarity index 99% rename from backend/FwLite/LocalWebApp/Hubs/MiniLcmApiHubBase.cs rename to backend/FwLite/FwLiteWeb/Hubs/MiniLcmApiHubBase.cs index 5f477f6e8..aba2cb87e 100644 --- a/backend/FwLite/LocalWebApp/Hubs/MiniLcmApiHubBase.cs +++ b/backend/FwLite/FwLiteWeb/Hubs/MiniLcmApiHubBase.cs @@ -4,7 +4,7 @@ using MiniLcm.Models; using SystemTextJsonPatch; -namespace LocalWebApp.Hubs; +namespace FwLiteWeb.Hubs; public abstract class MiniLcmApiHubBase(IMiniLcmApi miniLcmApi) : Hub { diff --git a/backend/FwLite/LocalWebApp/LocalAppLauncher.cs b/backend/FwLite/FwLiteWeb/LocalAppLauncher.cs similarity index 96% rename from backend/FwLite/LocalWebApp/LocalAppLauncher.cs rename to backend/FwLite/FwLiteWeb/LocalAppLauncher.cs index 2f2d24ab2..06a478c74 100644 --- a/backend/FwLite/LocalWebApp/LocalAppLauncher.cs +++ b/backend/FwLite/FwLiteWeb/LocalAppLauncher.cs @@ -1,7 +1,7 @@ using System.Diagnostics; using System.Runtime.InteropServices; -namespace LocalWebApp; +namespace FwLiteWeb; public class LocalAppLauncher { diff --git a/backend/FwLite/LocalWebApp/Program.cs b/backend/FwLite/FwLiteWeb/Program.cs similarity index 56% rename from backend/FwLite/LocalWebApp/Program.cs rename to backend/FwLite/FwLiteWeb/Program.cs index 8cb3c8eb4..97513e559 100644 --- a/backend/FwLite/LocalWebApp/Program.cs +++ b/backend/FwLite/FwLiteWeb/Program.cs @@ -1,12 +1,12 @@ -using LocalWebApp; +using FwLiteWeb; using Microsoft.Extensions.Options; -var app = LocalWebAppServer.SetupAppServer(new() {Args = args}); +var app = FwLiteWebServer.SetupAppServer(new() {Args = args}); await using (app) { await app.StartAsync(); - var openBrowser = app.Services.GetRequiredService>().Value.OpenBrowser; + var openBrowser = app.Services.GetRequiredService>().Value.OpenBrowser; if (openBrowser) { diff --git a/backend/FwLite/LocalWebApp/Properties/launchSettings.json b/backend/FwLite/FwLiteWeb/Properties/launchSettings.json similarity index 100% rename from backend/FwLite/LocalWebApp/Properties/launchSettings.json rename to backend/FwLite/FwLiteWeb/Properties/launchSettings.json diff --git a/backend/FwLite/LocalWebApp/Routes/ActivityRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/ActivityRoutes.cs similarity index 93% rename from backend/FwLite/LocalWebApp/Routes/ActivityRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/ActivityRoutes.cs index 4d00e619e..b5435c3e2 100644 --- a/backend/FwLite/LocalWebApp/Routes/ActivityRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/ActivityRoutes.cs @@ -4,12 +4,12 @@ using SIL.Harmony.Db; using LcmCrdt; using LcmCrdt.Changes; -using LocalWebApp.Hubs; +using FwLiteWeb.Hubs; using Microsoft.EntityFrameworkCore; using Microsoft.OpenApi.Models; using SIL.Harmony.Entities; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class ActivityRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/AuthRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/AuthRoutes.cs similarity index 98% rename from backend/FwLite/LocalWebApp/Routes/AuthRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/AuthRoutes.cs index a270c3adc..d1b727b4a 100644 --- a/backend/FwLite/LocalWebApp/Routes/AuthRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/AuthRoutes.cs @@ -4,7 +4,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class AuthRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/FeedbackRoute.cs b/backend/FwLite/FwLiteWeb/Routes/FeedbackRoute.cs similarity index 96% rename from backend/FwLite/LocalWebApp/Routes/FeedbackRoute.cs rename to backend/FwLite/FwLiteWeb/Routes/FeedbackRoute.cs index 29dda9fdc..47f57dffb 100644 --- a/backend/FwLite/LocalWebApp/Routes/FeedbackRoute.cs +++ b/backend/FwLite/FwLiteWeb/Routes/FeedbackRoute.cs @@ -1,6 +1,6 @@ using System.Reflection; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class FeedbackRoute { diff --git a/backend/FwLite/LocalWebApp/Routes/FwIntegrationRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/FwIntegrationRoutes.cs similarity index 96% rename from backend/FwLite/LocalWebApp/Routes/FwIntegrationRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/FwIntegrationRoutes.cs index d99fa6462..c73a56ee6 100644 --- a/backend/FwLite/LocalWebApp/Routes/FwIntegrationRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/FwIntegrationRoutes.cs @@ -1,10 +1,10 @@ using FwDataMiniLcmBridge; -using LocalWebApp.Hubs; +using FwLiteWeb.Hubs; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.SignalR; using Microsoft.OpenApi.Models; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class FwIntegrationRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/HistoryRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/HistoryRoutes.cs similarity index 95% rename from backend/FwLite/LocalWebApp/Routes/HistoryRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/HistoryRoutes.cs index f77ea2d9e..164ddc73a 100644 --- a/backend/FwLite/LocalWebApp/Routes/HistoryRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/HistoryRoutes.cs @@ -6,11 +6,11 @@ using SIL.Harmony.Entities; using LinqToDB; using LinqToDB.EntityFrameworkCore; -using LocalWebApp.Hubs; +using FwLiteWeb.Hubs; using Microsoft.OpenApi.Models; using MiniLcm.Models; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class HistoryRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/ImportRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/ImportRoutes.cs similarity index 89% rename from backend/FwLite/LocalWebApp/Routes/ImportRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/ImportRoutes.cs index cc057a783..256e50bdf 100644 --- a/backend/FwLite/LocalWebApp/Routes/ImportRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/ImportRoutes.cs @@ -1,10 +1,10 @@  using FwLiteShared.Projects; using SIL.Harmony.Db; - using LocalWebApp.Services; + using FwLiteWeb.Services; using Microsoft.OpenApi.Models; using MiniLcm; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class ImportRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/ProjectRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/ProjectRoutes.cs similarity index 97% rename from backend/FwLite/LocalWebApp/Routes/ProjectRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/ProjectRoutes.cs index 58734ef15..6406dd802 100644 --- a/backend/FwLite/LocalWebApp/Routes/ProjectRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/ProjectRoutes.cs @@ -5,14 +5,14 @@ using FwLiteShared.Projects; using FwLiteShared.Sync; using LcmCrdt; -using LocalWebApp.Hubs; -using LocalWebApp.Services; +using FwLiteWeb.Hubs; +using FwLiteWeb.Services; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Options; using MiniLcm; using MiniLcm.Models; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class ProjectRoutes { diff --git a/backend/FwLite/LocalWebApp/Routes/TestRoutes.cs b/backend/FwLite/FwLiteWeb/Routes/TestRoutes.cs similarity index 94% rename from backend/FwLite/LocalWebApp/Routes/TestRoutes.cs rename to backend/FwLite/FwLiteWeb/Routes/TestRoutes.cs index 9d21ba34f..396b292b3 100644 --- a/backend/FwLite/LocalWebApp/Routes/TestRoutes.cs +++ b/backend/FwLite/FwLiteWeb/Routes/TestRoutes.cs @@ -1,12 +1,12 @@ using FwLiteShared; using LcmCrdt; -using LocalWebApp.Hubs; -using LocalWebApp.Services; +using FwLiteWeb.Hubs; +using FwLiteWeb.Services; using Microsoft.OpenApi.Models; using MiniLcm; using MiniLcm.Models; -namespace LocalWebApp.Routes; +namespace FwLiteWeb.Routes; public static class TestRoutes { diff --git a/backend/FwLite/LocalWebApp/Services/ServerRedirectUrlProvider.cs b/backend/FwLite/FwLiteWeb/Services/ServerRedirectUrlProvider.cs similarity index 93% rename from backend/FwLite/LocalWebApp/Services/ServerRedirectUrlProvider.cs rename to backend/FwLite/FwLiteWeb/Services/ServerRedirectUrlProvider.cs index 531c84c59..b48c0bedb 100644 --- a/backend/FwLite/LocalWebApp/Services/ServerRedirectUrlProvider.cs +++ b/backend/FwLite/FwLiteWeb/Services/ServerRedirectUrlProvider.cs @@ -1,7 +1,7 @@ using FwLiteShared.Auth; -using LocalWebApp.Routes; +using FwLiteWeb.Routes; -namespace LocalWebApp.Services; +namespace FwLiteWeb.Services; public class ServerRedirectUrlProvider(LinkGenerator linkGenerator, UrlContext urlContext): IRedirectUrlProvider { diff --git a/backend/FwLite/LocalWebApp/UrlContext.cs b/backend/FwLite/FwLiteWeb/UrlContext.cs similarity index 98% rename from backend/FwLite/LocalWebApp/UrlContext.cs rename to backend/FwLite/FwLiteWeb/UrlContext.cs index bafefe88f..bf638c8ac 100644 --- a/backend/FwLite/LocalWebApp/UrlContext.cs +++ b/backend/FwLite/FwLiteWeb/UrlContext.cs @@ -1,7 +1,7 @@ using Microsoft.AspNetCore.Hosting.Server; using Microsoft.AspNetCore.Hosting.Server.Features; -namespace LocalWebApp; +namespace FwLiteWeb; public class UrlContext(IServer server, IHttpContextAccessor contextAccessor) { diff --git a/backend/FwLite/LocalWebApp/Utils/ConfigExtensions.cs b/backend/FwLite/FwLiteWeb/Utils/ConfigExtensions.cs similarity index 94% rename from backend/FwLite/LocalWebApp/Utils/ConfigExtensions.cs rename to backend/FwLite/FwLiteWeb/Utils/ConfigExtensions.cs index 62a95a732..c7bdb6e43 100644 --- a/backend/FwLite/LocalWebApp/Utils/ConfigExtensions.cs +++ b/backend/FwLite/FwLiteWeb/Utils/ConfigExtensions.cs @@ -1,4 +1,4 @@ -namespace LocalWebApp.Utils; +namespace FwLiteWeb.Utils; public static class ConfigExtensions { diff --git a/backend/FwLite/LocalWebApp/appsettings.Development.json b/backend/FwLite/FwLiteWeb/appsettings.Development.json similarity index 72% rename from backend/FwLite/LocalWebApp/appsettings.Development.json rename to backend/FwLite/FwLiteWeb/appsettings.Development.json index a0e0b33eb..a83bcd852 100644 --- a/backend/FwLite/LocalWebApp/appsettings.Development.json +++ b/backend/FwLite/FwLiteWeb/appsettings.Development.json @@ -3,10 +3,10 @@ "Logging": { "LogLevel": { "Default": "Information", - "LocalWebApp.Auth.LoggerAdapter": "Warning" + "FwLiteWeb.Auth.LoggerAdapter": "Warning" } }, - "LocalWebApp": { + "FwLiteWeb": { "CorsAllowAny": false, "OpenBrowser": true, "LogFileName": null diff --git a/backend/FwLite/LocalWebApp/appsettings.json b/backend/FwLite/FwLiteWeb/appsettings.json similarity index 100% rename from backend/FwLite/LocalWebApp/appsettings.json rename to backend/FwLite/FwLiteWeb/appsettings.json diff --git a/backend/FwLite/LocalWebApp/Dockerfile b/backend/FwLite/LocalWebApp/Dockerfile deleted file mode 100644 index 12e9d70ea..000000000 --- a/backend/FwLite/LocalWebApp/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base -USER $APP_UID -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build -ARG BUILD_CONFIGURATION=Release -WORKDIR /src -COPY ["LocalWebApp/LocalWebApp.csproj", "LocalWebApp/"] -RUN dotnet restore "LocalWebApp/LocalWebApp.csproj" -COPY . . -WORKDIR "/src/LocalWebApp" -RUN dotnet build "LocalWebApp.csproj" -c $BUILD_CONFIGURATION -o /app/build - -FROM build AS publish -ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "LocalWebApp.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "LocalWebApp.dll"] diff --git a/backend/FwLite/LocalWebApp/LocalWebApp.http b/backend/FwLite/LocalWebApp/LocalWebApp.http deleted file mode 100644 index 1e49aa754..000000000 --- a/backend/FwLite/LocalWebApp/LocalWebApp.http +++ /dev/null @@ -1,7 +0,0 @@ -@LocalWebApp_HostAddress = http://localhost:5173 - -GET {{LocalWebApp_HostAddress}}/api/auth/login/default -Accept: application/json - - -### diff --git a/backend/FwLite/README.md b/backend/FwLite/README.md index ab2ef85e4..2c22d3821 100644 --- a/backend/FwLite/README.md +++ b/backend/FwLite/README.md @@ -15,5 +15,5 @@ from repo root you will be able to develop the UI as well. From this folder it will just run the backend and use the most recent built of the frontend for the UI. ```bash -task local-web-app-for-develop +task web-for-develop ``` diff --git a/backend/FwLite/Taskfile.yml b/backend/FwLite/Taskfile.yml index f350d15c0..aafd0df2c 100644 --- a/backend/FwLite/Taskfile.yml +++ b/backend/FwLite/Taskfile.yml @@ -7,15 +7,15 @@ includes: tasks: - local-web-app-for-develop: + web-for-develop: label: dotnet - dir: ./LocalWebApp + dir: ./FwLiteWeb cmd: dotnet watch --no-hot-reload - local-web-app: - label: Run LocalWebApp with Local LexBox + web: + label: Run FwLiteWeb with Local LexBox env: Auth__DefaultAuthority: "https://localhost:3050" - dir: ./LocalWebApp + dir: ./FwLiteWeb cmd: dotnet watch --no-hot-reload maui-windows: @@ -37,25 +37,25 @@ tasks: dir: ./FwLiteMaui cmd: dotnet build -f net9.0-android -t:InstallAndroidDependencies -p:AcceptAndroidSdkLicenses=True # "-p:AndroidSdkDirectory=D:\tools\android" - publish-local-all: + publish-web-all: cmds: - - task: publish-local-win - - task: publish-local-linux - - task: publish-local-osx - - task: publish-local-osx-arm - publish-local-win: - dir: ./LocalWebApp + - task: publish-web-win + - task: publish-web-linux + - task: publish-web-osx + - task: publish-web-osx-arm + publish-web-win: + dir: ./FwLiteWeb deps: [ ui:build-viewer-app ] cmd: dotnet publish -r win-x64 - publish-local-win-arm: - dir: ./LocalWebApp + publish-web-win-arm: + dir: ./FwLiteWeb cmd: dotnet publish -r win-arm64 - publish-local-linux: - dir: ./LocalWebApp + publish-web-linux: + dir: ./FwLiteWeb cmd: dotnet publish -r linux-x64 - publish-local-osx: - dir: ./LocalWebApp + publish-web-osx: + dir: ./FwLiteWeb cmd: dotnet publish -r osx-x64 - publish-local-osx-arm: - dir: ./LocalWebApp + publish-web-osx-arm: + dir: ./FwLiteWeb cmd: dotnet publish -r osx-arm64 diff --git a/frontend/platform.bible-extension/Taskfile.yml b/frontend/platform.bible-extension/Taskfile.yml index 295a4243b..62f5e3561 100644 --- a/frontend/platform.bible-extension/Taskfile.yml +++ b/frontend/platform.bible-extension/Taskfile.yml @@ -12,18 +12,18 @@ tasks: - npm install package: - deps: [ build-local-web-app, build-viewer-component, install ] + deps: [ build-fw-lite-web, build-viewer-component, install ] cmds: - npm run package run: - deps: [ build-local-web-app, build-viewer-component, install ] + deps: [ build-fw-lite-web, build-viewer-component, install ] cmds: - npm run start - build-local-web-app: + build-fw-lite-web: cmds: - - dotnet publish ../../backend/FwLite/LocalWebApp/LocalWebApp.csproj --configuration Release --sc --output ./public/fw-lite + - dotnet publish ../../backend/FwLite/FwLiteWeb/FwLiteWeb.csproj --configuration Release --sc --output ./public/fw-lite build-viewer-component: dir: ../viewer cmd: pnpm run build diff --git a/frontend/platform.bible-extension/src/main.ts b/frontend/platform.bible-extension/src/main.ts index 93b16c6fb..3f31d386d 100644 --- a/frontend/platform.bible-extension/src/main.ts +++ b/frontend/platform.bible-extension/src/main.ts @@ -49,7 +49,7 @@ export async function activate(context: ExecutionActivationContext) { 'fwLiteExtension.launchServer', ); let baseUrlHolder = {baseUrl: ''}; - launchFwLiteLocalWebApp(context).then(baseUrl => { + launchFwLiteFwLiteWeb(context).then(baseUrl => { baseUrlHolder.baseUrl = baseUrl; onLaunchServerEmitter.emit({baseUrl}); }); @@ -106,8 +106,8 @@ export async function deactivate() { return true; } -async function launchFwLiteLocalWebApp(context: ExecutionActivationContext) { - let binaryPath = 'fw-lite/LocalWebApp.exe'; +async function launchFwLiteFwLiteWeb(context: ExecutionActivationContext) { + let binaryPath = 'fw-lite/FwLiteWeb.exe'; if (context.elevatedPrivileges.createProcess === undefined) { throw new Error('FwLite requires createProcess elevated privileges'); } @@ -121,9 +121,9 @@ async function launchFwLiteLocalWebApp(context: ExecutionActivationContext) { binaryPath, [ '--urls', baseUrl, - '--LocalWebApp:OpenBrowser=false', - '--LocalWebApp:CorsAllowAny=true', - '--LocalWebApp:LogFileName=fw-lite-local-web-app.log', + '--FwLiteWeb:OpenBrowser=false', + '--FwLiteWeb:CorsAllowAny=true', + '--FwLiteWeb:LogFileName=fw-lite-web.log', ], {stdio: [null, null, null]} );