diff --git a/.travis.yml b/.travis.yml
index e56ff29..7ecc816 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -10,7 +10,7 @@ before_install:
   - yarn --verison
   - cd app
   - yarn global add node-gyp
-  - node-gyp install --target=4.0.1 --dist-url=https://atom.io/download/electron
+  - node-gyp install --target=4.0.4 --dist-url=https://atom.io/download/electron
 install:
   - yarn
 script:
diff --git a/README.md b/README.md
index 605493c..7e0a701 100644
--- a/README.md
+++ b/README.md
@@ -69,7 +69,7 @@ Repo: [mishiro-score-viewer](https://github.com/toyobayashi/mishiro-score-viewer
 
     # if you have not downloaded Electron's C++ header
     $ npm install -g node-gyp
-    $ node-gyp install --target=4.0.1 --dist-url=https://atom.io/download/electron
+    $ node-gyp install --target=4.0.4 --dist-url=https://atom.io/download/electron
 
     # install dependencies
     $ npm install
diff --git a/README_CN.md b/README_CN.md
index ce45f48..ab2aaab 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -54,7 +54,7 @@
 
     # 获取 Electron 用于编译原生模块的头文件
     $ npm install -g node-gyp
-    $ node-gyp install --target=4.0.1 --dist-url=https://atom.io/download/electron
+    $ node-gyp install --target=4.0.4 --dist-url=https://atom.io/download/electron
 
     # 安装依赖
     $ npm install
diff --git a/app/.npmrc b/app/.npmrc
index d971d7d..80ac10f 100644
--- a/app/.npmrc
+++ b/app/.npmrc
@@ -1,4 +1,4 @@
 build_from_source=true
 runtime=electron
-target=4.0.1
+target=4.0.4
 dist_url=https://atom.io/download/electron
diff --git a/app/package-lock.json b/app/package-lock.json
index 9d97aa9..f8efc5e 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "mishiro",
-  "version": "1.8.0-dev",
+  "version": "1.8.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -42,9 +42,9 @@
       }
     },
     "@types/electron-packager": {
-      "version": "12.0.0",
-      "resolved": "http://registry.npm.taobao.org/@types/electron-packager/download/@types/electron-packager-12.0.0.tgz",
-      "integrity": "sha1-rLzzxYlcHu2j0qMlwv7t7Wpjmx8=",
+      "version": "13.0.0",
+      "resolved": "http://registry.npm.taobao.org/@types/electron-packager/download/@types/electron-packager-13.0.0.tgz",
+      "integrity": "sha1-05E2a8lyJYf0xeJU9AcaLHH8lgw=",
       "dev": true,
       "requires": {
         "@types/node": "*"
@@ -57,9 +57,9 @@
       "dev": true
     },
     "@types/express": {
-      "version": "4.16.0",
-      "resolved": "http://registry.npm.taobao.org/@types/express/download/@types/express-4.16.0.tgz",
-      "integrity": "sha1-bYvELMqm81zymit8MzPLR7WjKhk=",
+      "version": "4.16.1",
+      "resolved": "http://registry.npm.taobao.org/@types/express/download/@types/express-4.16.1.tgz",
+      "integrity": "sha1-11a9GoXDTYfq9EyIi60nuopLfPA=",
       "dev": true,
       "requires": {
         "@types/body-parser": "*",
@@ -68,12 +68,11 @@
       }
     },
     "@types/express-serve-static-core": {
-      "version": "4.16.0",
-      "resolved": "http://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.16.0.tgz",
-      "integrity": "sha1-/f53dZTdwf6OuOzM5S4mG0luQ+c=",
+      "version": "4.16.1",
+      "resolved": "http://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.16.1.tgz",
+      "integrity": "sha1-Nd97MCKZpKsTimQ2F71EB4501E4=",
       "dev": true,
       "requires": {
-        "@types/events": "*",
         "@types/node": "*",
         "@types/range-parser": "*"
       }
@@ -129,9 +128,9 @@
       }
     },
     "@types/http-proxy-middleware": {
-      "version": "0.17.6",
-      "resolved": "http://registry.npm.taobao.org/@types/http-proxy-middleware/download/@types/http-proxy-middleware-0.17.6.tgz",
-      "integrity": "sha1-nR/LRdjXSx1KwksswxVT1Tia6jg=",
+      "version": "0.19.2",
+      "resolved": "http://registry.npm.taobao.org/@types/http-proxy-middleware/download/@types/http-proxy-middleware-0.19.2.tgz",
+      "integrity": "sha1-HES5ZIfLLzMxArdixWqPAiQehb0=",
       "dev": true,
       "requires": {
         "@types/connect": "*",
@@ -176,9 +175,9 @@
       }
     },
     "@types/range-parser": {
-      "version": "1.2.2",
-      "resolved": "http://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.2.tgz",
-      "integrity": "sha1-+o4a0dR0aIp1cUDJHebazm9KvI0=",
+      "version": "1.2.3",
+      "resolved": "http://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz",
+      "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
       "dev": true
     },
     "@types/relateurl": {
@@ -241,9 +240,9 @@
       }
     },
     "@types/webpack": {
-      "version": "4.4.22",
-      "resolved": "http://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.4.22.tgz",
-      "integrity": "sha1-xKXqi3SjG1eVN1Fbz+htKyo0OCw=",
+      "version": "4.4.24",
+      "resolved": "http://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.4.24.tgz",
+      "integrity": "sha1-dbwwEXYGb1ZuxUFRthAcK0WruLI=",
       "dev": true,
       "requires": {
         "@types/anymatch": "*",
@@ -254,9 +253,9 @@
       }
     },
     "@types/webpack-dev-server": {
-      "version": "3.1.1",
-      "resolved": "http://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.1.1.tgz",
-      "integrity": "sha1-Eq4mGUs+G4oxdVlZJlmSHyglg8I=",
+      "version": "3.1.2",
+      "resolved": "http://registry.npm.taobao.org/@types/webpack-dev-server/download/@types/webpack-dev-server-3.1.2.tgz",
+      "integrity": "sha1-47GARaUP3WyOmjtJD4+xkUMrK4U=",
       "dev": true,
       "requires": {
         "@types/express": "*",
@@ -275,42 +274,22 @@
       }
     },
     "@vue/component-compiler-utils": {
-      "version": "2.4.0",
-      "resolved": "http://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-2.4.0.tgz",
-      "integrity": "sha1-qIe1f/BuVihzoLod/PH4Bo76biY=",
+      "version": "2.5.2",
+      "resolved": "http://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-2.5.2.tgz",
+      "integrity": "sha1-qNV+dzNUqxDkdCx9ao3YYYTU174=",
       "dev": true,
       "requires": {
         "consolidate": "^0.15.1",
         "hash-sum": "^1.0.2",
         "lru-cache": "^4.1.2",
         "merge-source-map": "^1.1.0",
-        "postcss": "^7.0.7",
+        "postcss": "^7.0.14",
         "postcss-selector-parser": "^5.0.0",
-        "prettier": "1.13.7",
-        "source-map": "^0.7.3",
-        "vue-template-es2015-compiler": "^1.6.0"
+        "prettier": "1.16.3",
+        "source-map": "~0.6.1",
+        "vue-template-es2015-compiler": "^1.8.2"
       },
       "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
-          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
-          "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
         "cssesc": {
           "version": "2.0.0",
           "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
@@ -327,25 +306,6 @@
             "yallist": "^2.1.2"
           }
         },
-        "postcss": {
-          "version": "7.0.7",
-          "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-7.0.7.tgz",
-          "integrity": "sha1-J1TQc/d6y07wjxI1w2xXIacgFhQ=",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.1",
-            "source-map": "^0.6.1",
-            "supports-color": "^5.5.0"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.6.1",
-              "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
-              "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=",
-              "dev": true
-            }
-          }
-        },
         "postcss-selector-parser": {
           "version": "5.0.0",
           "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz",
@@ -357,21 +317,6 @@
             "uniq": "^1.0.1"
           }
         },
