diff --git a/.electron-vue/dev-runner.js b/.electron-vue/dev-runner.js index 2340bdb..a91ccbb 100644 --- a/.electron-vue/dev-runner.js +++ b/.electron-vue/dev-runner.js @@ -11,11 +11,26 @@ const webpackHotMiddleware = require("webpack-hot-middleware"); const mainConfig = require("./webpack.main.config"); const rendererConfig = require("./webpack.renderer.config"); const translatorConfig = require("./webpack.translator.config"); +const ProgressPlugin = require("webpack/lib/ProgressPlugin"); let electronProcess = null; let manualRestart = false; let hotMiddleware; +const threadLoader = require("thread-loader"); + +threadLoader.warmup({}, [ + // modules to load + // can be any module, i. e. + "ts-loader", + "babel-loader", + "vue-loader", + "vue-style-loader", + "css-loader", + "sass-loader" + ] +); + function logStats(proc, data) { let log = ""; @@ -50,6 +65,38 @@ function startRenderer() { heartbeat: 2500 }); + // rendererCompiler.apply( + // new ProgressPlugin(function( + // percentage, + // msg, + // current, + // active, + // modulepath + // ) { + // if (process.stdout.isTTY && percentage < 1) { + // // process.stdout.cursorTo(0); + // // modulepath = modulepath + // // ? " …" + modulepath.substr(modulepath.length - 30) + // // : ""; + // current = current ? " " + current : ""; + // active = active ? " " + active : ""; + // process.stdout.write( + // (percentage * 100).toFixed(0) + + // "% " + + // msg + + // current + + // active + + // modulepath + + // "\n" + // ); + // // process.stdout.clearLine(1); + // } else if (percentage === 1) { + // process.stdout.write("\n"); + // console.log("webpack: done."); + // } + // }) + // ); + rendererCompiler.hooks.compilation.tap("compilation", compilation => { compilation.hooks.htmlWebpackPluginAfterEmit.tapAsync( "html-webpack-plugin-after-emit", diff --git a/.electron-vue/webpack.main.config.js b/.electron-vue/webpack.main.config.js index 8ef96ae..aeeb54a 100644 --- a/.electron-vue/webpack.main.config.js +++ b/.electron-vue/webpack.main.config.js @@ -5,6 +5,7 @@ process.env.BABEL_ENV = "main"; const path = require("path"); const { dependencies, devDependencies } = require("../package.json"); const webpack = require("webpack"); +const HardSourceWebpackPlugin = require("hard-source-webpack-plugin"); let mainConfig = { optimization: { @@ -58,7 +59,10 @@ let mainConfig = { libraryTarget: "commonjs2", path: path.join(__dirname, "../dist/electron") }, - plugins: [new webpack.NoEmitOnErrorsPlugin()], + plugins: [ + new HardSourceWebpackPlugin(), + new webpack.NoEmitOnErrorsPlugin() + ], resolve: { extensions: [".ts", ".js", ".json", ".node"] }, diff --git a/.electron-vue/webpack.renderer.config.js b/.electron-vue/webpack.renderer.config.js index 388338d..6e5dd84 100644 --- a/.electron-vue/webpack.renderer.config.js +++ b/.electron-vue/webpack.renderer.config.js @@ -8,8 +8,9 @@ const webpack = require("webpack"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const HtmlWebpackPlugin = require("html-webpack-plugin"); -const { VueLoaderPlugin } = require("vue-loader"); +const VueLoaderPlugin = require("vue-loader/lib/plugin"); const VuetifyLoaderPlugin = require("vuetify-loader/lib/plugin"); +const HardSourceWebpackPlugin = require("hard-source-webpack-plugin"); /** * List of node_modules to include in webpack bundle @@ -97,13 +98,7 @@ let rendererConfig = { { loader: "vue-loader", options: { - extractCSS: process.env.NODE_ENV === "production", - loaders: { - sass: - "vue-style-loader!css-loader!sass-loader?indentedSyntax=1", - scss: "vue-style-loader!css-loader!sass-loader", - less: "vue-style-loader!css-loader!less-loader" - } + extractCSS: process.env.NODE_ENV === "production" } } ] @@ -150,6 +145,7 @@ let rendererConfig = { __filename: process.env.NODE_ENV !== "production" }, plugins: [ + new HardSourceWebpackPlugin(), new VuetifyLoaderPlugin(), new VueLoaderPlugin(), new MiniCssExtractPlugin({ filename: "styles.css" }), diff --git a/.electron-vue/webpack.translator.config.js b/.electron-vue/webpack.translator.config.js index cf52e2c..7ba83cd 100644 --- a/.electron-vue/webpack.translator.config.js +++ b/.electron-vue/webpack.translator.config.js @@ -8,8 +8,9 @@ const webpack = require("webpack"); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); const HtmlWebpackPlugin = require("html-webpack-plugin"); -const { VueLoaderPlugin } = require("vue-loader"); +const VueLoaderPlugin = require("vue-loader/lib/plugin"); const VuetifyLoaderPlugin = require("vuetify-loader/lib/plugin"); +const HardSourceWebpackPlugin = require("hard-source-webpack-plugin"); /** * List of node_modules to include in webpack bundle @@ -97,13 +98,7 @@ let translatorConfig = { { loader: "vue-loader", options: { - extractCSS: process.env.NODE_ENV === "production", - loaders: { - sass: - "vue-style-loader!css-loader!sass-loader?indentedSyntax=1", - scss: "vue-style-loader!css-loader!sass-loader", - less: "vue-style-loader!css-loader!less-loader" - } + extractCSS: process.env.NODE_ENV === "production" } } ] @@ -148,6 +143,7 @@ let translatorConfig = { __filename: process.env.NODE_ENV !== "production" }, plugins: [ + new HardSourceWebpackPlugin(), new VuetifyLoaderPlugin(), new VueLoaderPlugin(), new MiniCssExtractPlugin({ filename: "styles-translator.css" }), diff --git a/.vscode/settings.json b/.vscode/settings.json index 78664b2..7212393 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "editor.tabSize": 2 + "editor.tabSize": 2, + "typescript.tsdk": "node_modules\\typescript\\lib" } diff --git a/config/config.json b/config/config.json index 92ed50c..1c9286f 100644 --- a/config/config.json +++ b/config/config.json @@ -4,12 +4,12 @@ "localeChangers": { "alphaROMdiE": { "enable": false, - "exec": "D:\\software\\AlphaROMdiE.exe %GAME_PATH%", + "exec": "C:\\Resources\\Games\\AlphaROMdiE.exe %GAME_PATH%", "name": "AlphaROMdiE" }, "localeEmulator": { "enable": true, - "exec": "D:\\LocaleEmulator\\LEProc.exe %GAME_PATH%", + "exec": "C:\\LocaleEmulator\\LEProc.exe %GAME_PATH%", "name": "Locale Emulator" }, "noChanger": { @@ -19,7 +19,7 @@ }, "ntleas": { "enable": false, - "exec": "D:\\ntleas046_x64\\x86\\ntleas.exe %GAME_PATH%", + "exec": "C:\\ntleas046_x64\\x86\\ntleas.exe %GAME_PATH%", "name": "Ntleas" } }, @@ -66,9 +66,9 @@ ], "translators": { "jBeijing": { - "dictPath": "E:\\yuki\\yuki\\lib\\dict\\jb", + "dictPath": "C:\\YUKI\\yuki\\lib\\dict\\jb", "enable": true, - "path": "D:\\Visual Novel Reader V2\\JBeijing7" + "path": "C:\\JBeijing7" } } } diff --git a/package.json b/package.json index 2db67dd..30029db 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,9 @@ "vuetify": "^2.1.4", "vuetify-dialog": "^1.0.0-alpha.5", "vuex": "^3.0.1", - "wanakana": "^4.0.2" + "wanakana": "^4.0.2", + "xterm": "^4.2.0-vscode1", + "xterm-addon-fit": "^0.3.0" }, "devDependencies": { "@kazupon/vue-i18n-loader": "^0.3.0", @@ -105,6 +107,7 @@ "electron-rebuild": "^1.8.6", "fibers": "^4.0.1", "file-loader": "^1.1.11", + "hard-source-webpack-plugin": "^0.13.1", "html-webpack-plugin": "^3.2.0", "ignore-loader": "^0.1.2", "inject-loader": "^4.0.1", @@ -140,7 +143,7 @@ "vue-template-compiler": "^2.6.10", "vuetify-loader": "^1.3.0", "vuex-class": "^0.3.1", - "webpack": "^4.19.1", + "webpack": "^4.41.2", "webpack-cli": "^3.0.8", "webpack-dev-server": "^3.1.11", "webpack-hot-middleware": "^2.22.2", diff --git a/src/common/IpcTypes.ts b/src/common/IpcTypes.ts index ce720ae..50e3a3f 100644 --- a/src/common/IpcTypes.ts +++ b/src/common/IpcTypes.ts @@ -27,7 +27,9 @@ enum IpcTypes { REQUEST_PAUSE_DOWNLOAD = 'request-pause-download', REQUEST_RESUME_DOWNLOAD = 'request-resume-download', REQUEST_ABORT_DOWNLOAD = 'request-abort-download', - REQUEST_DOWNLOAD_LIBRARY = 'request-download-library' + REQUEST_DOWNLOAD_LIBRARY = 'request-download-library', + HAS_NEW_DEBUG_MESSAGE = 'has-new-debug-message', + GAME_ABORTED = 'game-aborted' } export default IpcTypes diff --git a/src/common/locales.json b/src/common/locales.json index e64fbc8..9cebdca 100644 --- a/src/common/locales.json +++ b/src/common/locales.json @@ -24,7 +24,10 @@ "add": "添加", "prompt": "提示", "saved": "已保存", - "toggleDevTools": "切换开发人员工具" + "toggleDevTools": "切换开发人员工具", + "debugMessages": "调试信息", + "debugMsg": "调试信息", + "description": "说明" }, "en": { "YUKIGalgameTranslator": "Galgame Translator", @@ -51,6 +54,9 @@ "add": "Add", "prompt": "Prompt", "saved": "Saved", - "toggleDevTools": "Toggle Dev Tools" + "toggleDevTools": "Toggle Dev Tools", + "debugMessages": "Debug Messages", + "debugMsg": "Debug Msg", + "description": "Description" } } diff --git a/src/main/Game.ts b/src/main/Game.ts index 7d5f8c3..a4f4605 100644 --- a/src/main/Game.ts +++ b/src/main/Game.ts @@ -27,9 +27,14 @@ export default class Game extends EventEmitter { this.exeName = '' } - public start () { - this.execGameProcess() - this.registerHookerWithPid() + public async start () { + try { + await this.execGameProcess() + this.registerHookerWithPid() + } catch (e) { + this.emit('abort') + this.emit('exited') + } } public getPids () { @@ -46,10 +51,20 @@ export default class Game extends EventEmitter { } private execGameProcess () { - this.getRawExecStringOrDefault() - this.replaceExecStringTokensWithActualValues() - debug('exec string: %s', this.execString) - exec(this.execString) + return new Promise((resolve, reject) => { + this.getRawExecStringOrDefault() + this.replaceExecStringTokensWithActualValues() + debug('exec string: %s', this.execString) + exec(this.execString, (err, stdout, stderr) => { + if (err) { + debug('program exited unexpectedly with code %d', err.code) + reject() + } + if (stdout) debug('program stdout: %s', stdout) + if (stderr) debug('program stderr: %s', stderr) + resolve() + }) + }) } private getRawExecStringOrDefault () { @@ -79,6 +94,7 @@ export default class Game extends EventEmitter { await this.findPids() } catch (e) { debug('could not find game %s. abort', this.exeName) + this.emit('abort') this.emit('exited') return } diff --git a/src/main/setup/Ipc.ts b/src/main/setup/Ipc.ts index 309d281..8ec1a21 100644 --- a/src/main/setup/Ipc.ts +++ b/src/main/setup/Ipc.ts @@ -2,6 +2,7 @@ import { app, dialog, ipcMain } from 'electron' import IpcTypes from '../../common/IpcTypes' const debug = require('debug')('yuki:ipc') import { extname } from 'path' +import { format } from 'util' import ConfigManager from '../config/ConfigManager' import DownloaderFactory from '../DownloaderFactory' import Game from '../Game' @@ -13,6 +14,15 @@ let runningGame: Game let translatorWindow: TranslatorWindow | null export default function (mainWindow: Electron.BrowserWindow) { + require('debug').log = (message: any, ...optionalParams: any[]) => { + // tslint:disable-next-line: no-console + console.log(message, ...optionalParams) + mainWindow.webContents.send( + IpcTypes.HAS_NEW_DEBUG_MESSAGE, + format(message, ...optionalParams) + ) + } + ipcMain.on(IpcTypes.MAIN_PAGE_LOAD_FINISHED, () => { debug('main page load finished. starting apis...') TranslationManager.getInstance().initializeApis( @@ -41,6 +51,9 @@ export default function (mainWindow: Electron.BrowserWindow) { translatorWindow = null mainWindow.show() }) + runningGame.on('abort', () => { + mainWindow.webContents.send(IpcTypes.GAME_ABORTED) + }) runningGame.start() } ) diff --git a/src/renderer/components/AppSidebar.vue b/src/renderer/components/AppSidebar.vue index 8be3ad3..af8def6 100644 --- a/src/renderer/components/AppSidebar.vue +++ b/src/renderer/components/AppSidebar.vue @@ -67,6 +67,15 @@ + + + mdi-alert + + + {{$t('debugMsg')}} + + + mdi-information diff --git a/src/renderer/components/DebugMessagesPage.vue b/src/renderer/components/DebugMessagesPage.vue new file mode 100644 index 0000000..5219e04 --- /dev/null +++ b/src/renderer/components/DebugMessagesPage.vue @@ -0,0 +1,100 @@ + + +{ + "zh": { + "maxColumns": "最大行数" + }, + "en": { + "maxColumns": "Max Columns" + } +} + + + + + + + + {{$t('maxColumns')}} + 1000 + + + + + + + diff --git a/src/renderer/components/GamesPageGameCard.vue b/src/renderer/components/GamesPageGameCard.vue index bb4ab8c..07248a4 100644 --- a/src/renderer/components/GamesPageGameCard.vue +++ b/src/renderer/components/GamesPageGameCard.vue @@ -4,60 +4,60 @@ "zh": { "run": "运行", "confirmDelete": "确认删除?", - "deleteSuccess": "删除成功!" + "deleteSuccess": "删除成功!", + "saveSuccess": "保存成功!" }, "en": { "run": "Run", "confirmDelete": "Are you sure to delete this game?", - "deleteSuccess": "Successfully deleted!" + "deleteSuccess": "Successfully deleted!", + "saveSuccess": "Successfully saved!" } } - - - {{game.name}} - {{game.code}} - {{game.path}} - - - {{$t('run')}} - mdi-play - - - {{$t('delete')}} - mdi-delete - - - - - {{ showExpansion ? 'mdi-chevron-up' : 'mdi-chevron-down' }} - - - - - - - - - - - - - - - - + + + {{game.name}} + {{game.code}} + {{game.path}} + + + {{$t('run')}} + mdi-play + + + {{$t('delete')}} + mdi-delete + + + + + {{ showExpansion ? 'mdi-chevron-up' : 'mdi-chevron-down' }} + + + + + + + + + + + + + + + + + {{$t('save')}} + + + + + + diff --git a/src/renderer/components/LibrarySettings.vue b/src/renderer/components/LibrarySettings.vue index 43b24bd..ac253ca 100644 --- a/src/renderer/components/LibrarySettings.vue +++ b/src/renderer/components/LibrarySettings.vue @@ -57,7 +57,6 @@ diff --git a/src/renderer/components/LocaleChangerSettings.vue b/src/renderer/components/LocaleChangerSettings.vue index dff290a..5980573 100644 --- a/src/renderer/components/LocaleChangerSettings.vue +++ b/src/renderer/components/LocaleChangerSettings.vue @@ -11,7 +11,9 @@ "noLocaleChanger": "没有区域转换器呢ㄟ( ▔, ▔ )ㄏ", "localeChangers": "区域转换器", "editLocaleChanger": "编辑区域转换器", - "actions": "操作" + "actions": "操作", + "escapePatterns": "转义段", + "gamePath": "游戏所在路径" }, "en": { "localeChangerSettings": "Locale Changer Settings", @@ -23,7 +25,9 @@ "noLocaleChanger": "No Locale Changerㄟ( ▔, ▔ )ㄏ", "localeChangers": "Locale Changers", "editLocaleChanger": "Edit Locale Changer", - "actions": "Actions" + "actions": "Actions", + "escapePatterns": "Escape Patterns", + "gamePath": "The path where game is located" } } @@ -63,6 +67,10 @@ + {{$t('escapePatterns')}} + %GAME_PATH% + {{$t('gamePath')}} + diff --git a/src/renderer/components/PageContent.vue b/src/renderer/components/PageContent.vue index bf9b747..4448df1 100644 --- a/src/renderer/components/PageContent.vue +++ b/src/renderer/components/PageContent.vue @@ -1,6 +1,6 @@ - + diff --git a/src/renderer/components/TranslatorSettings.vue b/src/renderer/components/TranslatorSettings.vue index 6a8d905..e05422d 100644 --- a/src/renderer/components/TranslatorSettings.vue +++ b/src/renderer/components/TranslatorSettings.vue @@ -4,7 +4,7 @@ "zh": { "underConstruction": "开发中m( _ _ )m", "pleaseModifyConfigurationFile": "请通过修改配置文件 config\\config.json 来配置翻译器", - "defaultTranslators": "(默认提供腾讯,沪江,谷歌,有道翻译)" + "defaultTranslators": "(默认提供腾讯,沪江,谷歌,有道,彩云翻译)" }, "en": { "underConstruction": "Under construction m( _ _ )m", diff --git a/src/renderer/main.ts b/src/renderer/main.ts index 1688c95..eca3925 100644 --- a/src/renderer/main.ts +++ b/src/renderer/main.ts @@ -13,6 +13,8 @@ import store from './store' import VueI18n from 'vue-i18n' Vue.use(VueI18n) +import 'xterm/css/xterm.css' + if (!process.env.IS_WEB) { Vue.use(require('vue-electron')) } @@ -29,10 +31,14 @@ ipcRenderer.send(IpcTypes.REQUEST_CONFIG, 'default') function next () { const i18n = new VueI18n({ - locale + locale, + messages: { + zh: { gameAborted: '游戏运行失败,请参考调试信息' }, + en: { gameAborted: 'Game aborted. Please refer to debug messages' } + } }) - new Vue({ + const vue = new Vue({ vuetify, router, store, @@ -46,4 +52,16 @@ function next () { store.dispatch('Config/setConfig', { name, cfgs }) } ) + ipcRenderer.on( + IpcTypes.HAS_NEW_DEBUG_MESSAGE, + (event: Electron.Event, message: string) => { + store.commit('Gui/NEW_DEBUG_MESSAGE', { value: message }) + } + ) + ipcRenderer.on( + IpcTypes.GAME_ABORTED, + () => { + vue.$dialog.notify.error(vue.$i18n.t('gameAborted').toString()) + } + ) } diff --git a/src/renderer/router/index.ts b/src/renderer/router/index.ts index 0c381c1..2a5388b 100644 --- a/src/renderer/router/index.ts +++ b/src/renderer/router/index.ts @@ -3,6 +3,7 @@ import Router from 'vue-router' import AboutPage from '@/components/AboutPage.vue' import AddGamePage from '@/components/AddGamePage.vue' +import DebugMessagesPage from '@/components/DebugMessagesPage.vue' import GamesPage from '@/components/GamesPage.vue' import LibrarySettings from '@/components/LibrarySettings.vue' import LocaleChangerSettings from '@/components/LocaleChangerSettings.vue' @@ -34,6 +35,7 @@ export default new Router({ } ] }, + { path: '/debugMessages', component: DebugMessagesPage }, { path: '/about', component: AboutPage } ] }) diff --git a/src/renderer/store/modules/Gui.ts b/src/renderer/store/modules/Gui.ts index e75c7bb..574219f 100644 --- a/src/renderer/store/modules/Gui.ts +++ b/src/renderer/store/modules/Gui.ts @@ -1,10 +1,19 @@ +const MAX_DEBUG_MESSAGES_COLUMNS = 1000 + const guiState: yuki.GuiState = { - noGame: false + noGame: false, + debugMessages: [] } const mutations = { SET_NO_GAME (state: yuki.GuiState, payload: { value: boolean }) { state.noGame = payload.value + }, + NEW_DEBUG_MESSAGE (state: yuki.GuiState, payload: { value: string }) { + state.debugMessages.push(payload.value) + if (state.debugMessages.length > MAX_DEBUG_MESSAGES_COLUMNS) { + state.debugMessages.shift() + } } } diff --git a/src/resources/material-icons/MaterialIcons-Regular.eot b/src/resources/material-icons/MaterialIcons-Regular.eot deleted file mode 100644 index 70508eb..0000000 Binary files a/src/resources/material-icons/MaterialIcons-Regular.eot and /dev/null differ diff --git a/src/resources/material-icons/MaterialIcons-Regular.svg b/src/resources/material-icons/MaterialIcons-Regular.svg deleted file mode 100644 index a449327..0000000 --- a/src/resources/material-icons/MaterialIcons-Regular.svg +++ /dev/null @@ -1,2373 +0,0 @@ - - - - - -Created by FontForge 20151118 at Mon Feb 8 11:58:02 2016 - By shyndman -Copyright 2015 Google, Inc. All Rights Reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/resources/material-icons/MaterialIcons-Regular.ttf b/src/resources/material-icons/MaterialIcons-Regular.ttf deleted file mode 100644 index 7015564..0000000 Binary files a/src/resources/material-icons/MaterialIcons-Regular.ttf and /dev/null differ diff --git a/src/resources/material-icons/MaterialIcons-Regular.woff b/src/resources/material-icons/MaterialIcons-Regular.woff deleted file mode 100644 index b648a3e..0000000 Binary files a/src/resources/material-icons/MaterialIcons-Regular.woff and /dev/null differ diff --git a/src/resources/material-icons/MaterialIcons-Regular.woff2 b/src/resources/material-icons/MaterialIcons-Regular.woff2 deleted file mode 100644 index 9fa2112..0000000 Binary files a/src/resources/material-icons/MaterialIcons-Regular.woff2 and /dev/null differ diff --git a/src/resources/material-icons/material-icons.css b/src/resources/material-icons/material-icons.css deleted file mode 100644 index 2270c09..0000000 --- a/src/resources/material-icons/material-icons.css +++ /dev/null @@ -1,36 +0,0 @@ -@font-face { - font-family: 'Material Icons'; - font-style: normal; - font-weight: 400; - src: url(MaterialIcons-Regular.eot); /* For IE6-8 */ - src: local('Material Icons'), - local('MaterialIcons-Regular'), - url(MaterialIcons-Regular.woff2) format('woff2'), - url(MaterialIcons-Regular.woff) format('woff'), - url(MaterialIcons-Regular.ttf) format('truetype'); -} - -.material-icons { - font-family: 'Material Icons'; - font-weight: normal; - font-style: normal; - font-size: 24px; /* Preferred icon size */ - display: inline-block; - line-height: 1; - text-transform: none; - letter-spacing: normal; - word-wrap: normal; - white-space: nowrap; - direction: ltr; - - /* Support for all WebKit browsers. */ - -webkit-font-smoothing: antialiased; - /* Support for Safari and Chrome. */ - text-rendering: optimizeLegibility; - - /* Support for Firefox. */ - -moz-osx-font-smoothing: grayscale; - - /* Support for IE. */ - font-feature-settings: 'liga'; -} diff --git a/src/types/store.d.ts b/src/types/store.d.ts index 9ab166d..12d75dc 100644 --- a/src/types/store.d.ts +++ b/src/types/store.d.ts @@ -38,6 +38,7 @@ declare namespace yuki { export interface GuiState { noGame: boolean + debugMessages: string[] } export interface TranslatorHookState { diff --git a/yarn.lock b/yarn.lock index 29e06c1..b9fa213 100644 --- a/yarn.lock +++ b/yarn.lock @@ -390,15 +390,10 @@ accessibility-developer-tools@^2.11.0: resolved "http://registry.npm.taobao.org/accessibility-developer-tools/download/accessibility-developer-tools-2.12.0.tgz#3da0cce9d6ec6373964b84f35db7cfc3df7ab514" integrity sha1-PaDM6dbsY3OWS4TzXbfPw996tRQ= -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha1-SCIQFAWCo2uDw+NC4c/ryqkkCUg= - -acorn@^6.0.5: - version "6.1.1" - resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha1-fSWuBbuK0fm2mRCOEJTs14hK3B8= +acorn@^6.2.1: + version "6.3.0" + resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.3.0.tgz?cache=0&sync_timestamp=1569334654641&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" + integrity sha1-AIdQkRn/pPwKAEHR6TpBfmjLhW4= after@0.8.2: version "0.8.2" @@ -1698,6 +1693,11 @@ bluebird@^3.1.1, bluebird@^3.3.0, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3. resolved "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" integrity sha1-fQHG+WFsmlGrD4xUmnnf5uwz76c= +bluebird@^3.5.5: + version "3.7.1" + resolved "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.1.tgz#df70e302b471d7473489acf26a93d63b53f874de" + integrity sha1-33DjArRx10c0iazyapPWO1P4dN4= + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "http://registry.npm.taobao.org/bn.js/download/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -1998,24 +1998,25 @@ cacache@^10.0.4: unique-filename "^1.1.0" y18n "^4.0.0" -cacache@^11.0.2: - version "11.3.1" - resolved "http://registry.npm.taobao.org/cacache/download/cacache-11.3.1.tgz#d09d25f6c4aca7a6d305d141ae332613aa1d515f" - integrity sha1-0J0l9sSsp6bTBdFBrjMmE6odUV8= +cacache@^12.0.2: + version "12.0.3" + resolved "https://registry.npm.taobao.org/cacache/download/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" + integrity sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A= dependencies: - bluebird "^3.5.1" - chownr "^1.0.1" - figgy-pudding "^3.1.0" - glob "^7.1.2" - graceful-fs "^4.1.11" - lru-cache "^4.1.3" + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" mississippi "^3.0.0" mkdirp "^0.5.1" move-concurrently "^1.0.1" promise-inflight "^1.0.1" - rimraf "^2.6.2" - ssri "^6.0.0" - unique-filename "^1.1.0" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" y18n "^4.0.0" cache-base@^1.0.1: @@ -2238,10 +2239,10 @@ chownr@^1.0.1, chownr@^1.1.1: resolved "http://registry.npm.taobao.org/chownr/download/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha1-VHJri4//TfBTxCGH6AH7RBLfFJQ= -chrome-trace-event@^1.0.0: - version "1.0.0" - resolved "http://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" - integrity sha1-Rakb0sIMlBHwljtarrmhuV4JzEg= +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ= dependencies: tslib "^1.9.0" @@ -2527,6 +2528,11 @@ commander@^2.12.1: resolved "http://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&other_urls=http%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1573464045808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + commondir@^1.0.1: version "1.0.1" resolved "http://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -3200,6 +3206,11 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" +detect-indent@^5.0.0: + version "5.0.0" + resolved "https://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" resolved "http://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" @@ -3660,7 +3671,7 @@ errno@^0.1.3, errno@~0.1.7: dependencies: prr "~1.0.1" -error-ex@^1.2.0: +error-ex@^1.2.0, error-ex@^1.3.1: version "1.3.2" resolved "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= @@ -3705,10 +3716,10 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 resolved "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-scope@^4.0.0: - version "4.0.0" - resolved "http://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" - integrity sha1-UL8wcekzi83EMzF5Sgy1M/ATYXI= +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -3760,10 +3771,10 @@ eventemitter3@^3.0.0: resolved "http://registry.npm.taobao.org/eventemitter3/download/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" integrity sha1-CQtNbNvWRe0Qv3UNS1QHlC17oWM= -events@^1.0.0: - version "1.1.1" - resolved "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= +events@^3.0.0: + version "3.0.0" + resolved "https://registry.npm.taobao.org/events/download/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha1-mgoN+vYok9krh1uPJpjKQRSXPog= eventsource@^1.0.7: version "1.0.7" @@ -4028,7 +4039,7 @@ fibers@^4.0.1: dependencies: detect-libc "^1.0.3" -figgy-pudding@^3.1.0, figgy-pudding@^3.5.1: +figgy-pudding@^3.5.1: version "3.5.1" resolved "http://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A= @@ -4137,13 +4148,13 @@ find-cache-dir@^1.0.0: make-dir "^1.0.0" pkg-dir "^2.0.0" -find-cache-dir@^2.0.0: - version "2.0.0" - resolved "http://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" - integrity sha1-TB+u1Z9FGEUw+51/oSOk0EqYRy0= +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1573277838864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= dependencies: commondir "^1.0.1" - make-dir "^1.0.0" + make-dir "^2.0.0" pkg-dir "^3.0.0" find-up@^1.0.0: @@ -4560,7 +4571,7 @@ graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: resolved "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha1-/7cD4QZuig7qpMi4C6klPu77+wA= -graceful-fs@^4.2.2: +graceful-fs@^4.1.15, graceful-fs@^4.2.2: version "4.2.3" resolved "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM= @@ -4609,6 +4620,25 @@ har-validator@~5.1.0: ajv "^6.5.5" har-schema "^2.0.0" +hard-source-webpack-plugin@^0.13.1: + version "0.13.1" + resolved "https://registry.npm.taobao.org/hard-source-webpack-plugin/download/hard-source-webpack-plugin-0.13.1.tgz#a99071e25b232f1438a5bc3c99f10a3869e4428e" + integrity sha1-qZBx4lsjLxQ4pbw8mfEKOGnkQo4= + dependencies: + chalk "^2.4.1" + find-cache-dir "^2.0.0" + graceful-fs "^4.1.11" + lodash "^4.15.0" + mkdirp "^0.5.1" + node-object-hash "^1.2.0" + parse-json "^4.0.0" + pkg-dir "^3.0.0" + rimraf "^2.6.2" + semver "^5.6.0" + tapable "^1.0.0-beta.5" + webpack-sources "^1.0.1" + write-json-file "^2.3.0" + has-ansi@^2.0.0: version "2.0.0" resolved "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -4980,6 +5010,11 @@ indexof@0.0.1: resolved "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + inflight@^1.0.4: version "1.0.6" resolved "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5659,7 +5694,7 @@ jsesc@~0.5.0: resolved "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "http://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= @@ -5912,11 +5947,16 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader-runner@^2.3.0, loader-runner@^2.3.1: +loader-runner@^2.3.1: version "2.3.1" resolved "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.1.tgz#026f12fe7c3115992896ac02ba022ba92971b979" integrity sha1-Am8S/nwxFZkolqwCugIrqSlxuXk= +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + loader-utils@^0.2.16: version "0.2.17" resolved "http://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" @@ -6144,6 +6184,11 @@ lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.3, lodash@^4.17.4 resolved "http://registry.npm.taobao.org/lodash/download/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha1-s56mIp72B+zYniyN8SU2iRysm40= +lodash@^4.15.0: + version "4.17.15" + resolved "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg= + log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -6212,7 +6257,7 @@ lowercase-keys@^1.0.0: resolved "http://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha1-b54wtHCE2XGnyCD/FabFFnt0wm8= -lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache@^4.1.3: +lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2: version "4.1.5" resolved "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80= @@ -6220,6 +6265,13 @@ lru-cache@4.1.x, lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2, lru-cache pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + make-dir@^1.0.0, make-dir@^1.3.0: version "1.3.0" resolved "http://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -6227,6 +6279,14 @@ make-dir@^1.0.0, make-dir@^1.3.0: dependencies: pify "^3.0.0" +make-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + mamacro@^0.0.3: version "0.0.3" resolved "https://registry.npm.taobao.org/mamacro/download/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" @@ -6364,7 +6424,7 @@ micromatch@^2.3.11: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "http://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= @@ -6536,7 +6596,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: +mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -6735,10 +6795,10 @@ node-gyp@^5.0.1, node-gyp@^6.0.1: tar "^4.4.12" which "^1.3.1" -node-libs-browser@^2.0.0: - version "2.1.0" - resolved "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" - integrity sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8= +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= dependencies: assert "^1.1.1" browserify-zlib "^0.2.0" @@ -6747,10 +6807,10 @@ node-libs-browser@^2.0.0: constants-browserify "^1.0.0" crypto-browserify "^3.11.0" domain-browser "^1.1.1" - events "^1.0.0" + events "^3.0.0" https-browserify "^1.0.0" os-browserify "^0.3.0" - path-browserify "0.0.0" + path-browserify "0.0.1" process "^0.11.10" punycode "^1.2.4" querystring-es3 "^0.2.0" @@ -6761,14 +6821,19 @@ node-libs-browser@^2.0.0: timers-browserify "^2.0.4" tty-browserify "0.0.0" url "^0.11.0" - util "^0.10.3" - vm-browserify "0.0.4" + util "^0.11.0" + vm-browserify "^1.0.1" node-loader@^0.6.0: version "0.6.0" resolved "http://registry.npm.taobao.org/node-loader/download/node-loader-0.6.0.tgz#c797ef51095ed5859902b157f6384f6361e05ae8" integrity sha1-x5fvUQle1YWZArFX9jhPY2HgWug= +node-object-hash@^1.2.0: + version "1.4.2" + resolved "https://registry.npm.taobao.org/node-object-hash/download/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94" + integrity sha1-OFgz2FsimQK3WCYiT2B3vpaanpQ= + node-pre-gyp@^0.10.0: version "0.10.3" resolved "http://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" @@ -7230,6 +7295,14 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + parseqs@0.0.5: version "0.0.5" resolved "http://registry.npm.taobao.org/parseqs/download/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" @@ -7262,10 +7335,10 @@ pascalcase@^0.1.1: resolved "http://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -path-browserify@0.0.0: - version "0.0.0" - resolved "http://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" - integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= path-case@^2.1.0: version "2.1.1" @@ -7373,6 +7446,11 @@ pify@^3.0.0: resolved "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + pinkie-promise@^2.0.0: version "2.0.1" resolved "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -8545,6 +8623,11 @@ serialize-javascript@^1.4.0: resolved "http://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe" integrity sha1-GqM2FiyIqJDdrVOEuuvJOmVRYf4= +serialize-javascript@^1.7.0: + version "1.9.1" + resolved "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&sync_timestamp=1567628249948&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb" + integrity sha1-z8IArvd7YAxH2pu4FJyUPnmML9s= + serve-index@^1.7.2: version "1.9.1" resolved "http://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" @@ -8757,6 +8840,13 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= + dependencies: + is-plain-obj "^1.0.0" + source-list-map@^2.0.0: version "2.0.1" resolved "http://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -8788,10 +8878,10 @@ source-map-support@^0.5.10: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@~0.5.6: - version "0.5.9" - resolved "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - integrity sha1-QbyVOyU0Jn6i1gW8z6e/oxEc7V8= +source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha1-CuBp5/47p1OMZMmFFeNTOerFoEI= dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -8940,9 +9030,9 @@ ssri@^5.2.4: dependencies: safe-buffer "^5.1.1" -ssri@^6.0.0: +ssri@^6.0.1: version "6.0.1" - resolved "http://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + resolved "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz?cache=0&sync_timestamp=1571961490394&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" integrity sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg= dependencies: figgy-pudding "^3.5.1" @@ -9198,11 +9288,16 @@ swap-case@^1.1.0: lower-case "^1.1.1" upper-case "^1.1.1" -tapable@^1.0.0, tapable@^1.1.0: +tapable@^1.0.0: version "1.1.1" resolved "http://registry.npm.taobao.org/tapable/download/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" integrity sha1-TSl5I8WnKkI2DeKrUtrfquwAAY4= +tapable@^1.0.0-beta.5, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + tar-stream@^1.5.0: version "1.6.2" resolved "http://registry.npm.taobao.org/tar-stream/download/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -9267,28 +9362,29 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -terser-webpack-plugin@^1.1.0: - version "1.1.0" - resolved "http://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.1.0.tgz#cf7c25a1eee25bf121f4a587bb9e004e3f80e528" - integrity sha1-z3wloe7iW/Eh9KWHu54ATj+A5Sg= +terser-webpack-plugin@^1.4.1: + version "1.4.1" + resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" + integrity sha1-YbGOQOruW+l+dxzbsQ7RKAiIwrQ= dependencies: - cacache "^11.0.2" - find-cache-dir "^2.0.0" + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^1.4.0" + serialize-javascript "^1.7.0" source-map "^0.6.1" - terser "^3.8.1" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" -terser@^3.8.1: - version "3.10.13" - resolved "http://registry.npm.taobao.org/terser/download/terser-3.10.13.tgz#00a8b2e9c1bec3f681257d90f96c3b1292ada97a" - integrity sha1-AKiy6cG+w/aBJX2Q+Ww7EpKtqXo= +terser@^4.1.2: + version "4.4.0" + resolved "https://registry.npm.taobao.org/terser/download/terser-4.4.0.tgz#22c46b4817cf4c9565434bfe6ad47336af259ac3" + integrity sha1-IsRrSBfPTJVlQ0v+atRzNq8lmsM= dependencies: - commander "~2.17.1" + commander "^2.20.0" source-map "~0.6.1" - source-map-support "~0.5.6" + source-map-support "~0.5.12" test-exclude@^4.2.1: version "4.2.3" @@ -9640,7 +9736,7 @@ uniqs@^2.0.0: resolved "http://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= -unique-filename@^1.1.0: +unique-filename@^1.1.0, unique-filename@^1.1.1: version "1.1.1" resolved "http://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= @@ -9799,10 +9895,10 @@ util@0.10.3: dependencies: inherits "2.0.1" -util@^0.10.3: - version "0.10.4" - resolved "http://registry.npm.taobao.org/util/download/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" - integrity sha1-OqASW/5mikZy3liFfTrOJ+y3aQE= +util@^0.11.0: + version "0.11.1" + resolved "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= dependencies: inherits "2.0.3" @@ -9853,12 +9949,10 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vm-browserify@0.0.4: - version "0.0.4" - resolved "http://registry.npm.taobao.org/vm-browserify/download/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" - integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM= - dependencies: - indexof "0.0.1" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= void-elements@^2.0.0: version "2.0.1" @@ -9997,9 +10091,9 @@ wanakana@^4.0.2: resolved "http://registry.npm.taobao.org/wanakana/download/wanakana-4.0.2.tgz#a7d60186724a56fd50e6e9c224628c09294901d8" integrity sha1-p9YBhnJKVv1Q5unCJGKMCSlJAdg= -watchpack@^1.5.0: +watchpack@^1.6.0: version "1.6.0" - resolved "http://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + resolved "https://registry.npm.taobao.org/watchpack/download/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" integrity sha1-S8EsLr6KonenHx0/FNaFx7RGzQA= dependencies: chokidar "^2.0.2" @@ -10150,7 +10244,15 @@ webpack-merge@^4.1.3: dependencies: lodash "^4.17.5" -webpack-sources@^1.1.0, webpack-sources@^1.3.0: +webpack-sources@^1.0.1, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^1.1.0: version "1.3.0" resolved "http://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" integrity sha1-KijcufH0X+lg2PFJMlK17mUw+oU= @@ -10158,35 +10260,34 @@ webpack-sources@^1.1.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.19.1: - version "4.32.2" - resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.32.2.tgz#3639375364a617e84b914ddb2c770aed511e5bc8" - integrity sha1-Njk3U2SmF+hLkU3bLHcK7VEeW8g= +webpack@^4.41.2: + version "4.41.2" + resolved "https://registry.npm.taobao.org/webpack/download/webpack-4.41.2.tgz#c34ec76daa3a8468c9b61a50336d8e3303dce74e" + integrity sha1-w07Hbao6hGjJthpQM22OMwPc504= dependencies: "@webassemblyjs/ast" "1.8.5" "@webassemblyjs/helper-module-context" "1.8.5" "@webassemblyjs/wasm-edit" "1.8.5" "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.0.5" - acorn-dynamic-import "^4.0.0" - ajv "^6.1.0" - ajv-keywords "^3.1.0" - chrome-trace-event "^1.0.0" + acorn "^6.2.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" enhanced-resolve "^4.1.0" - eslint-scope "^4.0.0" + eslint-scope "^4.0.3" json-parse-better-errors "^1.0.2" - loader-runner "^2.3.0" - loader-utils "^1.1.0" - memory-fs "~0.4.1" - micromatch "^3.1.8" - mkdirp "~0.5.0" - neo-async "^2.5.0" - node-libs-browser "^2.0.0" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.1" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" schema-utils "^1.0.0" - tapable "^1.1.0" - terser-webpack-plugin "^1.1.0" - watchpack "^1.5.0" - webpack-sources "^1.3.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.1" + watchpack "^1.6.0" + webpack-sources "^1.4.1" websocket-driver@>=0.5.1: version "0.7.0" @@ -10260,10 +10361,10 @@ wordwrap@~0.0.2: resolved "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -worker-farm@^1.5.2: - version "1.6.0" - resolved "http://registry.npm.taobao.org/worker-farm/download/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0" - integrity sha1-rsxAWXb6talVJhgIRvDboojzpKA= +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= dependencies: errno "~0.1.7" @@ -10298,6 +10399,18 @@ write-file-atomic@^2.0.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" +write-json-file@^2.3.0: + version "2.3.0" + resolved "https://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" + integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= + dependencies: + detect-indent "^5.0.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + pify "^3.0.0" + sort-keys "^2.0.0" + write-file-atomic "^2.0.0" + ws@~3.3.1: version "3.3.3" resolved "http://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -10349,6 +10462,16 @@ xtend@~2.1.1: dependencies: object-keys "~0.4.0" +xterm-addon-fit@^0.3.0: + version "0.3.0" + resolved "https://registry.npm.taobao.org/xterm-addon-fit/download/xterm-addon-fit-0.3.0.tgz#341710741027de9d648a9f84415a01ddfdbbe715" + integrity sha1-NBcQdBAn3p1kip+EQVoB3f275xU= + +xterm@^4.2.0-vscode1: + version "4.2.0-vscode1" + resolved "https://registry.npm.taobao.org/xterm/download/xterm-4.2.0-vscode1.tgz#dbd67e52536578ea6b772d69a97da1487acf29e3" + integrity sha1-29Z+UlNleOprdy1pqX2hSHrPKeM= + "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "http://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
{{$t('maxColumns')}}
1000
{{$t('escapePatterns')}}
%GAME_PATH%
{{$t('gamePath')}}