From 1fb3476e0e7a8eda77d58939a40702ca4bb49dd0 Mon Sep 17 00:00:00 2001 From: Saschl <19493808+Saschl@users.noreply.github.com> Date: Sat, 21 Oct 2023 12:34:03 +0200 Subject: [PATCH] chore: remove simconnect.dll leftovers (#97) --- apps/server/src/utilities/systray.service.ts | 3 ++- package.json | 5 ++--- scripts/fragment.js | 4 ---- simconnect/LICENSE | 4 ---- simconnect/SimConnect.dll | Bin 62464 -> 0 bytes 5 files changed, 4 insertions(+), 12 deletions(-) delete mode 100644 simconnect/LICENSE delete mode 100644 simconnect/SimConnect.dll diff --git a/apps/server/src/utilities/systray.service.ts b/apps/server/src/utilities/systray.service.ts index 091c483f..67615466 100644 --- a/apps/server/src/utilities/systray.service.ts +++ b/apps/server/src/utilities/systray.service.ts @@ -4,6 +4,7 @@ import { hideConsole, showConsole } from 'node-hide-console-window'; import open = require('open'); import SysTray, { MenuItem } from 'systray2'; import { join } from 'path'; +import { getExecutablePath } from 'apps/server/src/utilities/pathUtil'; import { NetworkService } from './network.service'; import serverConfig from '../config/server.config'; import { ShutDownService } from './shutdown.service'; @@ -33,7 +34,7 @@ export class SysTrayService implements OnApplicationShutdown { this.exitItem, ], }, - copyDir: true, + copyDir: getExecutablePath(), }); this.sysTray.onClick((action) => { diff --git a/package.json b/package.json index 8f561014..3ae167e0 100644 --- a/package.json +++ b/package.json @@ -24,14 +24,12 @@ "install:exec": "node doExe.mjs && npm run copy:deps && npm run build:package", "copy:deps": "npm run copy:resources && npm run copy:modules && copyfiles -s -f LICENSE build && npm run fetch:terrain", "copy:resources": "copyfiles -s -f apps/server/src/config/properties.json ./node_modules/pdf-to-printer/dist/SumatraPDF.exe build/resources", - "copy:modules": "npm run copy:traybin && npm run copy:pdfjs && npm run copy:nodehide && npm run copy:sharp && npm run copy:simconnect && npm run copy:open", - "copy:traybin": "copyfiles -s -f ./node_modules/systray2/traybin/tray_windows_release.exe build/traybin && copyfiles -s -f \"node_modules/systray2/**/*.*\" build/node_modules/systray2", + "copy:modules": "npm run copy:pdfjs && npm run copy:nodehide && npm run copy:sharp && npm run copy:open", "copy:pdfjs": "copyfiles -s -f \"node_modules/pdfjs-dist/build/**/*.*\" build/node_modules/pdfjs-dist/build && npm run copy:pdfjs:fonts && npm run copy:pdfjs:cmaps", "copy:pdfjs:fonts": "copyfiles -s -f \"node_modules/pdfjs-dist/standard_fonts/**/*.*\" build/node_modules/pdfjs-dist/standard_fonts", "copy:pdfjs:cmaps": "copyfiles -s -f \"node_modules/pdfjs-dist/cmaps/**/*.*\" build/node_modules/pdfjs-dist/cmaps", "copy:nodehide": "copyfiles -s -f \"node_modules/node-hide-console-window/build/Release/**/*\" build/node_modules/node-hide-console-window/build/Release", "copy:sharp": "copyfiles -s -f \"node_modules/sharp/build/Release/**/*\" build/node_modules/sharp/build/Release", - "copy:simconnect": "copyfiles -s -f simconnect/SimConnect.dll build", "copy:open": "copyfiles -s -f \"node_modules/open/xdg-open\" build/node_modules/open", "fetch:terrain": "node scripts/terrain.js", "start": "nest start server", @@ -202,6 +200,7 @@ "node_modules/bit-twiddle/**/*.*", "node_modules/@flybywiresim/msfs-nodejs/**/*.*", "node_modules/es-get-iterator/**/*.*", + "/node_modules/systray2/traybin/*.exe", "dist/mcdu/**/*", "dist/assets/**/*", "dist/terrain/mapdata/**/*.*", diff --git a/scripts/fragment.js b/scripts/fragment.js index ebe8bbb6..a2386b04 100644 --- a/scripts/fragment.js +++ b/scripts/fragment.js @@ -16,10 +16,6 @@ const execute = async () => { name: 'dependencies', sourceDir: './node_modules', }, - { - name: 'traybin', - sourceDir: './traybin', - }, { name: 'terrain', sourceDir: './terrain', diff --git a/simconnect/LICENSE b/simconnect/LICENSE deleted file mode 100644 index 31f87905..00000000 --- a/simconnect/LICENSE +++ /dev/null @@ -1,4 +0,0 @@ -The SimConnect.dll is part of the MSFS SDK published by Microsoft. - -The EULA for the MSFS SDK and the SimConnect.dll can be found here: -https://docs.flightsimulator.com/html/Introduction/SDK_EULA.htm diff --git a/simconnect/SimConnect.dll b/simconnect/SimConnect.dll deleted file mode 100644 index bd88ec19102fdfda5cec9971eb327a3879c3c005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62464 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