-        "source-map": {
-          "version": "0.7.3",
-          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz",
-          "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=",
-          "dev": true
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
-          "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        },
         "yallist": {
           "version": "2.1.2",
           "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
@@ -590,19 +535,16 @@
       }
     },
     "acorn": {
-      "version": "5.7.3",
-      "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.7.3.tgz",
-      "integrity": "sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk=",
+      "version": "6.1.0",
+      "resolved": "http://registry.npm.taobao.org/acorn/download/acorn-6.1.0.tgz",
+      "integrity": "sha1-sKO+MXUsl6D3ATxfSQO3GgXbaBg=",
       "dev": true
     },
     "acorn-dynamic-import": {
-      "version": "3.0.0",
-      "resolved": "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-3.0.0.tgz",
-      "integrity": "sha1-kBzu5Mf6rvfgetKkfokGddpQong=",
-      "dev": true,
-      "requires": {
-        "acorn": "^5.0.0"
-      }
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-4.0.0.tgz",
+      "integrity": "sha1-SCIQFAWCo2uDw+NC4c/ryqkkCUg=",
+      "dev": true
     },
     "ajv": {
       "version": "6.6.2",
@@ -651,10 +593,13 @@
       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
     },
     "ansi-styles": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true
+      "version": "3.2.1",
+      "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+      "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+      "dev": true,
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
     },
     "anymatch": {
       "version": "2.0.0",
@@ -673,8 +618,8 @@
     },
     "are-we-there-yet": {
       "version": "1.1.5",
-      "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
-      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+      "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
+      "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
       "requires": {
         "delegates": "^1.0.0",
         "readable-stream": "^2.0.6"
@@ -687,8 +632,8 @@
         },
         "readable-stream": {
           "version": "2.3.6",
-          "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
-          "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+          "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
+          "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
           "requires": {
             "core-util-is": "~1.0.0",
             "inherits": "~2.0.3",
@@ -701,14 +646,20 @@
         },
         "string_decoder": {
           "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+          "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
           "requires": {
             "safe-buffer": "~5.1.0"
           }
         }
       }
     },
+    "arg": {
+      "version": "4.1.0",
+      "resolved": "http://registry.npm.taobao.org/arg/download/arg-4.1.0.tgz",
+      "integrity": "sha1-WDxRgZlBngA3q7dAYsN/hRnldfA=",
+      "dev": true
+    },
     "argparse": {
       "version": "1.0.10",
       "resolved": "http://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
@@ -769,16 +720,10 @@
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
       "dev": true
     },
-    "arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
-      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
-      "dev": true
-    },
     "asar": {
-      "version": "0.14.5",
-      "resolved": "http://registry.npm.taobao.org/asar/download/asar-0.14.5.tgz",
-      "integrity": "sha1-ov2eAex+DfdZQBJfLR3zOKv8iuw=",
+      "version": "0.14.6",
+      "resolved": "http://registry.npm.taobao.org/asar/download/asar-0.14.6.tgz",
+      "integrity": "sha1-Dlb/f62XRwhFORw6K4aQt8q+9tg=",
       "dev": true,
       "requires": {
         "chromium-pickle-js": "^0.2.0",
@@ -787,7 +732,7 @@
         "glob": "^6.0.4",
         "minimatch": "^3.0.3",
         "mkdirp": "^0.5.0",
-        "mksnapshot": "^0.3.0",
+        "mksnapshot": "^0.3.4",
         "tmp": "0.0.28"
       },
       "dependencies": {
@@ -910,6 +855,33 @@
         "chalk": "^1.1.3",
         "esutils": "^2.0.2",
         "js-tokens": "^3.0.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        }
       }
     },
     "balanced-match": {
@@ -1000,7 +972,7 @@
     },
     "bignumber.js": {
       "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/bignumber.js/download/bignumber.js-2.4.0.tgz",
       "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg="
     },
     "binary": {
@@ -1020,9 +992,12 @@
       "dev": true
     },
     "bindings": {
-      "version": "1.3.0",
-      "resolved": "http://registry.npm.taobao.org/bindings/download/bindings-1.3.0.tgz",
-      "integrity": "sha1-s0b27PapX1qBXFg5/HzbIlAvHtc="
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/bindings/download/bindings-1.4.0.tgz",
+      "integrity": "sha1-kJ76SfLr4H7NPLE2d49mUFIEASc=",
+      "requires": {
+        "file-uri-to-path": "1.0.0"
+      }
     },
     "bluebird": {
       "version": "3.5.3",
@@ -1032,7 +1007,7 @@
     },
     "bmp-js": {
       "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/bmp-js/download/bmp-js-0.0.3.tgz",
       "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo="
     },
     "bn.js": {
@@ -1256,7 +1231,7 @@
     },
     "buffer-equal": {
       "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/buffer-equal/download/buffer-equal-0.0.1.tgz",
       "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
     },
     "buffer-fill": {
@@ -1427,16 +1402,25 @@
       }
     },
     "chalk": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "version": "2.4.2",
+      "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+      "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
       "dev": true,
       "requires": {
-        "ansi-styles": "^2.2.1",
-        "escape-string-regexp": "^1.0.2",
-        "has-ansi": "^2.0.0",
-        "strip-ansi": "^3.0.0",
-        "supports-color": "^2.0.0"
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "dependencies": {
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+          "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
       }
     },
     "chokidar": {
@@ -1995,23 +1979,55 @@
       }
     },
     "css-loader": {
-      "version": "1.0.1",
-      "resolved": "http://registry.npm.taobao.org/css-loader/download/css-loader-1.0.1.tgz",
-      "integrity": "sha1-aIW7UjOzXsR7AGBX2gHMZAtref4=",
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/css-loader/download/css-loader-2.1.0.tgz",
+      "integrity": "sha1-QpUqwivKXQdpeGOOmBOrzkm48Mw=",
       "dev": true,
       "requires": {
-        "babel-code-frame": "^6.26.0",
-        "css-selector-tokenizer": "^0.7.0",
-        "icss-utils": "^2.1.0",
-        "loader-utils": "^1.0.2",
+        "icss-utils": "^4.0.0",
+        "loader-utils": "^1.2.1",
         "lodash": "^4.17.11",
-        "postcss": "^6.0.23",
-        "postcss-modules-extract-imports": "^1.2.0",
-        "postcss-modules-local-by-default": "^1.2.0",
-        "postcss-modules-scope": "^1.1.0",
-        "postcss-modules-values": "^1.3.0",
+        "postcss": "^7.0.6",
+        "postcss-modules-extract-imports": "^2.0.0",
+        "postcss-modules-local-by-default": "^2.0.3",
+        "postcss-modules-scope": "^2.0.0",
+        "postcss-modules-values": "^2.0.0",
         "postcss-value-parser": "^3.3.0",
-        "source-list-map": "^2.0.0"
+        "schema-utils": "^1.0.0"
+      },
+      "dependencies": {
+        "big.js": {
+          "version": "5.2.2",
+          "resolved": "http://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz",
+          "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "http://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
+          "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.2.3",
+          "resolved": "http://registry.npm.taobao.org/loader-utils/download/loader-utils-1.2.3.tgz",
+          "integrity": "sha1-H/XcaRHJ8KBiUxpMBLYJQGEIwsc=",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^2.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
       }
     },
     "css-select": {
@@ -2376,32 +2392,6 @@
       "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
       "dev": true
     },
-    "decompress-zip": {
-      "version": "0.3.0",
-      "resolved": "http://registry.npm.taobao.org/decompress-zip/download/decompress-zip-0.3.0.tgz",
-      "integrity": "sha1-rjvLfjTGWHmt/nfhnDD4ZgK0vbA=",
-      "dev": true,
-      "requires": {
-        "binary": "^0.3.0",
-        "graceful-fs": "^4.1.3",
-        "mkpath": "^0.1.0",
-        "nopt": "^3.0.1",
-        "q": "^1.1.2",
-        "readable-stream": "^1.1.8",
-        "touch": "0.0.3"
-      },
-      "dependencies": {
-        "nopt": {
-          "version": "3.0.6",
-          "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
-          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-          "dev": true,
-          "requires": {
-            "abbrev": "1"
-          }
-        }
-      }
-    },
     "deep-equal": {
       "version": "1.0.1",
       "resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
@@ -2651,7 +2641,7 @@
     },
     "dom-walk": {
       "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.1.tgz",
       "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg="
     },
     "domain-browser": {
@@ -2695,9 +2685,9 @@
       }
     },
     "duplexify": {
-      "version": "3.6.1",
-      "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.6.1.tgz",
-      "integrity": "sha1-saeinEq/1jlYXvrszoDWZrHjQSU=",
+      "version": "3.7.1",
+      "resolved": "http://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
+      "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
       "dev": true,
       "requires": {
         "end-of-stream": "^1.0.0",
@@ -2754,9 +2744,9 @@
       "dev": true
     },
     "electron": {
-      "version": "4.0.1",
-      "resolved": "http://registry.npm.taobao.org/electron/download/electron-4.0.1.tgz",
-      "integrity": "sha1-xB6u6eCBwuXkpKSnYbdXenfS6xg=",
+      "version": "4.0.4",
+      "resolved": "http://registry.npm.taobao.org/electron/download/electron-4.0.4.tgz",
+      "integrity": "sha1-Y44yzL6d7REkw+bbuqHhbTfDIBk=",
       "dev": true,
       "requires": {
         "@types/node": "^10.12.18",
@@ -2765,9 +2755,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "10.12.18",
-          "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-10.12.18.tgz",
-          "integrity": "sha1-HTynZHGJFVhPzZ9jRGIbdnJmXGc=",
+          "version": "10.12.25",
+          "resolved": "http://registry.npm.taobao.org/@types/node/download/@types/node-10.12.25.tgz",
+          "integrity": "sha1-DQGn3WEn3mDYYezkplCWMEKrtTg=",
           "dev": true
         }
       }
@@ -2834,6 +2824,33 @@
         "zauz": "^1.0.2"
       }
     },
