diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 53c37a1660..0000000000 --- a/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -dist \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index dd0367066f..0000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "env": { - "es2022": true, - "node": true - }, - "extends": "eslint:recommended", - "parserOptions": { - "ecmaVersion": 2022, - "sourceType": "module" - }, - "rules": { - "indent": [ - "error", - 4, - { - "SwitchCase": 1 - } - ], - "linebreak-style": [ - "error", - "windows" - ], - "quotes": [ - "error", - "single" - ], - "semi": [ - "error", - "never" - ], - "no-var": [ - "error" - ], - "no-console": [ - 0 - ], - "no-control-regex": [ - 0 - ], - "no-unused-vars": [ - "error", - { - "vars": "all", - "args": "none", - "ignoreRestSiblings": false, - "argsIgnorePattern": "reject" - } - ], - "no-async-promise-executor": [ - 0 - ] - }, - "overrides": [ - { - "files": [ "app/assets/js/scripts/*.js" ], - "rules": { - "no-unused-vars": [ - 0 - ], - "no-undef": [ - 0 - ] - } - } - ] -} \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c680644d0d..93be13c780 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,15 +15,15 @@ jobs: steps: - name: Check out Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v6 - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v6 with: - node-version: 20 + node-version: 22 - name: Set up Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: 3.x diff --git a/.nvmrc b/.nvmrc index 2edeafb09d..8fdd954df9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20 \ No newline at end of file +22 \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt index a92150f240..da42510717 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017-2024 Daniel D. Scalzi +Copyright (c) 2017-2026 Daniel D. Scalzi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index ce117b3a16..1b3aea49e8 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ This section details the setup of a basic developmentment environment. **System Requirements** -* [Node.js][nodejs] v20 +* [Node.js][nodejs] v22 --- diff --git a/app/assets/css/launcher.css b/app/assets/css/launcher.css index 8b2393117e..a77f7340c8 100644 --- a/app/assets/css/launcher.css +++ b/app/assets/css/launcher.css @@ -3136,13 +3136,13 @@ input:checked + .toggleSwitchSlider:before { transition-delay:0s; } -/* Twitter icon colors. */ -#twitterSVG:hover, -#twitterURL:focus #twitterSVG { - fill: #1da1f2; +/* X icon colors. */ +#xSVG:hover, +#xURL:focus #xSVG { + fill: #000000; } -#twitterSVG:active { - fill: #1b8dd4; +#xSVG:active { + fill: #090909; } /* Instagram icon colors. */ diff --git a/app/assets/images/icons/twitter.svg b/app/assets/images/icons/twitter.svg deleted file mode 100644 index bad6d42c5d..0000000000 --- a/app/assets/images/icons/twitter.svg +++ /dev/null @@ -1,13 +0,0 @@ - \ No newline at end of file diff --git a/app/assets/images/icons/x.svg b/app/assets/images/icons/x.svg new file mode 100644 index 0000000000..c3b51623a8 --- /dev/null +++ b/app/assets/images/icons/x.svg @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/app/assets/js/authmanager.js b/app/assets/js/authmanager.js index 5a24f30aec..5d67bbb53e 100644 --- a/app/assets/js/authmanager.js +++ b/app/assets/js/authmanager.js @@ -382,7 +382,7 @@ async function validateSelectedMicrosoftAccount(){ ) ConfigManager.save() return true - } catch(err) { + } catch(_err) { return false } } else { @@ -401,7 +401,7 @@ async function validateSelectedMicrosoftAccount(){ ConfigManager.save() return true } - catch(err) { + catch(_err) { return false } } diff --git a/app/assets/js/configmanager.js b/app/assets/js/configmanager.js index 38f864fe0c..46520ab6ea 100644 --- a/app/assets/js/configmanager.js +++ b/app/assets/js/configmanager.js @@ -53,7 +53,7 @@ exports.getAbsoluteMinRAM = function(ram){ } } -exports.getAbsoluteMaxRAM = function(ram){ +exports.getAbsoluteMaxRAM = function(_ram){ const mem = os.totalmem() const gT16 = mem-(16*1073741824) return Math.floor((mem-(gT16 > 0 ? (Number.parseInt(gT16/8) + (16*1073741824)/4) : mem/4))/1073741824) diff --git a/app/assets/js/processbuilder.js b/app/assets/js/processbuilder.js index 8e2417828a..d48e64741e 100644 --- a/app/assets/js/processbuilder.js +++ b/app/assets/js/processbuilder.js @@ -71,7 +71,11 @@ class ProcessBuilder { args = args.concat(this.constructModList(modObj.fMods)) } - logger.info('Launch Arguments:', args) + // Hide access token + const loggableArgs = [...args] + loggableArgs[loggableArgs.findIndex(x => x === this.authUser.accessToken)] = '**********' + + logger.info('Launch Arguments:', loggableArgs) const child = child_process.spawn(ConfigManager.getJavaExecutable(this.server.rawServer.id), args, { cwd: this.gameDir, @@ -92,7 +96,7 @@ class ProcessBuilder { child.stderr.on('data', (data) => { data.trim().split('\n').forEach(x => console.log(`\x1b[31m[Minecraft]\x1b[0m ${x}`)) }) - child.on('close', (code, signal) => { + child.on('close', (code) => { logger.info('Exited with code', code) fs.remove(tempNativePath, (err) => { if(err){ @@ -230,7 +234,7 @@ class ProcessBuilder { return true } } - } catch (err) { + } catch (_err) { // We know old forge versions follow this format. // Error must be caused by newer version. } diff --git a/app/assets/js/scripts/uicore.js b/app/assets/js/scripts/uicore.js index 02e9b5dafe..dae725f92a 100644 --- a/app/assets/js/scripts/uicore.js +++ b/app/assets/js/scripts/uicore.js @@ -20,7 +20,6 @@ process.traceProcessWarnings = true process.traceDeprecation = true // Disable eval function. -// eslint-disable-next-line window.eval = global.eval = function () { throw new Error('Sorry, this app does not support window.eval().') } diff --git a/app/assets/lang/_custom.toml b/app/assets/lang/_custom.toml index da17faf99f..db736b4cb3 100644 --- a/app/assets/lang/_custom.toml +++ b/app/assets/lang/_custom.toml @@ -5,7 +5,7 @@ title = "Helios Launcher" [ejs.landing] mediaGitHubURL = "https://github.com/dscalzi/HeliosLauncher" -mediaTwitterURL = "#" +mediaXURL = "#" mediaInstagramURL = "#" mediaYouTubeURL = "#" mediaDiscordURL = "https://discord.gg/zNWUXdt" diff --git a/app/landing.ejs b/app/landing.ejs index 5ac72a1558..177cba7b16 100644 --- a/app/landing.ejs +++ b/app/landing.ejs @@ -40,10 +40,10 @@