From 0b9b3d487860e6817ab348e3d24e1412613cebe7 Mon Sep 17 00:00:00 2001 From: mattuy Date: Sun, 7 Jun 2020 23:17:01 +0800 Subject: [PATCH] first version commit --- .gitignore | 7 + LICENCE | 1 + README.md | 84 +++ appicon.ico | Bin 0 -> 13280 bytes blob/main-input.png | Bin 0 -> 79015 bytes blob/main.png | Bin 0 -> 34942 bytes blob/mini-input.png | Bin 0 -> 15882 bytes blob/mini.png | Bin 0 -> 10096 bytes package-lock.json | 1408 +++++++++++++++++++++++++++++++++++++++++++ package.json | 23 + src/assets/icon.ico | Bin 0 -> 13280 bytes src/config.js | 40 ++ src/index.js | 166 +++++ src/main.js | 39 ++ src/menu.js | 36 ++ src/mini.js | 110 ++++ src/notify.js | 38 ++ 17 files changed, 1952 insertions(+) create mode 100644 .gitignore create mode 100644 LICENCE create mode 100644 README.md create mode 100644 appicon.ico create mode 100644 blob/main-input.png create mode 100644 blob/main.png create mode 100644 blob/mini-input.png create mode 100644 blob/mini.png create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/assets/icon.ico create mode 100644 src/config.js create mode 100644 src/index.js create mode 100644 src/main.js create mode 100644 src/menu.js create mode 100644 src/mini.js create mode 100644 src/notify.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..554f601 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.vscode +# Dependency directory +node_modules + +# Ignore built ts files +/bin/ +dist/**/* diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..54090fd --- /dev/null +++ b/LICENCE @@ -0,0 +1 @@ +本程序仅用于学习交流,禁止任何个人、组织用于任何其它目的。对于使用本程序造成的任何后果,本程序不承担任何责任。 diff --git a/README.md b/README.md new file mode 100644 index 0000000..59f4d69 --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# Google Translate Desktop +Google Translate网页版的封装,通过[Electron](https://www.electronjs.org)构建。 + +首先说一下建立此仓库的目的。平时写代码经常需要查词,尝试了很多翻译软件,它们都很棒,但总是有些细节让人抓狂。或许作为一个翻译软件它们并没有什么问题,但在我个人的使用条件下,它们无法满足我的需求。 + +下面是我用过的软件,以及它们为什么不继续使用: +* 任何网页版翻译:需要打开浏览器,太慢 +* 金山词霸:不支持DPI自适应,太丑(现在不知道支不支持) +* 有道翻译:关键时刻掉链子,经常需要等待一会才能得到结果。划词窗口偶尔卡半天才出来。最致命的是MINI窗口经常不能自动处于输入状态,得鼠标点一下,大大降低了效率 +* Micosoft Translator:启动太慢,又不支持mini窗口。不支持开机自启动。如果一直保持打开得忍受任务栏多出一项,这对于某些强迫症患者(我)来说是难以忍受的 + +于是我有了使用Electron封装一个网页版翻译的想法,对比之下Google翻译似乎比微软翻译出结果快那么一点点,于是决定封装Google翻译。需要说明的是,我测试的是translate.google.cn,至于google.com没试...I am in China🙃 + +封装Google翻译的目的是用于写代码时快速查词,就这一个单纯的目的。因此它的功能可以很简单,但必须具备一些必要的功能,另外使用它可能需要忍受一些事情: +* 功能简陋 +* 必须联网 +* 自定义程度低,配置得直接修改配置文件 +* 只能在Windows上用(用到了Windows系统API) +* 在Google Translate页面完全加载前Mini窗口不会自动获取焦点,而这可能需要等待好几十秒 + + +## 特性 +* 支持主窗口最小化到托盘; +* 允许配置快捷键打开Mini窗口; +* 允许配置默认主窗口尺寸; +* Mini窗口自动获取输入焦点; +* 支持开机启动; + +* 不支持离线使用; +* 不支持取词划词; +* 未测试Windows之外的平台; + +对于Mini窗口自动获取输入焦点,由于是通过`dom-ready`事件注入JavaScript实现,因此在`dom-ready`之前Mini窗口无法自动获取焦点。而这需要大概十几秒,因为`translate.google.cn`尝试从`google.com`获取一些资源,而访问google.com会等待超时后失败(国内环境),但这些资源并不是完成翻译功能所必须的,因此并不影响翻译功能的使用。但未完成的非ajax请求会让`dom-ready`事件迟迟不能触发,导致依赖此事件注入JavaScript的代码直到请求超时后才执行。 +但这只在程序启动时发生,个人认为勉强能够忍受,就没有再折腾。如果有必要,或许可以通过`ServiceWorker`拦截? + +对于封装的url,本程序仅对translate.google.cn做了样式微调,如果换成其它的url,可能需要自行调整样式。配置项中允许更改url参数来加载其他网页。如果需要,还可以通过提供额外CSS来调整样式,它们将被注入页面,见[配置项](##配置项)。 +注意,你可能需要为你的样式加上!important标记以覆盖更高优先级的原始样式,因为CSS以嵌入式CSS的方式插入。 + + +## 实现 +通过Electron简单的封装https://translate.google.cn作为主窗口。 + +### Mini窗口 +Mini窗口的大小是固定的,想要修改只能修改代码。为了在更小区域呈现界面,本程序通过注入css隐藏了Mini窗口的Google Translate头部,还做了一些微调以减小其尺寸。 + +## 使用 +克隆本仓库到本地,然后执行`npm install`。 + +### 运行 +`npm start` + +### 打包 +`npm run package` + +通过`electron-packager`进行打包。当然您也可以使用其它Electron打包工具,例如[electron-builder](https://github.com/electron-userland/electron-builder)。但请劳烦您自行配置。 + + +## 配置项 + +配置文件只能是运行目录下的`config.json`。修改配置可能需要重启程序以应用修改。 + +| 配置名称 | 类型 | 默认值 | 备注 | +| ----------------------- | ------- | --------------------------- | +| mainWindowWidth | number | 1024 | 主窗口宽 +| mainWindowHeight | number | 586 | 主窗口高 +| url | string | https://translate.google.cn | 加载的url,其它地址没测试过 +| autoStart | boolean | false | 开机自启动 +| miniWindowEnabled | boolean | true | 启用Mini窗口快捷键 +| miniShortcut | string | CmdOrCtrl+Alt+M | 设置Mini窗口快捷键 +| extraCssForMain | string | "" | 额外插入主窗口的CSS +| extraCssForMini | string | "" | 额外插入Mini窗口的的CSS +| minimizeToTrayWhenClose | boolean | true | 关闭主窗口时最小化到托盘 +| minimizeToTrayWenStart | boolean | true | 启动时自动隐藏主窗口 + + +## 使用截图 + +主窗口 + +主窗口-有内容 + +迷你窗口-有内容 + +迷你窗口-有内容 diff --git a/appicon.ico b/appicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eafa8f0d8d2add57e952bbbf137f396fa74f3c77 GIT binary patch literal 13280 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 E0k&-V>Hq)$ literal 0 HcmV?d00001 diff --git a/blob/main-input.png b/blob/main-input.png new file mode 100644 index 0000000000000000000000000000000000000000..3d932d01c526dba3c332d88a6456b791b0b214ba GIT binary patch literal 79015 zcmbrm1yo!~_b^2>B={j)F*t2nPp;A}JxN2nYB4FF3eoFJAr$+@W75 zy$9Y9Y$Y@t;NUPFfBpQiXhP-++{AGFpzf$-W8&yyU~dek1TwcZaBwu%!5dnDgL?%h zDf(X7HEn;v#S`19+{5r+$0Kc!dOzQvFXlA#w=nJiIj zmddkOwVh-a745`$Q%}Uql8Dj4f-H^P@fVuKLu0L`H1nU1FPv{HOFTT`TOX&8?&1B# z{pp9&+3~|K9*Sliwva`!$-w1}MrFlp=kgOx2a1Z?sVT*j+3mtQiuOq|eQ|N)=lcZ2 z#0+JPMx3epFxYO1`|O{|rSU%8yyr3v$M0))9Nri-X1$VCT*6~K@g;Zfd~sL zXKF7eJ9~F`*N81ya{;6E&G%YLU|_5dQ#TyIHvPJIe}v-DPg{DSKK%(tf?|OG)cg~* zo#muJ|-&j|51_^0#k<}qm zx{T7 z)I*_?>_<{s4FOwWYFu|wW}CVhTi1+8Atq3V>u9qe1a@%Ix{tbb81{p1l0X(n_ z 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 X^+S-|64@L)9OA&QhqV)SpYr)16drx$ literal 0 HcmV?d00001 diff --git a/blob/mini-input.png b/blob/mini-input.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b50cf2e11fbc59c95c3f9069040da2fa8bc2ed GIT binary patch literal 15882 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 uhuDjIcJ-(5{{(N}?_c<@eUO)T49R1 literal 0 HcmV?d00001 diff --git a/blob/mini.png b/blob/mini.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a808d03a61970089962b9258de217712f3256f GIT binary patch literal 10096 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..43b9b73 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1408 @@ +{ + "name": "google-translate-electron", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@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=", + "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": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "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=" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "sumchecker": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/sumchecker/download/sumchecker-3.0.1.tgz", + "integrity": "sha1-Y3fplnlauwttNI6bPh37JDRajkI=", + "requires": { + "debug": "^4.1.0" + } + } + } + }, + "@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=" + }, + "@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=", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@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/lodash": { + "version": "4.14.155", + "resolved": "https://registry.npm.taobao.org/@types/lodash/download/@types/lodash-4.14.155.tgz?cache=0&sync_timestamp=1591198414262&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Flodash%2Fdownload%2F%40types%2Flodash-4.14.155.tgz", + "integrity": "sha1-4rRRT0aiYf0RVC5HUZwg6857wjo=", + "dev": true + }, + "@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": "10.14.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.12.tgz", + "integrity": "sha512-QcAKpaO6nhHLlxWBvpc4WeLrTvPqlHOvaj0s5GriKkA1zq+bsFBPpfYCvQhLqLgYlIko8A9YrPdaMHCo5mBcpg==", + "dev": true, + "optional": true + }, + "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" + } + }, + "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 + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz", + "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 + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", + "dev": true + }, + "boolean": { + "version": "3.0.1", + "resolved": "https://registry.npm.taobao.org/boolean/download/boolean-3.0.1.tgz", + "integrity": "sha1-NezytKLuGRsLRJhvFOtfBSpcu08=", + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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=" + }, + "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=" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npm.taobao.org/cacheable-request/download/cacheable-request-6.1.0.tgz?cache=0&sync_timestamp=1579607091967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacheable-request%2Fdownload%2Fcacheable-request-6.1.0.tgz", + "integrity": "sha1-IP+4vRYrpL4R6VZ9gj22UQUsqRI=", + "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=", + "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=" + } + } + }, + "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 + }, + "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=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1587782011624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", + "dev": true + }, + "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=", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "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=", + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz", + "integrity": "sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo=", + "optional": 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=" + }, + "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", + "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/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=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "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=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "optional": true, + "requires": { + "object-keys": "^1.0.12" + }, + "dependencies": { + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", + "optional": true + } + } + }, + "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=", + "optional": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npm.taobao.org/duplexer3/download/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "electron": { + "version": "9.0.2", + "resolved": "https://registry.npm.taobao.org/electron/download/electron-9.0.2.tgz", + "integrity": "sha1-NhkkzoMzlvGkWsIZX0QrkutPj10=", + "requires": { + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", + "extract-zip": "^1.0.3" + }, + "dependencies": { + "@types/node": { + "version": "12.12.44", + "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.44.tgz", + "integrity": "sha1-DUAKFFOtyzWbEzrM6uTdi7DgoVk=" + } + } + }, + "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": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-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" + } + } + } + }, + "electron-osx-sign": { + "version": "0.4.16", + "resolved": "https://registry.npm.taobao.org/electron-osx-sign/download/electron-osx-sign-0.4.16.tgz", + "integrity": "sha1-C+jlebLZ+kwS0qIfBjiYKUs0NKo=", + "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": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-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" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz", + "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", + "dev": true + } + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "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?cache=0&sync_timestamp=1569416272686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "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=", + "optional": true + }, + "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=1587627395453&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=", + "optional": true + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npm.taobao.org/extract-zip/download/extract-zip-1.7.0.tgz", + "integrity": "sha1-VWzDrp339FLEk6DPtRzDAneUCSc=", + "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=", + "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=" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", + "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", + "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=" + } + } + }, + "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=", + "requires": { + "pend": "~1.2.0" + } + }, + "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": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&sync_timestamp=1589881689076&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-7.0.1.tgz", + "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "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" + } + }, + "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" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "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" + } + }, + "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?cache=0&sync_timestamp=1575620465504&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^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 + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-agent": { + "version": "2.1.12", + "resolved": "https://registry.npm.taobao.org/global-agent/download/global-agent-2.1.12.tgz", + "integrity": "sha1-5K44Ercxqegcv4Jfk3fvRQqOQZU=", + "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=", + "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=", + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/globalthis/download/globalthis-1.0.1.tgz", + "integrity": "sha1-QBFvXZwHH56PsAN2VN8as6g7fvk=", + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npm.taobao.org/got/download/got-9.6.0.tgz", + "integrity": "sha1-7fRefWf5lUVwXeH3u+7rEhdl7YU=", + "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" + } + }, + "graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==" + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "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=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "optional": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "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" + } + }, + "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=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "optional": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "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.1.0", + "resolved": "https://registry.npm.taobao.org/keyv/download/keyv-3.1.0.tgz", + "integrity": "sha1-7MIoSG9pmR5J6UdkhaW+Ho/FxNk=", + "requires": { + "json-buffer": "3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npm.taobao.org/lodash.get/download/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", + "dev": true + }, + "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=" + }, + "matcher": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/matcher/download/matcher-3.0.0.tgz", + "integrity": "sha1-vZBg9MW3CqgEHMxvgDaHYJlPMMo=", + "optional": true, + "requires": { + "escape-string-regexp": "^4.0.0" + } + }, + "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=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "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": "4.5.0", + "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-4.5.0.tgz", + "integrity": "sha1-RTNUCH5sqWlXvY9br3U/WYIUISk=" + }, + "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=", + "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?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "optional": true + } + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/p-cancelable/download/p-cancelable-1.1.0.tgz", + "integrity": "sha1-0HjRWjr0CSIMiG8dmgyi5EGrJsw=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz?cache=0&sync_timestamp=1591460481915&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-1.3.0.tgz", + "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "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": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/pend/download/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "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" + } + }, + "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=" + }, + "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=" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=" + }, + "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=", + "optional": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "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 + }, + "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=", + "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" + } + }, + "resolve": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/responselike/download/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "dev": true, + "requires": { + "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=", + "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" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1589129611964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://registry.npm.taobao.org/sanitize-filename/download/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "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=", + "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=", + "optional": true, + "requires": { + "type-fest": "^0.13.1" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "optional": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "tmp": { + "version": "0.1.0", + "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.1.0.tgz?cache=0&sync_timestamp=1588178859061&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftmp%2Fdownload%2Ftmp-0.1.0.tgz", + "integrity": "sha1-7kNKTiJUMILilLpiAdzG6v76KHc=", + "dev": true, + "requires": { + "rimraf": "^2.6.3" + } + }, + "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" + } + }, + "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=" + }, + "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=", + "requires": { + "utf8-byte-length": "^1.0.1" + } + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/tunnel/download/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "optional": true + }, + "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=1590463280921&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.13.1.tgz", + "integrity": "sha1-AXLLW86AsL1ULqNI21DH4hg02TQ=", + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typescript": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", + "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", + "dev": true + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "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=", + "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=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npm.taobao.org/xmlbuilder/download/xmlbuilder-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 + }, + "yargs-parser": { + "version": "16.1.0", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-16.1.0.tgz", + "integrity": "sha1-c3R9U64YfnuNvjM/lXFMduoA7PE=", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1586229901005&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", + "dev": true + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c58c759 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "google-translate-electron", + "author": "mattuy", + "version": "0.1.0", + "main": "./src/index.js", + "description": "Google Translate for Windows Desktop, built with Electron", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "electron .", + "package": "electron-packager ./ --overwrite --win --out ./bin --icon ./appicon.ico --app-copyright \"copyright@mattuy\" --win32metadata.CompanyName=\"\"" + }, + "productName": "Google Translate Desktop", + "originalFilename": "Google Translate Desktop", + "dependencies": { + "lodash": "^4.17.15" + }, + "devDependencies": { + "@types/lodash": "^4.14.155", + "electron": "^5.0.6", + "electron-packager": "^14.2.1", + "typescript": "^3.5.3" + } +} diff --git a/src/assets/icon.ico b/src/assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..eafa8f0d8d2add57e952bbbf137f396fa74f3c77 GIT binary patch literal 13280 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 E0k&-V>Hq)$ literal 0 HcmV?d00001 diff --git a/src/config.js b/src/config.js new file mode 100644 index 0000000..46a8f6c --- /dev/null +++ b/src/config.js @@ -0,0 +1,40 @@ +const fs = require('fs'); +const { promisify } = require('util'); +const toast = require('./notify'); +const { debounce } = require('lodash'); + +const config = { + mainWindowWidth: 1024, + mainWindowHeight: 586, + url: 'https://translate.google.cn/', + autoStart: false, + miniWindowEnabled: true, + miniShortcut: 'CmdOrCtrl+Alt+M', + extraCssForMain: '', + extraCssForMini: '', + minimizeToTrayWhenClose: true, + minimizeToTrayWenStart: true, +}; + +try { + let userConfig = fs.readFileSync('./config.json'); + if (userConfig) { + Object.assign(config, JSON.parse(userConfig.toString())); + } +} +catch { } + +async function flushConfig() { + const flush = promisify(fs.writeFile.bind(fs)); + try { + await flush('./config.json', JSON.stringify(config, null, 4)); + } + catch { + toast.show("保存配置失败。", { messageType: 'error' }); + } +} + +module.exports = { + config, + flushConfig: debounce(flushConfig, 1000, { trailing: true }) +}; diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..86b7749 --- /dev/null +++ b/src/index.js @@ -0,0 +1,166 @@ +const path = require('path'); +const { app, globalShortcut, BrowserWindow, Menu, Tray } = require('electron'); +const createMiniWindow = require('./mini'); +const createMainWindow = require('./main'); +const getMenu = require('./menu'); +const { config, flushConfig } = require('./config'); +const toast = require('./notify'); + +//将tray保存到全局变量,防止其被自动回收 +let tray; + +/** @type BrowserWindow */ +let mainWindow; +/** @type BrowserWindow */ +let miniWindow; + +app.on('ready', () => { + setupTray(); + toggleAutoStart(true); + + mainWindow = createMainWindow(); + mainWindow.on('close', ev => { + if (config.minimizeToTrayWhenClose) { + ev.preventDefault(); + mainWindow.hide(); + } + }); + mainWindow.on('closed', () => { + if (miniWindow) { + toast.dismiss(); + globalShortcut.unregisterAll(); + miniWindow.destroy(); + } + }); + //主窗口隐藏时设置mini窗口的父窗口为主窗口,防止主窗口意外关闭但mini窗口还保留着导致程序残留在内存中 + mainWindow.on('hide', () => { + if (miniWindow) { + miniWindow.setParentWindow(mainWindow); + } + }); + //主窗口显示时如果mini窗口的父窗口是主窗口,mini窗口获得焦点时父窗口也会弹出来。。emm又没找到其他靠谱的方法 + mainWindow.on('show', () => { + if (miniWindow) { + miniWindow.setParentWindow(null); + } + }); + if (!config.minimizeToTrayWenStart) { + mainWindow.show(); + } + else { + toast.show("Google Translate Desktop已在后台运行。", null, { + use: 'notification', + clickCallback: () => mainWindow.show() + }); + } + registerMiniWindow(); + const mainMenu = getMenu(mainWindow, miniWindow, mainWindow); + mainWindow.setMenu(mainMenu); +}); + +function registerMiniWindow() { + // if (!config.miniWindowEnabled) { + // return; + // } + miniWindow = createMiniWindow(); + miniWindow.setParentWindow(mainWindow); + const miniMenu = getMenu(mainWindow, miniWindow, miniWindow); + miniWindow.setMenu(miniMenu); + if (config.miniWindowEnabled) { + toggleMiniShortcut(true); + } +} + +function setupTray() { + tray = new Tray(path.resolve(__dirname, 'assets/icon.ico')); + const contextMenu = Menu.buildFromTemplate([ + { label: "显示主界面", click: () => toggleMainWindowVisibility() }, + { label: "显示Mini窗口", click: () => toggleMiniWindowVisibility() }, + { + type: 'checkbox', + label: "开机启动", + checked: config.autoStart, + click: menu => menu.checked = toggleAutoStart() + }, + { + type: 'checkbox', + label: "启用MINI窗口快捷键", + checked: config.miniWindowEnabled, + click: menu => menu.checked = toggleMiniShortcut() + }, + { label: "退出", click: () => app.exit() } + ]); + tray.setToolTip("Google Translate Desktop"); + tray.on('click', () => toggleMainWindowVisibility()); + tray.setContextMenu(contextMenu); +} + +function toggleAutoStart(initial) { + if (!initial) { + config.autoStart = !config.autoStart; + } + app.setLoginItemSettings({ + openAtLogin: config.autoStart, + path: process.execPath, + openAsHidden: false, + args: [ + '--autoStart' + ] + }); + if (config.autoStart) { + toast.show("已允许Google Translate Desktop在您登录时自动启动。", "提示"); + } + else { + toast.show("已禁止Google Translate Desktop在您登录时自动启动。", "提示"); + } + if (!initial) { + flushConfig(); + } + return config.autoStart; +} + +//启用/禁用mini窗口快捷键 +function toggleMiniShortcut(initial) { + let enabled = initial ? config.miniWindowEnabled : !config.miniWindowEnabled; + let success = true; + if (enabled) { + if (!globalShortcut.register(config.miniShortcut, () => toggleMiniWindowVisibility())) { + toast.show("快捷键注册失败,请检查设置的快捷键是否被其他软件占用。", "错误", { + type: 'error' + }); + success = false; + } + } + else { + globalShortcut.unregister(config.miniShortcut); + } + if (success) { + config.miniWindowEnabled = enabled; + if (!initial) { + flushConfig(); + } + } + return enabled; +} + +function toggleMiniWindowVisibility() { + if (!miniWindow) { return; } + if (miniWindow.isVisible()) { + miniWindow.hide(); + } + else { + miniWindow.show(); + miniWindow.focus(); + } +} + +function toggleMainWindowVisibility() { + if (!mainWindow) { return; } + if (mainWindow.isVisible()) { + mainWindow.hide(); + } + else { + mainWindow.show(); + mainWindow.focus(); + } +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..8c0baf0 --- /dev/null +++ b/src/main.js @@ -0,0 +1,39 @@ +const path = require('path'); +const { BrowserWindow } = require('electron'); +const getMenu = require('./menu'); +const { config } = require('./config'); + +function createMainWindow() { + const win = new BrowserWindow({ + width: config.mainWindowWidth, + height: config.mainWindowHeight, + icon: path.resolve(__dirname, './assets/icon.ico'), + title: 'Google Translate', + show: false, + webPreferences: { + nodeIntegration: false + }, + useContentSize: true, + autoHideMenuBar: true, + }); + + win.loadURL(config.url); + win.webContents.on('dom-ready', () => { + win.webContents.insertCSS(` + /* 隐藏通知 */ + .notification-area { + display: none !important; + } + /* 防止高度较小时出现双滚动条 */ + .frame { + overflow: visible !important; + } + `); + if (config.extraCssForMain) { + win.webContents.insertCSS(config.extraCssForMain); + } + }); + return win; +} + +module.exports = createMainWindow; \ No newline at end of file diff --git a/src/menu.js b/src/menu.js new file mode 100644 index 0000000..c57b90a --- /dev/null +++ b/src/menu.js @@ -0,0 +1,36 @@ +const { Menu } = require('electron'); + +function getMenu(/** @type Electron.BrowserWindow */mainWindow, miniWindow, current) { + const template = [{ + label: "选项", + submenu: Menu.buildFromTemplate([ + { + label: "显示主界面", + click: () => { + if (!mainWindow) { return; } + mainWindow.show(); + mainWindow.focus(); + } + }, + { + label: "显示MINI窗口", + click: () => { + if (!miniWindow) { return; } + miniWindow.show(); + miniWindow.focus(); + } + }, + { + label: "打开调试控制台", + click: () => current.webContents.openDevTools() + }, + { + label: "退出", + role: 'quit' + } + ]) + }]; + return Menu.buildFromTemplate(template); +} + +module.exports = getMenu; \ No newline at end of file diff --git a/src/mini.js b/src/mini.js new file mode 100644 index 0000000..dc42d9f --- /dev/null +++ b/src/mini.js @@ -0,0 +1,110 @@ +const path = require('path'); +const { BrowserWindow } = require('electron'); +const getMenu = require('./menu'); +const { config } = require('./config'); + +function createMiniWindow () { + let miniWindow = new BrowserWindow({ + width: 500, + height: 315, + minWidth: 500, + minHeight: 315, + maxWidth: 500, + maxHeight: 315, + icon: path.resolve(__dirname, './assets/icon.ico'), + webPreferences: { + nodeIntegration: false + }, + title: "Google Translate Mini", + autoHideMenuBar: true, + show: false, + minimizable: false, + maximizable: true, + alwaysOnTop: true, + fullscreenable: false, + skipTaskbar: true, + }); + + miniWindow.on('focus', () => { + miniWindow.setOpacity(1); + }); + miniWindow.on('blur', () => { + miniWindow.setOpacity(0.618); + }); + miniWindow.on('close', ev => { + ev.preventDefault(); + miniWindow.hide(); + }); + + miniWindow.loadURL(config.url); + miniWindow.webContents.on('dom-ready', () => { + miniWindow.webContents.executeJavaScript(` + setTimeout(() => { + console.log('throw'); + throw('crashed'); + }, 10000); + var source = document.getElementById('source'); + if (source) { + document.addEventListener('visibilitychange', () => { + if (document.visibilityState === 'hidden') { + source.value = ''; + } + else { + source.focus(); + } + }); + } + `); + miniWindow.webContents.insertCSS(` + /* 隐藏通知,文本/文件切换栏 */ + .container .input-button-container, + .notification-area { + display: none !important; + } + /* mini窗口隐藏header和历史记录按钮和拼音 */ + .tlid-source-transliteration-container.source-transliteration-container, + header.gb_sa.gb_2a.gb_5e.gb_ta, .gp-footer { + display: none !important; + } + /* 防止高度较小时出现双滚动条 */ + .frame { + overflow: visible !important; + } + /* 去除语言选择栏顶部边框 */ + .tlid-language-bar.ls-wrap { + border-top: none; + } + /* 减小输入内容高度 */ + .tlid-copy-target { + margin-bottom: 0; + } + /* 减小结果内容高度 */ + .result.tlid-copy-target { + height: 72px; + min-height: 72px; + } + /* 缩小语言选择栏高度 */ + a.ls-select.new-ls-select { + line-height: 32px; + } + .tlid-language-bar.ls-wrap { + height: 40px; + overflow: hidden; + } + .swap-wrap { + transform: translateY(-8px); + } + /* 取消结果栏聚焦时的外边框(一般来说不应该这样做) */ + .result-shield-container.tlid-copy-target { + outline: none; + } + `); + if (config.extraCssForMini) { + miniWindow.insertCSS(config.extraCssForMini); + } + }); + + return miniWindow; +} + +module.exports = createMiniWindow; diff --git a/src/notify.js b/src/notify.js new file mode 100644 index 0000000..7f0d5d8 --- /dev/null +++ b/src/notify.js @@ -0,0 +1,38 @@ +const path = require('path'); +const { Notification, dialog } = require('electron'); + +let current = null; + +function notify(message, title, ops) { + const use = ops ? ops.use : 'auto'; + if (use === 'dialog' || (!Notification.isSupported() && use !== 'notification')) { + let options = { message, title: title || "信息" }; + if (ops && ops.messageType) { + options.type = ops.messageType; + } + dialog.showMessageBox(null, options); + return; + } + if (current) { + current.close(); + } + current = new Notification({ + title: "Google Translate Desktop", + body: message, + subtitle: ops && ops.subtitle, + icon: path.resolve(__dirname, './assets/icon.ico') + }); + current.show(); + if (ops && ops.clickCallback) { + current.on('click', ops.clickCallback); + } +} + +function dismiss() { + current && current.close(); +} + +module.exports = { + show: notify, + dismiss +};