+    "electron-notarize": {
+      "version": "0.0.5",
+      "resolved": "http://registry.npm.taobao.org/electron-notarize/download/electron-notarize-0.0.5.tgz",
+      "integrity": "sha1-2elcdjpq+FPOFtMd3nLXPLJbBwM=",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.0",
+        "fs-extra": "^7.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+          "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz",
+          "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
+          "dev": true
+        }
+      }
+    },
     "electron-osx-sign": {
       "version": "0.4.11",
       "resolved": "http://registry.npm.taobao.org/electron-osx-sign/download/electron-osx-sign-0.4.11.tgz",
@@ -2853,65 +2870,49 @@
           "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
           "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
           "dev": true
-        },
-        "plist": {
-          "version": "3.0.1",
-          "resolved": "http://registry.npm.taobao.org/plist/download/plist-3.0.1.tgz",
-          "integrity": "sha1-qbkx0XwwTokS7wujvdYYK68uH4w=",
-          "dev": true,
-          "requires": {
-            "base64-js": "^1.2.3",
-            "xmlbuilder": "^9.0.7",
-            "xmldom": "0.1.x"
-          }
         }
       }
     },
     "electron-packager": {
-      "version": "12.2.0",
-      "resolved": "http://registry.npm.taobao.org/electron-packager/download/electron-packager-12.2.0.tgz",
-      "integrity": "sha1-444HAqEuX2KgCgOqvQua0orrq0s=",
+      "version": "13.0.1",
+      "resolved": "http://registry.npm.taobao.org/electron-packager/download/electron-packager-13.0.1.tgz",
+      "integrity": "sha1-EmtpeqIAbY5d+eso+qMDthZ7CNQ=",
       "dev": true,
       "requires": {
         "asar": "^0.14.0",
-        "debug": "^3.0.0",
+        "debug": "^4.0.1",
         "electron-download": "^4.1.1",
-        "electron-osx-sign": "^0.4.1",
+        "electron-notarize": "^0.0.5",
+        "electron-osx-sign": "^0.4.11",
         "extract-zip": "^1.0.3",
-        "fs-extra": "^5.0.0",
+        "fs-extra": "^7.0.0",
         "galactus": "^0.2.1",
         "get-package-info": "^1.0.0",
-        "nodeify": "^1.0.1",
         "parse-author": "^2.0.0",
-        "pify": "^3.0.0",
-        "plist": "^2.0.0",
+        "pify": "^4.0.0",
+        "plist": "^3.0.0",
         "rcedit": "^1.0.0",
         "resolve": "^1.1.6",
         "sanitize-filename": "^1.6.0",
         "semver": "^5.3.0",
-        "yargs-parser": "^10.0.0"
+        "yargs-parser": "^11.0.0"
       },
       "dependencies": {
+        "camelcase": {
+          "version": "5.0.0",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-5.0.0.tgz",
+          "integrity": "sha1-AylVJ9WL081Kp1Nj81sujZe+L0I=",
+          "dev": true
+        },
         "debug": {
-          "version": "3.2.6",
-          "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz",
-          "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+          "version": "4.1.1",
+          "resolved": "http://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz",
+          "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
         },
-        "fs-extra": {
-          "version": "5.0.0",
-          "resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-5.0.0.tgz",
-          "integrity": "sha1-QU0BEM3QZwVzTQVWUsVBEmDDGr0=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
-          }
-        },
         "ms": {
           "version": "2.1.1",
           "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz",
@@ -2919,10 +2920,20 @@
           "dev": true
         },
         "pify": {
-          "version": "3.0.0",
-          "resolved": "http://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
-          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "version": "4.0.1",
+          "resolved": "http://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
+          "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
           "dev": true
+        },
+        "yargs-parser": {
+          "version": "11.1.1",
+          "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-11.1.1.tgz",
+          "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
         }
       }
     },
@@ -3105,9 +3116,9 @@
       "dev": true
     },
     "events": {
-      "version": "1.1.1",
-      "resolved": "http://registry.npm.taobao.org/events/download/events-1.1.1.tgz",
-      "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=",
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/events/download/events-3.0.0.tgz",
+      "integrity": "sha1-mgoN+vYok9krh1uPJpjKQRSXPog=",
       "dev": true
     },
     "eventsource": {
@@ -3146,7 +3157,7 @@
     },
     "exif-parser": {
       "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz",
+      "resolved": "http://registry.npm.taobao.org/exif-parser/download/exif-parser-0.1.12.tgz",
       "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI="
     },
     "expand-brackets": {
@@ -3409,9 +3420,9 @@
       "dev": true
     },
     "file-loader": {
-      "version": "2.0.0",
-      "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-2.0.0.tgz",
-      "integrity": "sha1-OXScgvAguehZAdz/mOgATmQBz94=",
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/file-loader/download/file-loader-3.0.1.tgz",
+      "integrity": "sha1-+OC6C1mZGLUa3+RdZtHnca1WD6o=",
       "dev": true,
       "requires": {
         "loader-utils": "^1.0.2",
@@ -3420,9 +3431,14 @@
     },
     "file-type": {
       "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/file-type/download/file-type-3.9.0.tgz",
       "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek="
     },
+    "file-uri-to-path": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
+      "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90="
+    },
     "fill-range": {
       "version": "4.0.0",
       "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
@@ -3532,13 +3548,13 @@
       }
     },
     "flush-write-stream": {
-      "version": "1.0.3",
-      "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.0.3.tgz",
-      "integrity": "sha1-xdWG7zivYJdlC0m8QbVfq7GfNb0=",
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz",
+      "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=",
       "dev": true,
       "requires": {
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.4"
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.3.6"
       },
       "dependencies": {
         "isarray": {
@@ -3613,50 +3629,17 @@
       "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
     },
     "fork-ts-checker-webpack-plugin": {
-      "version": "0.4.15",
-      "resolved": "http://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-0.4.15.tgz",
-      "integrity": "sha1-fNn5Tz3VjNH+j5U/h25yCQ7aP20=",
+      "version": "0.5.2",
+      "resolved": "http://registry.npm.taobao.org/fork-ts-checker-webpack-plugin/download/fork-ts-checker-webpack-plugin-0.5.2.tgz",
+      "integrity": "sha1-pzs2ML0KaUCabkgk5UwDpi/oLY8=",
       "dev": true,
       "requires": {
         "babel-code-frame": "^6.22.0",
         "chalk": "^2.4.1",
         "chokidar": "^2.0.4",
-        "lodash": "^4.17.11",
         "micromatch": "^3.1.10",
         "minimatch": "^3.0.4",
-        "resolve": "^1.5.0",
         "tapable": "^1.0.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
-          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.1",
-          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
-          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
-          "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
       }
     },
     "form-data": {
@@ -3744,8 +3727,8 @@
     },
     "fs-minipass": {
       "version": "1.2.5",
-      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
-      "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+      "resolved": "http://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.5.tgz",
+      "integrity": "sha1-BsJ3IYRU7CiN93raVKA7hwKqy50=",
       "requires": {
         "minipass": "^2.2.1"
       }
@@ -4495,7 +4478,7 @@
     },
     "global": {
       "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/global/download/global-4.3.2.tgz",
       "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
       "requires": {
         "min-document": "^2.19.0",
@@ -4887,8 +4870,8 @@
     },
     "iconv-lite": {
       "version": "0.4.24",
-      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz",
+      "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
       "requires": {
         "safer-buffer": ">= 2.1.2 < 3"
       }
@@ -4900,12 +4883,12 @@
       "dev": true
     },
     "icss-utils": {
-      "version": "2.1.0",
-      "resolved": "http://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz",
-      "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/icss-utils/download/icss-utils-4.0.0.tgz",
+      "integrity": "sha1-1Sz0vNz6HEXC2++0/99rAO9ggJg=",
       "dev": true,
       "requires": {
-        "postcss": "^6.0.1"
+        "postcss": "^7.0.5"
       }
     },
     "ieee754": {
@@ -4921,8 +4904,8 @@
     },
     "ignore-walk": {
       "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
-      "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+      "resolved": "http://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.1.tgz",
+      "integrity": "sha1-qD5i59JyrA47VRqqgoMaGbafgvg=",
       "requires": {
         "minimatch": "^3.0.4"
       }
@@ -5022,7 +5005,7 @@
     },
     "ip-regex": {
       "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/ip-regex/download/ip-regex-1.0.3.tgz",
       "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0="
     },
     "ipaddr.js": {
@@ -5078,15 +5061,6 @@
       "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
       "dev": true
     },
-    "is-builtin-module": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
-      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
-      "dev": true,
-      "requires": {
-        "builtin-modules": "^1.0.0"
-      }
-    },
     "is-callable": {
       "version": "1.1.4",
       "resolved": "http://registry.npm.taobao.org/is-callable/download/is-callable-1.1.4.tgz",
@@ -5188,7 +5162,7 @@
     },
     "is-function": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/is-function/download/is-function-1.0.1.tgz",
       "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU="
     },
     "is-glob": {
@@ -5259,12 +5233,6 @@
         "isobject": "^3.0.1"
       }
     },
