mirror of
https://github.com/ElectronNET/Electron.NET.git
synced 2026-07-09 18:27:36 +00:00
Compare commits
36 Commits
0.5.0-pre.
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6e496b2c6 | ||
|
|
5974cb9e43 | ||
|
|
d4d4e9dddd | ||
|
|
3b5f21c724 | ||
|
|
5aebe807c3 | ||
|
|
bdee008cc8 | ||
|
|
7fc5c9b611 | ||
|
|
86e5d74c03 | ||
|
|
e79b029e16 | ||
|
|
5bdf6230b9 | ||
|
|
8c2382a05c | ||
|
|
10b1b686cb | ||
|
|
d7d2521d0c | ||
|
|
392419e5a7 | ||
|
|
f92f07a378 | ||
|
|
9b045cbf01 | ||
|
|
94ff3c1c4d | ||
|
|
773937448d | ||
|
|
b094051dcb | ||
|
|
3a10e7e98d | ||
|
|
056661028b | ||
|
|
27a8c69a9a | ||
|
|
8e900655b9 | ||
|
|
066efa80e2 | ||
|
|
18944fe222 | ||
|
|
0e83af032c | ||
|
|
1ec84cfef0 | ||
|
|
1620c50627 | ||
|
|
295b250e58 | ||
|
|
644628c803 | ||
|
|
a18944d4a4 | ||
|
|
b5858a697a | ||
|
|
58b9ad0125 | ||
|
|
e44927a655 | ||
|
|
ed9a24bb5e | ||
|
|
94df47efa6 |
16
Changelog.md
16
Changelog.md
@@ -1,4 +1,18 @@
|
|||||||
## 0.5.0
|
# 0.5.2
|
||||||
|
|
||||||
|
## ElectronNET.Core
|
||||||
|
|
||||||
|
- Fixed token param being appended to external URLs (#1075)
|
||||||
|
- Added more variants for `UseElectron` (#1076) @AeonSake
|
||||||
|
|
||||||
|
# 0.5.1
|
||||||
|
|
||||||
|
## ElectronNET.Core
|
||||||
|
|
||||||
|
- Fixed slicing of arguments for packaged applications (#1072)
|
||||||
|
- Added support for Electron 42+ (#1073)
|
||||||
|
|
||||||
|
# 0.5.0
|
||||||
|
|
||||||
## ElectronNET.Core
|
## ElectronNET.Core
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ Add the Electron.NET configuration to your `.csproj` file:
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ElectronNET.Core" Version="0.5.0" />
|
<PackageReference Include="ElectronNET.Core" Version="0.5.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -50,8 +50,6 @@
|
|||||||
|
|
||||||
internal static int? ElectronProcessId { get; set; }
|
internal static int? ElectronProcessId { get; set; }
|
||||||
|
|
||||||
internal static Func<Task> OnAppReadyCallback { get; set; }
|
|
||||||
|
|
||||||
internal static ISocketConnection GetSocket()
|
internal static ISocketConnection GetSocket()
|
||||||
{
|
{
|
||||||
return RuntimeControllerCore?.Socket;
|
return RuntimeControllerCore?.Socket;
|
||||||
|
|||||||
@@ -44,5 +44,98 @@
|
|||||||
|
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core application and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="WebApplicationBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process, forwarded to Electron.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="WebApplicationBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// var builder = WebApplication.CreateBuilder(args)
|
||||||
|
/// .UseElectron(args, async (processArgs) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
///
|
||||||
|
/// var app = builder.Build();
|
||||||
|
/// app.MapRazorPages();
|
||||||
|
/// app.Run();
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static WebApplicationBuilder UseElectron(this WebApplicationBuilder builder, string[] args, Func<string[], Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.WebHost.UseElectron(args, onAppReadyCallback);
|
||||||
|
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core application and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="WebApplicationBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process, forwarded to Electron.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="WebApplicationBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// var builder = WebApplication.CreateBuilder(args)
|
||||||
|
/// .UseElectron(args, async (serviceProvider) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
///
|
||||||
|
/// var app = builder.Build();
|
||||||
|
/// app.MapRazorPages();
|
||||||
|
/// app.Run();
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static WebApplicationBuilder UseElectron(this WebApplicationBuilder builder, string[] args, Func<IServiceProvider, Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.WebHost.UseElectron(args, onAppReadyCallback);
|
||||||
|
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core application and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="WebApplicationBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process, forwarded to Electron.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="WebApplicationBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// var builder = WebApplication.CreateBuilder(args)
|
||||||
|
/// .UseElectron(args, async (serviceProvider, processArgs) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
///
|
||||||
|
/// var app = builder.Build();
|
||||||
|
/// app.MapRazorPages();
|
||||||
|
/// app.Run();
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static WebApplicationBuilder UseElectron(this WebApplicationBuilder builder, string[] args, Func<IServiceProvider, string[], Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.WebHost.UseElectron(args, onAppReadyCallback);
|
||||||
|
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -61,8 +61,154 @@
|
|||||||
/// </example>
|
/// </example>
|
||||||
public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args, Func<Task> onAppReadyCallback)
|
public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args, Func<Task> onAppReadyCallback)
|
||||||
{
|
{
|
||||||
ElectronNetRuntime.OnAppReadyCallback = onAppReadyCallback;
|
builder.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IAppReadyCallbackResolver>(_ => new AppReadyCallbackResolver(onAppReadyCallback));
|
||||||
|
});
|
||||||
|
|
||||||
|
return UseElectronCore(builder, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core web host and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="IWebHostBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="IWebHostBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// using Microsoft.AspNetCore.Hosting;
|
||||||
|
/// using Microsoft.Extensions.Hosting;
|
||||||
|
/// using ElectronNET.API;
|
||||||
|
///
|
||||||
|
/// public class Program
|
||||||
|
/// {
|
||||||
|
/// public static void Main(string[] args)
|
||||||
|
/// {
|
||||||
|
/// Host.CreateDefaultBuilder(args)
|
||||||
|
/// .ConfigureWebHostDefaults(webBuilder =>
|
||||||
|
/// {
|
||||||
|
/// webBuilder.UseStartup<Startup>();
|
||||||
|
/// webBuilder.UseElectron(args, async (processArgs) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
/// })
|
||||||
|
/// .Build()
|
||||||
|
/// .Run();
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args, Func<string[], Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IAppReadyCallbackResolver>(_ => new AppReadyCallbackResolver(args, onAppReadyCallback));
|
||||||
|
});
|
||||||
|
|
||||||
|
return UseElectronCore(builder, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core web host and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="IWebHostBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="IWebHostBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// using Microsoft.AspNetCore.Hosting;
|
||||||
|
/// using Microsoft.Extensions.Hosting;
|
||||||
|
/// using ElectronNET.API;
|
||||||
|
///
|
||||||
|
/// public class Program
|
||||||
|
/// {
|
||||||
|
/// public static void Main(string[] args)
|
||||||
|
/// {
|
||||||
|
/// Host.CreateDefaultBuilder(args)
|
||||||
|
/// .ConfigureWebHostDefaults(webBuilder =>
|
||||||
|
/// {
|
||||||
|
/// webBuilder.UseStartup<Startup>();
|
||||||
|
/// webBuilder.UseElectron(args, async (serviceProvider) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
/// })
|
||||||
|
/// .Build()
|
||||||
|
/// .Run();
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args, Func<IServiceProvider, Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IAppReadyCallbackResolver>(provider => new AppReadyCallbackResolver(provider, onAppReadyCallback));
|
||||||
|
});
|
||||||
|
|
||||||
|
return UseElectronCore(builder, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Adds Electron.NET support to the current ASP.NET Core web host and registers an application-ready callback.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="builder">The <see cref="IWebHostBuilder"/> to extend.</param>
|
||||||
|
/// <param name="args">The command-line arguments passed to the process.</param>
|
||||||
|
/// <param name="onAppReadyCallback">
|
||||||
|
/// An asynchronous callback invoked when the Electron app is ready. Use this to create windows or perform initialization.
|
||||||
|
/// </param>
|
||||||
|
/// <returns>
|
||||||
|
/// The same <see cref="IWebHostBuilder"/> instance to enable fluent configuration.
|
||||||
|
/// </returns>
|
||||||
|
/// <example>
|
||||||
|
/// <code language="csharp">
|
||||||
|
/// using Microsoft.AspNetCore.Hosting;
|
||||||
|
/// using Microsoft.Extensions.Hosting;
|
||||||
|
/// using ElectronNET.API;
|
||||||
|
///
|
||||||
|
/// public class Program
|
||||||
|
/// {
|
||||||
|
/// public static void Main(string[] args)
|
||||||
|
/// {
|
||||||
|
/// Host.CreateDefaultBuilder(args)
|
||||||
|
/// .ConfigureWebHostDefaults(webBuilder =>
|
||||||
|
/// {
|
||||||
|
/// webBuilder.UseStartup<Startup>();
|
||||||
|
/// webBuilder.UseElectron(args, async (serviceProvider, processArgs) =>
|
||||||
|
/// {
|
||||||
|
/// // Create the main browser window or perform other startup tasks.
|
||||||
|
/// });
|
||||||
|
/// })
|
||||||
|
/// .Build()
|
||||||
|
/// .Run();
|
||||||
|
/// }
|
||||||
|
/// }
|
||||||
|
/// </code>
|
||||||
|
/// </example>
|
||||||
|
public static IWebHostBuilder UseElectron(this IWebHostBuilder builder, string[] args, Func<IServiceProvider, string[], Task> onAppReadyCallback)
|
||||||
|
{
|
||||||
|
builder.ConfigureServices(services =>
|
||||||
|
{
|
||||||
|
services.AddSingleton<IAppReadyCallbackResolver>(provider => new AppReadyCallbackResolver(provider, args, onAppReadyCallback));
|
||||||
|
});
|
||||||
|
|
||||||
|
return UseElectronCore(builder, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IWebHostBuilder UseElectronCore(IWebHostBuilder builder, string[] args)
|
||||||
|
{
|
||||||
// no matter how this is set - let's unset to prevent Electron not starting as expected
|
// no matter how this is set - let's unset to prevent Electron not starting as expected
|
||||||
// e.g., VS Code sets this env variable, but this will cause `require("electron")` to not
|
// e.g., VS Code sets this env variable, but this will cause `require("electron")` to not
|
||||||
// work as expected, see issue #952
|
// work as expected, see issue #952
|
||||||
|
|||||||
@@ -17,13 +17,15 @@
|
|||||||
{
|
{
|
||||||
private readonly IServer server;
|
private readonly IServer server;
|
||||||
private readonly AspNetLifetimeAdapter aspNetLifetimeAdapter;
|
private readonly AspNetLifetimeAdapter aspNetLifetimeAdapter;
|
||||||
|
private readonly IAppReadyCallbackResolver callbackResolver;
|
||||||
private readonly IElectronAuthenticationService authenticationService;
|
private readonly IElectronAuthenticationService authenticationService;
|
||||||
private SocketBridgeService socketBridge;
|
private SocketBridgeService socketBridge;
|
||||||
|
|
||||||
protected RuntimeControllerAspNetBase(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IElectronAuthenticationService authenticationService = null)
|
protected RuntimeControllerAspNetBase(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IAppReadyCallbackResolver callbackResolver, IElectronAuthenticationService authenticationService = null)
|
||||||
{
|
{
|
||||||
this.server = server;
|
this.server = server;
|
||||||
this.aspNetLifetimeAdapter = aspNetLifetimeAdapter;
|
this.aspNetLifetimeAdapter = aspNetLifetimeAdapter;
|
||||||
|
this.callbackResolver = callbackResolver;
|
||||||
this.authenticationService = authenticationService;
|
this.authenticationService = authenticationService;
|
||||||
this.aspNetLifetimeAdapter.Ready += this.AspNetLifetimeAdapter_Ready;
|
this.aspNetLifetimeAdapter.Ready += this.AspNetLifetimeAdapter_Ready;
|
||||||
this.aspNetLifetimeAdapter.Stopping += this.AspNetLifetimeAdapter_Stopping;
|
this.aspNetLifetimeAdapter.Stopping += this.AspNetLifetimeAdapter_Stopping;
|
||||||
@@ -130,15 +132,15 @@
|
|||||||
|
|
||||||
private async Task RunReadyCallback()
|
private async Task RunReadyCallback()
|
||||||
{
|
{
|
||||||
if (ElectronNetRuntime.OnAppReadyCallback == null)
|
if (!callbackResolver.HasCallback)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Warning: Non OnReadyCallback provided in UseElectron() setup.");
|
Console.WriteLine("Warning: No OnReadyCallback provided in UseElectron() setup.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await ElectronNetRuntime.OnAppReadyCallback().ConfigureAwait(false);
|
await callbackResolver.Invoke().ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
{
|
{
|
||||||
private ElectronProcessBase electronProcess;
|
private ElectronProcessBase electronProcess;
|
||||||
|
|
||||||
public RuntimeControllerAspNetDotnetFirst(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IElectronAuthenticationService authenticationService = null) : base(server, aspNetLifetimeAdapter, authenticationService)
|
public RuntimeControllerAspNetDotnetFirst(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IAppReadyCallbackResolver callbackResolver, IElectronAuthenticationService authenticationService = null) : base(server, aspNetLifetimeAdapter, callbackResolver, authenticationService)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
{
|
{
|
||||||
private ElectronProcessBase electronProcess;
|
private ElectronProcessBase electronProcess;
|
||||||
|
|
||||||
public RuntimeControllerAspNetElectronFirst(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IElectronAuthenticationService authenticationService = null) : base(server, aspNetLifetimeAdapter, authenticationService)
|
public RuntimeControllerAspNetElectronFirst(IServer server, AspNetLifetimeAdapter aspNetLifetimeAdapter, IAppReadyCallbackResolver callbackResolver, IElectronAuthenticationService authenticationService = null) : base(server, aspNetLifetimeAdapter, callbackResolver, authenticationService)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using System;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ElectronNET.AspNet.Runtime
|
||||||
|
{
|
||||||
|
internal class AppReadyCallbackResolver : IAppReadyCallbackResolver
|
||||||
|
{
|
||||||
|
private readonly Func<Task> _callback;
|
||||||
|
|
||||||
|
public AppReadyCallbackResolver()
|
||||||
|
{ }
|
||||||
|
|
||||||
|
public AppReadyCallbackResolver(Func<Task> callback)
|
||||||
|
{
|
||||||
|
_callback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppReadyCallbackResolver(string[] args, Func<string[], Task> callback)
|
||||||
|
{
|
||||||
|
if (callback != null)
|
||||||
|
{
|
||||||
|
_callback = () => callback.Invoke(args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppReadyCallbackResolver(IServiceProvider serviceProvider, Func<IServiceProvider, Task> callback)
|
||||||
|
{
|
||||||
|
if (callback != null)
|
||||||
|
{
|
||||||
|
_callback = () => callback.Invoke(serviceProvider);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public AppReadyCallbackResolver(IServiceProvider serviceProvider, string[] args, Func<IServiceProvider, string[], Task> callback)
|
||||||
|
{
|
||||||
|
if (callback != null)
|
||||||
|
{
|
||||||
|
_callback = () => callback.Invoke(serviceProvider, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool HasCallback => _callback != null;
|
||||||
|
|
||||||
|
public Task Invoke() => _callback?.Invoke() ?? Task.CompletedTask;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ElectronNET.AspNet.Runtime
|
||||||
|
{
|
||||||
|
internal interface IAppReadyCallbackResolver
|
||||||
|
{
|
||||||
|
public bool HasCallback { get; }
|
||||||
|
|
||||||
|
public Task Invoke();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
<ProjectReference Include="..\ElectronNET.API\ElectronNET.API.csproj" Condition="$(ElectronNetDevMode)" />
|
<ProjectReference Include="..\ElectronNET.API\ElectronNET.API.csproj" Condition="$(ElectronNetDevMode)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ElectronNET.Core" Version="0.5.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
<PackageReference Include="ElectronNET.Core" Version="0.5.1" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Import Project="..\ElectronNET\build\ElectronNET.Core.targets" Condition="$(ElectronNetDevMode)" />
|
<Import Project="..\ElectronNET\build\ElectronNET.Core.targets" Condition="$(ElectronNetDevMode)" />
|
||||||
|
|||||||
@@ -280,8 +280,20 @@ module.exports = (socket, app) => {
|
|||||||
// Append authentication token to initial URL if available
|
// Append authentication token to initial URL if available
|
||||||
const token = global["authToken"];
|
const token = global["authToken"];
|
||||||
if (token) {
|
if (token) {
|
||||||
const separator = loadUrl.includes("?") ? "&" : "?";
|
try {
|
||||||
window.loadURL(`${loadUrl}${separator}token=${token}`);
|
const url = new URL(loadUrl);
|
||||||
|
const isLocal = url.hostname === "localhost" ||
|
||||||
|
url.hostname === "127.0.0.1" ||
|
||||||
|
url.hostname === "::1";
|
||||||
|
if (isLocal) {
|
||||||
|
url.searchParams.set("token", token);
|
||||||
|
}
|
||||||
|
window.loadURL(url.toString());
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
// Handle invalid URLs or file:// URLs if needed
|
||||||
|
window.loadURL(loadUrl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
window.loadURL(loadUrl);
|
window.loadURL(loadUrl);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -313,8 +313,23 @@ export = (socket: Socket, app: Electron.App) => {
|
|||||||
const token = global["authToken"];
|
const token = global["authToken"];
|
||||||
|
|
||||||
if (token) {
|
if (token) {
|
||||||
const separator = loadUrl.includes("?") ? "&" : "?";
|
try {
|
||||||
window.loadURL(`${loadUrl}${separator}token=${token}`);
|
const url = new URL(loadUrl);
|
||||||
|
|
||||||
|
const isLocal =
|
||||||
|
url.hostname === "localhost" ||
|
||||||
|
url.hostname === "127.0.0.1" ||
|
||||||
|
url.hostname === "::1";
|
||||||
|
|
||||||
|
if (isLocal) {
|
||||||
|
url.searchParams.set("token", token);
|
||||||
|
}
|
||||||
|
|
||||||
|
window.loadURL(url.toString());
|
||||||
|
} catch {
|
||||||
|
// Handle invalid URLs or file:// URLs if needed
|
||||||
|
window.loadURL(loadUrl);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
window.loadURL(loadUrl);
|
window.loadURL(loadUrl);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,7 +133,8 @@ if (manifestJsonFile.singleInstance) {
|
|||||||
// Collect user supplied command line args (excluding those handled by Electron host itself)
|
// Collect user supplied command line args (excluding those handled by Electron host itself)
|
||||||
function getForwardedArgs() {
|
function getForwardedArgs() {
|
||||||
const skipSwitches = new Set(['unpackedelectron', 'unpackeddotnet', 'dotnetpacked']);
|
const skipSwitches = new Set(['unpackedelectron', 'unpackeddotnet', 'dotnetpacked']);
|
||||||
return process.argv.slice(2).filter(arg => {
|
const sliceIndex = app.isPackaged ? 1 : 2;
|
||||||
|
return process.argv.slice(sliceIndex).filter(arg => {
|
||||||
if (!arg) return false;
|
if (!arg) return false;
|
||||||
// Node/Electron internal or we already process them
|
// Node/Electron internal or we already process them
|
||||||
if (arg.startsWith('--manifest')) return false;
|
if (arg.startsWith('--manifest')) return false;
|
||||||
|
|||||||
77
src/ElectronNET.Host/package-lock.json
generated
77
src/ElectronNET.Host/package-lock.json
generated
@@ -13,7 +13,6 @@
|
|||||||
"electron-host-hook": "file:./ElectronHostHook",
|
"electron-host-hook": "file:./ElectronHostHook",
|
||||||
"electron-updater": "^6.6.2",
|
"electron-updater": "^6.6.2",
|
||||||
"image-size": "^1.2.1",
|
"image-size": "^1.2.1",
|
||||||
"portscanner": "^2.2.0",
|
|
||||||
"socket.io": "^4.8.1"
|
"socket.io": "^4.8.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -356,6 +355,15 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/ws": {
|
||||||
|
"version": "8.18.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
||||||
|
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/yauzl": {
|
"node_modules/@types/yauzl": {
|
||||||
"version": "2.10.3",
|
"version": "2.10.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
|
||||||
@@ -442,15 +450,6 @@
|
|||||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
||||||
"license": "Python-2.0"
|
"license": "Python-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/async": {
|
|
||||||
"version": "2.6.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
|
|
||||||
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"lodash": "^4.17.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/balanced-match": {
|
"node_modules/balanced-match": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||||
@@ -869,20 +868,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/engine.io": {
|
"node_modules/engine.io": {
|
||||||
"version": "6.6.5",
|
"version": "6.6.9",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.9.tgz",
|
||||||
"integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==",
|
"integrity": "sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/cors": "^2.8.12",
|
"@types/cors": "^2.8.12",
|
||||||
"@types/node": ">=10.0.0",
|
"@types/node": ">=10.0.0",
|
||||||
|
"@types/ws": "^8.5.12",
|
||||||
"accepts": "~1.3.4",
|
"accepts": "~1.3.4",
|
||||||
"base64id": "2.0.0",
|
"base64id": "2.0.0",
|
||||||
"cookie": "~0.7.2",
|
"cookie": "~0.7.2",
|
||||||
"cors": "~2.8.5",
|
"cors": "~2.8.5",
|
||||||
"debug": "~4.4.1",
|
"debug": "~4.4.1",
|
||||||
"engine.io-parser": "~5.2.1",
|
"engine.io-parser": "~5.2.1",
|
||||||
"ws": "~8.18.3"
|
"ws": "~8.21.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.2.0"
|
"node": ">=10.2.0"
|
||||||
@@ -1487,15 +1487,6 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/is-number-like": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
|
||||||
"lodash.isfinite": "^3.3.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/isexe": {
|
"node_modules/isexe": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
@@ -1600,12 +1591,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lodash": {
|
|
||||||
"version": "4.18.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
||||||
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/lodash.escaperegexp": {
|
"node_modules/lodash.escaperegexp": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
|
||||||
@@ -1619,12 +1604,6 @@
|
|||||||
"deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
|
"deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/lodash.isfinite": {
|
|
||||||
"version": "3.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
|
|
||||||
"integrity": "sha512-7FGG40uhC8Mm633uKW1r58aElFlBlxCrg9JfSi3P6aYiWmfiWF0PgMd86ZUsxE5GwWPdHoS2+48bwTh2VPkIQA==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/lodash.merge": {
|
"node_modules/lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
@@ -1865,20 +1844,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/portscanner": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-IFroCz/59Lqa2uBvzK3bKDbDDIEaAY8XJ1jFxcLWTqosrsc32//P4VuSB2vZXoHiHqOmx8B5L5hnKOxL/7FlPw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"async": "^2.6.0",
|
|
||||||
"is-number-like": "^1.0.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4",
|
|
||||||
"npm": ">=1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/prelude-ls": {
|
"node_modules/prelude-ls": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
||||||
@@ -2077,13 +2042,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-adapter": {
|
"node_modules/socket.io-adapter": {
|
||||||
"version": "2.5.6",
|
"version": "2.5.8",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.8.tgz",
|
||||||
"integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==",
|
"integrity": "sha512-6Oy52pbg+kvdCVvjcN+FnY7BvxZ7cIHNScbvztT/It5d0vbwoJoVZmF2gjJmnV0/4WlXRfG15zc45ySk9Ah8bw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "~4.4.1",
|
"debug": "~4.4.1",
|
||||||
"ws": "~8.18.3"
|
"ws": "~8.21.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-parser": {
|
"node_modules/socket.io-parser": {
|
||||||
@@ -2262,9 +2227,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.18.3",
|
"version": "8.21.0",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz",
|
||||||
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
"integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- When this is enabled, the project will be switched from nuget packages to consuming the ElectronNet orchestration directly -->
|
<!-- When this is enabled, the project will be switched from nuget packages to consuming the ElectronNet orchestration directly -->
|
||||||
<ElectronNetDevMode>true</ElectronNetDevMode>
|
<ElectronNetDevMode>true</ElectronNetDevMode>
|
||||||
|
<IsTest>True</IsTest>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Import Project="..\ElectronNET\build\ElectronNET.Core.props" Condition="$(ElectronNetDevMode)" />
|
<Import Project="..\ElectronNET\build\ElectronNET.Core.props" Condition="$(ElectronNetDevMode)" />
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<ResourcePreloader />
|
<ResourcePreloader />
|
||||||
<link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" />
|
<link rel="stylesheet" href="@Assets["lib/bootstrap/dist/css/bootstrap.min.css"]" />
|
||||||
<link rel="stylesheet" href="@Assets["app.css"]" />
|
<link rel="stylesheet" href="@Assets["app.css"]" />
|
||||||
<link rel="stylesheet" href="@Assets["electronnet-samples-blazorsignalr.styles.css"]" />
|
<link rel="stylesheet" href="@Assets["electronnet-samples-authmiddleware.styles.css"]" />
|
||||||
<ImportMap />
|
<ImportMap />
|
||||||
<link rel="icon" type="image/png" href="favicon.png" />
|
<link rel="icon" type="image/png" href="favicon.png" />
|
||||||
<HeadOutlet />
|
<HeadOutlet />
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<div class="top-row ps-3 navbar navbar-dark">
|
<div class="top-row ps-3 navbar navbar-dark">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<a class="navbar-brand" href="">ElectronNET.Samples.BlazorSignalR</a>
|
<a class="navbar-brand" href="">ElectronNET.Samples.AuthMiddleware</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<TypeScriptUseNodeJS>true</TypeScriptUseNodeJS>
|
<TypeScriptUseNodeJS>true</TypeScriptUseNodeJS>
|
||||||
<TypeScriptTSConfig>ElectronHostHook/tsconfig.json</TypeScriptTSConfig>
|
<TypeScriptTSConfig>ElectronHostHook/tsconfig.json</TypeScriptTSConfig>
|
||||||
<TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
|
<TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled>
|
||||||
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
|
<TypeScriptCompileBlocked>false</TypeScriptCompileBlocked>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ElectronNET.Core" Version="0.5.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
<PackageReference Include="ElectronNET.Core" Version="0.5.1" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
||||||
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.5.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.5.1" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
||||||
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
|
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver-utils": "^2.1.0",
|
"archiver-utils": "^2.1.0",
|
||||||
"exceljs": "^1.10.0",
|
"exceljs": "^4.4.0",
|
||||||
"socket.io": "^4.8.1"
|
"socket.io": "^4.8.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
@@ -162,6 +162,47 @@
|
|||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@fast-csv/format": {
|
||||||
|
"version": "4.3.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fast-csv/format/-/format-4.3.5.tgz",
|
||||||
|
"integrity": "sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "^14.0.1",
|
||||||
|
"lodash.escaperegexp": "^4.1.2",
|
||||||
|
"lodash.isboolean": "^3.0.3",
|
||||||
|
"lodash.isequal": "^4.5.0",
|
||||||
|
"lodash.isfunction": "^3.0.9",
|
||||||
|
"lodash.isnil": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@fast-csv/format/node_modules/@types/node": {
|
||||||
|
"version": "14.18.63",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
|
||||||
|
"integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@fast-csv/parse": {
|
||||||
|
"version": "4.3.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fast-csv/parse/-/parse-4.3.6.tgz",
|
||||||
|
"integrity": "sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "^14.0.1",
|
||||||
|
"lodash.escaperegexp": "^4.1.2",
|
||||||
|
"lodash.groupby": "^4.6.0",
|
||||||
|
"lodash.isfunction": "^3.0.9",
|
||||||
|
"lodash.isnil": "^4.0.0",
|
||||||
|
"lodash.isundefined": "^3.0.1",
|
||||||
|
"lodash.uniq": "^4.5.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@fast-csv/parse/node_modules/@types/node": {
|
||||||
|
"version": "14.18.63",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
|
||||||
|
"integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@humanfs/core": {
|
"node_modules/@humanfs/core": {
|
||||||
"version": "0.19.1",
|
"version": "0.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
"resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
|
||||||
@@ -252,6 +293,15 @@
|
|||||||
"undici-types": "~7.18.0"
|
"undici-types": "~7.18.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/ws": {
|
||||||
|
"version": "8.18.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
|
||||||
|
"integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/accepts": {
|
"node_modules/accepts": {
|
||||||
"version": "1.3.8",
|
"version": "1.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
||||||
@@ -322,21 +372,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/archiver": {
|
"node_modules/archiver": {
|
||||||
"version": "3.1.1",
|
"version": "5.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
|
||||||
"integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==",
|
"integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver-utils": "^2.1.0",
|
"archiver-utils": "^2.1.0",
|
||||||
"async": "^2.6.3",
|
"async": "^3.2.4",
|
||||||
"buffer-crc32": "^0.2.1",
|
"buffer-crc32": "^0.2.1",
|
||||||
"glob": "^7.1.4",
|
"readable-stream": "^3.6.0",
|
||||||
"readable-stream": "^3.4.0",
|
"readdir-glob": "^1.1.2",
|
||||||
"tar-stream": "^2.1.0",
|
"tar-stream": "^2.2.0",
|
||||||
"zip-stream": "^2.1.2"
|
"zip-stream": "^4.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/archiver-utils": {
|
"node_modules/archiver-utils": {
|
||||||
@@ -381,35 +431,11 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Python-2.0"
|
"license": "Python-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/arguments-extended": {
|
|
||||||
"version": "0.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/arguments-extended/-/arguments-extended-0.0.3.tgz",
|
|
||||||
"integrity": "sha512-MNYdPKgCiywbgHAmNsYr1tSNLtfbSdwE1akZV+33hU9A8RG0lO5HAK9oMnw7y7bjYUhc04dJpcIBMUaPPYYtXg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"extended": "~0.0.3",
|
|
||||||
"is-extended": "~0.0.8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/array-extended": {
|
|
||||||
"version": "0.0.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/array-extended/-/array-extended-0.0.11.tgz",
|
|
||||||
"integrity": "sha512-Fe4Ti2YgM1onQgrcCD8dUhFuZgHQxzqylSl1C5IDJVVVqY5D07h8RghIXL9sZ6COZ0e+oTL5IusTv5eXABJ9Kw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"arguments-extended": "~0.0.3",
|
|
||||||
"extended": "~0.0.3",
|
|
||||||
"is-extended": "~0.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/async": {
|
"node_modules/async": {
|
||||||
"version": "2.6.4",
|
"version": "3.2.6",
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
|
||||||
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
|
"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
|
||||||
"license": "MIT",
|
"license": "MIT"
|
||||||
"dependencies": {
|
|
||||||
"lodash": "^4.17.14"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/balanced-match": {
|
"node_modules/balanced-match": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
@@ -619,15 +645,29 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/compress-commons": {
|
"node_modules/compress-commons": {
|
||||||
"version": "2.1.1",
|
"version": "4.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
|
||||||
"integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==",
|
"integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"buffer-crc32": "^0.2.13",
|
"buffer-crc32": "^0.2.13",
|
||||||
"crc32-stream": "^3.0.1",
|
"crc32-stream": "^4.0.2",
|
||||||
"normalize-path": "^3.0.0",
|
"normalize-path": "^3.0.0",
|
||||||
"readable-stream": "^2.3.6"
|
"readable-stream": "^3.6.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/compress-commons/node_modules/readable-stream": {
|
||||||
|
"version": "3.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
|
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"string_decoder": "^1.1.1",
|
||||||
|
"util-deprecate": "^1.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 6"
|
||||||
@@ -671,26 +711,29 @@
|
|||||||
"url": "https://opencollective.com/express"
|
"url": "https://opencollective.com/express"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/crc": {
|
"node_modules/crc-32": {
|
||||||
"version": "3.8.0",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
|
||||||
"integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
|
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
|
||||||
"license": "MIT",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"bin": {
|
||||||
"buffer": "^5.1.0"
|
"crc32": "bin/crc32.njs"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/crc32-stream": {
|
"node_modules/crc32-stream": {
|
||||||
"version": "3.0.1",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
|
||||||
"integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==",
|
"integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"crc": "^3.4.4",
|
"crc-32": "^1.2.0",
|
||||||
"readable-stream": "^3.4.0"
|
"readable-stream": "^3.4.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6.9.0"
|
"node": ">= 10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/crc32-stream/node_modules/readable-stream": {
|
"node_modules/crc32-stream/node_modules/readable-stream": {
|
||||||
@@ -722,16 +765,11 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/date-extended": {
|
"node_modules/dayjs": {
|
||||||
"version": "0.0.6",
|
"version": "1.11.21",
|
||||||
"resolved": "https://registry.npmjs.org/date-extended/-/date-extended-0.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.21.tgz",
|
||||||
"integrity": "sha512-v9a2QLTVn1GQGXf02TQaSvNfeXA/V1FL2Tr0OQYqjI5+L9T5jEtCpLYG01sxFk+m1OtwMxydkKa8NKcflANAoQ==",
|
"integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==",
|
||||||
"license": "MIT",
|
"license": "MIT"
|
||||||
"dependencies": {
|
|
||||||
"array-extended": "~0.0.3",
|
|
||||||
"extended": "~0.0.3",
|
|
||||||
"is-extended": "~0.0.3"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "4.4.3",
|
"version": "4.4.3",
|
||||||
@@ -750,12 +788,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/declare.js": {
|
|
||||||
"version": "0.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/declare.js/-/declare.js-0.0.8.tgz",
|
|
||||||
"integrity": "sha512-O659hy1gcHef7JnwtqdQlrj2c5DAEgtxm8pgFXofW7eUE1L4FjsSLlziovWcrOJAOFlEPaOJshY+0hBWCG/AnA==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/deep-is": {
|
"node_modules/deep-is": {
|
||||||
"version": "0.1.4",
|
"version": "0.1.4",
|
||||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||||
@@ -782,20 +814,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/engine.io": {
|
"node_modules/engine.io": {
|
||||||
"version": "6.6.5",
|
"version": "6.6.8",
|
||||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.5.tgz",
|
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.8.tgz",
|
||||||
"integrity": "sha512-2RZdgEbXmp5+dVbRm0P7HQUImZpICccJy7rN7Tv+SFa55pH+lxnuw6/K1ZxxBfHoYpSkHLAO92oa8O4SwFXA2A==",
|
"integrity": "sha512-2agL3ueZhqxoVrfmntO8yuVj+uNSlIOnhykYHk3Cq0ShYPdUjjUiSJrQvXjq01I9jAuI0Zl2YO8Evv5Mqytm5g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/cors": "^2.8.12",
|
"@types/cors": "^2.8.12",
|
||||||
"@types/node": ">=10.0.0",
|
"@types/node": ">=10.0.0",
|
||||||
|
"@types/ws": "^8.5.12",
|
||||||
"accepts": "~1.3.4",
|
"accepts": "~1.3.4",
|
||||||
"base64id": "2.0.0",
|
"base64id": "2.0.0",
|
||||||
"cookie": "~0.7.2",
|
"cookie": "~0.7.2",
|
||||||
"cors": "~2.8.5",
|
"cors": "~2.8.5",
|
||||||
"debug": "~4.4.1",
|
"debug": "~4.4.1",
|
||||||
"engine.io-parser": "~5.2.1",
|
"engine.io-parser": "~5.2.1",
|
||||||
"ws": "~8.18.3"
|
"ws": "~8.20.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.2.0"
|
"node": ">=10.2.0"
|
||||||
@@ -810,12 +843,6 @@
|
|||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/es6-promise": {
|
|
||||||
"version": "3.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
|
|
||||||
"integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/escape-string-regexp": {
|
"node_modules/escape-string-regexp": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||||
@@ -984,56 +1011,50 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/exceljs": {
|
"node_modules/exceljs": {
|
||||||
"version": "1.15.0",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/exceljs/-/exceljs-1.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/exceljs/-/exceljs-4.4.0.tgz",
|
||||||
"integrity": "sha512-72CySYLU1oBIixpBkWV0mR6YM+X8v2GyyWgKBovS9Hso0Ul7S3FtlWGeAifxB+lpzznokWMRDLMZ8EyS2tX6xg==",
|
"integrity": "sha512-XctvKaEMaj1Ii9oDOqbW/6e1gXknSY4g/aLCDicOXqBE4M0nRWkUu0PTp++UPNzoFY12BNHMfs/VadKIS6llvg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver": "^3.0.0",
|
"archiver": "^5.0.0",
|
||||||
"fast-csv": "^2.4.1",
|
"dayjs": "^1.8.34",
|
||||||
"jszip": "^3.1.5",
|
"fast-csv": "^4.3.1",
|
||||||
"moment": "^2.22.2",
|
"jszip": "^3.10.1",
|
||||||
"promish": "^5.1.1",
|
"readable-stream": "^3.6.0",
|
||||||
"sax": "^1.2.4",
|
"saxes": "^5.0.1",
|
||||||
"tmp": "^0.1.0",
|
"tmp": "^0.2.0",
|
||||||
"unzipper": "^0.9.12"
|
"unzipper": "^0.10.11",
|
||||||
|
"uuid": "^8.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.0.0"
|
"node": ">=8.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/extended": {
|
"node_modules/exceljs/node_modules/readable-stream": {
|
||||||
"version": "0.0.6",
|
"version": "3.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/extended/-/extended-0.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||||
"integrity": "sha512-rvAV3BDGsV1SYGzUOu7aO0k82quhfl0QAyZudYhAcTeIr1rPbBnyOhOlkCLwLpDfP7HyKAWAPNSjRb9p7lE3rg==",
|
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"extender": "~0.0.5"
|
"inherits": "^2.0.3",
|
||||||
}
|
"string_decoder": "^1.1.1",
|
||||||
},
|
"util-deprecate": "^1.0.1"
|
||||||
"node_modules/extender": {
|
},
|
||||||
"version": "0.0.10",
|
"engines": {
|
||||||
"resolved": "https://registry.npmjs.org/extender/-/extender-0.0.10.tgz",
|
"node": ">= 6"
|
||||||
"integrity": "sha512-iPLUHZJaNW6RuOShQX33ZpewEUIlijFBcsXnKWyiYERKWPsFxfKgx8J0xRz29hKQWPFFPACgBW6cHM7Ke1pfaA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"declare.js": "~0.0.4"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fast-csv": {
|
"node_modules/fast-csv": {
|
||||||
"version": "2.5.0",
|
"version": "4.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-2.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/fast-csv/-/fast-csv-4.3.6.tgz",
|
||||||
"integrity": "sha512-M/9ezLU9/uDwvDZTt9sNFJa0iLDUsbhYJwPtnE0D9MjeuB6DY9wRCyUPZta9iI6cSz5wBWGaUPL61QH8h92cNA==",
|
"integrity": "sha512-2RNSpuwwsJGP0frGsOmTb9oUF+VkFSM4SyLTDgwf2ciHWTarN0lQTC+F2f/t5J9QjW+c65VFIAAu85GsvMIusw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"extended": "0.0.6",
|
"@fast-csv/format": "4.3.5",
|
||||||
"is-extended": "0.0.10",
|
"@fast-csv/parse": "4.3.6"
|
||||||
"object-extended": "0.0.7",
|
|
||||||
"safer-buffer": "^2.1.2",
|
|
||||||
"string-extended": "0.0.8"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fast-deep-equal": {
|
"node_modules/fast-deep-equal": {
|
||||||
@@ -1279,15 +1300,6 @@
|
|||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/is-extended": {
|
|
||||||
"version": "0.0.10",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-extended/-/is-extended-0.0.10.tgz",
|
|
||||||
"integrity": "sha512-qp+HR+L9QXbgFurvqiVgD+JiGyUboRgICNzCXmbiLtZBFVSNFbxRsI4q7Be9mCWTO5PoO1IxoWp5sl+j5b83FA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"extended": "~0.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/is-extglob": {
|
"node_modules/is-extglob": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
@@ -1325,10 +1337,20 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "4.1.1",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz",
|
||||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
"integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/puzrin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/nodeca"
|
||||||
|
}
|
||||||
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"argparse": "^2.0.1"
|
"argparse": "^2.0.1"
|
||||||
@@ -1437,12 +1459,6 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/lodash": {
|
|
||||||
"version": "4.18.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
||||||
"integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/lodash.defaults": {
|
"node_modules/lodash.defaults": {
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
|
||||||
@@ -1455,18 +1471,61 @@
|
|||||||
"integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
|
"integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.escaperegexp": {
|
||||||
|
"version": "4.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz",
|
||||||
|
"integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/lodash.flatten": {
|
"node_modules/lodash.flatten": {
|
||||||
"version": "4.4.0",
|
"version": "4.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
|
||||||
"integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
|
"integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.groupby": {
|
||||||
|
"version": "4.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz",
|
||||||
|
"integrity": "sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/lodash.isboolean": {
|
||||||
|
"version": "3.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/lodash.isequal": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==",
|
||||||
|
"deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/lodash.isfunction": {
|
||||||
|
"version": "3.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
|
||||||
|
"integrity": "sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/lodash.isnil": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.isnil/-/lodash.isnil-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-up2Mzq3545mwVnMhTDMdfoG1OurpA/s5t88JmQX809eH3C8491iu2sfKhTfhQtKY78oPNhiaHJUpT/dUDAAtng==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/lodash.isplainobject": {
|
"node_modules/lodash.isplainobject": {
|
||||||
"version": "4.0.6",
|
"version": "4.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
|
||||||
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.isundefined": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-MXB1is3s899/cD8jheYYE2V9qTHwKvt+npCwpD+1Sxm3Q3cECXCiYHjeHWXNwr6Q0SOBPrYUDxendrO6goVTEA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/lodash.merge": {
|
"node_modules/lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
@@ -1480,6 +1539,12 @@
|
|||||||
"integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
|
"integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash.uniq": {
|
||||||
|
"version": "4.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
|
||||||
|
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/mime-db": {
|
"node_modules/mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
@@ -1534,15 +1599,6 @@
|
|||||||
"mkdirp": "bin/cmd.js"
|
"mkdirp": "bin/cmd.js"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/moment": {
|
|
||||||
"version": "2.30.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
|
||||||
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
@@ -1583,17 +1639,6 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/object-extended": {
|
|
||||||
"version": "0.0.7",
|
|
||||||
"resolved": "https://registry.npmjs.org/object-extended/-/object-extended-0.0.7.tgz",
|
|
||||||
"integrity": "sha512-2LJYIacEXoZ1glGkAZuvA/4pfJM4Y1ShReAo9jWpBSuz89TiUCdiPqhGJJ6m97F3WjhCSRwrbgaxYEAm9dRYBw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"array-extended": "~0.0.4",
|
|
||||||
"extended": "~0.0.3",
|
|
||||||
"is-extended": "~0.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/once": {
|
"node_modules/once": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
@@ -1717,18 +1762,6 @@
|
|||||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/promish": {
|
|
||||||
"version": "5.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/promish/-/promish-5.1.1.tgz",
|
|
||||||
"integrity": "sha512-37xEzvSas6JIYI/BcKh5TwhaqWepI44u/hC+tQStkX1sxMf+L756beESPgSWirxRCPqtXHzosoNzpjLnTnP8FA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"es6-promise": "^3.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/punycode": {
|
"node_modules/punycode": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||||
@@ -1754,6 +1787,36 @@
|
|||||||
"util-deprecate": "~1.0.1"
|
"util-deprecate": "~1.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/readdir-glob": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"minimatch": "^5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/readdir-glob/node_modules/brace-expansion": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.1.tgz",
|
||||||
|
"integrity": "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"balanced-match": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/readdir-glob/node_modules/minimatch": {
|
||||||
|
"version": "5.1.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz",
|
||||||
|
"integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==",
|
||||||
|
"license": "ISC",
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^2.0.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/resolve-from": {
|
"node_modules/resolve-from": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
|
||||||
@@ -1783,19 +1846,16 @@
|
|||||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/safer-buffer": {
|
"node_modules/saxes": {
|
||||||
"version": "2.1.2",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
|
||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
|
||||||
"license": "MIT"
|
"license": "ISC",
|
||||||
},
|
"dependencies": {
|
||||||
"node_modules/sax": {
|
"xmlchars": "^2.2.0"
|
||||||
"version": "1.4.4",
|
},
|
||||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
|
|
||||||
"integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
|
|
||||||
"license": "BlueOak-1.0.0",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=11.0.0"
|
"node": ">=10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/setimmediate": {
|
"node_modules/setimmediate": {
|
||||||
@@ -1846,13 +1906,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-adapter": {
|
"node_modules/socket.io-adapter": {
|
||||||
"version": "2.5.6",
|
"version": "2.5.7",
|
||||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.6.tgz",
|
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.7.tgz",
|
||||||
"integrity": "sha512-DkkO/dz7MGln0dHn5bmN3pPy+JmywNICWrJqVWiVOyvXjWQFIv9c2h24JrQLLFJ2aQVQf/Cvl1vblnd4r2apLQ==",
|
"integrity": "sha512-e0LyK91f3cUxTmv95/KzoLg47+zF+s/sbxRGDNsyG4dmIP8ZSX8ax6byOxfJXeNNtS/8AZlfD+uP7gBeR7DLlg==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "~4.4.1",
|
"debug": "~4.4.1",
|
||||||
"ws": "~8.18.3"
|
"ws": "~8.20.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/socket.io-parser": {
|
"node_modules/socket.io-parser": {
|
||||||
@@ -1877,18 +1937,6 @@
|
|||||||
"safe-buffer": "~5.1.0"
|
"safe-buffer": "~5.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/string-extended": {
|
|
||||||
"version": "0.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/string-extended/-/string-extended-0.0.8.tgz",
|
|
||||||
"integrity": "sha512-CK46p3AxBvBhJbBi6WrF9bCcaWH20E4NwlLSzpooG2nXWvcP2gy2YR8VN6fSwZyrbcvL4S4zoNKbR0QG52X4rw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"array-extended": "~0.0.5",
|
|
||||||
"date-extended": "~0.0.3",
|
|
||||||
"extended": "~0.0.3",
|
|
||||||
"is-extended": "~0.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/strip-json-comments": {
|
"node_modules/strip-json-comments": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
|
||||||
@@ -1946,15 +1994,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tmp": {
|
"node_modules/tmp": {
|
||||||
"version": "0.1.0",
|
"version": "0.2.7",
|
||||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz",
|
||||||
"integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
|
"integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"rimraf": "^2.6.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=14.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/traverse": {
|
"node_modules/traverse": {
|
||||||
@@ -2000,9 +2045,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/unzipper": {
|
"node_modules/unzipper": {
|
||||||
"version": "0.9.15",
|
"version": "0.10.14",
|
||||||
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.15.tgz",
|
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
|
||||||
"integrity": "sha512-2aaUvO4RAeHDvOCuEtth7jrHFaCKTSXPqUkXwADaLBzGbgZGzUDccoEdJ5lW+3RmfpOZYNx0Rw6F6PUzM6caIA==",
|
"integrity": "sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"big-integer": "^1.6.17",
|
"big-integer": "^1.6.17",
|
||||||
@@ -2011,6 +2056,7 @@
|
|||||||
"buffer-indexof-polyfill": "~1.0.0",
|
"buffer-indexof-polyfill": "~1.0.0",
|
||||||
"duplexer2": "~0.1.4",
|
"duplexer2": "~0.1.4",
|
||||||
"fstream": "^1.0.12",
|
"fstream": "^1.0.12",
|
||||||
|
"graceful-fs": "^4.2.2",
|
||||||
"listenercount": "~1.0.1",
|
"listenercount": "~1.0.1",
|
||||||
"readable-stream": "~2.3.6",
|
"readable-stream": "~2.3.6",
|
||||||
"setimmediate": "~1.0.4"
|
"setimmediate": "~1.0.4"
|
||||||
@@ -2032,6 +2078,16 @@
|
|||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/uuid": {
|
||||||
|
"version": "8.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||||
|
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||||
|
"deprecated": "uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028).",
|
||||||
|
"license": "MIT",
|
||||||
|
"bin": {
|
||||||
|
"uuid": "dist/bin/uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vary": {
|
"node_modules/vary": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
|
||||||
@@ -2074,9 +2130,9 @@
|
|||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/ws": {
|
"node_modules/ws": {
|
||||||
"version": "8.18.3",
|
"version": "8.20.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
|
||||||
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
|
"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
@@ -2094,6 +2150,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/xmlchars": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/yocto-queue": {
|
"node_modules/yocto-queue": {
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||||
@@ -2108,17 +2170,38 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/zip-stream": {
|
"node_modules/zip-stream": {
|
||||||
"version": "2.1.3",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
|
||||||
"integrity": "sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q==",
|
"integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver-utils": "^2.1.0",
|
"archiver-utils": "^3.0.4",
|
||||||
"compress-commons": "^2.1.1",
|
"compress-commons": "^4.1.2",
|
||||||
"readable-stream": "^3.4.0"
|
"readable-stream": "^3.6.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 6"
|
"node": ">= 10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/zip-stream/node_modules/archiver-utils": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"glob": "^7.2.3",
|
||||||
|
"graceful-fs": "^4.2.0",
|
||||||
|
"lazystream": "^1.0.0",
|
||||||
|
"lodash.defaults": "^4.2.0",
|
||||||
|
"lodash.difference": "^4.5.0",
|
||||||
|
"lodash.flatten": "^4.4.0",
|
||||||
|
"lodash.isplainobject": "^4.0.6",
|
||||||
|
"lodash.union": "^4.6.0",
|
||||||
|
"normalize-path": "^3.0.0",
|
||||||
|
"readable-stream": "^3.6.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/zip-stream/node_modules/readable-stream": {
|
"node_modules/zip-stream/node_modules/readable-stream": {
|
||||||
|
|||||||
@@ -19,6 +19,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver-utils": "^2.1.0",
|
"archiver-utils": "^2.1.0",
|
||||||
"socket.io": "^4.8.1",
|
"socket.io": "^4.8.1",
|
||||||
"exceljs": "^1.10.0"
|
"exceljs": "^4.4.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,8 +76,8 @@
|
|||||||
<ProjectReference Include="..\ElectronNET.AspNet\ElectronNET.AspNet.csproj" Condition="$(ElectronNetDevMode)" />
|
<ProjectReference Include="..\ElectronNET.AspNet\ElectronNET.AspNet.csproj" Condition="$(ElectronNetDevMode)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="ElectronNET.Core" Version="0.5.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
<PackageReference Include="ElectronNET.Core" Version="0.5.1" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
||||||
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.5.0" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.5.1" Condition="'$(ElectronNetDevMode)' != 'true'" />
|
||||||
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
|
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
<PropertyGroup Label="ElectronNetCommon">
|
<PropertyGroup Label="ElectronNetCommon">
|
||||||
<ElectronVersion>30.4.0</ElectronVersion>
|
<ElectronVersion>30.4.0</ElectronVersion>
|
||||||
<ElectronBuilderVersion>26.0</ElectronBuilderVersion>
|
<ElectronBuilderVersion>26.0</ElectronBuilderVersion>
|
||||||
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">win-x64</RuntimeIdentifier>
|
<!-- Default to the host SDK's RID (e.g. linux-x64, win-x64, osx-arm64) when none is passed,
|
||||||
|
so `dotnet build/publish` without -r targets the current OS. -->
|
||||||
|
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">$([System.Runtime.InteropServices.RuntimeInformation]::RuntimeIdentifier)</RuntimeIdentifier>
|
||||||
<ElectronSingleInstance>true</ElectronSingleInstance>
|
<ElectronSingleInstance>true</ElectronSingleInstance>
|
||||||
<ElectronSplashScreen></ElectronSplashScreen>
|
<ElectronSplashScreen></ElectronSplashScreen>
|
||||||
<ElectronIcon></ElectronIcon>
|
<ElectronIcon></ElectronIcon>
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
<ElectronDirName>.electron</ElectronDirName>
|
<ElectronDirName>.electron</ElectronDirName>
|
||||||
<ElectronSplashScreenFileName Condition="'$(ElectronSplashScreen)' != ''">$([System.IO.Path]::GetFileName($(ElectronSplashScreen)))</ElectronSplashScreenFileName>
|
<ElectronSplashScreenFileName Condition="'$(ElectronSplashScreen)' != ''">$([System.IO.Path]::GetFileName($(ElectronSplashScreen)))</ElectronSplashScreenFileName>
|
||||||
<ElectronIconFileName Condition="'$(ElectronIcon)' != ''">$([System.IO.Path]::GetFileName($(ElectronIcon)))</ElectronIconFileName>
|
<ElectronIconFileName Condition="'$(ElectronIcon)' != ''">$([System.IO.Path]::GetFileName($(ElectronIcon)))</ElectronIconFileName>
|
||||||
|
<ElectronMajor>$([System.String]::Copy('$(ElectronVersion)').Split('.')[0])</ElectronMajor>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
@@ -176,9 +177,12 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<!-- tsconfig.json is a build-time config, not a runtime file. Excluding it also stops
|
||||||
|
Microsoft.TypeScript.MSBuild from discovering and compiling the host's tsconfig
|
||||||
|
(types:["node"]) in the consumer project when hook TypeScript compilation is enabled. -->
|
||||||
<ElectronSourceFiles
|
<ElectronSourceFiles
|
||||||
Include="$(ElectronSourceFilesPath)\**\*.js;$(ElectronSourceFilesPath)\**\*.json;$(ElectronSourceFilesPath)\**\*.html"
|
Include="$(ElectronSourceFilesPath)\**\*.js;$(ElectronSourceFilesPath)\**\*.json;$(ElectronSourceFilesPath)\**\*.html"
|
||||||
Exclude="$(ElectronSourceFilesPath)\**\build-helper.js" />
|
Exclude="$(ElectronSourceFilesPath)\**\build-helper.js;$(ElectronSourceFilesPath)\**\tsconfig.json" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@@ -212,6 +216,35 @@
|
|||||||
</ElectronCustomHookPackageJson>
|
</ElectronCustomHookPackageJson>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<!-- Committed-JS mode (TypeScriptCompileBlocked=true): the hook TypeScript is not compiled
|
||||||
|
during the build, so the committed ElectronHostHook JavaScript (and source maps) are
|
||||||
|
packaged as-is. Reclassify them from None into .electron\ElectronHostHook content
|
||||||
|
(mirroring ElectronSourceFiles) so they reach the build output and, at publish, are swept
|
||||||
|
into app\ -> app.asar. When compilation is enabled (TypeScriptCompileBlocked!=true) this
|
||||||
|
is skipped: Microsoft.TypeScript.MSBuild compiles the hook and ElectronAdjustHostHookOutput
|
||||||
|
routes the output, so reclassifying would duplicate .electron\ElectronHostHook items.
|
||||||
|
Without one of these, require('electron-host-hook') fails ('Cannot find module .../index.js'). -->
|
||||||
|
<ItemGroup Condition="'$(ElectronHasCustomHookCode)' == 'true' AND '$(TypeScriptCompileBlocked)' == 'true'">
|
||||||
|
<None Remove="ElectronHostHook\**\*.js;ElectronHostHook\**\*.js.map" />
|
||||||
|
<ElectronCustomHookJsFiles Include="ElectronHostHook\**\*.js;ElectronHostHook\**\*.js.map"
|
||||||
|
Exclude="ElectronHostHook\node_modules\**" />
|
||||||
|
<ElectronCustomHookJsFiles Update="@(ElectronCustomHookJsFiles)">
|
||||||
|
<Link>$(ElectronDirName)\ElectronHostHook\%(RecursiveDir)%(FileName)%(Extension)</Link>
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</ElectronCustomHookJsFiles>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<AssignTargetPath Files="@(ElectronCustomHookJsFiles)" RootFolder="$(MSBuildProjectDirectory)"
|
||||||
|
Condition="'$(ElectronHasCustomHookCode)' == 'true' AND '$(TypeScriptCompileBlocked)' == 'true'">
|
||||||
|
<Output TaskParameter="AssignedFiles" ItemName="ElectronCustomHookJsFilesWithTargetPath" />
|
||||||
|
</AssignTargetPath>
|
||||||
|
|
||||||
|
<ItemGroup Condition="'$(ElectronHasCustomHookCode)' == 'true' AND '$(TypeScriptCompileBlocked)' == 'true'">
|
||||||
|
<FilesForPackagingFromProject Include="@(ElectronCustomHookJsFilesWithTargetPath->'%(Identity)')" />
|
||||||
|
<ContentWithTargetPath Include="@(ElectronCustomHookJsFilesWithTargetPath->'%(Identity)')" />
|
||||||
|
<Content Include="@(ElectronCustomHookJsFiles->'%(Identity)')" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ElectronIntermediatePackageJson Include="$(ElectronIntermediatePackageJson)" />
|
<ElectronIntermediatePackageJson Include="$(ElectronIntermediatePackageJson)" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -230,13 +263,45 @@
|
|||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- When hook TypeScript compilation is enabled (TypeScriptCompileBlocked!=true), restore the
|
||||||
|
hook's npm dependencies into ElectronHostHook\node_modules before tsc runs so its imports
|
||||||
|
(e.g. socket.io) resolve. Incremental: only re-runs when the hook package.json changes or
|
||||||
|
node_modules is missing. Skipped in committed-JS mode and at design time. -->
|
||||||
|
<Target Name="ElectronRestoreHostHookDependencies"
|
||||||
|
BeforeTargets="CompileTypeScriptWithTSConfig;CompileTypeScript"
|
||||||
|
Condition="'@(ElectronCustomHookTsFiles->Count())' > 1 AND Exists('$(MSBuildProjectDirectory)\ElectronHostHook\package.json') AND '$(TypeScriptCompileBlocked)' != 'true' AND '$(DesignTimeBuild)' != 'true'"
|
||||||
|
Inputs="$(MSBuildProjectDirectory)\ElectronHostHook\package.json"
|
||||||
|
Outputs="$(MSBuildProjectDirectory)\ElectronHostHook\node_modules\.package-lock.json">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<IsLinuxWsl>false</IsLinuxWsl>
|
||||||
|
<IsLinuxWsl Condition="'$(ElectronPlatform)' == 'linux' AND $([MSBuild]::IsOSPlatform('Windows'))">true</IsLinuxWsl>
|
||||||
|
<_NpmCmd>npm install</_NpmCmd>
|
||||||
|
<_NpmCmd Condition="'$(IsLinuxWsl)' == 'true'">wsl bash -ic '$(_NpmCmd)'</_NpmCmd>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Message Importance="High" Text="Restoring ElectronHostHook npm dependencies for TypeScript compilation..." />
|
||||||
|
|
||||||
|
<Exec Command="$(_NpmCmd)"
|
||||||
|
WorkingDirectory="$([System.IO.Path]::Combine('$(MSBuildProjectDirectory)', 'ElectronHostHook'))"
|
||||||
|
Timeout="600000" StandardOutputImportance="Low" StandardErrorImportance="High" ContinueOnError="false" />
|
||||||
|
</Target>
|
||||||
|
|
||||||
|
|
||||||
<!-- Run before GetTypeScriptOutputForPublishing to adjust the target directory -->
|
<!-- Run before GetTypeScriptOutputForPublishing to adjust the target directory -->
|
||||||
<Target Name="ElectronAdjustHostHookOutput" BeforeTargets="GetTypeScriptOutputForPublishing" DependsOnTargets="CompileTypeScriptWithTSConfig">
|
<Target Name="ElectronAdjustHostHookOutput" BeforeTargets="GetTypeScriptOutputForPublishing" DependsOnTargets="CompileTypeScriptWithTSConfig">
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<!-- Route the compiled hook JS to .electron\ElectronHostHook. Do NOT reuse
|
||||||
|
%(DestinationRelativePath): with no outDir in the hook tsconfig, VsTsc leaves it as
|
||||||
|
an absolute path, which would produce .electron\<absolute-path>. Derive the target
|
||||||
|
from the file name instead (hook files are flat). Link is set because
|
||||||
|
GetTypeScriptOutputForPublishing re-runs AssignTargetPath, which honors Link for the
|
||||||
|
publish TargetPath. -->
|
||||||
<GeneratedJavascript Update="@(GeneratedJavascript)">
|
<GeneratedJavascript Update="@(GeneratedJavascript)">
|
||||||
<DestinationRelativePath>$(ElectronDirName)\%(DestinationRelativePath)</DestinationRelativePath>
|
<DestinationRelativePath>$(ElectronDirName)\ElectronHostHook\%(Filename)%(Extension)</DestinationRelativePath>
|
||||||
<TargetPath>$(ElectronDirName)\%(DestinationRelativePath)</TargetPath>
|
<TargetPath>$(ElectronDirName)\ElectronHostHook\%(Filename)%(Extension)</TargetPath>
|
||||||
|
<Link>$(ElectronDirName)\ElectronHostHook\%(Filename)%(Extension)</Link>
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
</GeneratedJavascript>
|
</GeneratedJavascript>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
@@ -376,10 +441,23 @@
|
|||||||
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
||||||
</Exec>
|
</Exec>
|
||||||
|
|
||||||
<!--<Exec Command="powershell -Command "Start-Sleep -Seconds 10"" />-->
|
|
||||||
|
|
||||||
<Message Importance="High" Text="Electron setup failed!" Condition="'$(ExecExitCode)' != '0'" />
|
<Message Importance="High" Text="Electron setup failed!" Condition="'$(ExecExitCode)' != '0'" />
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<_NpmCmd>node node_modules/electron/install.js</_NpmCmd>
|
||||||
|
<!-- Add cross-platform parameters when there's a platform mismatch (for remote debugging preparation) -->
|
||||||
|
<_NpmCmd Condition="'$(_IsPlatformMismatch)' == 'true'">$(_NpmCmd) --os=$(NpmOs) --cpu=$(NpmCpu) --arch=$(NpmCpu) --platform=$(NpmOs)</_NpmCmd>
|
||||||
|
<_NpmCmd Condition="'$(IsLinuxWsl)' == 'true'">wsl bash -ic '$(_NpmCmd)'</_NpmCmd>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Message Importance="High" Text="Running command: $(_NpmCmd) in folder: $(ElectronOutputPath)" Condition="$(ElectronMajor) >= 42 AND @(_CopiedFiles->Count()) > 0" />
|
||||||
|
|
||||||
|
<Exec Command="$(_NpmCmd)" WorkingDirectory="$(ElectronOutputPath)" Timeout="600000" StandardOutputImportance="High" StandardErrorImportance="High" ContinueOnError="false" Condition="$(ElectronMajor) >= 42 AND @(_CopiedFiles->Count()) > 0">
|
||||||
|
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
||||||
|
</Exec>
|
||||||
|
|
||||||
|
<Message Importance="High" Text="Electron installation failed!" Condition="'$(ExecExitCode)' != '0'" />
|
||||||
|
|
||||||
<!-- Fix up incorrect symlinks created by npm on Windows when targeting macOS -->
|
<!-- Fix up incorrect symlinks created by npm on Windows when targeting macOS -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ElectronFrameworksDir>$(ElectronOutDir)node_modules\electron\dist\Electron.app\Contents\Frameworks</_ElectronFrameworksDir>
|
<_ElectronFrameworksDir>$(ElectronOutDir)node_modules\electron\dist\Electron.app\Contents\Frameworks</_ElectronFrameworksDir>
|
||||||
@@ -435,6 +513,10 @@
|
|||||||
<PublishDir>$(_OriginalPublishDir)</PublishDir>
|
<PublishDir>$(_OriginalPublishDir)</PublishDir>
|
||||||
<PublishDir Condition="'$(_NonIntermediatePublishDir)' != ''">$(_NonIntermediatePublishDir)</PublishDir>
|
<PublishDir Condition="'$(_NonIntermediatePublishDir)' != ''">$(_NonIntermediatePublishDir)</PublishDir>
|
||||||
<ElectronPublishDir>$(_OriginalPublishDir)</ElectronPublishDir>
|
<ElectronPublishDir>$(_OriginalPublishDir)</ElectronPublishDir>
|
||||||
|
<!-- The Electron host files (main.js, package.json, runtime node_modules, ...) are packed
|
||||||
|
into app.asar. They live in a dedicated 'app' subfolder so the .NET app in 'bin' is NOT
|
||||||
|
swept into the asar by electron-builder's default 'files' glob. See directories.app below. -->
|
||||||
|
<ElectronAppDir>$(ElectronPublishDir)app\</ElectronAppDir>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
@@ -475,7 +557,7 @@ For more information, see: https://github.com/ElectronNET/Electron.NET/wiki/Migr
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ElectronPublishFilesToMove Update="@(ElectronPublishFilesToMove)" >
|
<ElectronPublishFilesToMove Update="@(ElectronPublishFilesToMove)" >
|
||||||
<MoveTargetPath>$(ElectronPublishDir)%(RecursiveDir)%(FileName)%(Extension)</MoveTargetPath>
|
<MoveTargetPath>$(ElectronAppDir)%(RecursiveDir)%(FileName)%(Extension)</MoveTargetPath>
|
||||||
</ElectronPublishFilesToMove>
|
</ElectronPublishFilesToMove>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
@@ -489,14 +571,55 @@ For more information, see: https://github.com/ElectronNET/Electron.NET/wiki/Migr
|
|||||||
<ElectronPublishUrlFullPath>$([System.IO.Path]::GetFullPath('$(PublishUrl.TrimEnd("\"))'))</ElectronPublishUrlFullPath>
|
<ElectronPublishUrlFullPath>$([System.IO.Path]::GetFullPath('$(PublishUrl.TrimEnd("\"))'))</ElectronPublishUrlFullPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<ElectronAppDirFullPath>$([System.IO.Path]::GetFullPath('$(ElectronAppDir)'))</ElectronAppDirFullPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<IsLinuxWsl>false</IsLinuxWsl>
|
<IsLinuxWsl>false</IsLinuxWsl>
|
||||||
<IsLinuxWsl Condition="'$(ElectronPlatform)' == 'linux' AND $([MSBuild]::IsOSPlatform('Windows'))">true</IsLinuxWsl>
|
<IsLinuxWsl Condition="'$(ElectronPlatform)' == 'linux' AND $([MSBuild]::IsOSPlatform('Windows'))">true</IsLinuxWsl>
|
||||||
<_NpmCmd>npm install electron-builder@$(ElectronBuilderVersion) --save-dev </_NpmCmd>
|
|
||||||
<_NpmCmd Condition="'$(IsLinuxWsl)' == 'true'">wsl bash -ic '$(_NpmCmd)'</_NpmCmd>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<Message Importance="High" Text="ElectronPublishApp: ElectronPublishDirFullPath - $(ElectronPublishDirFullPath)" />
|
<Message Importance="High" Text="ElectronPublishApp: ElectronPublishDirFullPath - $(ElectronPublishDirFullPath)" />
|
||||||
|
<Message Importance="High" Text="ElectronPublishApp: ElectronAppDirFullPath - $(ElectronAppDirFullPath)" />
|
||||||
|
|
||||||
|
<!-- Install the app's runtime (prod) dependencies into app\node_modules so they end up
|
||||||
|
inside app.asar. devDependencies (electron, eslint, typescript) are not needed here:
|
||||||
|
TypeScript is already compiled at build time and electron-builder fetches Electron itself. -->
|
||||||
|
<PropertyGroup>
|
||||||
|
<_NpmAppDepsCmd>npm install --omit=dev</_NpmAppDepsCmd>
|
||||||
|
<_NpmAppDepsCmd Condition="'$(IsLinuxWsl)' == 'true'">wsl bash -ic '$(_NpmAppDepsCmd)'</_NpmAppDepsCmd>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Exec Command="$(_NpmAppDepsCmd)" WorkingDirectory="$(ElectronAppDirFullPath)" Timeout="600000" StandardOutputImportance="High" StandardErrorImportance="High" ContinueOnError="false" Condition="@(CopiedFiles->Count()) > 0">
|
||||||
|
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
||||||
|
</Exec>
|
||||||
|
|
||||||
|
<Message Importance="High" Text="Electron app dependency install failed!" Condition="'$(ExecExitCode)' != '0'" />
|
||||||
|
|
||||||
|
<!-- Install electron-builder (the dev tool) into the publish root, which is the
|
||||||
|
electron-builder projectDir (cwd). app metadata + runtime deps are read from
|
||||||
|
app\ via directories.app (standard electron-builder two-package.json layout).
|
||||||
|
Render the dev package.json first: the two-package.json layout requires a
|
||||||
|
package.json at the projectDir, and electron-builder requires the 'build'
|
||||||
|
configuration to live in this development package.json (it is rejected in the
|
||||||
|
application package.json under app\). The .NET app's metadata/version come from
|
||||||
|
app\package.json instead. -->
|
||||||
|
<ItemGroup>
|
||||||
|
<DevTemplateProperty Include="ElectronPackageId" Value="$(ElectronPackageId)" />
|
||||||
|
<DevTemplateProperty Include="Title" Value="$(Title)" />
|
||||||
|
<DevTemplateProperty Include="Version" Value="$(Version)" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ReplaceTemplateTask TemplateFile="$(MSBuildThisFileDirectory)package.dev.template.json"
|
||||||
|
OutputFile="$([System.IO.Path]::Combine('$(ElectronPublishDirFullPath)', 'package.json'))"
|
||||||
|
TemplateProperties="@(DevTemplateProperty)"
|
||||||
|
Condition="@(CopiedFiles->Count()) > 0" />
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<_NpmCmd>npm install electron-builder@$(ElectronBuilderVersion)</_NpmCmd>
|
||||||
|
<_NpmCmd Condition="'$(IsLinuxWsl)' == 'true'">wsl bash -ic '$(_NpmCmd)'</_NpmCmd>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<Exec Command="$(_NpmCmd)" WorkingDirectory="$(ElectronPublishDirFullPath)" Timeout="600000" StandardOutputImportance="High" StandardErrorImportance="High" ContinueOnError="false" Condition="@(CopiedFiles->Count()) > 0">
|
<Exec Command="$(_NpmCmd)" WorkingDirectory="$(ElectronPublishDirFullPath)" Timeout="600000" StandardOutputImportance="High" StandardErrorImportance="High" ContinueOnError="false" Condition="@(CopiedFiles->Count()) > 0">
|
||||||
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
<Output TaskParameter="ExitCode" PropertyName="ExecExitCode"/>
|
||||||
@@ -515,6 +638,10 @@ For more information, see: https://github.com/ElectronNET/Electron.NET/wiki/Migr
|
|||||||
<ElectronPaParams Condition="'$(Version)' != ''">$(ElectronPaParams) -c.buildVersion "$(Version)"</ElectronPaParams>
|
<ElectronPaParams Condition="'$(Version)' != ''">$(ElectronPaParams) -c.buildVersion "$(Version)"</ElectronPaParams>
|
||||||
<ElectronPaParams Condition="'$(Copyright)' != ''">$(ElectronPaParams) -c.copyright "$(Copyright)"</ElectronPaParams>
|
<ElectronPaParams Condition="'$(Copyright)' != ''">$(ElectronPaParams) -c.copyright "$(Copyright)"</ElectronPaParams>
|
||||||
<ElectronPaParams>$(ElectronPaParams) -c.extraResources "bin/**/*"</ElectronPaParams>
|
<ElectronPaParams>$(ElectronPaParams) -c.extraResources "bin/**/*"</ElectronPaParams>
|
||||||
|
<!-- Build app.asar from the 'app' subfolder only (host JS + runtime node_modules),
|
||||||
|
keeping the .NET app under 'bin' out of the asar. cwd stays the publish root so
|
||||||
|
extraResources and user icon paths under bin/ still resolve. -->
|
||||||
|
<ElectronPaParams>$(ElectronPaParams) -c.directories.app "app"</ElectronPaParams>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
|
|||||||
@@ -436,6 +436,9 @@
|
|||||||
<EnumValue Name="40.9.3" DisplayName="40.9.3" />
|
<EnumValue Name="40.9.3" DisplayName="40.9.3" />
|
||||||
<EnumValue Name="40.10.0" DisplayName="40.10.0" />
|
<EnumValue Name="40.10.0" DisplayName="40.10.0" />
|
||||||
<EnumValue Name="40.10.1" DisplayName="40.10.1" />
|
<EnumValue Name="40.10.1" DisplayName="40.10.1" />
|
||||||
|
<EnumValue Name="40.10.2" DisplayName="40.10.2" />
|
||||||
|
<EnumValue Name="40.10.3" DisplayName="40.10.3" />
|
||||||
|
<EnumValue Name="40.10.4" DisplayName="40.10.4" />
|
||||||
<EnumValue Name="41.0.0" DisplayName="41.0.0" />
|
<EnumValue Name="41.0.0" DisplayName="41.0.0" />
|
||||||
<EnumValue Name="41.0.1" DisplayName="41.0.1" />
|
<EnumValue Name="41.0.1" DisplayName="41.0.1" />
|
||||||
<EnumValue Name="41.0.2" DisplayName="41.0.2" />
|
<EnumValue Name="41.0.2" DisplayName="41.0.2" />
|
||||||
@@ -454,10 +457,19 @@
|
|||||||
<EnumValue Name="41.6.0" DisplayName="41.6.0" />
|
<EnumValue Name="41.6.0" DisplayName="41.6.0" />
|
||||||
<EnumValue Name="41.6.1" DisplayName="41.6.1" />
|
<EnumValue Name="41.6.1" DisplayName="41.6.1" />
|
||||||
<EnumValue Name="41.7.0" DisplayName="41.7.0" />
|
<EnumValue Name="41.7.0" DisplayName="41.7.0" />
|
||||||
|
<EnumValue Name="41.7.1" DisplayName="41.7.1" />
|
||||||
|
<EnumValue Name="41.7.2" DisplayName="41.7.2" />
|
||||||
|
<EnumValue Name="41.8.0" DisplayName="41.8.0" />
|
||||||
<EnumValue Name="42.0.0" DisplayName="42.0.0" />
|
<EnumValue Name="42.0.0" DisplayName="42.0.0" />
|
||||||
<EnumValue Name="42.0.1" DisplayName="42.0.1" />
|
<EnumValue Name="42.0.1" DisplayName="42.0.1" />
|
||||||
<EnumValue Name="42.1.0" DisplayName="42.1.0" />
|
<EnumValue Name="42.1.0" DisplayName="42.1.0" />
|
||||||
<EnumValue Name="42.2.0" DisplayName="42.2.0" />
|
<EnumValue Name="42.2.0" DisplayName="42.2.0" />
|
||||||
|
<EnumValue Name="42.3.0" DisplayName="42.3.0" />
|
||||||
|
<EnumValue Name="42.3.1" DisplayName="42.3.1" />
|
||||||
|
<EnumValue Name="42.3.2" DisplayName="42.3.2" />
|
||||||
|
<EnumValue Name="42.3.3" DisplayName="42.3.3" />
|
||||||
|
<EnumValue Name="42.4.0" DisplayName="42.4.0" />
|
||||||
|
<EnumValue Name="42.4.1" DisplayName="42.4.1" />
|
||||||
</EnumProperty>
|
</EnumProperty>
|
||||||
|
|
||||||
<EnumProperty Name="ElectronBuilderVersion"
|
<EnumProperty Name="ElectronBuilderVersion"
|
||||||
|
|||||||
19
src/ElectronNET/build/package.dev.template.json
Normal file
19
src/ElectronNET/build/package.dev.template.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"name": "electron-builder-host",
|
||||||
|
"version": "$(Version)",
|
||||||
|
"private": true,
|
||||||
|
"build": {
|
||||||
|
"appId": "$(ElectronPackageId)",
|
||||||
|
"linux": {
|
||||||
|
"desktop": {
|
||||||
|
"entry": { "Name": "$(Title)" }
|
||||||
|
},
|
||||||
|
"executableName": "$(ElectronPackageId)"
|
||||||
|
},
|
||||||
|
"deb": {
|
||||||
|
"desktop": {
|
||||||
|
"entry": { "Name": "$(Title)" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,20 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "$(ElectronPackageId)",
|
"name": "$(ElectronPackageId)",
|
||||||
"productName": "$(ElectronTitle)",
|
"productName": "$(ElectronTitle)",
|
||||||
"build": {
|
|
||||||
"appId": "$(ElectronPackageId)",
|
|
||||||
"linux": {
|
|
||||||
"desktop": {
|
|
||||||
"entry": { "Name": "$(Title)" }
|
|
||||||
},
|
|
||||||
"executableName": "$(ElectronPackageId)"
|
|
||||||
},
|
|
||||||
"deb": {
|
|
||||||
"desktop": {
|
|
||||||
"entry": { "Name": "$(Title)" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"description": "$(Description)",
|
"description": "$(Description)",
|
||||||
"version": "$(Version)",
|
"version": "$(Version)",
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<Project>
|
<Project>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<Version>0.5.0</Version>
|
<Version>0.5.2</Version>
|
||||||
<PackageNamePrefix>ElectronNET.Core</PackageNamePrefix>
|
<PackageNamePrefix>ElectronNET.Core</PackageNamePrefix>
|
||||||
<Authors>Gregor Biswanger, Florian Rappl, softworkz</Authors>
|
<Authors>Gregor Biswanger, Florian Rappl, softworkz</Authors>
|
||||||
<Product>Electron.NET</Product>
|
<Product>Electron.NET</Product>
|
||||||
|
|||||||
Reference in New Issue
Block a user