1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

Initial Mac packaging setup

This commit is contained in:
Michael Hollister 2024-10-04 17:13:36 -05:00
parent fa065b3a3b
commit fe9cc7a398
18 changed files with 759 additions and 71 deletions

View file

@ -131,5 +131,3 @@ dist
# Ignore VSCode user project settings
.vscode
packaging/*.zip

View file

@ -1,12 +1,23 @@
buildMacOs:
buildMac:
stage: buildAndDeployElectron
tags:
- m1-macos
before_script:
- cd receivers/electron
# - echo testing envrionment variable access $TESTVAR
# - security unlock-keychain -p "$KEYCHAIN_CODESIGN_PASSWORD" "$HOME/Library/Keychains/codesign.keychain-db"
script:
- npm install
- npm run build
- npm run make -- --platform="darwin" --arch="arm64"
- npm run make -- --platform="darwin" --arch="x64"
when: manual
buildLinux:
stage: buildAndDeployElectron
tags:
- fcast
before_script:
- cd receivers/electron
script:
- npm install
- npm run build

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,20 @@
<svg
width="1024"
height="1024"
viewBox="0 0 270.93333 270.93333"
xmlns="http://www.w3.org/2000/svg" >
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="m 136.60506,270.93333 c 23.09465,0 36.42801,-16.30932 36.42801,-36.42806 0,-20.1186 -14.29179,-36.42801 -36.42801,-36.42801 -22.13611,0 -36.428,16.30941 -36.428,36.42801 0,20.11874 13.33325,36.42806 36.428,36.42806 z m -9.48928,-47.06983 -1.15136,1.15135 c -4.47359,4.47359 -6.71038,6.71055 -6.71038,9.48999 0,2.77969 2.23679,5.01636 6.71038,9.48995 l 1.15136,1.15136 c 4.47359,4.4736 6.71054,6.71048 9.48997,6.71048 2.77943,0 5.0164,-2.23688 9.49001,-6.71048 l 1.15135,-1.15136 c 4.47357,-4.47359 6.71045,-6.71026 6.71045,-9.48995 0,-2.77944 -2.23688,-5.0164 -6.71045,-9.48999 l -1.15135,-1.15135 c -4.47361,-4.4735 -6.71058,-6.71039 -9.49001,-6.71039 -2.77943,0 -5.01638,2.23689 -9.48997,6.71039 z"
fill="#ffffff" />
<path
d="M 246.30301,0 H 24.630317 C 11.083288,0 0,11.526214 0,25.613462 v 25.613455 c 0,7.043877 5.5418993,12.80673 12.315158,12.80673 6.773263,0 12.31516,-5.762853 12.31516,-12.80673 V 38.420189 c 0,-7.043371 5.541898,-12.806727 12.31512,-12.806727 H 233.98788 c 6.77327,0 12.31513,5.763356 12.31513,12.806727 V 192.10153 c 0,7.04389 -5.54186,12.80727 -12.31513,12.80727 h -39.70302 c -6.77323,0 -12.31513,5.76285 -12.31513,12.80671 0,7.04387 5.5419,12.80566 12.31513,12.80566 h 52.01815 c 13.54652,0 24.63032,-11.52515 24.63032,-25.61237 V 25.613462 C 270.93333,11.526214 259.84953,0 246.30301,0 Z"
fill="#ffffff" />
<path
d="M 24.630317,0 H 246.30301 c 13.54703,0 24.63032,11.526214 24.63032,25.613462 v 25.613455 c 0,7.043877 -5.54189,12.80673 -12.31515,12.80673 -6.77327,0 -12.31517,-5.762853 -12.31517,-12.80673 V 38.420189 c 0,-7.043371 -5.54189,-12.806727 -12.31512,-12.806727 H 36.945449 c -6.773265,0 -12.315132,5.763356 -12.315132,12.806727 V 192.10153 c 0,7.04389 5.541867,12.80727 12.315132,12.80727 h 39.703028 c 6.773235,0 12.315162,5.76285 12.315162,12.80671 0,7.04387 -5.541927,12.80566 -12.315162,12.80566 H 24.630317 C 11.083799,230.52117 0,218.99602 0,204.9088 V 25.613462 C 0,11.526214 11.083799,0 24.630317,0 Z"
fill="#ffffff" />
<path
d="m 95.938235,171.30637 c -4.937309,3.5273 -5.29173,10.79088 -0.986794,15.09622 3.456604,3.45693 8.888249,3.80961 12.909149,0.91843 17.21135,-12.13189 40.34975,-12.1288 57.56248,0.006 4.01968,2.89389 9.45266,2.5405 12.90917,-0.9157 4.3029,-4.30251 3.88002,-11.49764 -0.98794,-15.0962 -11.86415,-8.51607 -26.09996,-13.09864 -40.70296,-13.09979 -14.6039,-0.002 -28.83923,4.57651 -40.703105,13.09041 z m -28.793004,-28.2091 c -4.514216,3.80905 -4.867485,10.65089 -0.705527,14.81323 3.598144,3.59848 9.311807,3.95166 13.191659,0.77807 33.013047,-27.22619 80.982517,-27.21992 113.997227,0.0127 3.87958,3.17609 9.52319,2.75301 13.12136,-0.84482 4.23191,-4.23154 3.80866,-11.14497 -0.77709,-14.88357 -40.35143,-32.8785 -98.54865,-32.81432 -138.827629,0.12435 z"
fill="#ffffff" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View file

@ -1,14 +1,19 @@
const fs = require('fs');
const yargs = require('yargs/yargs');
const { hideBin } = require('yargs/helpers');
const { FusesPlugin } = require('@electron-forge/plugin-fuses');
const { FuseV1Options, FuseVersion } = require('@electron/fuses');
const argv = yargs(hideBin(process.argv)).argv;
module.exports = {
packagerConfig: {
asar: true,
osxSign: {
// "identity": process.env.FCAST_APPLE_SIGN_ID
},
icon: './assets/icons/icon',
name: 'FCast Receiver',
osxSign: {},
osxNotarize: {
// keychainProfile: "codesign"
appleApiKey: process.env.FCAST_APPLE_API_KEY,
appleApiKeyId: process.env.FCAST_APPLE_API_KEY_ID,
appleApiIssuer: process.env.FCAST_APPLE_API_ISSUER
@ -20,9 +25,37 @@ module.exports = {
// name: '@electron-forge/maker-squirrel',
// config: {},
// },
{
name: '@electron-forge/maker-dmg',
config: {
additionalDMGOptions: {
window: {
position: {
x: 425,
y: 275
},
size: {
width: 640,
height: 480
}
}
},
background: './assets/images/background.png',
contents: [
{ 'x': 90, 'y': 350, 'type': 'file', 'path': `out/FCast Receiver-darwin-${argv.arch}/FCast Receiver.app` },
{ 'x': 360, 'y': 350, 'type': 'link', 'path': '/Applications' },
{ 'x': 0, 'y': 540, 'type': 'position', 'path': '.background' },
{ 'x': 120, 'y': 540, 'type': 'position', 'path': '.VolumeIcon.icns' }
],
format: 'ULFO',
icon: './assets/icons/icon.icns',
name: 'FCast Receiver'
}
},
{
name: '@electron-forge/maker-zip',
platforms: ['win32', 'darwin', 'linux'],
config: {}
},
// {
@ -34,6 +67,39 @@ module.exports = {
// config: {},
// },
],
hooks: {
postMake: async (forgeConfig, makeResults) => {
makeResults.forEach(e => {
// Standardize artifact output naming
switch (e.platform) {
case "win32":
break;
case "darwin": {
let artifactName = 'FCast Receiver.dmg';
if (fs.existsSync(`./out/make/${artifactName}`)) {
fs.renameSync(`./out/make/${artifactName}`, `./out/make/FCast-Receiver-${e.packageJSON.version}-macOS-${e.arch}.dmg`);
}
artifactName = 'FCast Receiver-darwin-arm64-1.0.14.zip';
if (fs.existsSync(`./out/make/zip/darwin/arm64/${artifactName}`)) {
fs.renameSync(`./out/make/zip/darwin/arm64/${artifactName}`, `./out/make/zip/darwin/arm64/FCast-Receiver-${e.packageJSON.version}-macOS-${e.arch}.zip`);
}
artifactName = 'FCast Receiver-darwin-x64-1.0.14.zip';
if (fs.existsSync(`./out/make/zip/darwin/x64/${artifactName}`)) {
fs.renameSync(`./out/make/zip/darwin/x64/${artifactName}`, `./out/make/zip/darwin/x64/FCast-Receiver-${e.packageJSON.version}-macOS-${e.arch}.zip`);
}
break;
}
case "linux":
break;
default:
break;
}
});
}
},
plugins: [
{
name: '@electron-forge/plugin-auto-unpack-natives',

View file

@ -9,12 +9,12 @@
"version": "1.0.14",
"license": "MIT",
"dependencies": {
"@types/yargs": "^17.0.33",
"bufferutil": "^4.0.8",
"electron-squirrel-startup": "^1.0.1",
"http": "^0.0.1-security",
"https": "^1.0.0",
"qrcode": "^1.5.3",
"update-electron-app": "^3.0.0",
"url": "^0.11.3",
"uuid": "^9.0.1",
"ws": "^8.14.2",
@ -23,6 +23,7 @@
"devDependencies": {
"@electron-forge/cli": "^7.4.0",
"@electron-forge/maker-deb": "^7.4.0",
"@electron-forge/maker-dmg": "^7.5.0",
"@electron-forge/maker-rpm": "^7.4.0",
"@electron-forge/maker-squirrel": "^7.4.0",
"@electron-forge/maker-zip": "^7.4.0",
@ -35,6 +36,7 @@
"@types/node-forge": "^1.3.10",
"@types/workerpool": "^6.1.1",
"@types/ws": "^8.5.10",
"@types/yargs": "^17.0.33",
"electron": "^22.2.0",
"eslint": "^9.10.0",
"globals": "^15.9.0",
@ -1288,6 +1290,106 @@
"electron-installer-debian": "^3.2.0"
}
},
"node_modules/@electron-forge/maker-dmg": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@electron-forge/maker-dmg/-/maker-dmg-7.5.0.tgz",
"integrity": "sha512-OcySukBT6FQJRbb0CKXnre4e0JinJfDGteCOLypB8UsN5Wg/4lIDB0hMhBmWGPJkZXKUDGkB1lhkdcLKbzT50Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@electron-forge/maker-base": "7.5.0",
"@electron-forge/shared-types": "7.5.0",
"fs-extra": "^10.0.0"
},
"engines": {
"node": ">= 16.4.0"
},
"optionalDependencies": {
"electron-installer-dmg": "^5.0.1"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/@electron-forge/maker-base": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@electron-forge/maker-base/-/maker-base-7.5.0.tgz",
"integrity": "sha512-+jluKW2UPxaI1+qQQ8fqaUVVbZohRjOSF0Iti7STRFbgJKJitzPB24Cjji9qJCKIx5klMeEiwp0YPAE/d9Xt8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@electron-forge/shared-types": "7.5.0",
"fs-extra": "^10.0.0",
"which": "^2.0.2"
},
"engines": {
"node": ">= 16.4.0"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/@electron-forge/shared-types": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@electron-forge/shared-types/-/shared-types-7.5.0.tgz",
"integrity": "sha512-VXuLVGYa3ZulBlmjA40ZEpk+iPH5ebN0v7t27wDt3rm23bph2aQrL7uSTLXhobenXYBVKggXnQt6rJ9A7FCDNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@electron-forge/tracer": "7.5.0",
"@electron/packager": "^18.3.5",
"@electron/rebuild": "^3.2.10",
"listr2": "^7.0.2"
},
"engines": {
"node": ">= 16.4.0"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/@electron-forge/tracer": {
"version": "7.5.0",
"resolved": "https://registry.npmjs.org/@electron-forge/tracer/-/tracer-7.5.0.tgz",
"integrity": "sha512-1dE0wKCmv/K3BXCH70o2jp/y2kXgZQm73gIvzyadySXYwu2L4BWxhAO+Q+JsnbUk+nclHEup5ph4D0JoPIWLcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"chrome-trace-event": "^1.0.3"
},
"engines": {
"node": ">= 14.17.5"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/fs-extra": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/@electron-forge/maker-dmg/node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">= 10.0.0"
}
},
"node_modules/@electron-forge/maker-rpm": {
"version": "7.4.0",
"resolved": "https://registry.npmjs.org/@electron-forge/maker-rpm/-/maker-rpm-7.4.0.tgz",
@ -3058,6 +3160,17 @@
"node": ">= 10"
}
},
"node_modules/@types/appdmg": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@types/appdmg/-/appdmg-0.5.5.tgz",
"integrity": "sha512-G+n6DgZTZFOteITE30LnWj+HRVIGr7wMlAiLWOO02uJFWVEitaPU9JVXm9wJokkgshBawb2O1OykdcsmkkZfgg==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/babel__core": {
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
@ -3271,6 +3384,8 @@
"version": "17.0.33",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
"integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/yargs-parser": "*"
}
@ -3278,7 +3393,8 @@
"node_modules/@types/yargs-parser": {
"version": "21.0.3",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
"dev": true
},
"node_modules/@types/yauzl": {
"version": "2.10.0",
@ -3896,6 +4012,174 @@
"node": ">= 8"
}
},
"node_modules/appdmg": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/appdmg/-/appdmg-0.6.6.tgz",
"integrity": "sha512-GRmFKlCG+PWbcYF4LUNonTYmy0GjguDy6Jh9WP8mpd0T6j80XIJyXBiWlD0U+MLNhqV9Nhx49Gl9GpVToulpLg==",
"dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"async": "^1.4.2",
"ds-store": "^0.1.5",
"execa": "^1.0.0",
"fs-temp": "^1.0.0",
"fs-xattr": "^0.3.0",
"image-size": "^0.7.4",
"is-my-json-valid": "^2.20.0",
"minimist": "^1.1.3",
"parse-color": "^1.0.0",
"path-exists": "^4.0.0",
"repeat-string": "^1.5.4"
},
"bin": {
"appdmg": "bin/appdmg.js"
},
"engines": {
"node": ">=8.5"
}
},
"node_modules/appdmg/node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
},
"engines": {
"node": ">=4.8"
}
},
"node_modules/appdmg/node_modules/execa": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
"is-stream": "^1.1.0",
"npm-run-path": "^2.0.0",
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/appdmg/node_modules/get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"pump": "^3.0.0"
},
"engines": {
"node": ">=6"
}
},
"node_modules/appdmg/node_modules/is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/appdmg/node_modules/npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"path-key": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/appdmg/node_modules/path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=4"
}
},
"node_modules/appdmg/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"license": "ISC",
"optional": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/appdmg/node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"shebang-regex": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/appdmg/node_modules/shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/appdmg/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"license": "ISC",
"optional": true,
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"which": "bin/which"
}
},
"node_modules/aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
@ -3968,6 +4252,14 @@
"node": ">= 6"
}
},
"node_modules/async": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
"integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
@ -4101,6 +4393,17 @@
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/base32-encode": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/base32-encode/-/base32-encode-1.2.0.tgz",
"integrity": "sha512-cHFU8XeRyx0GgmoWi5qHMCVRiqU6J3MHWxVgun7jggCBUpVzm1Ir7M9dYr2whjSNc3tFeXfQ/oZjQu/4u55h9A==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"to-data-view": "^1.1.0"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@ -4148,6 +4451,17 @@
"dev": true,
"optional": true
},
"node_modules/bplist-creator": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.8.tgz",
"integrity": "sha512-Za9JKzD6fjLC16oX2wsXfc+qBEhJBJB1YPInoAQpMLhDuj5aVOv1baGeIQSq1Fr3OCqzvsoQcSBSwGId/Ja2PA==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"stream-buffers": "~2.2.0"
}
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -5053,6 +5367,19 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"dev": true
},
"node_modules/ds-store": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/ds-store/-/ds-store-0.1.6.tgz",
"integrity": "sha512-kY21M6Lz+76OS3bnCzjdsJSF7LBpLYGCVfavW8TgQD2XkcqIZ86W0y9qUDZu6fp7SIZzqosMDW2zi7zVFfv4hw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"bplist-creator": "~0.0.3",
"macos-alias": "~0.2.5",
"tn1150": "^0.1.0"
}
},
"node_modules/eastasianwidth": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@ -5324,6 +5651,28 @@
"node": ">=10"
}
},
"node_modules/electron-installer-dmg": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/electron-installer-dmg/-/electron-installer-dmg-5.0.1.tgz",
"integrity": "sha512-qOa1aAQdX57C+vzhDk3549dd/PRlNL4F8y736MTD1a43qptD+PvHY97Bo9gSf+OZ8iUWE7BrYSpk/FgLUe40EA==",
"dev": true,
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"@types/appdmg": "^0.5.5",
"debug": "^4.3.2",
"minimist": "^1.2.7"
},
"bin": {
"electron-installer-dmg": "dist/electron-installer-dmg-bin.js"
},
"engines": {
"node": ">= 16"
},
"optionalDependencies": {
"appdmg": "^0.6.4"
}
},
"node_modules/electron-installer-redhat": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/electron-installer-redhat/-/electron-installer-redhat-3.4.0.tgz",
@ -6253,6 +6602,17 @@
"node": ">= 10.0.0"
}
},
"node_modules/fmix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/fmix/-/fmix-0.1.0.tgz",
"integrity": "sha512-Y6hyofImk9JdzU8k5INtTXX1cu8LDlePWDFU5sftm9H+zKCr5SGrVjdhkvsim646cw5zD0nADj8oHyXMZmCZ9w==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"imul": "^1.0.0"
}
},
"node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
@ -6280,6 +6640,32 @@
"node": ">= 8"
}
},
"node_modules/fs-temp": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/fs-temp/-/fs-temp-1.2.1.tgz",
"integrity": "sha512-okTwLB7/Qsq82G6iN5zZJFsOfZtx2/pqrA7Hk/9fvy+c+eJS9CvgGXT2uNxwnI14BDY9L/jQPkaBgSvlKfSW9w==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"random-path": "^0.1.0"
}
},
"node_modules/fs-xattr": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/fs-xattr/-/fs-xattr-0.3.1.tgz",
"integrity": "sha512-UVqkrEW0GfDabw4C3HOrFlxKfx0eeigfRne69FxSBdHIP8Qt5Sq6Pu3RM9KmMlkygtC4pPKkj5CiPO5USnj2GA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"!win32"
],
"engines": {
"node": ">=8.6.0"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@ -6391,6 +6777,28 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
"node_modules/generate-function": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"is-property": "^1.0.2"
}
},
"node_modules/generate-object-property": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
"integrity": "sha512-TuOwZWgJ2VAMEGJvAyPWvpqxSANF0LDpmyHauMjFYzaACvn+QTT/AZomvPCzVBV7yDN3OmwHQ5OvHaeLKre3JQ==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"is-property": "^1.0.0"
}
},
"node_modules/gensync": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
@ -6504,6 +6912,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/github-url-to-object": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/github-url-to-object/-/github-url-to-object-4.0.6.tgz",
"integrity": "sha512-NaqbYHMUAlPcmWFdrAB7bcxrNIiiJWJe8s/2+iOc9vlcHlwHqSGrPk+Yi3nu6ebTwgsZEa7igz+NH2vEq3gYwQ==",
"license": "MIT",
"dependencies": {
"is-url": "^1.1.0"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@ -6913,6 +7330,20 @@
"node": ">= 4"
}
},
"node_modules/image-size": {
"version": "0.7.5",
"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz",
"integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==",
"dev": true,
"license": "MIT",
"optional": true,
"bin": {
"image-size": "bin/image-size.js"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/import-fresh": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
@ -6957,6 +7388,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/imul": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/imul/-/imul-1.0.1.tgz",
"integrity": "sha512-WFAgfwPLAjU66EKt6vRdTlKj4nAgIDQzh29JonLa4Bqtl6D8JrIMvWjCnx7xEjVNmP3U0fM5o8ZObk7d0f62bA==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@ -7102,6 +7544,29 @@
"dev": true,
"license": "MIT"
},
"node_modules/is-my-ip-valid": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.1.tgz",
"integrity": "sha512-jxc8cBcOWbNK2i2aTkCZP6i7wkHF1bqKFrwEHuN5Jtg5BSaZHUZQ/JTOJwoV41YvHnOaRyWWh72T/KvfNz9DJg==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/is-my-json-valid": {
"version": "2.20.6",
"resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.6.tgz",
"integrity": "sha512-1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"generate-function": "^2.0.0",
"generate-object-property": "^1.1.0",
"is-my-ip-valid": "^1.0.0",
"jsonpointer": "^5.0.0",
"xtend": "^4.0.0"
}
},
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@ -7132,6 +7597,14 @@
"node": ">=0.10.0"
}
},
"node_modules/is-property": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
@ -7157,6 +7630,12 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-url": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
"integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
"license": "MIT"
},
"node_modules/is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
@ -8050,6 +8529,17 @@
"graceful-fs": "^4.1.6"
}
},
"node_modules/jsonpointer": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/junk": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
@ -8475,6 +8965,21 @@
"node": ">=10"
}
},
"node_modules/macos-alias": {
"version": "0.2.11",
"resolved": "https://registry.npmjs.org/macos-alias/-/macos-alias-0.2.11.tgz",
"integrity": "sha512-zIUs3+qpml+w3wiRuADutd7XIO8UABqksot10Utl/tji4UxZzLG4fWDC+yJZoO8/Ehg5RqsvSRE/6TS5AEOeWw==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
"dependencies": {
"nan": "^2.4.0"
}
},
"node_modules/make-dir": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
@ -8839,8 +9344,28 @@
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/murmur-32": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/murmur-32/-/murmur-32-0.2.0.tgz",
"integrity": "sha512-ZkcWZudylwF+ir3Ld1n7gL6bI2mQAzXvSobPwVtu8aYi2sbXeipeSkdcanRLzIofLcM5F53lGaKm2dk7orBi7Q==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"encode-utf8": "^1.0.3",
"fmix": "^0.1.0",
"imul": "^1.0.0"
}
},
"node_modules/nan": {
"version": "2.20.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz",
"integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/natural-compare": {
"version": "1.4.0",
@ -9314,6 +9839,24 @@
"node": ">=0.10.0"
}
},
"node_modules/parse-color": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
"integrity": "sha512-fuDHYgFHJGbpGMgw9skY/bj3HL/Jrn4l/5rSspy00DoT4RyLnDcRvPxdZ+r6OFwIsgAuhDh4I09tAId4mI12bw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"color-convert": "~0.5.0"
}
},
"node_modules/parse-color/node_modules/color-convert": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
"integrity": "sha512-RwBeO/B/vZR3dfKL1ye/vx8MHZ40ugzpyfeVG5GsiuGnrlMWe2o8wxBbLCpw9CsxV+wHuzYlCiWnybrIA0ling==",
"dev": true,
"optional": true
},
"node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@ -9752,6 +10295,18 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/random-path": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/random-path/-/random-path-0.1.2.tgz",
"integrity": "sha512-4jY0yoEaQ5v9StCl5kZbNIQlg1QheIDBrdkDn53EynpPb9FgO6//p3X/tgMnrC45XN6QZCzU1Xz/+pSSsJBpRw==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"base32-encode": "^0.1.0 || ^1.0.0",
"murmur-32": "^0.1.0 || ^0.2.0"
}
},
"node_modules/randombytes": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
@ -9909,6 +10464,17 @@
"node": ">= 10.13.0"
}
},
"node_modules/repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@ -10488,6 +11054,17 @@
"node": ">=8"
}
},
"node_modules/stream-buffers": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
"integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==",
"dev": true,
"license": "Unlicense",
"optional": true,
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/string_decoder": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
@ -10830,6 +11407,28 @@
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
"dev": true
},
"node_modules/tn1150": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/tn1150/-/tn1150-0.1.0.tgz",
"integrity": "sha512-DbplOfQFkqG5IHcDyyrs/lkvSr3mPUVsFf/RbDppOshs22yTPnSJWEe6FkYd1txAwU/zcnR905ar2fi4kwF29w==",
"dev": true,
"license": "MIT",
"optional": true,
"dependencies": {
"unorm": "^1.4.1"
},
"engines": {
"node": ">=0.12"
}
},
"node_modules/to-data-view": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/to-data-view/-/to-data-view-1.1.0.tgz",
"integrity": "sha512-1eAdufMg6mwgmlojAx3QeMnzB/BTVp7Tbndi3U7ftcT2zCZadjxkkmLmd97zmaxWi+sgGcgWrokmpEoy0Dn0vQ==",
"dev": true,
"license": "MIT",
"optional": true
},
"node_modules/to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@ -11087,6 +11686,17 @@
"node": ">= 4.0.0"
}
},
"node_modules/unorm": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz",
"integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==",
"dev": true,
"license": "MIT or GPL-2.0",
"optional": true,
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/update-browserslist-db": {
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
@ -11117,6 +11727,17 @@
"browserslist": ">= 4.21.0"
}
},
"node_modules/update-electron-app": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/update-electron-app/-/update-electron-app-3.0.0.tgz",
"integrity": "sha512-Ccs46fgUEcMpSRPMNw82DFMux2MGi5tkKkEpV723JmtPNI3qAtxvTeiYkKczN2/LehA3U7JGrGr4MhraxGdRTw==",
"license": "MIT",
"dependencies": {
"github-url-to-object": "^4.0.4",
"is-url": "^1.2.4",
"ms": "^2.1.1"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@ -11622,6 +12243,17 @@
"node": ">=8.0"
}
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true,
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.4"
}
},
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",

View file

@ -6,7 +6,7 @@
"author": "Koen Jeukendrup",
"license": "MIT",
"scripts": {
"build": "rm -rf dist/ && webpack --config ./webpack.config.js && cp -r src/player dist/player && cp -r src/main dist/main && cp app.ico dist/ && cp app.png dist/",
"build": "rm -rf dist/ && webpack --config ./webpack.config.js && cp -r src/player dist/player && cp -r src/main dist/main && cp assets/icons/icon.ico dist/ && cp assets/icons/icon.png dist/",
"start": "electron-forge start",
"test": "jest",
"package": "electron-forge package",
@ -27,6 +27,7 @@
"@types/node-forge": "^1.3.10",
"@types/workerpool": "^6.1.1",
"@types/ws": "^8.5.10",
"@types/yargs": "^17.0.33",
"electron": "^22.2.0",
"eslint": "^9.10.0",
"globals": "^15.9.0",
@ -40,12 +41,12 @@
"webpack-cli": "^5.0.1"
},
"dependencies": {
"@types/yargs": "^17.0.33",
"bufferutil": "^4.0.8",
"electron-squirrel-startup": "^1.0.1",
"http": "^0.0.1-security",
"https": "^1.0.0",
"qrcode": "^1.5.3",
"update-electron-app": "^3.0.0",
"url": "^0.11.3",
"uuid": "^9.0.1",
"ws": "^8.14.2",

View file

@ -1,7 +0,0 @@
#!/bin/sh
npm run build
sh package.sh linux-x64
sh package.sh linux-arm64
sh package.sh win32-x64
sh package-macos.sh darwin-x64
sh package-macos.sh darwin-arm64

View file

@ -1,20 +0,0 @@
#!/bin/sh
filename="electron-v23.0.0-$1.zip"
url="https://github.com/electron/electron/releases/download/v23.0.0/electron-v23.0.0-$1.zip"
if [ ! -f $filename ]; then
wget $url
fi
rm fcast-receiver-$1.zip
rm -rf $1
unzip electron-v23.0.0-$1.zip -d $1
mkdir -p $1/Electron.app/Contents/Resources/app
mkdir -p $1/Electron.app/Contents/Resources/app
cp -r ../dist $1/Electron.app/Contents/Resources/app/
cp ../package.json $1/Electron.app/Contents/Resources/app
mv $1/Electron.app $1/FCastReceiver.app
cd $1
zip -r ../fcast-receiver-$1.zip FCastReceiver.app
cd ..
rm -rf $1

View file

@ -1,28 +0,0 @@
#!/bin/sh
filename="electron-v23.0.0-$1.zip"
url="https://github.com/electron/electron/releases/download/v23.0.0/electron-v23.0.0-$1.zip"
if [ ! -f $filename ]; then
wget $url
fi
rm fcast-receiver-$1.zip
rm -rf $1
unzip electron-v23.0.0-$1.zip -d $1
mkdir -p $1/resources
mkdir -p $1/resources/app
cp -r ../dist $1/resources/app/
cp ../package.json $1/resources/app
if [ -f "$1/electron" ]; then
mv $1/electron $1/fcast-receiver
fi
if [ -f "$1/electron.exe" ]; then
mv $1/electron.exe $1/fcast-receiver.exe
fi
cd $1
zip -r ../fcast-receiver-$1.zip .
cd ..
rm -rf $1

View file

@ -0,0 +1,15 @@
#!/bin/zsh
mkdir icon.iconset
sips -z 16 16 ./assets/icons/icon1024.png --out icon.iconset/icon_16x16.png
sips -z 32 32 ./assets/icons/icon1024.png --out icon.iconset/icon_16x16@2x.png
sips -z 32 32 ./assets/icons/icon1024.png --out icon.iconset/icon_32x32.png
sips -z 64 64 ./assets/icons/icon1024.png --out icon.iconset/icon_32x32@2x.png
sips -z 128 128 ./assets/icons/icon1024.png --out icon.iconset/icon_128x128.png
sips -z 256 256 ./assets/icons/icon1024.png --out icon.iconset/icon_128x128@2x.png
sips -z 256 256 ./assets/icons/icon1024.png --out icon.iconset/icon_256x256.png
sips -z 512 512 ./assets/icons/icon1024.png --out icon.iconset/icon_256x256@2x.png
sips -z 512 512 ./assets/icons/icon1024.png --out icon.iconset/icon_512x512.png
cp ./assets/icons/icon1024.png icon.iconset/icon_512x512@2x.png
iconutil -c icns icon.iconset
rm -R icon.iconset
mv icon.icns ./assets/icons/icon.icns

View file

@ -30,7 +30,7 @@ export default class Main {
static proxiedFiles: Map<string, { url: string, headers: { [key: string]: string } }> = new Map();
private static createTray() {
const icon = (process.platform === 'win32') ? path.join(__dirname, 'app.ico') : path.join(__dirname, 'app.png');
const icon = (process.platform === 'win32') ? path.join(__dirname, 'icon.ico') : path.join(__dirname, 'icon.png');
const trayicon = nativeImage.createFromPath(icon)
const tray = new Tray(trayicon.resize({ width: 16 }));
const contextMenu = Menu.buildFromTemplate([