This commit is contained in:
Daniel Scalzi 2018-11-11 18:28:58 -05:00
parent e6b9728fe5
commit affacbf56e
No known key found for this signature in database
GPG Key ID: 5CA2F145B63535F9
7 changed files with 114 additions and 87 deletions

View File

@ -30,9 +30,9 @@ script:
-v ~/.cache/electron:/root/.cache/electron \ -v ~/.cache/electron:/root/.cache/electron \
-v ~/.cache/electron-builder:/root/.cache/electron-builder \ -v ~/.cache/electron-builder:/root/.cache/electron-builder \
electronuserland/builder:wine \ electronuserland/builder:wine \
/bin/bash -c "node -v && npm ci && npm run travislinux" /bin/bash -c "node -v && npm ci && npm run cilinux"
else else
npm run travisdarwin npm run cidarwin
fi fi
before_cache: before_cache:

View File

@ -1,19 +1,3 @@
/**
* AssetGuard
*
* This module aims to provide a comprehensive and stable method for processing
* and downloading game assets for the WesterosCraft server. Download meta is
* for several identifiers (categories) is stored inside of an AssetGuard object.
* This meta data is initially empty until one of the module's processing functions
* are called. That function will process the corresponding asset index and validate
* any exisitng local files. If a file is missing or fails validation, it will be
* placed into a download queue (array). This queue is wrapped in a download tracker object
* so that essential information can be cached. The download tracker object is then
* assigned as the value of the identifier in the AssetGuard object. These download
* trackers will remain idle until an async process is started to process them.
*
* @module assetguard
*/
// Requirements // Requirements
const AdmZip = require('adm-zip') const AdmZip = require('adm-zip')
const async = require('async') const async = require('async')

View File

@ -263,6 +263,8 @@
</div> </div>
<div id="settingsAboutButtons"> <div id="settingsAboutButtons">
<a href="https://github.com/WesterosCraftCode/ElectronLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Source (GitHub)</a> <a href="https://github.com/WesterosCraftCode/ElectronLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Source (GitHub)</a>
<!-- The following must be included in third-party usage. -->
<!-- <a href="https://github.com/WesterosCraftCode/ElectronLauncher" id="settingsAboutSourceButton" class="settingsAboutButton">Original Source</a> -->
<a href="http://www.westeroscraft.com/forum/support.40/" id="settingsAboutSupportButton" class="settingsAboutButton">Support</a> <a href="http://www.westeroscraft.com/forum/support.40/" id="settingsAboutSupportButton" class="settingsAboutButton">Support</a>
<a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton">DevTools Console</a> <a href="#" id="settingsAboutDevToolsButton" class="settingsAboutButton">DevTools Console</a>
</div> </div>

141
package-lock.json generated
View File