-    "is-promise": {
-      "version": "1.0.1",
-      "resolved": "http://registry.npm.taobao.org/is-promise/download/is-promise-1.0.1.tgz",
-      "integrity": "sha1-MVc3YcBX4zwukaq56W2gjO++duU=",
-      "dev": true
-    },
     "is-regex": {
       "version": "1.0.4",
       "resolved": "http://registry.npm.taobao.org/is-regex/download/is-regex-1.0.4.tgz",
@@ -5360,7 +5328,7 @@
     },
     "jimp": {
       "version": "0.2.28",
-      "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz",
+      "resolved": "http://registry.npm.taobao.org/jimp/download/jimp-0.2.28.tgz",
       "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=",
       "requires": {
         "bignumber.js": "^2.1.0",
@@ -5390,7 +5358,7 @@
     },
     "jpeg-js": {
       "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/jpeg-js/download/jpeg-js-0.2.0.tgz",
       "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII="
     },
     "js-tokens": {
@@ -5559,9 +5527,9 @@
       }
     },
     "loader-runner": {
-      "version": "2.3.1",
-      "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.3.1.tgz",
-      "integrity": "sha1-Am8S/nwxFZkolqwCugIrqSlxuXk=",
+      "version": "2.4.0",
+      "resolved": "http://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz",
+      "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=",
       "dev": true
     },
     "loader-utils": {
@@ -5885,16 +5853,16 @@
     },
     "min-document": {
       "version": "2.19.0",
-      "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz",
       "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
       "requires": {
         "dom-walk": "^0.1.0"
       }
     },
     "mini-css-extract-plugin": {
-      "version": "0.4.5",
-      "resolved": "http://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.4.5.tgz",
-      "integrity": "sha1-yZ6eeNVPP6d1YzruWTOuqk6AcZo=",
+      "version": "0.5.0",
+      "resolved": "http://registry.npm.taobao.org/mini-css-extract-plugin/download/mini-css-extract-plugin-0.5.0.tgz",
+      "integrity": "sha1-rABZsCuWklFaY3EVsMyf7To1x7A=",
       "dev": true,
       "requires": {
         "loader-utils": "^1.1.0",
@@ -5929,25 +5897,25 @@
     },
     "minipass": {
       "version": "2.3.5",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
-      "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+      "resolved": "http://registry.npm.taobao.org/minipass/download/minipass-2.3.5.tgz",
+      "integrity": "sha1-ys6+SSAiSX9law8PUeJoKp7S2Eg=",
       "requires": {
         "safe-buffer": "^5.1.2",
         "yallist": "^3.0.0"
       }
     },
     "minizlib": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz",
-      "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==",
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/minizlib/download/minizlib-1.2.1.tgz",
+      "integrity": "sha1-3SfqYTYkPHyIBoToZyuzpF/ZthQ=",
       "requires": {
         "minipass": "^2.2.1"
       }
     },
     "mishiro-core": {
-      "version": "1.3.3",
-      "resolved": "http://registry.npm.taobao.org/mishiro-core/download/mishiro-core-1.3.3.tgz",
-      "integrity": "sha1-wtK8t9eufvrcmz8ERkX8mspPStM=",
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/mishiro-core/download/mishiro-core-1.4.0.tgz",
+      "integrity": "sha1-D+qzLkampJDe8d63ffUegb9edzE=",
       "requires": {
         "acb": "^1.2.3",
         "fs-extra": "^7.0.0",
@@ -5956,7 +5924,6 @@
         "lame": "^1.2.4",
         "msgpack-lite": "^0.1.26",
         "request": "^2.88.0",
-        "rijndael-js": "^1.0.0",
         "wav": "^1.0.2"
       }
     },
@@ -6056,16 +6023,31 @@
       "dev": true
     },
     "mksnapshot": {
-      "version": "0.3.1",
-      "resolved": "http://registry.npm.taobao.org/mksnapshot/download/mksnapshot-0.3.1.tgz",
-      "integrity": "sha1-JQHAVldDbXQs6Vik/5LHfkDdN+Y=",
+      "version": "0.3.4",
+      "resolved": "http://registry.npm.taobao.org/mksnapshot/download/mksnapshot-0.3.4.tgz",
+      "integrity": "sha1-o7lnEJW0ZSna7UTD+xx1tnOH0+M=",
       "dev": true,
       "requires": {
         "decompress-zip": "0.3.0",
         "fs-extra": "0.26.7",
-        "request": "^2.79.0"
+        "request": "2.x"
       },
       "dependencies": {
+        "decompress-zip": {
+          "version": "0.3.0",
+          "resolved": "http://registry.npm.taobao.org/decompress-zip/download/decompress-zip-0.3.0.tgz",
+          "integrity": "sha1-rjvLfjTGWHmt/nfhnDD4ZgK0vbA=",
+          "dev": true,
+          "requires": {
+            "binary": "^0.3.0",
+            "graceful-fs": "^4.1.3",
+            "mkpath": "^0.1.0",
+            "nopt": "^3.0.1",
+            "q": "^1.1.2",
+            "readable-stream": "^1.1.8",
+            "touch": "0.0.3"
+          }
+        },
         "fs-extra": {
           "version": "0.26.7",
           "resolved": "http://registry.npm.taobao.org/fs-extra/download/fs-extra-0.26.7.tgz",
@@ -6087,6 +6069,15 @@
           "requires": {
             "graceful-fs": "^4.1.6"
           }
+        },
+        "nopt": {
+          "version": "3.0.6",
+          "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
+          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+          "dev": true,
+          "requires": {
+            "abbrev": "1"
+          }
         }
       }
     },
