Added drag/drop functionality to the add mods button.
You can now drag one or more files onto the add mods button in order to add them to the mods directory. Only jar, litemod, and zip files will be moved. Changed eslint to use a single configuration file, with overrides for the UI scripts. Now using fs-extra, replace usages of rimraf and mkdirp with fs-extra functions.
This commit is contained in:
parent
d9c9b32446
commit
d779eacf61
@ -46,5 +46,18 @@
|
||||
"argsIgnorePattern": "reject"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": [
|
||||
{
|
||||
"files": [ "app/assets/js/scripts/*.js" ],
|
||||
"rules": {
|
||||
"no-unused-vars": [
|
||||
0
|
||||
],
|
||||
"no-undef": [
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"es6": true,
|
||||
"node": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2017,
|
||||
"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": [
|
||||
0
|
||||
],
|
||||
"no-undef": [
|
||||
0
|
||||
]
|
||||
}
|
||||
}
|
@ -1545,13 +1545,15 @@ input:checked + .toggleSwitchSlider:before {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#settingsDropinFileSystemButton:hover,
|
||||
#settingsDropinFileSystemButton:focus {
|
||||
#settingsDropinFileSystemButton:focus,
|
||||
#settingsDropinFileSystemButton[drag] {
|
||||
background: rgba(54, 54, 54, 0.25);
|
||||
text-shadow: 0px 0px 20px white;
|
||||
}
|
||||
/* Refresh instructions on the file system button. */
|
||||
#settingsDropinRefreshNote {
|
||||
font-size: 10px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Button to remove drop-in mods. */
|
||||
@ -2663,7 +2665,6 @@ input:checked + .toggleSwitchSlider:before {
|
||||
box-shadow: 0px 0px 10px 0px rgb(0, 0, 0);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
/*background-image: url('https://cdn.discordapp.com/avatars/169197209630277642/6650b5a50e1cb3d00a79b9b88b9a0cd4.png');*/
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
|
@ -4,8 +4,7 @@ const async = require('async')
|
||||
const child_process = require('child_process')
|
||||
const crypto = require('crypto')
|
||||
const EventEmitter = require('events')
|
||||
const fs = require('fs')
|
||||
const mkpath = require('mkdirp')
|
||||
const fs = require('fs-extra')
|
||||
const path = require('path')
|
||||
const Registry = require('winreg')
|
||||
const request = require('request')
|
||||
@ -360,7 +359,7 @@ class AssetGuard extends EventEmitter {
|
||||
const versionPath = path.join(commonPath, 'versions', forgeVersion.id)
|
||||
const versionFile = path.join(versionPath, forgeVersion.id + '.json')
|
||||
if(!fs.existsSync(versionFile)){
|
||||
mkpath.sync(versionPath)
|
||||
fs.ensureDirSync(versionPath)
|
||||
fs.writeFileSync(path.join(versionPath, forgeVersion.id + '.json'), zipEntries[i].getData())
|
||||
resolve(forgeVersion)
|
||||
} else {
|
||||
@ -996,7 +995,7 @@ class AssetGuard extends EventEmitter {
|
||||
const url = await self._getVersionDataUrl(version)
|
||||
//This download will never be tracked as it's essential and trivial.
|
||||
console.log('Preparing download of ' + version + ' assets.')
|
||||
mkpath.sync(versionPath)
|
||||
fs.ensureDirSync(versionPath)
|
||||
const stream = request(url).pipe(fs.createWriteStream(versionFile))
|
||||
stream.on('finish', () => {
|
||||
resolve(JSON.parse(fs.readFileSync(versionFile)))
|
||||
@ -1078,7 +1077,7 @@ class AssetGuard extends EventEmitter {
|
||||
let data = null
|
||||
if(!fs.existsSync(assetIndexLoc) || force){
|
||||
console.log('Downloading ' + versionData.id + ' asset index.')
|
||||
mkpath.sync(indexPath)
|
||||
fs.ensureDirSync(indexPath)
|
||||
const stream = request(assetIndex.url).pipe(fs.createWriteStream(assetIndexLoc))
|
||||
stream.on('finish', () => {
|
||||
data = JSON.parse(fs.readFileSync(assetIndexLoc, 'utf-8'))
|
||||
@ -1457,7 +1456,7 @@ class AssetGuard extends EventEmitter {
|
||||
|
||||
async.eachLimit(dlQueue, limit, (asset, cb) => {
|
||||
|
||||
mkpath.sync(path.join(asset.to, '..'))
|
||||
fs.ensureDirSync(path.join(asset.to, '..'))
|
||||
|
||||
let req = request(asset.from)
|
||||
req.pause()
|
||||
|
@ -1,5 +1,4 @@
|
||||
const fs = require('fs')
|
||||
const mkpath = require('mkdirp')
|
||||
const fs = require('fs-extra')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
|
||||
@ -98,7 +97,7 @@ exports.load = function(){
|
||||
|
||||
if(!fs.existsSync(filePath)){
|
||||
// Create all parent directories.
|
||||
mkpath.sync(path.join(filePath, '..'))
|
||||
fs.ensureDirSync(path.join(filePath, '..'))
|
||||
config = DEFAULT_CONFIG
|
||||
exports.save()
|
||||
} else {
|
||||
@ -110,7 +109,7 @@ exports.load = function(){
|
||||
logger.error(err)
|
||||
logger.log('Configuration file contains malformed JSON or is corrupt.')
|
||||
logger.log('Generating a new configuration file.')
|
||||
mkpath.sync(path.join(filePath, '..'))
|
||||
fs.ensureDirSync(path.join(filePath, '..'))
|
||||
config = DEFAULT_CONFIG
|
||||
exports.save()
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
const fs = require('fs')
|
||||
const mkpath = require('mkdirp')
|
||||
const fs = require('fs-extra')
|
||||
const path = require('path')
|
||||
const { shell } = require('electron')
|
||||
|
||||
@ -16,9 +15,7 @@ const DISABLED_EXT = '.disabled'
|
||||
* @param {string} modsDir The path to the mods directory.
|
||||
*/
|
||||
exports.validateModsDir = function(modsDir) {
|
||||
if(!fs.existsSync(modsDir)) {
|
||||
mkpath.sync(modsDir)
|
||||
}
|
||||
fs.ensureDirSync(modsDir)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -66,6 +63,22 @@ exports.scanForDropinMods = function(modsDir, version) {
|
||||
return modsDiscovered
|
||||
}
|
||||
|
||||
/**
|
||||
* Add dropin mods.
|
||||
*
|
||||
* @param {FileList} files The files to add.
|
||||
* @param {string} modsDir The path to the mods directory.
|
||||
*/
|
||||
exports.addDropinMods = function(files, modsdir) {
|
||||
|
||||
for(let f of files) {
|
||||
if(MOD_REGEX.exec(f.name) != null) {
|
||||
fs.moveSync(f.path, path.join(modsdir, f.name))
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a drop-in mod from the file system.
|
||||
*
|
||||
|
@ -1,7 +1,7 @@
|
||||
const {ipcRenderer} = require('electron')
|
||||
const fs = require('fs-extra')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const rimraf = require('rimraf')
|
||||
|
||||
const ConfigManager = require('./configmanager')
|
||||
const DistroManager = require('./distromanager')
|
||||
@ -56,7 +56,7 @@ DistroManager.pullRemote().then((data) => {
|
||||
})
|
||||
|
||||
// Clean up temp dir incase previous launches ended unexpectedly.
|
||||
rimraf(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
||||
fs.remove(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
||||
if(err){
|
||||
logger.warn('Error while cleaning natives directory', err)
|
||||
} else {
|
||||
|
@ -1,11 +1,9 @@
|
||||
const AdmZip = require('adm-zip')
|
||||
const child_process = require('child_process')
|
||||
const crypto = require('crypto')
|
||||
const fs = require('fs')
|
||||
const mkpath = require('mkdirp')
|
||||
const fs = require('fs-extra')
|
||||
const os = require('os')
|
||||
const path = require('path')
|
||||
const rimraf = require('rimraf')
|
||||
const {URL} = require('url')
|
||||
|
||||
const { Library } = require('./assetguard')
|
||||
@ -36,7 +34,7 @@ class ProcessBuilder {
|
||||
* Convienence method to run the functions typically used to build a process.
|
||||
*/
|
||||
build(){
|
||||
mkpath.sync(this.gameDir)
|
||||
fs.ensureDirSync(this.gameDir)
|
||||
const tempNativePath = path.join(os.tmpdir(), ConfigManager.getTempNativeFolder(), crypto.pseudoRandomBytes(16).toString('hex'))
|
||||
process.throwDeprecation = true
|
||||
this.setupLiteLoader()
|
||||
@ -74,7 +72,7 @@ class ProcessBuilder {
|
||||
})
|
||||
child.on('close', (code, signal) => {
|
||||
logger.log('Exited with code', code)
|
||||
rimraf(tempNativePath, (err) => {
|
||||
fs.remove(tempNativePath, (err) => {
|
||||
if(err){
|
||||
logger.warn('Error while deleting temp dir', err)
|
||||
} else {
|
||||
@ -364,7 +362,7 @@ class ProcessBuilder {
|
||||
const libs = []
|
||||
|
||||
const libArr = this.versionData.libraries
|
||||
mkpath.sync(tempNativePath)
|
||||
fs.ensureDirSync(tempNativePath)
|
||||
for(let i=0; i<libArr.length; i++){
|
||||
const lib = libArr[i]
|
||||
if(Library.validateRules(lib.rules)){
|
||||
|
@ -643,6 +643,25 @@ function bindDropinModFileSystemButton(){
|
||||
DropinModUtil.validateModsDir(CACHE_SETTINGS_MODS_DIR)
|
||||
shell.openItem(CACHE_SETTINGS_MODS_DIR)
|
||||
}
|
||||
fsBtn.ondragenter = e => {
|
||||
e.dataTransfer.dropEffect = 'move'
|
||||
fsBtn.setAttribute('drag', '')
|
||||
e.preventDefault()
|
||||
}
|
||||
fsBtn.ondragover = e => {
|
||||
e.preventDefault()
|
||||
}
|
||||
fsBtn.ondragleave = e => {
|
||||
fsBtn.removeAttribute('drag')
|
||||
}
|
||||
|
||||
fsBtn.ondrop = e => {
|
||||
fsBtn.removeAttribute('drag')
|
||||
e.preventDefault()
|
||||
|
||||
DropinModUtil.addDropinMods(e.dataTransfer.files, CACHE_SETTINGS_MODS_DIR)
|
||||
reloadDropinMods()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -676,14 +695,18 @@ function saveDropinModConfiguration(){
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if(getCurrentView() === VIEWS.settings && selectedSettingsTab === 'settingsTabMods'){
|
||||
if(e.key === 'F5'){
|
||||
resolveDropinModsForUI()
|
||||
bindDropinModsRemoveButton()
|
||||
bindDropinModFileSystemButton()
|
||||
bindModsToggleSwitch()
|
||||
reloadDropinMods()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function reloadDropinMods(){
|
||||
resolveDropinModsForUI()
|
||||
bindDropinModsRemoveButton()
|
||||
bindDropinModFileSystemButton()
|
||||
bindModsToggleSwitch()
|
||||
}
|
||||
|
||||
// Server status bar functions.
|
||||
|
||||
/**
|
||||
|
151
package-lock.json
generated
151
package-lock.json
generated
@ -134,28 +134,28 @@
|
||||
}
|
||||
},
|
||||
"app-builder-bin": {
|
||||
"version": "2.5.1",
|
||||
"resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.5.1.tgz",
|
||||
"integrity": "sha512-Hm+eyyfQCs5N5avLAw3w9Cf1S5TX/t6ecAfHusbzCDh/rLKLKYso2vwDWH4OQZ8uWLnuJwaAUDf3PstRcn0H+A==",
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.0.tgz",
|
||||
"integrity": "sha512-7HphDMS2U9MwAA6R7lSU6MASFR/D+VJDb5hQ4Fn2coOMyaRn71QDWPdG0TPnDr88F2I7bsTuHYud28S/yN2lZw==",
|
||||
"dev": true
|
||||
},
|
||||
"app-builder-lib": {
|
||||
"version": "20.36.2",
|
||||
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.36.2.tgz",
|
||||
"integrity": "sha512-5FxLnWI13t0LLmh2QjmPx3KW/xhj67su7UxdCzQgULsUmYurdPx8yAOb9YxoX+RpR08inqt+H3GBOJlqSSrVgg==",
|
||||
"version": "20.38.2",
|
||||
"resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.38.2.tgz",
|
||||
"integrity": "sha512-jwysFwaU4ohvHqv5jNCeoZSO0N/8x7W/c0S6TiTb6QUC3U0YVcsN7DPMj7QApHzTvMTO9kxzjUzwA8dbQZVovg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"7zip-bin": "~4.1.0",
|
||||
"app-builder-bin": "2.5.1",
|
||||
"app-builder-bin": "2.6.0",
|
||||
"async-exit-hook": "^2.0.1",
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util": "9.3.0",
|
||||
"builder-util": "9.6.0",
|
||||
"builder-util-runtime": "8.0.2",
|
||||
"chromium-pickle-js": "^0.2.0",
|
||||
"debug": "^4.1.0",
|
||||
"ejs": "^2.6.1",
|
||||
"electron-osx-sign": "0.4.11",
|
||||
"electron-publish": "20.36.0",
|
||||
"electron-publish": "20.38.2",
|
||||
"fs-extra-p": "^7.0.0",
|
||||
"hosted-git-info": "^2.7.1",
|
||||
"is-ci": "^1.2.1",
|
||||
@ -168,7 +168,7 @@
|
||||
"read-config-file": "3.2.0",
|
||||
"sanitize-filename": "^1.6.1",
|
||||
"semver": "^5.6.0",
|
||||
"temp-file": "^3.2.0"
|
||||
"temp-file": "^3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
@ -261,7 +261,8 @@
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
|
||||
"dev": true
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.3.0",
|
||||
@ -387,6 +388,7 @@
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
@ -417,15 +419,15 @@
|
||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||
},
|
||||
"builder-util": {
|
||||
"version": "9.3.0",
|
||||
"resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.3.0.tgz",
|
||||
"integrity": "sha512-K+kj5vWj4Mk3jOm6kVT9ZwNcECLHe449vdMxYuZpCnn7CSxRm+TeZm9P9ZFCQUID5Hww/Sy4NMFo+VVJh6+Ptw==",
|
||||
"version": "9.6.0",
|
||||
"resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.6.0.tgz",
|
||||
"integrity": "sha512-6T4E3aNVndTZ2oCt+22S0wxt47d094MxrADi6S012QumXlDNfSsyu1ffbGN9w0HG+4aubpLzf9apKgMP1yl4Kw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"7zip-bin": "~4.1.0",
|
||||
"app-builder-bin": "2.5.1",
|
||||
"app-builder-bin": "2.6.0",
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util-runtime": "^8.0.1",
|
||||
"builder-util-runtime": "^8.0.2",
|
||||
"chalk": "^2.4.1",
|
||||
"debug": "^4.1.0",
|
||||
"fs-extra-p": "^7.0.0",
|
||||
@ -433,7 +435,7 @@
|
||||
"js-yaml": "^3.12.0",
|
||||
"source-map-support": "^0.5.9",
|
||||
"stat-mode": "^0.2.2",
|
||||
"temp-file": "^3.2.0"
|
||||
"temp-file": "^3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
@ -664,7 +666,8 @@
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
|
||||
"dev": true
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
@ -860,14 +863,14 @@
|
||||
}
|
||||
},
|
||||
"dmg-builder": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.4.0.tgz",
|
||||
"integrity": "sha512-q84fMrMm9mXh2qH0Sb3+o0gCvfeJRBI+46y+CpQystqgRyB+3bZB11WqCf5d8+qsENhzpi786jR82xbHG1Vvag==",
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.5.2.tgz",
|
||||
"integrity": "sha512-eT3qc8IrwfDyq5ddGO807Wya2ltVlIlE0FVf6Aa+HWdlp9JnYayPNGWrQA9xIHpKKlq206JdNZ6LYIn93EAzdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"app-builder-lib": "~20.36.0",
|
||||
"app-builder-lib": "~20.38.2",
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util": "~9.3.0",
|
||||
"builder-util": "~9.6.0",
|
||||
"fs-extra-p": "^7.0.0",
|
||||
"iconv-lite": "^0.4.24",
|
||||
"js-yaml": "^3.12.0",
|
||||
@ -947,24 +950,24 @@
|
||||
}
|
||||
},
|
||||
"electron-builder": {
|
||||
"version": "20.36.2",
|
||||
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.36.2.tgz",
|
||||
"integrity": "sha512-xPJNt3ZBn5IYlp3pCP0Rvi00JYAKdTeOSLWFrkST1xqWfRZxXrI4uisVD9HQjzRN8hBHhTgTfXtb9uhWPha9eA==",
|
||||
"version": "20.38.2",
|
||||
"resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.38.2.tgz",
|
||||
"integrity": "sha512-uUEzfc/e8J7nAowvFQw4SyHIe4d6VSHO1LmcLy53he4aGXlVklHluhbwa0rxATPdYVNgHmJz7zoVgYYOd/YS+A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"app-builder-lib": "20.36.2",
|
||||
"app-builder-lib": "20.38.2",
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util": "9.3.0",
|
||||
"builder-util": "9.6.0",
|
||||
"builder-util-runtime": "8.0.2",
|
||||
"chalk": "^2.4.1",
|
||||
"dmg-builder": "6.4.0",
|
||||
"dmg-builder": "6.5.2",
|
||||
"fs-extra-p": "^7.0.0",
|
||||
"is-ci": "^1.2.1",
|
||||
"lazy-val": "^1.0.3",
|
||||
"read-config-file": "3.2.0",
|
||||
"sanitize-filename": "^1.6.1",
|
||||
"update-notifier": "^2.5.0",
|
||||
"yargs": "^12.0.2"
|
||||
"yargs": "^12.0.5"
|
||||
}
|
||||
},
|
||||
"electron-download": {
|
||||
@ -982,6 +985,19 @@
|
||||
"rc": "^1.2.1",
|
||||
"semver": "^5.4.1",
|
||||
"sumchecker": "^2.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"fs-extra": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^4.0.0",
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"electron-osx-sign": {
|
||||
@ -1016,24 +1032,32 @@
|
||||
}
|
||||
},
|
||||
"electron-publish": {
|
||||
"version": "20.36.0",
|
||||
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.36.0.tgz",
|
||||
"integrity": "sha512-LjJ4KoApSLtKyGWotv0B+PoTzpLEdHHXzDF9HLxatPlfoZCmrOexqm7Qiv1ODuYWPac7Zpf2OHitJp8WIOcZRQ==",
|
||||
"version": "20.38.2",
|
||||
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.38.2.tgz",
|
||||
"integrity": "sha512-GXwnZm9I9l4RjlDwuALpR57aIH38qRzDEYbhLysmrC5T2xlCgyBIfxS5EUNESqKT+9KeJJZcj+eTKMjbz+Qafw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util": "~9.3.0",
|
||||
"builder-util-runtime": "^8.0.1",
|
||||
"builder-util": "~9.6.0",
|
||||
"builder-util-runtime": "^8.0.2",
|
||||
"chalk": "^2.4.1",
|
||||
"fs-extra-p": "^7.0.0",
|
||||
"lazy-val": "^1.0.3",
|
||||
"mime": "^2.3.1"
|
||||
"mime": "^2.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"mime": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
|
||||
"integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"electron-updater": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.0.4.tgz",
|
||||
"integrity": "sha512-y3wddJQyC5h1UTJhNAWoX4McJ5Z1r1ZDqyifpYWniVS286YCXe1xSLkbe9C6ZzxzPurt1jg2ZubPuBNt/811Dw==",
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-4.0.5.tgz",
|
||||
"integrity": "sha512-2w93987YlPNMbhYQe6+EsSpkhtgYtLyYuAMttqQckwFdBJJat4Jo8ja/gmBk2Aa760g2Jt7aIBPQvlJDiXGPgg==",
|
||||
"requires": {
|
||||
"bluebird-lst": "^1.0.6",
|
||||
"builder-util-runtime": "~8.0.2",
|
||||
@ -1415,10 +1439,9 @@
|
||||
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
|
||||
},
|
||||
"fs-extra": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
|
||||
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
|
||||
"dev": true,
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
|
||||
"integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"jsonfile": "^4.0.0",
|
||||
@ -1449,7 +1472,8 @@
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
},
|
||||
"functional-red-black-tree": {
|
||||
"version": "1.0.1",
|
||||
@ -1492,6 +1516,7 @@
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
|
||||
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
@ -1629,6 +1654,7 @@
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
@ -2024,9 +2050,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
|
||||
"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pseudomap": "^1.0.2",
|
||||
@ -2122,6 +2148,7 @@
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@ -2390,9 +2417,9 @@
|
||||
}
|
||||
},
|
||||
"pako": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
|
||||
"integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz",
|
||||
"integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ=="
|
||||
},
|
||||
"parse-color": {
|
||||
"version": "1.0.0",
|
||||
@ -2429,7 +2456,8 @@
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
|
||||
"dev": true
|
||||
},
|
||||
"path-is-inside": {
|
||||
"version": "1.0.2",
|
||||
@ -2606,9 +2634,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.5.5",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
|
||||
"integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
|
||||
"version": "6.6.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
|
||||
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
@ -2784,6 +2812,7 @@
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
|
||||
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.0.5"
|
||||
}
|
||||
@ -3573,9 +3602,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "12.0.4",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.4.tgz",
|
||||
"integrity": "sha512-f5esswlPO351AnejaO2A1ZZr0zesz19RehQKwiRDqWtrraWrJy16tsUIKgDXFMVytvNOHPVmTiaTh3wO67I0fQ==",
|
||||
"version": "12.0.5",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
|
||||
"integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cliui": "^4.0.0",
|
||||
@ -3589,7 +3618,7 @@
|
||||
"string-width": "^2.0.0",
|
||||
"which-module": "^2.0.0",
|
||||
"y18n": "^3.2.1 || ^4.0.0",
|
||||
"yargs-parser": "^11.1.0"
|
||||
"yargs-parser": "^11.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
@ -3635,9 +3664,9 @@
|
||||
}
|
||||
},
|
||||
"yargs-parser": {
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.0.tgz",
|
||||
"integrity": "sha512-lGA5HsbjkpCfekDBHAhgE5OE8xEoqiUDylowr+BvhRCwG1xVYTsd8hx2CYC0NY4k9RIgJeybFTG2EZW4P2aN1w==",
|
||||
"version": "11.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
|
||||
"integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "^5.0.0",
|
||||
|
@ -19,7 +19,7 @@
|
||||
"dist:win": "npm run dist -- --win --x64",
|
||||
"dist:mac": "npm run dist -- --mac",
|
||||
"dist:linux": "npm run dist -- --linux --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 ."
|
||||
},
|
||||
"engines": {
|
||||
"node": "10.x.x"
|
||||
@ -30,12 +30,11 @@
|
||||
"discord-rpc": "discordjs/RPC",
|
||||
"ejs": "^2.6.1",
|
||||
"ejs-electron": "^2.0.3",
|
||||
"electron-updater": "^4.0.4",
|
||||
"electron-updater": "^4.0.5",
|
||||
"fs-extra": "^7.0.1",
|
||||
"github-syntax-dark": "^0.5.0",
|
||||
"jquery": "^3.3.1",
|
||||
"mkdirp": "^0.5.1",
|
||||
"request": "^2.88.0",
|
||||
"rimraf": "^2.6.2",
|
||||
"semver": "^5.6.0",
|
||||
"tar-fs": "^1.16.3",
|
||||
"winreg": "^1.2.4"
|
||||
@ -43,7 +42,7 @@
|
||||
"devDependencies": {
|
||||
"cross-env": "^5.2.0",
|
||||
"electron": "^3.0.10",
|
||||
"electron-builder": "^20.36.2",
|
||||
"electron-builder": "^20.38.2",
|
||||
"eslint": "^5.9.0"
|
||||
},
|
||||
"repository": {
|
||||
|
Loading…
Reference in New Issue
Block a user