@ -37,9 +37,9 @@
"dev": true "dev": true
}, },
"acorn": { "acorn": {
"version": "6.0.2", "version": "6.0.4",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.2.tgz", "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.4.tgz",
"integrity": "sha512-GXmKIvbrN3TV7aVqAzVFaMW8F8wzVX7voEBRO3bDA64+EX37YSayggRJP5Xig6HYHBkWKpFg9W5gg6orklubhg==", "integrity": "sha512-VY4i5EKSKkofY2I+6QLTbTTN/UvEQPCo6eiwzzSaSWfpaDhOmStMCMod6wmuPciNq+XS0faCglFu2lHZpdHUtg==",
"dev": true "dev": true
}, },
"acorn-jsx": { "acorn-jsx": {
@ -140,9 +140,9 @@
"dev": true "dev": true
}, },
"app-builder-lib": { "app-builder-lib": {
"version": "20.33.2", "version": "20.34.0",
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.33.2.tgz", "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.34.0.tgz",
"integrity": "sha512-RBeN0UbYYW/xdSiCLnVANhBsro2MemFAtBTib8QkwOr/uE1646tNH1JKOZ7fxhfrIQChWH3xcDSiZMa8ReB2ng==", "integrity": "sha512-QJbprKnhq0uy8JleWLSW9u3sX1QBIVr8sEsLriTc52FWLWC1+ls28fPhFGqGBAzrMLkJCz15CPZm7Qot64I5RA==",
"dev": true, "dev": true,
"requires": { "requires": {
"7zip-bin": "~4.1.0", "7zip-bin": "~4.1.0",
@ -211,12 +211,6 @@
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true "dev": true
}, },
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
"asn1": { "asn1": {
"version": "0.2.4", "version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@ -808,18 +802,25 @@
"dev": true "dev": true
}, },
"del": { "del": {
"version": "2.2.2", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
"dev": true, "dev": true,
"requires": { "requires": {
"globby": "^5.0.0", "globby": "^6.1.0",
"is-path-cwd": "^1.0.0", "is-path-cwd": "^1.0.0",
"is-path-in-cwd": "^1.0.0", "is-path-in-cwd": "^1.0.0",
"object-assign": "^4.0.1", "p-map": "^1.1.1",
"pify": "^2.0.0", "pify": "^3.0.0",
"pinkie-promise": "^2.0.0",
"rimraf": "^2.2.8" "rimraf": "^2.2.8"
},
"dependencies": {
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
}
} }
}, },
"delayed-stream": { "delayed-stream": {
@ -849,6 +850,49 @@
"js-yaml": "^3.12.0", "js-yaml": "^3.12.0",
"parse-color": "^1.0.0", "parse-color": "^1.0.0",
"sanitize-filename": "^1.6.1" "sanitize-filename": "^1.6.1"
},
"dependencies": {
"app-builder-lib": {
"version": "20.33.2",
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.33.2.tgz",
"integrity": "sha512-RBeN0UbYYW/xdSiCLnVANhBsro2MemFAtBTib8QkwOr/uE1646tNH1JKOZ7fxhfrIQChWH3xcDSiZMa8ReB2ng==",
"dev": true,
"requires": {
"7zip-bin": "~4.1.0",
"app-builder-bin": "2.4.1",
"async-exit-hook": "^2.0.1",
"bluebird-lst": "^1.0.6",
"builder-util": "9.1.0",
"builder-util-runtime": "7.1.0",
"chromium-pickle-js": "^0.2.0",
"debug": "^4.1.0",
"ejs": "^2.6.1",
"electron-osx-sign": "0.4.11",
"electron-publish": "20.33.2",
"fs-extra-p": "^7.0.0",
"hosted-git-info": "^2.7.1",
"is-ci": "^1.2.1",
"isbinaryfile": "^3.0.3",
"js-yaml": "^3.12.0",
"lazy-val": "^1.0.3",
"minimatch": "^3.0.4",
"normalize-package-data": "^2.4.0",
"plist": "^3.0.1",
"read-config-file": "3.2.0",
"sanitize-filename": "^1.6.1",
"semver": "^5.6.0",
"temp-file": "^3.2.0"
}
},
"debug": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
}
} }
}, },
"doctrine": { "doctrine": {
@ -923,12 +967,12 @@
} }
}, },
"electron-builder": { "electron-builder": {
"version": "20.33.2", "version": "20.34.0",
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.33.2.tgz", "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.34.0.tgz",
"integrity": "sha512-nM/SqfhAD6Z2ZFdiUirQxwYGzIahC8N8xXCyt8j/gxgF/SqCGYh2nJ+ns73JFqEpO+a6rlhY+xayGAlKfNRSrg==", "integrity": "sha512-3avEeTtJcPOSKmWONlWJ6SKu71fUyeldWRA207NgbJ32PdQeqeVBVlN9tnneA7NAZisBCF7SIY1f0kJDMYmXYw==",
"dev": true, "dev": true,
"requires": { "requires": {
"app-builder-lib": "20.33.2", "app-builder-lib": "20.34.0",
"bluebird-lst": "^1.0.6", "bluebird-lst": "^1.0.6",
"builder-util": "9.1.0", "builder-util": "9.1.0",
"builder-util-runtime": "7.1.0", "builder-util-runtime": "7.1.0",
@ -1012,9 +1056,9 @@
} }
}, },
"electron-updater": { "electron-updater": {
"version": "3.2.2", "version": "3.2.3",
"resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-3.2.2.tgz", "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-3.2.3.tgz",
"integrity": "sha512-vmMLDzz0H9WsKJQCxeZPQR05VnMT9rnnqrabeQMQ3TdfZhUNTJA6U3Ctf7lr47RZWxrnhq8//w5FvvVB/2tflQ==", "integrity": "sha512-QkLS+hYyTTHzZ2gGtTyQQ3kY5zQaEf/VwJW+UP37CPi58/VNUOx0xNA9iChwwYa6mzeEyo1xhrS1XjePwkeTbA==",
"requires": { "requires": {
"bluebird-lst": "^1.0.6", "bluebird-lst": "^1.0.6",
"builder-util-runtime": "~7.1.0", "builder-util-runtime": "~7.1.0",
@ -1058,9 +1102,9 @@
"dev": true "dev": true
}, },
"eslint": { "eslint": {
"version": "5.8.0", "version": "5.9.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.8.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz",
"integrity": "sha512-Zok6Bru3y2JprqTNm14mgQ15YQu/SMDkWdnmHfFg770DIUlmMFd/gqqzCHekxzjHZJxXv3tmTpH0C1icaYJsRQ==", "integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
@ -1104,9 +1148,9 @@
}, },
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "6.5.4", "version": "6.5.5",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
"integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
"dev": true, "dev": true,
"requires": { "requires": {
"fast-deep-equal": "^2.0.1", "fast-deep-equal": "^2.0.1",
@ -1155,12 +1199,6 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true "dev": true
}, },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
},
"strip-ansi": { "strip-ansi": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
@ -1371,13 +1409,13 @@
} }
}, },
"flat-cache": { "flat-cache": {
"version": "1.3.0", "version": "1.3.2",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz",
"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==",
"dev": true, "dev": true,
"requires": { "requires": {
"circular-json": "^0.3.1", "circular-json": "^0.3.1",
"del": "^2.0.2", "del": "^3.0.0",
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"write": "^0.2.1" "write": "^0.2.1"
} }
@ -1505,13 +1543,12 @@
"dev": true "dev": true
}, },
"globby": { "globby": {
"version": "5.0.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"dev": true, "dev": true,
"requires": { "requires": {
"array-union": "^1.0.1", "array-union": "^1.0.1",
"arrify": "^1.0.0",
"glob": "^7.0.3", "glob": "^7.0.3",
"object-assign": "^4.0.1", "object-assign": "^4.0.1",
"pify": "^2.0.0", "pify": "^2.0.0",
@ -2348,6 +2385,12 @@
"p-limit": "^2.0.0" "p-limit": "^2.0.0"
} }
}, },
"p-map": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
"integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
"dev": true
},
"p-try": { "p-try": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
@ -3057,9 +3100,9 @@
}, },
"dependencies": { "dependencies": {
"ajv": { "ajv": {
"version": "6.5.4", "version": "6.5.5",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
"integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
"dev": true, "dev": true,
"requires": { "requires": {
"fast-deep-equal": "^2.0.1", "fast-deep-equal": "^2.0.1",

View File

@ -1,42 +1,36 @@
{ {
"name": "westeroscraftlauncher", "name": "westeroscraftlauncher",
"version": "1.0.5", "version": "1.0.5",
"description": "Custom modded launcher for Westeroscraft",
"productName": "WesterosCraft Launcher", "productName": "WesterosCraft Launcher",
"description": "Modded Minecraft Launcher",
"author": "Daniel Scalzi (https://github.com/dscalzi/)",
"license": "UNLICENSED",
"homepage": "https://github.com/WesterosCraftCode/ElectronLauncher",
"bugs": {
"url": "https://github.com/WesterosCraftCode/ElectronLauncher/issues"
},
"private": true,
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"start": "electron index.js", "start": "electron index.js",
"travislinux": "electron-builder --linux --win", "cilinux": "electron-builder --linux --win",
"travisdarwin": "electron-builder --mac", "cidarwin": "electron-builder --mac",
"dist": "SET ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true & electron-builder", "dist": "SET ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true & electron-builder",
"dist:win": "npm run dist -- --win --x64", "dist:win": "npm run dist -- --win --x64",
"dist:mac": "npm run dist -- --mac", "dist:mac": "npm run dist -- --mac",
"dist:linux": "npm run dist -- --linux --x64", "dist:linux": "npm run dist -- --linux --x64",
"dist:deb": "npm run dist -- --linux deb --x64",
"dist:all": "npm run dist -- -wl --x64",
"lint": "eslint --config .eslintrc.json --ignore-pattern app/assets/js/scripts/*.js . && eslint --config .eslintrc.scripts.json app/assets/js/scripts" "lint": "eslint --config .eslintrc.json --ignore-pattern app/assets/js/scripts/*.js . && eslint --config .eslintrc.scripts.json app/assets/js/scripts"
}, },
"engines": { "engines": {
"node": "10.x.x" "node": "10.x.x"
}, },
"repository": {
"type": "git",
"url": "git+https://github.com/WesterosCraftCode/ElectronLauncher.git"
},
"author": "Daniel Scalzi (https://github.com/dscalzi/)",
"license": "UNLICENSED",
"private": true,
"bugs": {
"url": "https://github.com/WesterosCraftCode/ElectronLauncher/issues"
},
"homepage": "http://www.westeroscraft.com/",
"dependencies": { "dependencies": {
"adm-zip": "^0.4.11", "adm-zip": "^0.4.11",
"async": "^2.6.1", "async": "^2.6.1",
"discord-rpc": "discordjs/RPC", "discord-rpc": "discordjs/RPC",
"ejs": "^2.6.1", "ejs": "^2.6.1",
"ejs-electron": "^2.0.3", "ejs-electron": "^2.0.3",
"electron-updater": "^3.2.2", "electron-updater": "^3.2.3",
"github-syntax-dark": "^0.5.0", "github-syntax-dark": "^0.5.0",
"jquery": "^3.3.1", "jquery": "^3.3.1",
"mkdirp": "^0.5.1", "mkdirp": "^0.5.1",
@ -48,8 +42,12 @@
}, },
"devDependencies": { "devDependencies": {
"electron": "^3.0.8", "electron": "^3.0.8",
"electron-builder": "^20.33.2", "electron-builder": "^20.34.0",
"eslint": "^5.8.0" "eslint": "^5.9.0"
},
"repository": {
"type": "git",
"url": "git+https://github.com/WesterosCraftCode/ElectronLauncher.git"
}, },
"build": { "build": {
"appId": "westeroscraftlauncher", "appId": "westeroscraftlauncher",
@ -84,7 +82,7 @@
"target": "AppImage", "target": "AppImage",
"maintainer": "Daniel Scalzi", "maintainer": "Daniel Scalzi",
"vendor": "WesterosCraft", "vendor": "WesterosCraft",
"synopsis": "Custom modded launcher for WesterosCraft", "synopsis": "Custom Launcher for WesterosCraft",
"description": "Custom launcher which allows users to join WesterosCraft. All mods, configurations, and updates are handled automatically.", "description": "Custom launcher which allows users to join WesterosCraft. All mods, configurations, and updates are handled automatically.",
"category": "Game" "category": "Game"
}, },