@@ -6169,8 +6160,8 @@
     },
     "needle": {
       "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz",
-      "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==",
+      "resolved": "http://registry.npm.taobao.org/needle/download/needle-2.2.4.tgz",
+      "integrity": "sha1-UZMb/4JTOxkot9HWngHxsA/9Kk4=",
       "requires": {
         "debug": "^2.1.2",
         "iconv-lite": "^0.4.4",
@@ -6211,9 +6202,9 @@
       "dev": true
     },
     "node-libs-browser": {
-      "version": "2.1.0",
-      "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.1.0.tgz",
-      "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=",
+      "version": "2.2.0",
+      "resolved": "http://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.0.tgz",
+      "integrity": "sha1-xy9g2dRt4IqUDe27JfP/ovm7qnc=",
       "dev": true,
       "requires": {
         "assert": "^1.1.1",
@@ -6223,7 +6214,7 @@
         "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",
@@ -6237,7 +6228,7 @@
         "timers-browserify": "^2.0.4",
         "tty-browserify": "0.0.0",
         "url": "^0.11.0",
-        "util": "^0.10.3",
+        "util": "^0.11.0",
         "vm-browserify": "0.0.4"
       },
       "dependencies": {
@@ -6297,9 +6288,9 @@
       }
     },
     "node-pre-gyp": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz",
-      "integrity": "sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==",
+      "version": "0.11.0",
+      "resolved": "http://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.11.0.tgz",
+      "integrity": "sha1-2x8zIVJy9pLNOPAyOOPptHxd0FQ=",
       "requires": {
         "detect-libc": "^1.0.2",
         "mkdirp": "^0.5.1",
@@ -6322,16 +6313,6 @@
         "semver": "^5.3.0"
       }
     },
-    "nodeify": {
-      "version": "1.0.1",
-      "resolved": "http://registry.npm.taobao.org/nodeify/download/nodeify-1.0.1.tgz",
-      "integrity": "sha1-ZKtpp7268DzhB7TwM1yHwLnpGx0=",
-      "dev": true,
-      "requires": {
-        "is-promise": "~1.0.0",
-        "promise": "~1.3.0"
-      }
-    },
     "nopt": {
       "version": "4.0.1",
       "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz",
@@ -6342,13 +6323,13 @@
       }
     },
     "normalize-package-data": {
-      "version": "2.4.0",
-      "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
-      "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+      "version": "2.5.0",
+      "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
       "dev": true,
       "requires": {
         "hosted-git-info": "^2.1.4",
-        "is-builtin-module": "^1.0.0",
+        "resolve": "^1.10.0",
         "semver": "2 || 3 || 4 || 5",
         "validate-npm-package-license": "^3.0.1"
       }
@@ -6369,14 +6350,14 @@
       "dev": true
     },
     "npm-bundled": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz",
-      "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g=="
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.0.6.tgz",
+      "integrity": "sha1-57qarc75YrthJI+RchzZMrP+a90="
     },
     "npm-packlist": {
-      "version": "1.1.12",
-      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz",
-      "integrity": "sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==",
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.3.0.tgz",
+      "integrity": "sha1-fwHo5EQINBN5ypjP11bnspvSYmw=",
       "requires": {
         "ignore-walk": "^3.0.1",
         "npm-bundled": "^1.0.1"
@@ -6393,8 +6374,8 @@
     },
     "npmlog": {
       "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
-      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+      "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
+      "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
       "requires": {
         "are-we-there-yet": "~1.1.2",
         "console-control-strings": "~1.1.0",
@@ -6638,8 +6619,8 @@
     },
     "osenv": {
       "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
-      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+      "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz",
+      "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=",
       "requires": {
         "os-homedir": "^1.0.0",
         "os-tmpdir": "^1.0.0"
@@ -6694,9 +6675,9 @@
       "dev": true
     },
     "pako": {
-      "version": "1.0.7",
-      "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.7.tgz",
-      "integrity": "sha1-JHNDkCG1fxUWyC9YvnJ1rY7xuyc=",
+      "version": "1.0.8",
+      "resolved": "http://registry.npm.taobao.org/pako/download/pako-1.0.8.tgz",
+      "integrity": "sha1-aESJCqucY1r4aK1f7MYuisu6PqQ=",
       "dev": true
     },
     "parallel-transform": {
@@ -6752,16 +6733,17 @@
       }
     },
     "parse-asn1": {
-      "version": "5.1.1",
-      "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.1.tgz",
-      "integrity": "sha1-9r8pOBgzK9DatU77Fgh3JHRebKg=",
+      "version": "5.1.3",
+      "resolved": "http://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.3.tgz",
+      "integrity": "sha1-FgDGzAcnNl1ouX86p4k55zWnUgQ=",
       "dev": true,
       "requires": {
         "asn1.js": "^4.0.0",
         "browserify-aes": "^1.0.0",
         "create-hash": "^1.1.0",
         "evp_bytestokey": "^1.0.0",
-        "pbkdf2": "^3.0.3"
+        "pbkdf2": "^3.0.3",
+        "safe-buffer": "^5.1.1"
       }
     },
     "parse-author": {
@@ -6775,12 +6757,12 @@
     },
     "parse-bmfont-ascii": {
       "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
+      "resolved": "http://registry.npm.taobao.org/parse-bmfont-ascii/download/parse-bmfont-ascii-1.0.6.tgz",
       "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU="
     },
     "parse-bmfont-binary": {
       "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
+      "resolved": "http://registry.npm.taobao.org/parse-bmfont-binary/download/parse-bmfont-binary-1.0.6.tgz",
       "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY="
     },
     "parse-bmfont-xml": {
@@ -6794,7 +6776,7 @@
     },
     "parse-headers": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/parse-headers/download/parse-headers-2.0.1.tgz",
       "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=",
       "requires": {
         "for-each": "^0.3.2",
@@ -6931,7 +6913,7 @@
     },
     "pixelmatch": {
       "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/pixelmatch/download/pixelmatch-4.0.2.tgz",
       "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=",
       "requires": {
         "pngjs": "^3.0.0"
@@ -6992,28 +6974,14 @@
       }
     },
     "plist": {
-      "version": "2.1.0",
-      "resolved": "http://registry.npm.taobao.org/plist/download/plist-2.1.0.tgz",
-      "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=",
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/plist/download/plist-3.0.1.tgz",
+      "integrity": "sha1-qbkx0XwwTokS7wujvdYYK68uH4w=",
       "dev": true,
       "requires": {
-        "base64-js": "1.2.0",
-        "xmlbuilder": "8.2.2",
+        "base64-js": "^1.2.3",
+        "xmlbuilder": "^9.0.7",
         "xmldom": "0.1.x"
-      },
-      "dependencies": {
-        "base64-js": {
-          "version": "1.2.0",
-          "resolved": "http://registry.npm.taobao.org/base64-js/download/base64-js-1.2.0.tgz",
-          "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=",
-          "dev": true
-        },
-        "xmlbuilder": {
-          "version": "8.2.2",
-          "resolved": "http://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-8.2.2.tgz",
-          "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=",
-          "dev": true
-        }
       }
     },
     "pngjs": {
@@ -7039,45 +7007,14 @@
       "dev": true
     },
     "postcss": {
-      "version": "6.0.23",
-      "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz",
-      "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=",
+      "version": "7.0.14",
+      "resolved": "http://registry.npm.taobao.org/postcss/download/postcss-7.0.14.tgz",
+      "integrity": "sha1-RSftaxyg2CxTzl7BogQcI0a71uU=",
       "dev": true,
       "requires": {
-        "chalk": "^2.4.1",
+        "chalk": "^2.4.2",
         "source-map": "^0.6.1",
-        "supports-color": "^5.4.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
-          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.1",
-          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.1.tgz",
-          "integrity": "sha1-GMSasWoDe26wFSzIPjRxM4IVtm4=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
-          "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
+        "supports-color": "^6.1.0"
       }
     },
     "postcss-calc": {
@@ -7794,42 +7731,43 @@
       }
     },
     "postcss-modules-extract-imports": {
-      "version": "1.2.1",
-      "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz",
-      "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=",
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz",
+      "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=",
       "dev": true,
       "requires": {
-        "postcss": "^6.0.1"
+        "postcss": "^7.0.5"
       }
     },
     "postcss-modules-local-by-default": {
-      "version": "1.2.0",
-      "resolved": "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz",
-      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+      "version": "2.0.5",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-2.0.5.tgz",
+      "integrity": "sha1-fzh/aPVVVZgGjk1tHqC31vqYQnI=",
       "dev": true,
       "requires": {
         "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
+        "postcss": "^7.0.6",
+        "postcss-value-parser": "^3.3.1"
       }
     },
     "postcss-modules-scope": {
-      "version": "1.1.0",
-      "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz",
-      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.0.1.tgz",
+      "integrity": "sha1-LA8jlM3kzQkUfbBUxokX449tQ6Q=",
       "dev": true,
       "requires": {
         "css-selector-tokenizer": "^0.7.0",
-        "postcss": "^6.0.1"
+        "postcss": "^7.0.6"
       }
     },
     "postcss-modules-values": {
-      "version": "1.3.0",
-      "resolved": "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz",
-      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-2.0.0.tgz",
+      "integrity": "sha1-R5tG3Axco9x/pScIUYNrnscVL2Q=",
       "dev": true,
       "requires": {
         "icss-replace-symbols": "^1.1.0",
-        "postcss": "^6.0.1"
+        "postcss": "^7.0.6"
       }
     },
     "postcss-normalize-charset": {
@@ -8603,9 +8541,9 @@
       "dev": true
     },
     "prettier": {
-      "version": "1.13.7",
-      "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.13.7.tgz",
-      "integrity": "sha1-hQ87iveEpJpuotLqp+0UKKNLcoE=",
+      "version": "1.16.3",
+      "resolved": "http://registry.npm.taobao.org/prettier/download/prettier-1.16.3.tgz",
+      "integrity": "sha1-jGIWhFO63vcC80tFtu6JlXSmpl0=",
       "dev": true
     },
     "pretty-bytes": {
@@ -8648,15 +8586,6 @@
         "through2": "~0.2.3"
       }
     },
