From 66fd78fafdf2bcb2a22efbe4e40b88619bd8a8fc Mon Sep 17 00:00:00 2001 From: tengge <930372551@qq.com> Date: Thu, 25 Jun 2020 14:55:28 +0800 Subject: [PATCH] build-desktop --- .gitignore | 4 +- package-lock.json | 1258 ++++++++++++++++++++++++++++++++++++ package.json | 9 +- scripts/build_desktop.js | 73 +++ scripts/electron/README.md | 3 + scripts/electron/main.js | 72 +++ utils/mongodb/README.md | 9 + 7 files changed, 1424 insertions(+), 4 deletions(-) create mode 100644 scripts/build_desktop.js create mode 100644 scripts/electron/README.md create mode 100644 scripts/electron/main.js create mode 100644 utils/mongodb/README.md diff --git a/.gitignore b/.gitignore index b570020c..a33b03fc 100644 --- a/.gitignore +++ b/.gitignore @@ -77,4 +77,6 @@ utils/electron/build/* !utils/electron/build/README.md utils/electron/out utils/electron/logs.txt -web/test/WebWorldWind/build \ No newline at end of file +web/test/WebWorldWind/build +utils/mongodb/* +!utils/mongodb/README.md \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 15b3c94a..4063eb06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -344,6 +344,135 @@ "to-fast-properties": "^2.0.0" } }, + "@electron/get": { + "version": "1.12.2", + "resolved": "https://registry.npm.taobao.org/@electron/get/download/@electron/get-1.12.2.tgz", + "integrity": "sha1-ZEIGavuZvgjO+5ooHktGkrM3ZPM=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "progress": "^2.0.3", + "sanitize-filename": "^1.6.2", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npm.taobao.org/@sindresorhus/is/download/@sindresorhus/is-0.14.0.tgz", + "integrity": "sha1-n7OjzzEyMoFR81PeRjLgHlIQK+o=", + "dev": true + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz", + "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz", + "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-2.0.0.tgz", + "integrity": "sha1-JgPni3tLAAbLyi+8yKMgJVislHk=", + "dev": true + } + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz", + "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/http-cache-semantics/download/http-cache-semantics-4.1.0.tgz", + "integrity": "sha1-SekcXL82yblLz81xwj1SSex045A=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz", + "integrity": "sha1-RTNUCH5sqWlXvY9br3U/WYIUISk=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz", + "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/@szmarczak/http-timer/download/@szmarczak/http-timer-1.1.2.tgz", + "integrity": "sha1-sWZeLEYaLNkvTBu/UNVFTeDUtCE=", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, "@tweenjs/tween.js": { "version": "18.5.0", "resolved": "https://registry.npm.taobao.org/@tweenjs/tween.js/download/@tweenjs/tween.js-18.5.0.tgz", @@ -361,6 +490,24 @@ "integrity": "sha1-mAzFopo+876m/x99AhBH1+pXXiE=", "dev": true }, + "@types/glob": { + "version": "7.1.2", + "resolved": "https://registry.npm.taobao.org/@types/glob/download/@types/glob-7.1.2.tgz", + "integrity": "sha1-BsomUhNTpUXZSgrcdPOKWdIyyYc=", + "dev": true, + "optional": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/@types/minimatch/download/@types/minimatch-3.0.3.tgz", + "integrity": "sha1-PcoOPzOyAPx9ETnAzZbBJoyt/Z0=", + "dev": true, + "optional": true + }, "@types/node": { "version": "13.13.4", "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-13.13.4.tgz?cache=0&sync_timestamp=1588202431512&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-13.13.4.tgz", @@ -517,6 +664,30 @@ } } }, + "asar": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/asar/download/asar-2.1.0.tgz", + "integrity": "sha1-l8alcECMTjihjUo/t0imIbWnhE4=", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^2.20.0", + "cuint": "^0.2.2", + "glob": "^7.1.3", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "tmp-promise": "^1.0.5" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1592632073232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + } + } + }, "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/astral-regex/download/astral-regex-1.0.0.tgz", @@ -529,6 +700,12 @@ "integrity": "sha1-YCzUtG6EStTv/JKoARo8RuAjjcI=", "dev": true }, + "author-regex": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/author-regex/download/author-regex-1.0.0.tgz", + "integrity": "sha1-0IiFvmubv5Q5/gh8dihyRfCoFFA=", + "dev": true + }, "babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz?cache=0&sync_timestamp=1582676152339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.1.0.tgz", @@ -549,18 +726,37 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=", + "dev": true + }, "big.js": { "version": "5.2.2", "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz", "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", "dev": true }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1586263933818&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, + "boolean": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/boolean/download/boolean-3.0.1.tgz", + "integrity": "sha1-NezytKLuGRsLRJhvFOtfBSpcu08=", + "dev": true, + "optional": true + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", @@ -583,6 +779,40 @@ "pkg-up": "^2.0.0" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz", + "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=", + "dev": true + }, "builtin-modules": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.1.0.tgz", @@ -613,6 +843,12 @@ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1586265314056&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", @@ -648,6 +884,12 @@ "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=", "dev": true }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npm.taobao.org/chromium-pickle-js/download/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, "classnames": { "version": "2.2.6", "resolved": "https://registry.npm.taobao.org/classnames/download/classnames-2.2.6.tgz", @@ -668,6 +910,15 @@ "integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=", "dev": true }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/clone-response/download/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "coa": { "version": "2.0.2", "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", @@ -714,12 +965,30 @@ "simple-swizzle": "^0.2.2" } }, + "compare-version": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/compare-version/download/compare-version-0.1.2.tgz", + "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "concat-with-sourcemaps": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/concat-with-sourcemaps/download/concat-with-sourcemaps-1.1.0.tgz", @@ -737,6 +1006,17 @@ } } }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npm.taobao.org/config-chain/download/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&sync_timestamp=1573003762649&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz", @@ -746,12 +1026,25 @@ "safe-buffer": "~5.1.1" } }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz?cache=0&sync_timestamp=1586450527243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-3.6.5.tgz", + "integrity": "sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo=", + "dev": true, + "optional": true + }, "core-js-pure": { "version": "3.6.5", "resolved": "https://registry.npm.taobao.org/core-js-pure/download/core-js-pure-3.6.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-pure%2Fdownload%2Fcore-js-pure-3.6.5.tgz", "integrity": "sha1-x5519eONvIWmYtke6lK4JW1TuBM=", "dev": true }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, "cosmiconfig": { "version": "5.2.1", "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1572710682964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", @@ -777,6 +1070,26 @@ "which": "^1.2.9" } }, + "cross-zip": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/cross-zip/download/cross-zip-3.1.0.tgz", + "integrity": "sha1-K30z8qiTv4PiMsy6v0xscG9rMTw=", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-3.0.2.tgz?cache=0&sync_timestamp=1587992602190&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", @@ -1031,6 +1344,12 @@ } } }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, "d3-dispatch": { "version": "1.0.6", "resolved": "https://registry.npm.taobao.org/d3-dispatch/download/d3-dispatch-1.0.6.tgz", @@ -1045,12 +1364,33 @@ "ms": "^2.1.1" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/defer-to-connect/download/defer-to-connect-1.1.3.tgz", + "integrity": "sha1-MxrgUMCNz3ifjIOnuB8O2U9KxZE=", + "dev": true + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", @@ -1060,6 +1400,13 @@ "object-keys": "^1.0.12" } }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true, + "optional": true + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-3.0.0.tgz", @@ -1112,6 +1459,159 @@ "is-obj": "^2.0.0" } }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "electron": { + "version": "9.0.5", + "resolved": "https://registry.npm.taobao.org/electron/download/electron-9.0.5.tgz?cache=0&sync_timestamp=1593050058213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron%2Fdownload%2Felectron-9.0.5.tgz", + "integrity": "sha1-GJ7hF8wqJ3fMz0D64HZqzsX6rlc=", + "dev": true, + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "12.12.47", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.47.tgz?cache=0&sync_timestamp=1592987716148&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.47.tgz", + "integrity": "sha1-UAe4hmovkVDegjNcp+JN0dWb37U=", + "dev": true + } + } + }, + "electron-notarize": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/electron-notarize/download/electron-notarize-0.2.1.tgz", + "integrity": "sha1-dZ6ABt7K4ZE0+CmW7ZENsm2Rksw=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^8.1.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, + "electron-osx-sign": { + "version": "0.4.17", + "resolved": "https://registry.npm.taobao.org/electron-osx-sign/download/electron-osx-sign-0.4.17.tgz", + "integrity": "sha1-JyfKDHnh5OXM04Yfs9qcPJE7AGw=", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "electron-packager": { + "version": "14.2.1", + "resolved": "https://registry.npm.taobao.org/electron-packager/download/electron-packager-14.2.1.tgz", + "integrity": "sha1-4YhO7mCEVeceljQnF+BSfSWjKd8=", + "dev": true, + "requires": { + "@electron/get": "^1.6.0", + "asar": "^2.0.1", + "cross-zip": "^3.0.0", + "debug": "^4.0.1", + "electron-notarize": "^0.2.0", + "electron-osx-sign": "^0.4.11", + "fs-extra": "^8.1.0", + "galactus": "^0.2.1", + "get-package-info": "^1.0.0", + "junk": "^3.1.0", + "parse-author": "^2.0.0", + "plist": "^3.0.0", + "rcedit": "^2.0.0", + "resolve": "^1.1.6", + "sanitize-filename": "^1.6.0", + "semver": "^6.0.0", + "yargs-parser": "^16.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, "electron-to-chromium": { "version": "1.3.428", "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.428.tgz?cache=0&sync_timestamp=1588665792250&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.428.tgz", @@ -1130,12 +1630,34 @@ "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, "entities": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.0.tgz", "integrity": "sha1-aNYITKsbB5dnVA2A5Wo5tCPkq/Q=", "dev": true }, + "env-paths": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.0.tgz", + "integrity": "sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM=", + "dev": true + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", @@ -1170,6 +1692,13 @@ "is-symbol": "^1.0.2" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/es6-error/download/es6-error-4.1.1.tgz", + "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", + "dev": true, + "optional": true + }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -1488,6 +2017,50 @@ "strip-use-strict": "^0.1.0" } }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/extract-zip/download/extract-zip-1.7.0.tgz", + "integrity": "sha1-VWzDrp339FLEk6DPtRzDAneUCSc=", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz", + "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, "fast-deep-equal": { "version": "3.1.1", "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", @@ -1512,6 +2085,15 @@ "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=", "dev": true }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/fd-slicer/download/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, "figures": { "version": "3.2.0", "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1581865404867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz", @@ -1556,6 +2138,44 @@ "integrity": "sha1-RXWyHivO50NKqb5mL0t7X5wrUTg=", "dev": true }, + "flora-colossus": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/flora-colossus/download/flora-colossus-1.0.1.tgz", + "integrity": "sha1-q6GYQlqBhTQeZPnSpqlv2aPL25M=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "fs-extra": "^7.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, "fs-extra": { "version": "9.0.1", "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.0.1.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-9.0.1.tgz", @@ -1586,6 +2206,54 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "galactus": { + "version": "0.2.1", + "resolved": "https://registry.npm.taobao.org/galactus/download/galactus-0.2.1.tgz", + "integrity": "sha1-y+0tIKQMH1Z5o1kI4rlBVzPnjbk=", + "dev": true, + "requires": { + "debug": "^3.1.0", + "flora-colossus": "^1.0.0", + "fs-extra": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-4.0.3.tgz?cache=0&sync_timestamp=1591229981021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-extra%2Fdownload%2Ffs-extra-4.0.3.tgz", + "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", + "dev": true + } + } + }, "generic-names": { "version": "2.0.1", "resolved": "https://registry.npm.taobao.org/generic-names/download/generic-names-2.0.1.tgz", @@ -1601,6 +2269,44 @@ "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk=", "dev": true }, + "get-package-info": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/get-package-info/download/get-package-info-1.0.0.tgz", + "integrity": "sha1-ZDJ5ZWPigRPNlHTbvQAFKYWkmZw=", + "dev": true, + "requires": { + "bluebird": "^3.1.1", + "debug": "^2.2.0", + "lodash.get": "^4.0.0", + "read-pkg-up": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, "glob": { "version": "7.1.6", "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-7.1.6.tgz", @@ -1624,12 +2330,60 @@ "is-glob": "^4.0.1" } }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npm.taobao.org/global-agent/download/global-agent-2.1.12.tgz", + "integrity": "sha1-5K44Ercxqegcv4Jfk3fvRQqOQZU=", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.1", + "core-js": "^3.6.5", + "es6-error": "^4.1.1", + "matcher": "^3.0.0", + "roarr": "^2.15.3", + "semver": "^7.3.2", + "serialize-error": "^7.0.1" + }, + "dependencies": { + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz", + "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg=", + "dev": true, + "optional": true + } + } + }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/global-tunnel-ng/download/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha1-0DtRAt/eOmmRT17n2GdhyjXVfY8=", + "dev": true, + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, "globals": { "version": "11.12.0", "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz", "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=", "dev": true }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.1.tgz", + "integrity": "sha1-QBFvXZwHH56PsAN2VN8as6g7fvk=", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz", @@ -1672,6 +2426,12 @@ "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", "dev": true }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz", + "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg=", + "dev": true + }, "hsl-regex": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", @@ -1791,6 +2551,13 @@ "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", "dev": true }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", + "dev": true, + "optional": true + }, "inquirer": { "version": "7.1.0", "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.1.0.tgz?cache=0&sync_timestamp=1583819912995&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-7.1.0.tgz", @@ -2059,6 +2826,21 @@ "has-symbols": "^1.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "https://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.3.tgz", + "integrity": "sha1-XW3vPt6/boyoyunDAYOoBLX4voA=", + "dev": true, + "requires": { + "buffer-alloc": "^1.2.0" + } + }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", @@ -2091,6 +2873,12 @@ "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q=", "dev": true }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", @@ -2109,6 +2897,13 @@ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, + "optional": true + }, "json5": { "version": "2.1.3", "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz", @@ -2146,6 +2941,21 @@ "object.assign": "^4.1.0" } }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/junk/download/junk-3.1.0.tgz", + "integrity": "sha1-MUmQmNkCt+mMXZucgPQ0V6iKv6E=", + "dev": true + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkeyv%2Fdownload%2Fkeyv-3.0.0.tgz", + "integrity": "sha1-RJI7o55osSp87H32wyaMAx8u83M=", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz", @@ -2156,6 +2966,35 @@ "type-check": "~0.3.2" } }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, "loader-utils": { "version": "1.4.0", "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", @@ -2200,6 +3039,12 @@ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", "dev": true }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz?cache=0&sync_timestamp=1586263972105&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.get%2Fdownload%2Flodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", @@ -2220,6 +3065,12 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz", + "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=", + "dev": true + }, "magic-string": { "version": "0.25.2", "resolved": "https://registry.npm.taobao.org/magic-string/download/magic-string-0.25.2.tgz", @@ -2229,6 +3080,25 @@ "sourcemap-codec": "^1.4.4" } }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz", + "integrity": "sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-4.0.0.tgz?cache=0&sync_timestamp=1587627107924&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescape-string-regexp%2Fdownload%2Fescape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true, + "optional": true + } + } + }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz", @@ -2241,6 +3111,12 @@ "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", "dev": true }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/mimic-response/download/mimic-response-1.0.1.tgz", + "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", @@ -2303,12 +3179,44 @@ "integrity": "sha1-Cms5Fqfd/ZZWmD/N6CzzjR2+Gm8=", "dev": true }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://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", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, "normalize-url": { "version": "3.3.0", "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz", "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", "dev": true }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/npm-conf/download/npm-conf-1.1.3.tgz", + "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz", @@ -2684,6 +3592,15 @@ } } }, + "parse-author": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/parse-author/download/parse-author-2.0.0.tgz", + "integrity": "sha1-00YL8d3Q367tQtp1QkLmX7aEqB8=", + "dev": true, + "requires": { + "author-regex": "^1.0.0" + } + }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", @@ -2718,6 +3635,29 @@ "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=", "dev": true }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, "pify": { "version": "5.0.0", "resolved": "https://registry.npm.taobao.org/pify/download/pify-5.0.0.tgz", @@ -2733,6 +3673,17 @@ "find-up": "^2.1.0" } }, + "plist": { + "version": "3.0.1", + "resolved": "https://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" + } + }, "postcss": { "version": "7.0.29", "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.29.tgz", @@ -3405,6 +4356,18 @@ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", "dev": true }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", + "dev": true + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", @@ -3427,6 +4390,23 @@ "react-is": "^16.8.1" } }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npm.taobao.org/proto-list/download/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", @@ -3439,11 +4419,53 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, + "rcedit": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/rcedit/download/rcedit-2.2.0.tgz", + "integrity": "sha1-O/5xJIdJ+oIf7ybto9NfTg7kevw=", + "dev": true + }, "react-is": { "version": "16.8.6", "resolved": "https://registry.npm.taobao.org/react-is/download/react-is-16.8.6.tgz", "integrity": "sha1-W7weLSkUHJ+9/tRWND/ivEMKahY=" }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, "regenerate": { "version": "1.4.0", "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz", @@ -3585,6 +4607,15 @@ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, "restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz", @@ -3616,6 +4647,30 @@ "glob": "^7.1.3" } }, + "roarr": { + "version": "2.15.3", + "resolved": "https://registry.npm.taobao.org/roarr/download/roarr-2.15.3.tgz", + "integrity": "sha1-ZSSKKRoVrz6/12fL9+RMtALR2DY=", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.0", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "dev": true, + "optional": true + } + } + }, "rollup": { "version": "1.32.1", "resolved": "https://registry.npm.taobao.org/rollup/download/rollup-1.32.1.tgz", @@ -3876,6 +4931,15 @@ "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", "dev": true }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/sanitize-filename/download/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", + "dev": true, + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, "sax": { "version": "1.2.4", "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", @@ -3888,6 +4952,32 @@ "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", "dev": true }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, + "serialize-error": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/serialize-error/download/serialize-error-7.0.1.tgz?cache=0&sync_timestamp=1589282114914&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-error%2Fdownload%2Fserialize-error-7.0.1.tgz", + "integrity": "sha1-8TYLBEf2H/tIPsQVfHN/q313jhg=", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.13.1" + }, + "dependencies": { + "type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.13.1.tgz?cache=0&sync_timestamp=1591688399252&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", + "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", + "dev": true, + "optional": true + } + } + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", @@ -4020,6 +5110,38 @@ "integrity": "sha1-xj6pJ8Ap3WvZorf6A7P+wCrVbp8=", "dev": true }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", + "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz", + "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=", + "dev": true + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", @@ -4443,6 +5565,15 @@ } } }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz", @@ -4452,6 +5583,12 @@ "ansi-regex": "^2.0.0" } }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, "strip-bom-string": { "version": "0.1.2", "resolved": "https://registry.npm.taobao.org/strip-bom-string/download/strip-bom-string-0.1.2.tgz", @@ -4500,6 +5637,15 @@ } } }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/sumchecker/download/sumchecker-3.0.1.tgz", + "integrity": "sha1-Y3fplnlauwttNI6bPh37JDRajkI=", + "dev": true, + "requires": { + "debug": "^4.1.0" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -4609,18 +5755,61 @@ "os-tmpdir": "~1.0.2" } }, + "tmp-promise": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/tmp-promise/download/tmp-promise-1.1.0.tgz", + "integrity": "sha1-u5JNI5ApFXubwdUGpqo0H4sT5kw=", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "tmp": "0.1.0" + }, + "dependencies": { + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.1.0.tgz", + "integrity": "sha1-7kNKTiJUMILilLpiAdzG6v76KHc=", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + } + } + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/to-readable-stream/download/to-readable-stream-1.0.0.tgz", + "integrity": "sha1-zgqgwvPfat+FLvtASng+d8BHV3E=", + "dev": true + }, + "truncate-utf8-bytes": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/truncate-utf8-bytes/download/truncate-utf8-bytes-1.0.2.tgz", + "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", + "dev": true, + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, "tslib": { "version": "1.11.1", "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.11.1.tgz", "integrity": "sha1-6xXRKIJ/vuKEFUnhcfRe0zisfjU=", "dev": true }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/tunnel/download/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "dev": true, + "optional": true + }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz", @@ -4636,6 +5825,12 @@ "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", "dev": true }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -4697,6 +5892,27 @@ "punycode": "^2.1.0" } }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/url-parse-lax/download/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + } + }, + "utf8-byte-length": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/utf8-byte-length/download/utf8-byte-length-1.0.4.tgz", + "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, "util.promisify": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz", @@ -4796,6 +6012,16 @@ "integrity": "sha1-4U3jezGm0ZT1aQ1n78Tn9vxqsw4=", "dev": true }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "vendors": { "version": "1.0.4", "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz", @@ -4832,6 +6058,18 @@ "mkdirp": "^0.5.1" } }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-9.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxmlbuilder%2Fdownload%2Fxmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npm.taobao.org/xmldom/download/xmldom-0.1.31.tgz", + "integrity": "sha1-t2yaG9nwqXN+WnLcNyMc84N14v8=", + "dev": true + }, "xregexp": { "version": "4.3.0", "resolved": "https://registry.npm.taobao.org/xregexp/download/xregexp-4.3.0.tgz", @@ -4840,6 +6078,26 @@ "requires": { "@babel/runtime-corejs3": "^7.8.3" } + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-16.1.0.tgz?cache=0&sync_timestamp=1590108029828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-16.1.0.tgz", + "integrity": "sha1-c3R9U64YfnuNvjM/lXFMduoA7PE=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } } } } diff --git a/package.json b/package.json index cd344dd5..c2c561e6 100644 --- a/package.json +++ b/package.json @@ -7,14 +7,15 @@ "build": "node scripts/build.js", "build-server": "node scripts/build_server.js", "build-web": "cd web && rollup -c rollup.config.js", + "build-desktop": "node scripts/build_desktop.js", "dev-web": "cd web && rollup -c rollup.config.js --watch", "start": "cd build && ShadowEditor serve --config ./config.toml", "set-proxy": "node scripts/set_proxy.js", "unset-proxy": "node scripts/unset_proxy.js", "install-dev": "node scripts/install_dev.js", - "eslint": "eslint web/src --fix", + "eslint": "cd web && eslint src --fix", "clean": "node scripts/clean.js", - "test": "", + "test": "echo \"Error: no test specified\" && exit 1", "clear": "npm prune" }, "dependencies": { @@ -30,6 +31,8 @@ "@babel/core": "^7.9.6", "@babel/preset-react": "^7.9.4", "babel-eslint": "^10.1.0", + "electron": "^9.0.5", + "electron-packager": "^14.2.1", "eslint": "^6.8.0", "eslint-config-defaults": "^9.0.0", "eslint-plugin-react": "^7.19.0", @@ -61,4 +64,4 @@ "url": "https://github.com/tengge1/ShadowEditor/issues" }, "homepage": "https://github.com/tengge1/ShadowEditor" -} \ No newline at end of file +} diff --git a/scripts/build_desktop.js b/scripts/build_desktop.js new file mode 100644 index 00000000..954c8b00 --- /dev/null +++ b/scripts/build_desktop.js @@ -0,0 +1,73 @@ +/* + * Copyright 2017-2020 The ShadowEditor Authors. All rights reserved. + * + * Use of this source code is governed by a MIT-style + * license that can be found in the LICENSE file. + * + * For more information, please visit: https://github.com/tengge1/ShadowEditor + * You can also visit: https://gitee.com/tengge1/ShadowEditor + */ + +const subprocess = require('child_process'); +const path = require('path'); +const fs = require('fs-extra'); +const os = require('os'); + +/** + * Execute a command + * @param {String} cmd bat of shell command + * @param {Boolean} showCmd whether to print the command + * @returns the result of the command + */ +function exec(cmd, showCmd = true) { + showCmd && console.log(cmd); + return subprocess.execSync(cmd).toString().trimRight('\n'); +} + +/** + * The main function + */ +async function main() { + const rootDir = process.cwd(); // The root dir that contains `README.md`. + const buildDir = path.join(rootDir, 'build'); // The build dir. + const mongoDir = path.join(rootDir, 'utils', 'mongodb'); // Download and unzip mongodb here. + + console.log(`root dir: ${rootDir}`); + console.log(`build dir: ${buildDir}`); + console.log(`mongo dir: ${mongoDir}`); + + // check build + if (!fs.existsSync(buildDir)) { + console.warn('You should run `npm run build` first.'); + return; + } + + // check mongodb + const isWin32 = os.platform() === 'win32'; + const mongoPath = path.join(mongoDir, isWin32 ? 'mongo.exe' : 'mongo'); + const mongodPath = path.join(mongoDir, isWin32 ? 'mongod.exe' : 'mongod'); + if (!fs.existsSync(mongoPath) || !fs.existsSync(mongodPath)) { + console.warn('You should download mongodb first. See `utils/mongodb/README.md` for detail.'); + return; + } + + // copy files needed by desktop app + fs.copySync(mongoDir, 'build/mongo'); + fs.copySync('scripts/electron/main.js', 'build/main.js'); + + // Build desktop package + console.log('enter build'); + process.chdir(buildDir); + + exec('electron-packager . ShadowEditor --platform=win32 ' + + '--arch=x64 --icon=../web/favicon.ico --out=desktop --app-version=0.0.1 ' + + '--overwrite --no-prune --ignore=public/Upload|public/Upload2 ' + + '--electron-version 9.0.4'); + + console.log('leave build'); + process.chdir(rootDir); + + console.log('Done!'); +} + +main(); \ No newline at end of file diff --git a/scripts/electron/README.md b/scripts/electron/README.md new file mode 100644 index 00000000..8c727347 --- /dev/null +++ b/scripts/electron/README.md @@ -0,0 +1,3 @@ +# Electron + +This script is used by `Electron` to create a desktop app. diff --git a/scripts/electron/main.js b/scripts/electron/main.js new file mode 100644 index 00000000..57547c71 --- /dev/null +++ b/scripts/electron/main.js @@ -0,0 +1,72 @@ +const fs = require('fs'); +const process = require('child_process'); +const { app, BrowserWindow, Menu } = require('electron'); + +let mongo, server, win; + +function log(data) { + fs.writeFileSync('logs.txt', data, { flag: 'a' }); + fs.writeFileSync('logs.txt', '\n', { flag: 'a' }); +} + +function startMongoDB(root) { + mongo = process.exec(`${root}\\mongo\\mongod.exe --dbpath=${root}\\mongo\\db`, { + cwd: `${root}\\mongo`, + encoding: 'gbk' // only for Chinese + }); + mongo.stdout.on('data', data => { + log(`Mongo Out: ${data}`); + }); + mongo.stderr.on('data', data => { + log(`Mongo Error: ${data}`); + }); + mongo.on('SIGTERM', data => { + mongo.exit(0); + log(`Mongo Close: ${data}`); + }); +} + +function startServer(root) { + server = process.exec(`${root}\\build\\ShadowEditor.exe serve --config ./config.toml`, { + cwd: `${root}\\build`, + encoding: 'gbk' // only for Chinese + }); + server.stdout.on('data', data => { + log(`Server Out: ${data}`); + }); + server.stderr.on('data', data => { + log(`Server Error: ${data}`); + }); + server.on('SIGTERM', data => { + server.exit(0); + log(`Server Close: ${data}`); + }); +} + +function start() { + const path = app.getAppPath(); + + startMongoDB(path); + startServer(path); + + Menu.setApplicationMenu(null); + win = new BrowserWindow({ + width: 800, + height: 600, + webPreferences: { + nodeIntegration: true + } + }); + // win.maximize(); + win.loadURL('http://localhost:2020'); + win.on('close', () => { + if (mongo) { + mongo.kill('SIGTERM'); + } + if (server) { + server.kill('SIGTERM'); + } + }); +} + +app.whenReady().then(start); \ No newline at end of file diff --git a/utils/mongodb/README.md b/utils/mongodb/README.md new file mode 100644 index 00000000..8a70c806 --- /dev/null +++ b/utils/mongodb/README.md @@ -0,0 +1,9 @@ +# MongoDB + +1. Download mongodb zip package from `https://www.mongodb.com/try/download/community`. + +Windows: https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.8.zip + +Ubuntu: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-4.2.8.tgz + +2. Unzip mongodb-win32-x86_64-2012plus-4.2.7.zip in this folder. \ No newline at end of file