- new commit

This commit is contained in:
Gilles Lazures 2025-04-28 04:54:16 +02:00
parent affae5b975
commit 5c8be610f1
10 changed files with 456 additions and 54 deletions

View File

@ -1,4 +1,4 @@
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap"); @import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://cdn.jsdelivr.net/gh/hung1001/font-awesome-pro@4cac1a6/css/all.css"); @import url("https://cdn.jsdelivr.net/gh/hung1001/font-awesome-pro@4cac1a6/css/all.css");
* { * {
@ -60,6 +60,7 @@ button.nav {
width: 100%; width: 100%;
height: 40px; height: 40px;
border: none; border: none;
cursor: pointer;
font-size: large; font-size: large;
text-align: left; text-align: left;
padding: 13px 13px 13px 13px; padding: 13px 13px 13px 13px;
@ -84,6 +85,16 @@ button.nav > span {
color: #ffffff; color: #ffffff;
} }
img.logo {
width: 60%;
}
img.mascot {
width: 50%;
float: right;
margin-top: calc(300px - (50% + 12px));
}
fieldset { fieldset {
font-size: small; font-size: small;
border: none; border: none;
@ -99,12 +110,132 @@ input[type=radio] {
} }
button.classic { button.classic {
color: #ffffff;
width: 96%; width: 96%;
height: 30px; height: 30px;
border: none;
cursor: pointer;
outline: none;
margin-left: 2%; margin-left: 2%;
margin-top: 5px; margin-top: 5px;
border: none; transition: .3s;
color: #ffffff;
border-radius: 5px; border-radius: 5px;
background-color: #39aa6d; background-color: #39aa6d;
}
button.classic:hover {
background-color: #359e66;
}
button.close {
float: right;
color: #ffffff;
width: 30px;
height: 30px;
border: none;
cursor: pointer;
outline: none;
transition: .5s;
margin-top: 15px;
margin-right: 15px;
border-radius: 5px;
background-color: #0000001c;
}
button.close:hover {
background-color: #4e4e4e25;
}
button.play {
background-color: #39AA6D;
color: #FFFFFF;
border: none;
width: 300px;
height: 65px;
font-size: 28px;
font-weight: normal;
cursor: pointer;
margin: auto;
outline: none;
border-radius: 30px 15px 30px 15px;
transition: background-color 0.3s;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}
button.play:hover {
background-color: #2E8B57;
}
button.default {
width: 40px;
color: #ffffff;
height: 40px;
cursor: pointer;
border: 0px;
outline: none;
font-size: 16px;
transition: .3s all;
border-radius: 10px;
background-color: #00000036;
}
button.default:hover {
background-color: #00000060;
}
p.players {
width: 185px;
padding: 3px 3px 3px 3px;
font-size: larger;
font-style: italic;
background: #f0f0f033;
font-weight: bolder;
border-radius: 15px;
text-align: center;
font-family: "Raleway", sans-serif;
margin-top: calc(300px - 40px);
}
p.players > span {
width: 100%;
}
p.players > span > span {
font-family: "Roboto", sans-serif;
text-align: center;
}
main > footer {
position: absolute;
display: flex;
flex-wrap: wrap;
left: 60px;
right: 60px;
bottom: 70px;
height: 300px;
}
main > footer > section.left {
width: 20%;
height: 100%;
}
main > footer > section.left > button.default {
margin-top: calc(300px - (40px + 12px));
}
main > footer > section.center {
width: 60%;
height: 100%;
text-align: center;
}
main > footer > section.right {
width: 20%;
height: 100%;
}
[hidden] {
display: none;
visibility: hidden;
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 KiB

View File

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

35
app/assets/js/index.js Normal file
View File

@ -0,0 +1,35 @@
const navBar = document.querySelector("nav")
const uiButton = document.querySelector("footer>section.left")
const audio = new Audio()
function startAudio() {
audio.src = "/app/assets/audio/Golden Hill (Radio Edit).mp3"
audio.loop = true
audio.onended = () => {
if (!audio.paused) {
audio.play()
}
}
}
function muteAudio() {
audio.muted = true
}
function unmuteAudio() {
audio.muted = false
}
function showNavBar() {
navBar.removeAttribute("hidden")
for (const button of uiButton.children) {
button.setAttribute("hidden", "")
}
}
function hideNavBar() {
navBar.setAttribute("hidden", "")
for (const button of uiButton.children) {
button.removeAttribute("hidden")
}
}

View File

@ -1,19 +0,0 @@
const audio = new Audio()
function startAudio() {
audio.src = "/app/assets/audio/Golden Hill (Radio Edit).mp3"
audio.loop = true
audio.onended = () => {
if (!audio.paused) {
audio.play()
}
}
}
function muteAudio() {
audio.muted = true
}
function unmuteAudio() {
audio.muted = false
}

View File

@ -4,13 +4,19 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./assets/css/index.css"> <link rel="stylesheet" href="./assets/css/index.css">
<title>Document</title> <title>NyanLauncher</title>
</head> </head>
<body> <body>
<main> <main>
<nav> <button class="close" onclick="sys.call('window::close')">
<img src="./assets/img/logo_no_blanc.png" alt=""> <i class="fas fa-times"></i>
</button>
<nav hidden>
<button class="close" onclick="hideNavBar()">
<i class="fas fa-times"></i>
</button>
<br>
<img src="./assets/img/logo.png" alt="">
<details> <details>
<summary> <summary>
<button class="nav" onclick="this.parentNode.click()"> <button class="nav" onclick="this.parentNode.click()">
@ -113,9 +119,37 @@
</span> </span>
</button> </button>
</nav> </nav>
<footer>
<section class="left">
<button class="default" onclick="showNavBar()">
<i class="fas fa-cog"></i>
</button>
<button class="default">
<i class="far fa-music"></i>
</button>
</section>
<section class="center">
<img class="logo" src="./assets/img/logo.png" alt="">
<br>
<button class="play">
Jouer
</button>
</section>
<section class="right">
<img class="mascot" src="./assets/img/alcaz_mascote.png" alt="">
<p class="players">
<span>
Joueurs :
<span>
0/0
</span>
</span>
</p>
</section>
</footer>
</main> </main>
<script src="./assets/js/inex.js"></script> <script src="./assets/js/index.js"></script>
</body> </body>
</html> </html>

58
main.js
View File

@ -1,4 +1,4 @@
const { BrowserWindow, app, net, dialog, ipcMain } = require("electron") const { BrowserWindow, app, net, dialog, ipcMain, nativeImage } = require("electron")
const os = require("os") const os = require("os")
const hwid = require("./modules/hwid") const hwid = require("./modules/hwid")
const path = require("node:path") const path = require("node:path")
@ -7,13 +7,15 @@ let launcherWindow
async function createLauncherWindow() { async function createLauncherWindow() {
if (net.isOnline()) { if (net.isOnline()) {
let win_width = 1550
let win_height = parseInt(win_width / (16/9))
const isLauncherNotBanned = await checkIfIAmBanned() const isLauncherNotBanned = await checkIfIAmBanned()
launcherWindow = new BrowserWindow({ launcherWindow = new BrowserWindow({
frame: false, frame: false,
width: 900, width: win_width,
height: 600, height: win_height,
minWidth: 900, minWidth: win_width,
minHeight: 600, minHeight: win_height,
titleBarStyle: "hidden", titleBarStyle: "hidden",
autoHideMenuBar: true, autoHideMenuBar: true,
roundedCorners: false, roundedCorners: false,
@ -21,11 +23,11 @@ async function createLauncherWindow() {
webPreferences: { webPreferences: {
nodeIntegration: false, nodeIntegration: false,
contextIsolation: true, contextIsolation: true,
preload: path.join(__dirname, "app", "index.html") preload: path.join(__dirname, "modules", "preload.html")
} }
}) })
if (isLauncherNotBanned.success) { if (isLauncherNotBanned.success) {
launcherWindow.loadFile(path.join(__dirname, "app", "index.html")) launcherWindow.loadFile(path.join(__dirname, "app", "logged.html"))
} else { } else {
launcherWindow.loadFile(path.join(__dirname, "app", "banned.html")) launcherWindow.loadFile(path.join(__dirname, "app", "banned.html"))
launcherWindow.webContents.executeJavaScript(` launcherWindow.webContents.executeJavaScript(`
@ -34,28 +36,36 @@ async function createLauncherWindow() {
setBannedBecause("${isLauncherNotBanned.reason}") setBannedBecause("${isLauncherNotBanned.reason}")
`) `)
} }
if (os.platform() == "darwin") {
app.dock.setIcon(nativeImage.createFromPath(path.join(__dirname, "app", "assets", "img", "icon.png")))
}
launcherWindow.setIcon(path.join(__dirname, "app", "assets", "img", "icon.png"))
} else { } else {
dialog.showErrorBox("Le launcher requiert une connexion internet.") dialog.showErrorBox("Connexion internet", "Le launcher requiert une connexion internet.")
} }
} }
async function checkIfIAmBanned() { async function checkIfIAmBanned() {
if (net.isOnline()) { // if (net.isOnline()) {
try { // try {
const reponse = await fetch(config, { // const reponse = await fetch(`${config.api.base}${config.api.endpoints.checkBanStatus}`, {
body: JSON.stringify({ // method: "post",
hwid: hwid.getHWID() // body: JSON.stringify({
}) // hwid: hwid.getHWID()
}) // })
const json = await reponse.json() // })
return json // const json = await reponse.json()
} catch (error) { // return json
dialog.showErrorBox("Impossible de contacter l'API, fermeture du launcher.") // } catch (error) {
console.error(error) // dialog.showErrorBox("Connexion à l'API", "Impossible de contacter l'API, fermeture du launcher.")
app.exit() // console.error(error)
} // app.exit()
} else { // }
dialog.showErrorBox("Le launcher requiert une connexion internet.") // } else {
// dialog.showErrorBox("Connexion internet", "Le launcher requiert une connexion internet.")
// }
return {
success: true
} }
} }

211
package-lock.json generated
View File

@ -15,7 +15,8 @@
}, },
"devDependencies": { "devDependencies": {
"electron": "^35.2.1", "electron": "^35.2.1",
"electron-builder": "^26.0.12" "electron-builder": "^26.0.12",
"electronmon": "^2.0.3"
} }
}, },
"node_modules/@develar/schema-utils": { "node_modules/@develar/schema-utils": {
@ -1348,6 +1349,19 @@
"balanced-match": "^1.0.0" "balanced-match": "^1.0.0"
} }
}, },
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
"dev": true,
"license": "MIT",
"dependencies": {
"fill-range": "^7.1.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/buffer": { "node_modules/buffer": {
"version": "5.7.1", "version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
@ -2453,6 +2467,39 @@
"node": ">=6 <7 || >=8" "node": ">=6 <7 || >=8"
} }
}, },
"node_modules/electronmon": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/electronmon/-/electronmon-2.0.3.tgz",
"integrity": "sha512-vpsNupi9sCzOCvx8GACbSHKEImkNF2a6pU5Io2yabARbJeQ/8ZuY7t/43LilF6Qw0nZ0MbKQt4sO3x0F3drpQQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"chalk": "^3.0.0",
"import-from": "^3.0.0",
"runtime-required": "^1.1.0",
"watchboy": "^0.4.3"
},
"bin": {
"electronmon": "bin/cli.js"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/electronmon/node_modules/chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@ -2675,6 +2722,19 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
"dev": true,
"license": "MIT",
"dependencies": {
"to-regex-range": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/foreground-child": { "node_modules/foreground-child": {
"version": "3.3.1", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
@ -3220,6 +3280,19 @@
], ],
"license": "BSD-3-Clause" "license": "BSD-3-Clause"
}, },
"node_modules/import-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz",
"integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"resolve-from": "^5.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/imurmurhash": { "node_modules/imurmurhash": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
@ -3320,6 +3393,16 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.12.0"
}
},
"node_modules/is-typedarray": { "node_modules/is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@ -3554,6 +3637,13 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/lodash.difference": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
"integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
"dev": true,
"license": "MIT"
},
"node_modules/log-symbols": { "node_modules/log-symbols": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@ -3698,6 +3788,20 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/micromatch": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
"dev": true,
"license": "MIT",
"dependencies": {
"braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
"node": ">=8.6"
}
},
"node_modules/mime": { "node_modules/mime": {
"version": "2.6.0", "version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
@ -4028,6 +4132,19 @@
"node": "^12.13.0 || ^14.15.0 || >=16.0.0" "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
} }
}, },
"node_modules/normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
"dev": true,
"license": "MIT",
"dependencies": {
"remove-trailing-separator": "^1.0.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/normalize-url": { "node_modules/normalize-url": {
"version": "6.1.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
@ -4251,6 +4368,29 @@
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8.6"
},
"funding": {
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/plist": { "node_modules/plist": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz",
@ -4430,6 +4570,13 @@
"node-addon-api": "^1.3.0" "node-addon-api": "^1.3.0"
} }
}, },
"node_modules/remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
"dev": true,
"license": "ISC"
},
"node_modules/request": { "node_modules/request": {
"version": "2.88.2", "version": "2.88.2",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
@ -4521,6 +4668,16 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/responselike": { "node_modules/responselike": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz",
@ -4594,6 +4751,16 @@
"node": ">=8.0" "node": ">=8.0"
} }
}, },
"node_modules/runtime-required": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/runtime-required/-/runtime-required-1.1.0.tgz",
"integrity": "sha512-yX97f5E0WfNpcQnfVjap6vzQcvErkYYCx6eTK4siqGEdC8lglwypUFgZVTX7ShvIlgfkC4XGFl9O1KTYcff0pw==",
"dev": true,
"license": "ISC",
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/safe-buffer": { "node_modules/safe-buffer": {
"version": "5.2.1", "version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
@ -5135,6 +5302,19 @@
"tmp": "^0.2.0" "tmp": "^0.2.0"
} }
}, },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-number": "^7.0.0"
},
"engines": {
"node": ">=8.0"
}
},
"node_modules/tough-cookie": { "node_modules/tough-cookie": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@ -5259,6 +5439,19 @@
"node": ">= 4.0.0" "node": ">= 4.0.0"
} }
}, },
"node_modules/unixify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz",
"integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==",
"dev": true,
"license": "MIT",
"dependencies": {
"normalize-path": "^2.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/uri-js": { "node_modules/uri-js": {
"version": "4.4.1", "version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@ -5307,6 +5500,22 @@
"node": ">=0.6.0" "node": ">=0.6.0"
} }
}, },
"node_modules/watchboy": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/watchboy/-/watchboy-0.4.3.tgz",
"integrity": "sha512-GHs1HxwvxSMBsqd/WfTOZhj5gBdMqf5HQpfgtKxDfZRxrlYPDdVLRB61LCeRzJaWANmvSIMlfmRVDwVmJFgAKA==",
"dev": true,
"license": "ISC",
"dependencies": {
"lodash.difference": "^4.5.0",
"micromatch": "^4.0.2",
"pify": "^4.0.1",
"unixify": "^1.0.0"
},
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/wcwidth": { "node_modules/wcwidth": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",

View File

@ -4,7 +4,8 @@
"description": "a simple minecraft launcher for catboat", "description": "a simple minecraft launcher for catboat",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "start": "electron .",
"start:dev": "electronmon ."
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@ -18,7 +19,8 @@
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"devDependencies": { "devDependencies": {
"electron": "^35.2.1", "electron": "^35.2.1",
"electron-builder": "^26.0.12" "electron-builder": "^26.0.12",
"electronmon": "^2.0.3"
}, },
"dependencies": { "dependencies": {
"discord-rpc": "^4.0.1", "discord-rpc": "^4.0.1",