-    "promise": {
-      "version": "1.3.0",
-      "resolved": "http://registry.npm.taobao.org/promise/download/promise-1.3.0.tgz",
-      "integrity": "sha1-5cyaTIJ45GZP/twBx9qEhCsEAXU=",
-      "dev": true,
-      "requires": {
-        "is-promise": "~1"
-      }
-    },
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "http://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
@@ -8845,7 +8774,7 @@
     },
     "read-chunk": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/read-chunk/download/read-chunk-1.0.1.tgz",
       "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ="
     },
     "read-pkg": {
@@ -9067,12 +8996,12 @@
       "dev": true
     },
     "resolve": {
-      "version": "1.8.1",
-      "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.8.1.tgz",
-      "integrity": "sha1-gvHsGaQjrB+9CAsLqwa6NuhKeiY=",
+      "version": "1.10.0",
+      "resolved": "http://registry.npm.taobao.org/resolve/download/resolve-1.10.0.tgz",
+      "integrity": "sha1-O9qur0XMB/N1ZW39LlTtCBCxAbo=",
       "dev": true,
       "requires": {
-        "path-parse": "^1.0.5"
+        "path-parse": "^1.0.6"
       }
     },
     "resolve-cwd": {
@@ -9114,11 +9043,6 @@
       "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
       "dev": true
     },
-    "rijndael-js": {
-      "version": "1.0.0",
-      "resolved": "http://registry.npm.taobao.org/rijndael-js/download/rijndael-js-1.0.0.tgz",
-      "integrity": "sha1-jrAsgIL7ZjyhQZckpZg7MYN5T4s="
-    },
     "rimraf": {
       "version": "2.6.2",
       "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
@@ -9557,9 +9481,9 @@
       }
     },
     "source-map-support": {
-      "version": "0.5.9",
-      "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.9.tgz",
-      "integrity": "sha1-QbyVOyU0Jn6i1gW8z6e/oxEc7V8=",
+      "version": "0.5.10",
+      "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.10.tgz",
+      "integrity": "sha1-IhQIC8nVGDJRHuK6uW48L5NTEgw=",
       "dev": true,
       "requires": {
         "buffer-from": "^1.0.0",
@@ -9573,9 +9497,9 @@
       "dev": true
     },
     "spdx-correct": {
-      "version": "3.0.2",
-      "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.2.tgz",
-      "integrity": "sha1-GbtAnpG0exrVQVkkP3MSqFjbPC4=",
+      "version": "3.1.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.0.tgz",
+      "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=",
       "dev": true,
       "requires": {
         "spdx-expression-parse": "^3.0.0",
@@ -9599,9 +9523,9 @@
       }
     },
     "spdx-license-ids": {
-      "version": "3.0.2",
-      "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.2.tgz",
-      "integrity": "sha1-pZ78CXhMKlutoTz+r1x13SFARNI=",
+      "version": "3.0.3",
+      "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.3.tgz",
+      "integrity": "sha1-gcDOjyFHR1YUi7tfO/wPNr8V124=",
       "dev": true
     },
     "spdy": {
@@ -9707,19 +9631,19 @@
       "dev": true
     },
     "sqlite3": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.4.tgz",
-      "integrity": "sha512-CO8vZMyUXBPC+E3iXOCc7Tz2pAdq5BWfLcQmOokCOZW5S5sZ/paijiPOCdvzpdP83RroWHYa5xYlVqCxSqpnQg==",
+      "version": "4.0.6",
+      "resolved": "http://registry.npm.taobao.org/sqlite3/download/sqlite3-4.0.6.tgz",
+      "integrity": "sha1-5Ye1g7Wsxss41EN97bJXI1nAgK0=",
       "requires": {
         "nan": "~2.10.0",
-        "node-pre-gyp": "^0.10.3",
+        "node-pre-gyp": "^0.11.0",
         "request": "^2.87.0"
       },
       "dependencies": {
         "nan": {
           "version": "2.10.0",
-          "resolved": "http://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
-          "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
+          "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.10.0.tgz",
+          "integrity": "sha1-ltDNYQ69WNS03pzAxoKM2pnHVI8="
         }
       }
     },
