diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index b24c54d..456844e 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -65,7 +65,27 @@ module.exports = { template: path.resolve(__dirname, '../public/options.html'), }), new CleanObsoleteChunks(), - new MonacoWebpackPlugin(), + new MonacoWebpackPlugin({ + languages: ['javascript', 'typescript'], + features: [ + '!accessibilityHelp', + '!anchorSelect', + '!codeAction', + '!fontZoom', + '!gotoError', + '!gotoLine', + '!gotoSymbol', + '!iPadShowKeyboard', + '!quickCommand', + '!quickHelp', + '!quickOutline', + '!referenceSearch', + '!toggleTabFocusMode', + '!transpose', + '!unusualLineTerminators', + '!viewportSemanticTokens', + ], + }), new VueLoaderPlugin(), new MiniCssExtractPlugin({ // determine the output path diff --git a/package-lock.json b/package-lock.json index 8c98dbc..924c6ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -934,6 +934,12 @@ "integrity": "sha1-/IZh4Rt6wVOcR9v+oucrOvNNJns=", "dev": true }, + "acorn-walk": { + "version": "8.0.0", + "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-8.0.0.tgz?cache=0&sync_timestamp=1597235881979&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-8.0.0.tgz", + "integrity": "sha1-Vq5MD0NKRf/0oSXn6pX6nJj2ehY=", + "dev": true + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz?cache=0&sync_timestamp=1598049999221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.1.0.tgz", @@ -2739,6 +2745,12 @@ "tslib": "^1.10.0" } }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz", + "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", + "dev": true + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", @@ -2755,6 +2767,15 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, + "ejs": { + "version": "3.1.5", + "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-3.1.5.tgz?cache=0&sync_timestamp=1597678833084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-3.1.5.tgz", + "integrity": "sha1-rtcjhE3CCstLFwzZqxAX5Hag2Ts=", + "dev": true, + "requires": { + "jake": "^10.6.1" + } + }, "electron-to-chromium": { "version": "1.3.596", "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.596.tgz?cache=0&sync_timestamp=1605337427930&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.596.tgz", @@ -3568,6 +3589,21 @@ "dev": true, "optional": true }, + "filelist": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/filelist/download/filelist-1.0.1.tgz", + "integrity": "sha1-8Q0aOuhsFpSAjo8gkG9D1MkTLbs=", + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "filesize": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-6.1.0.tgz", + "integrity": "sha1-6Bvap4DiRR1xTXHA16TzI403rQA=", + "dev": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", @@ -3989,6 +4025,24 @@ "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=", "dev": true }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz?cache=0&sync_timestamp=1605523125680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgzip-size%2Fdownload%2Fgzip-size-5.1.1.tgz", + "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", + "dev": true + } + } + }, "handle-thing": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", @@ -4992,6 +5046,76 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, + "jake": { + "version": "10.8.2", + "resolved": "https://registry.npm.taobao.org/jake/download/jake-10.8.2.tgz", + "integrity": "sha1-68nehVgWCmbYLQ6txqLlj7xQCns=", + "dev": true, + "requires": { + "async": "0.9.x", + "chalk": "^2.4.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://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" + } + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npm.taobao.org/async/download/async-0.9.2.tgz?cache=0&sync_timestamp=1582540512270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync%2Fdownload%2Fasync-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://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" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1598611787836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "jest-worker": { "version": "26.6.2", "resolved": "https://registry.npm.taobao.org/jest-worker/download/jest-worker-26.6.2.tgz?cache=0&sync_timestamp=1604319712153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjest-worker%2Fdownload%2Fjest-worker-26.6.2.tgz", @@ -6256,6 +6380,12 @@ "integrity": "sha1-eg//l49tv6TQBiOPusmO1BmMMlk=", "dev": true }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598732839408&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz", + "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", + "dev": true + }, "opn": { "version": "5.5.0", "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", @@ -8869,6 +8999,40 @@ } } }, + "webpack-bundle-analyzer": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-4.1.0.tgz", + "integrity": "sha1-Mfnl4YfuMvriOSshgGWCzG/nTPk=", + "dev": true, + "requires": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^6.2.0", + "ejs": "^3.1.5", + "express": "^4.17.1", + "filesize": "^6.1.0", + "gzip-size": "^5.1.1", + "lodash": "^4.17.20", + "mkdirp": "^1.0.4", + "opener": "^1.5.2", + "ws": "^7.3.1" + }, + "dependencies": { + "acorn": { + "version": "8.0.4", + "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-8.0.4.tgz?cache=0&sync_timestamp=1602534380346&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-8.0.4.tgz", + "integrity": "sha1-ejrkGRRmpphO7g/jQHpPOqnbg1Q=", + "dev": true + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-1.0.4.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-1.0.4.tgz", + "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34=", + "dev": true + } + } + }, "webpack-clean-obsolete-chunks": { "version": "0.4.0", "resolved": "https://registry.npm.taobao.org/webpack-clean-obsolete-chunks/download/webpack-clean-obsolete-chunks-0.4.0.tgz", @@ -9596,6 +9760,12 @@ "mkdirp": "^0.5.1" } }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npm.taobao.org/ws/download/ws-7.4.0.tgz", + "integrity": "sha1-pd12okGXlA1Ki7ng4VK7RQN2Tac=", + "dev": true + }, "y18n": { "version": "4.0.0", "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1603637418720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz", diff --git a/package.json b/package.json index 71a0766..deefbc8 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "test": "echo \"Error: no test specified\" && exit 1", "lint": "eslint --fix --ext .js,.vue src/", "dev": "webpack --watch --config ./build/webpack.dev.conf.js", - "build": "webpack --config ./build/webpack.prod.conf.js" + "build": "webpack --config ./build/webpack.prod.conf.js", + "analyze": "webpack --config ./build/webpack.prod.conf.js --analyze" }, "repository": { "type": "git", @@ -45,6 +46,7 @@ "vue-loader": "^15.9.5", "vue-template-compiler": "^2.6.12", "webpack": "^5.4.0", + "webpack-bundle-analyzer": "^4.1.0", "webpack-clean-obsolete-chunks": "^0.4.0", "webpack-cli": "^4.2.0", "webpack-dev-server": "^3.11.0" diff --git a/src/options/App.vue b/src/options/App.vue index f118e2d..a20a43c 100644 --- a/src/options/App.vue +++ b/src/options/App.vue @@ -22,7 +22,7 @@