@@ -9782,9 +9706,9 @@
       "dev": true
     },
     "stream-browserify": {
-      "version": "2.0.1",
-      "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.1.tgz",
-      "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz",
+      "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
       "dev": true,
       "requires": {
         "inherits": "~2.0.1",
@@ -9894,12 +9818,12 @@
     },
     "stream-to": {
       "version": "0.2.2",
-      "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/stream-to/download/stream-to-0.2.2.tgz",
       "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0="
     },
     "stream-to-buffer": {
       "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/stream-to-buffer/download/stream-to-buffer-0.1.0.tgz",
       "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=",
       "requires": {
         "stream-to": "~0.2.0"
@@ -10031,10 +9955,13 @@
       }
     },
     "supports-color": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true
+      "version": "6.1.0",
+      "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz",
+      "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+      "dev": true,
+      "requires": {
+        "has-flag": "^3.0.0"
+      }
     },
     "svgo": {
       "version": "1.1.1",
@@ -10090,8 +10017,8 @@
     },
     "tar": {
       "version": "4.4.8",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
-      "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
+      "resolved": "http://registry.npm.taobao.org/tar/download/tar-4.4.8.tgz",
+      "integrity": "sha1-sZ7sP94qluZGZt+f20DFyhvDdH0=",
       "requires": {
         "chownr": "^1.1.1",
         "fs-minipass": "^1.2.5",
@@ -10103,14 +10030,14 @@
       }
     },
     "terser": {
-      "version": "3.14.1",
-      "resolved": "http://registry.npm.taobao.org/terser/download/terser-3.14.1.tgz",
-      "integrity": "sha1-zEdkAUr1cLx5x5dCNYvUaSYBijI=",
+      "version": "3.16.1",
+      "resolved": "http://registry.npm.taobao.org/terser/download/terser-3.16.1.tgz",
+      "integrity": "sha1-Ww3U+h/9CwtDwkk7LDZP0XkWBJM=",
       "dev": true,
       "requires": {
         "commander": "~2.17.1",
         "source-map": "~0.6.1",
-        "source-map-support": "~0.5.6"
+        "source-map-support": "~0.5.9"
       },
       "dependencies": {
         "commander": {
@@ -10122,9 +10049,9 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "1.2.1",
-      "resolved": "http://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.2.1.tgz",
-      "integrity": "sha1-dUXamuX0+a5qCslh60b158hFzCY=",
+      "version": "1.2.2",
+      "resolved": "http://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.2.2.tgz",
+      "integrity": "sha1-m/86iRrWFIVafd4NcH99takn49k=",
       "dev": true,
       "requires": {
         "cacache": "^11.0.2",
@@ -10132,7 +10059,7 @@
         "schema-utils": "^1.0.0",
         "serialize-javascript": "^1.4.0",
         "source-map": "^0.6.1",
-        "terser": "^3.8.1",
+        "terser": "^3.16.1",
         "webpack-sources": "^1.1.0",
         "worker-farm": "^1.5.2"
       }
@@ -10187,7 +10114,7 @@
     },
     "tinycolor2": {
       "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/tinycolor2/download/tinycolor2-1.4.1.tgz",
       "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
     },
     "tmp": {
@@ -10297,7 +10224,7 @@
     },
     "trim": {
       "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/trim/download/trim-0.0.1.tgz",
       "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
     },
     "trim-newlines": {
@@ -10360,27 +10287,16 @@
       }
     },
     "ts-node": {
-      "version": "7.0.1",
-      "resolved": "http://registry.npm.taobao.org/ts-node/download/ts-node-7.0.1.tgz",
-      "integrity": "sha1-lWLcLR5tJI0kvFX3c+P2FDN9m68=",
+      "version": "8.0.2",
+      "resolved": "http://registry.npm.taobao.org/ts-node/download/ts-node-8.0.2.tgz",
+      "integrity": "sha1-ns3414KgykyA0dZBy7I2r0rBt1Y=",
       "dev": true,
       "requires": {
-        "arrify": "^1.0.0",
-        "buffer-from": "^1.1.0",
+        "arg": "^4.1.0",
         "diff": "^3.1.0",
         "make-error": "^1.1.1",
-        "minimist": "^1.2.0",
-        "mkdirp": "^0.5.1",
         "source-map-support": "^0.5.6",
-        "yn": "^2.0.0"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
-          "dev": true
-        }
+        "yn": "^3.0.0"
       }
     },
     "tslib": {
@@ -10390,9 +10306,9 @@
       "dev": true
     },
     "tslint": {
-      "version": "5.12.0",
-      "resolved": "http://registry.npm.taobao.org/tslint/download/tslint-5.12.0.tgz",
-      "integrity": "sha1-R/LbopHtPVgHUtEJhm+2QHaPyjY=",
+      "version": "5.12.1",
+      "resolved": "http://registry.npm.taobao.org/tslint/download/tslint-5.12.1.tgz",
+      "integrity": "sha1-jOydRUz4od6bCibXvbrW3jYuUsE=",
       "dev": true,
       "requires": {
         "babel-code-frame": "^6.22.0",
@@ -10407,37 +10323,6 @@
         "semver": "^5.3.0",
         "tslib": "^1.8.0",
         "tsutils": "^2.27.2"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "3.2.1",
-          "resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
-          "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
-          "dev": true,
-          "requires": {
-            "color-convert": "^1.9.0"
-          }
-        },
-        "chalk": {
-          "version": "2.4.2",
-          "resolved": "http://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
-          "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^3.2.1",
-            "escape-string-regexp": "^1.0.5",
-            "supports-color": "^5.3.0"
-          }
-        },
-        "supports-color": {
-          "version": "5.5.0",
-          "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
-          "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
-          "dev": true,
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
-        }
       }
     },
     "tslint-config-standard": {
@@ -10522,9 +10407,9 @@
       "dev": true
     },
     "typescript": {
-      "version": "3.2.2",
-      "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-3.2.2.tgz",
-      "integrity": "sha1-/oEBxGqhI/g1NSPr3PVzDCrkk+U=",
+      "version": "3.3.3",
+      "resolved": "http://registry.npm.taobao.org/typescript/download/typescript-3.3.3.tgz",
+      "integrity": "sha1-8WV/x9qifhqJMHWKzpro2jFAMiE=",
       "dev": true
     },
     "uglify-js": {
@@ -10729,7 +10614,7 @@
     },
     "url-regex": {
       "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/url-regex/download/url-regex-3.2.0.tgz",
       "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
       "requires": {
         "ip-regex": "^1.0.1"
@@ -10748,9 +10633,9 @@
       "dev": true
     },
     "util": {
-      "version": "0.10.4",
-      "resolved": "http://registry.npm.taobao.org/util/download/util-0.10.4.tgz",
-      "integrity": "sha1-OqASW/5mikZy3liFfTrOJ+y3aQE=",
+      "version": "0.11.1",
+      "resolved": "http://registry.npm.taobao.org/util/download/util-0.11.1.tgz",
+      "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
       "dev": true,
       "requires": {
         "inherits": "2.0.3"
@@ -10830,9 +10715,9 @@
       }
     },
     "vue": {
-      "version": "2.5.21",
-      "resolved": "http://registry.npm.taobao.org/vue/download/vue-2.5.21.tgz",
-      "integrity": "sha1-PTPc0Du4E5Es6JSoMDq1U2mcSoU=",
+      "version": "2.6.6",
+      "resolved": "http://registry.npm.taobao.org/vue/download/vue-2.6.6.tgz",
+      "integrity": "sha1-3eQeSDwRxGp79SOQn08vgWq2DSU=",
       "dev": true
     },
     "vue-class-component": {
@@ -10842,24 +10727,24 @@
       "dev": true
     },
     "vue-hot-reload-api": {
-      "version": "2.3.1",
-      "resolved": "http://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.1.tgz",
-      "integrity": "sha1-stPZVAKoEWAjgHg+pPVm64dVaaI=",
+      "version": "2.3.2",
+      "resolved": "http://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.2.tgz",
+      "integrity": "sha1-H8wUle/+CKeQkJtGv3tcTP628hs=",
       "dev": true
     },
     "vue-i18n": {
-      "version": "8.7.0",
-      "resolved": "http://registry.npm.taobao.org/vue-i18n/download/vue-i18n-8.7.0.tgz",
-      "integrity": "sha1-hGJprZ2cQMd0eaVAOY1AJDVvpOE=",
+      "version": "8.8.1",
+      "resolved": "http://registry.npm.taobao.org/vue-i18n/download/vue-i18n-8.8.1.tgz",
+      "integrity": "sha1-Vm4Ie3ExzYQ5Zz8Y/9Rtp+Gv6Vw=",
       "dev": true
     },
     "vue-loader": {
-      "version": "15.5.0",
-      "resolved": "http://registry.npm.taobao.org/vue-loader/download/vue-loader-15.5.0.tgz",
-      "integrity": "sha1-H/ckURsPQK6pc09hH+NPava6OPg=",
+      "version": "15.6.2",
+      "resolved": "http://registry.npm.taobao.org/vue-loader/download/vue-loader-15.6.2.tgz",
+      "integrity": "sha1-iSdB2WJgk2/2nokvcuw2G6TRANI=",
       "dev": true,
       "requires": {
-        "@vue/component-compiler-utils": "^2.4.0",
+        "@vue/component-compiler-utils": "^2.5.1",
         "hash-sum": "^1.0.2",
         "loader-utils": "^1.1.0",
         "vue-hot-reload-api": "^2.3.0",
@@ -10867,9 +10752,9 @@
       }
     },
     "vue-property-decorator": {
-      "version": "7.2.0",
-      "resolved": "http://registry.npm.taobao.org/vue-property-decorator/download/vue-property-decorator-7.2.0.tgz",
-      "integrity": "sha1-jmsPTcxjDDVxNfdjZrp72R8dsBU=",
+      "version": "7.3.0",
+      "resolved": "http://registry.npm.taobao.org/vue-property-decorator/download/vue-property-decorator-7.3.0.tgz",
+      "integrity": "sha1-1Q1n8LDxyBT58vujbW7sy8xi27Y=",
       "dev": true,
       "requires": {
         "vue-class-component": "^6.2.0"
@@ -10886,9 +10771,9 @@
       }
     },
     "vue-template-compiler": {
-      "version": "2.5.21",
-      "resolved": "http://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.5.21.tgz",
-      "integrity": "sha1-pXzrkDF36PZDVgqNY5oPjbZHBUo=",
+      "version": "2.6.6",
+      "resolved": "http://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.6.tgz",
+      "integrity": "sha1-qAesvz1Rlx03IddeyxuSe1F8GgI=",
       "dev": true,
       "requires": {
         "de-indent": "^1.0.2",
@@ -10896,9 +10781,9 @@
       }
     },
     "vue-template-es2015-compiler": {
-      "version": "1.6.0",
-      "resolved": "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.6.0.tgz",
-      "integrity": "sha1-3EJpcTMwLOMBdSQ1amxht7abShg=",
+      "version": "1.8.2",
+      "resolved": "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.8.2.tgz",
+      "integrity": "sha1-3XPoC6WLtl3XqKoq7vYInPYRbyo=",
       "dev": true
     },
     "watchpack": {
@@ -10942,17 +10827,17 @@
       }
     },
     "webpack": {
-      "version": "4.28.3",
-      "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-4.28.3.tgz",
-      "integrity": "sha1-is7253+tigG/0MKyWqNjbUZRGHQ=",
+      "version": "4.29.3",
+      "resolved": "http://registry.npm.taobao.org/webpack/download/webpack-4.29.3.tgz",
+      "integrity": "sha1-4LQGp7QgHtXk+0+E/XNZ+afbRkc=",
       "dev": true,
       "requires": {
         "@webassemblyjs/ast": "1.7.11",
         "@webassemblyjs/helper-module-context": "1.7.11",
         "@webassemblyjs/wasm-edit": "1.7.11",
         "@webassemblyjs/wasm-parser": "1.7.11",
-        "acorn": "^5.6.2",
-        "acorn-dynamic-import": "^3.0.0",
+        "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",
@@ -10966,23 +10851,11 @@
         "mkdirp": "~0.5.0",
         "neo-async": "^2.5.0",
         "node-libs-browser": "^2.0.0",
-        "schema-utils": "^0.4.4",
+        "schema-utils": "^1.0.0",
         "tapable": "^1.1.0",
         "terser-webpack-plugin": "^1.1.0",
         "watchpack": "^1.5.0",
         "webpack-sources": "^1.3.0"
-      },
-      "dependencies": {
-        "schema-utils": {
-          "version": "0.4.7",
-          "resolved": "http://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz",
-          "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.1.0",
-            "ajv-keywords": "^3.1.0"
-          }
-        }
       }
     },
     "webpack-dev-middleware": {
@@ -11120,8 +10993,8 @@
     },
     "wide-align": {
       "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
-      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+      "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
+      "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
       "requires": {
         "string-width": "^1.0.2 || 2"
       }
@@ -11163,7 +11036,7 @@
     },
     "xml-parse-from-string": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/xml-parse-from-string/download/xml-parse-from-string-1.0.1.tgz",
       "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig="
     },
     "xml2js": {
@@ -11205,8 +11078,8 @@
     },
     "yallist": {
       "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
-      "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
+      "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-3.0.3.tgz",
+      "integrity": "sha1-tLBJ4xS+VF486AIjbWzSLNkcPek="
     },
     "yargs": {
       "version": "12.0.2",
@@ -11348,9 +11221,9 @@
       }
     },
     "yn": {
-      "version": "2.0.0",
-      "resolved": "http://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz",
-      "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/yn/download/yn-3.0.0.tgz",
+      "integrity": "sha1-AHPGtW6SrtZS+9/WJDHy1rmnoJE=",
       "dev": true
     },
     "zauz": {
diff --git a/app/package.json b/app/package.json
index b5ef289..e3b3e4e 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mishiro",
-  "version": "1.8.0-dev",
+  "version": "1.8.0",
   "description": "mishiro",
   "main": "./public/mishiro.main.js",
   "scripts": {
@@ -29,7 +29,7 @@
   },
   "license": "MIT",
   "devDependencies": {
-    "@types/electron-packager": "^12.0.0",
+    "@types/electron-packager": "^13.0.0",
     "@types/fs-extra": "^5.0.4",
     "@types/html-webpack-plugin": "^3.2.0",
     "@types/marked": "^0.3.0",
@@ -39,35 +39,35 @@
     "@types/optimize-css-assets-webpack-plugin": "^1.3.3",
     "@types/request": "^2.48.1",
     "@types/sqlite3": "^3.1.3",
-    "@types/webpack": "^4.4.22",
-    "@types/webpack-dev-server": "^3.1.1",
+    "@types/webpack": "^4.4.24",
+    "@types/webpack-dev-server": "^3.1.2",
     "@types/webpack-node-externals": "^1.6.3",
     "ajv": "^6.6.2",
     "chromium-pickle-js": "^0.2.0",
     "cross-env": "^5.2.0",
-    "css-loader": "^1.0.1",
+    "css-loader": "^2.1.0",
     "cuint": "^0.2.2",
-    "electron": "4.0.1",
-    "electron-packager": "^12.2.0",
+    "electron": "4.0.4",
+    "electron-packager": "^13.0.1",
     "express-serve-asar": "^1.0.1",
-    "file-loader": "^2.0.0",
-    "fork-ts-checker-webpack-plugin": "^0.4.14",
+    "file-loader": "^3.0.1",
+    "fork-ts-checker-webpack-plugin": "^0.5.2",
     "html-webpack-plugin": "^3.2.0",
     "mime": "^2.4.0",
-    "mini-css-extract-plugin": "^0.4.5",
+    "mini-css-extract-plugin": "^0.5.0",
     "optimize-css-assets-webpack-plugin": "^5.0.1",
-    "terser-webpack-plugin": "^1.2.1",
+    "terser-webpack-plugin": "^1.2.2",
     "ts-loader": "^5.3.3",
-    "ts-node": "^7.0.1",
-    "tslint": "^5.12.0",
+    "ts-node": "^8.0.2",
+    "tslint": "^5.12.1",
     "tslint-config-standard": "^8.0.1",
-    "typescript": "^3.2.2",
-    "vue": "^2.5.21",
-    "vue-i18n": "^8.7.0",
-    "vue-loader": "^15.5.0",
-    "vue-property-decorator": "^7.2.0",
-    "vue-template-compiler": "^2.5.21",
-    "webpack": "^4.28.3",
+    "typescript": "^3.3.3",
+    "vue": "^2.6.6",
+    "vue-i18n": "^8.8.1",
+    "vue-loader": "^15.6.2",
+    "vue-property-decorator": "^7.3.0",
+    "vue-template-compiler": "^2.6.6",
+    "webpack": "^4.29.3",
     "webpack-dev-server": "^3.1.14",
     "webpack-node-externals": "^1.7.2",
     "zauz": "^1.0.2"
@@ -76,8 +76,8 @@
     "electron-github-asar-updater": "^2.0.0",
     "fs-extra": "^7.0.1",
     "marked": "^0.5.2",
-    "mishiro-core": "^1.3.3",
+    "mishiro-core": "^1.4.0",
     "request": "^2.88.0",
-    "sqlite3": "^4.0.4"
+    "sqlite3": "^4.0.6"
   }
 }
diff --git a/app/src/ts/renderer/mishiro.ts b/app/src/ts/renderer/mishiro.ts
index daa3a12..4ecb633 100644
--- a/app/src/ts/renderer/mishiro.ts
+++ b/app/src/ts/renderer/mishiro.ts
@@ -33,8 +33,8 @@ const i18nTabs: any = {
   en: 'i18n.english'
 }
 
-const useResVer = require('electron').remote.getGlobal('configurer').getConfig().latestResVer
-// const useResVer = void 0
+// const useResVer = require('electron').remote.getGlobal('configurer').getConfig().latestResVer
+const useResVer = void 0
 
 @Component({
   components: {
diff --git a/appveyor.yml b/appveyor.yml
index d553b7a..a064353 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -10,7 +10,7 @@ install:
 
     yarn global add node-gyp
 
-    node-gyp install --target=4.0.1 --dist-url=https://atom.io/download/electron
+    node-gyp install --target=4.0.4 --dist-url=https://atom.io/download/electron
 
     yarn
 build_script: