diff --git a/main.js b/main.js index 3de7fe2..8c6504c 100644 --- a/main.js +++ b/main.js @@ -1,5 +1,20 @@ const { app, BrowserWindow, webContents, session } = require('electron'); const Path = require('path') +const contextMenu = require('electron-context-menu'); + +const rightClickMenu = contextMenu({ + append: (defaultActions, parameters, browserWindow) => [ + { + label: 'Search DuckDuckGo for “{selection}”', + visible: parameters.selectionText.trim().length > 0, + click: () => { + shell.openExternal(`https://duckduckgo.com/?q=${encodeURIComponent(parameters.selectionText)}`); + } + } + ], + showSearchWithGoogle: false +}); + function createWindow() { const win = new BrowserWindow({ @@ -25,6 +40,7 @@ function createWindow() { app.whenReady().then(() => { let win = createWindow(); app.on('window-all-closed', function () { + rightClickMenu(); app.quit(); }); }); diff --git a/package.json b/package.json index c33a1d1..8adcb26 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "make": "electron-forge make" }, "dependencies": { + "electron-context-menu": "^3.1.1", "electron-squirrel-startup": "^1.0.0", "node-fetch": "^2.6.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 60b99ad..bb918c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,14 +2,26 @@ lockfileVersion: 5.3 specifiers: '@electron-forge/cli': ^6.0.0-beta.60 + '@electron-forge/maker-deb': ^6.0.0-beta.60 + '@electron-forge/maker-rpm': ^6.0.0-beta.60 + '@electron-forge/maker-squirrel': ^6.0.0-beta.60 + '@electron-forge/maker-zip': ^6.0.0-beta.60 electron: ^14.0.0 + electron-context-menu: ^3.1.1 + electron-squirrel-startup: ^1.0.0 node-fetch: ^2.6.1 dependencies: + electron-context-menu: 3.1.1 + electron-squirrel-startup: 1.0.0 node-fetch: 2.6.1 devDependencies: '@electron-forge/cli': 6.0.0-beta.60 + '@electron-forge/maker-deb': 6.0.0-beta.60 + '@electron-forge/maker-rpm': 6.0.0-beta.60 + '@electron-forge/maker-squirrel': 6.0.0-beta.60 + '@electron-forge/maker-zip': 6.0.0-beta.60 electron: 14.0.0 packages: @@ -181,6 +193,55 @@ packages: - supports-color dev: true + /@electron-forge/maker-deb/6.0.0-beta.60: + resolution: {integrity: sha512-Jtt6n8CRuU2ws0sa/7arm9DtZHbZlxAqYgpDBm/RKszkjb0SeKW33zlY1UUYpuenL+F4nseSkOwjapwEjDr8Qg==} + engines: {node: '>= 12.13.0'} + dependencies: + '@electron-forge/maker-base': 6.0.0-beta.60 + '@electron-forge/shared-types': 6.0.0-beta.60 + optionalDependencies: + electron-installer-debian: 3.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@electron-forge/maker-rpm/6.0.0-beta.60: + resolution: {integrity: sha512-sA3KqcZkqDXnz2sOFEoORPH+SW2+bWgIltHp6qSBkjtxm2ayUd6n3v2YysT5BqUIp5DqSfDJmZKbZowJ1qI7IA==} + engines: {node: '>= 12.13.0'} + dependencies: + '@electron-forge/maker-base': 6.0.0-beta.60 + '@electron-forge/shared-types': 6.0.0-beta.60 + optionalDependencies: + electron-installer-redhat: 3.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@electron-forge/maker-squirrel/6.0.0-beta.60: + resolution: {integrity: sha512-GUKV9LKiZX8YF0GXYFXzuxJjqDAERg0+7c50pqCpqnX9qY+0umpxB2kO4yvPJnUpgGoCUgmY3t7orlhUg8yhbQ==} + engines: {node: '>= 12.13.0'} + dependencies: + '@electron-forge/maker-base': 6.0.0-beta.60 + '@electron-forge/shared-types': 6.0.0-beta.60 + fs-extra: 10.0.0 + optionalDependencies: + electron-winstaller: 5.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@electron-forge/maker-zip/6.0.0-beta.60: + resolution: {integrity: sha512-41MaU3ii0HcOFJVWHMGNkbQ169d7s9W1BpOH7oF+kW0aeHx396AMgUPVDKX7pFiRtsQvyvk5ZZaC6LJizNQPtQ==} + engines: {node: '>= 12.13.0'} + dependencies: + '@electron-forge/maker-base': 6.0.0-beta.60 + '@electron-forge/shared-types': 6.0.0-beta.60 + cross-zip: 4.0.0 + fs-extra: 10.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /@electron-forge/plugin-base/6.0.0-beta.60: resolution: {integrity: sha512-tNRGBmh/kFr/S/EXLvuyIRZYeu8axwt4IhJem/26rSe7byJ4ynjDYvhWBhT4S+//3w/fMmuJJX47cPKPfHxjgg==} engines: {node: '>= 12.13.0'} @@ -371,6 +432,14 @@ packages: '@types/responselike': 1.0.0 dev: true + /@types/fs-extra/9.0.12: + resolution: {integrity: sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==} + requiresBuild: true + dependencies: + '@types/node': 14.17.12 + dev: true + optional: true + /@types/glob/7.1.4: resolution: {integrity: sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==} requiresBuild: true @@ -469,14 +538,12 @@ packages: /ansi-regex/5.0.0: resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} engines: {node: '>=8'} - dev: true /ansi-styles/4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - dev: true /aproba/1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} @@ -494,6 +561,23 @@ packages: engines: {node: '>=0.10.0'} dev: true + /asar/2.1.0: + resolution: {integrity: sha512-d2Ovma+bfqNpvBzY/KU8oPY67ZworixTpkjSx0PCXnQi67c2cXmssaTxpFDUM0ttopXoGx/KRxNg/GDThYbXQA==} + engines: {node: '>=8.0'} + hasBin: true + dependencies: + chromium-pickle-js: 0.2.0 + commander: 2.20.3 + cuint: 0.2.2 + glob: 7.1.7 + minimatch: 3.0.4 + mkdirp: 0.5.5 + tmp-promise: 1.1.0 + optionalDependencies: + '@types/glob': 7.1.4 + dev: true + optional: true + /asar/3.0.3: resolution: {integrity: sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==} engines: {node: '>=10.12.0'} @@ -518,6 +602,11 @@ packages: engines: {node: '>=0.8'} dev: true + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: false + /asynckit/0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: true @@ -683,6 +772,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + optional: true + /caseless/0.12.0: resolution: {integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=} dev: true @@ -725,11 +820,28 @@ packages: engines: {node: '>=6'} dev: true + /cli-truncate/2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.2 + dev: false + /cli-width/3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} dev: true + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.2 + strip-ansi: 6.0.0 + wrap-ansi: 6.2.0 + dev: true + optional: true + /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -759,11 +871,9 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - dev: true /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true /colors/1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} @@ -777,6 +887,11 @@ packages: delayed-stream: 1.0.0 dev: true + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + optional: true + /commander/4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} @@ -857,6 +972,16 @@ packages: which: 2.0.2 dev: true + /cross-zip/4.0.0: + resolution: {integrity: sha512-MEzGfZo0rqE10O/B+AEcCSJLZsrWuRUvmqJTqHNqBtALhaJc3E3ixLGLJNTRzEA2K34wbmOHC4fwYs9sVsdcCA==} + engines: {node: '>=12.10'} + dev: true + + /cuint/0.2.2: + resolution: {integrity: sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=} + dev: true + optional: true + /currently-unhandled/0.4.1: resolution: {integrity: sha1-mI3zP+qxke95mmE2nddsF635V+o=} engines: {node: '>=0.10.0'} @@ -875,7 +1000,6 @@ packages: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} dependencies: ms: 2.0.0 - dev: true /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} @@ -978,6 +1102,85 @@ packages: safer-buffer: 2.1.2 dev: true + /electron-context-menu/3.1.1: + resolution: {integrity: sha512-LJhwaKf6XHwk2LQ5SdwoGNODoA8lRwks9bbEeAqqMf4e3hsrT7pZtX6MaHKYNFZKxF14JjI/VR+VRjGvxmaQoA==} + dependencies: + cli-truncate: 2.1.0 + electron-dl: 3.2.1 + electron-is-dev: 2.0.0 + dev: false + + /electron-dl/3.2.1: + resolution: {integrity: sha512-k5DFjocJlXbrjshO1zeWe/Gz7HkGwCgnehHPemiyzN2B/LfLlnbIX7sCj5F+huTwZ2l+nQehTI4IR37xvCn6FQ==} + dependencies: + ext-name: 5.0.0 + pupa: 2.1.1 + unused-filename: 2.1.0 + dev: false + + /electron-installer-common/0.10.3: + resolution: {integrity: sha512-mYbP+6i+nHMIm0WZHXgGdmmXMe+KXncl6jZYQNcCF9C1WsNA9C5SZ2VP4TLQMSIoFO+X4ugkMEA5uld1bmyEvA==} + engines: {node: '>= 10.0.0'} + dependencies: + '@malept/cross-spawn-promise': 1.1.1 + asar: 3.0.3 + debug: 4.3.2 + fs-extra: 9.1.0 + glob: 7.1.7 + lodash: 4.17.21 + parse-author: 2.0.0 + semver: 7.3.5 + tmp-promise: 3.0.2 + optionalDependencies: + '@types/fs-extra': 9.0.12 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /electron-installer-debian/3.1.0: + resolution: {integrity: sha512-k6KChvx0Fw8XTlCqwwbBfh19yGQaKjGdbugokmr1IpzINOm4QFyACKMTHAYFHW5LCBUZQShZD96hwxUZ+8Kx+w==} + engines: {node: '>= 10.0.0'} + os: [darwin, linux] + hasBin: true + requiresBuild: true + dependencies: + '@malept/cross-spawn-promise': 1.1.1 + debug: 4.3.2 + electron-installer-common: 0.10.3 + fs-extra: 9.1.0 + get-folder-size: 2.0.1 + lodash: 4.17.21 + word-wrap: 1.2.3 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /electron-installer-redhat/3.3.0: + resolution: {integrity: sha512-hXIXB3uQXmXZy/v3MpbwWN4Of28ALpPt9ZyUDNEoSe0w7QZceL9IqI2K6Q6imiBJCLRC0hmT94WhlKj1RyGOWg==} + engines: {node: '>= 10.0.0'} + os: [darwin, linux] + hasBin: true + requiresBuild: true + dependencies: + '@malept/cross-spawn-promise': 1.1.1 + debug: 4.3.2 + electron-installer-common: 0.10.3 + fs-extra: 9.1.0 + lodash: 4.17.21 + word-wrap: 1.2.3 + yargs: 16.2.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /electron-is-dev/2.0.0: + resolution: {integrity: sha512-3X99K852Yoqu9AcW50qz3ibYBWY79/pBhlMCab8ToEWS48R0T9tyxRiQhwylE7zQdXrMnx2JKqUJyMPmt5FBqA==} + dev: false + /electron-notarize/1.1.0: resolution: {integrity: sha512-Dmp/jm2y3PTcjmjVe+jCT0sjsbBfbNuk7GOPtduZce2iae1hgAPnlNErk6x70TalsGIL5Ip3liSryqde/6eB5w==} engines: {node: '>= 10.0.0'} @@ -1050,6 +1253,27 @@ packages: - supports-color dev: true + /electron-squirrel-startup/1.0.0: + resolution: {integrity: sha1-GbTlWTP6Dvj1VnhLnGYPdyVGoLg=} + dependencies: + debug: 2.6.9 + dev: false + + /electron-winstaller/5.0.0: + resolution: {integrity: sha512-V+jFda7aVAm0htCG8Q95buPUpmXZW9ujh1HdhSlWY6y4QnJnw4TfrmxTlQWV4p2ioF/71JMI/1YF+/qbSICogA==} + engines: {node: '>=8.0.0'} + requiresBuild: true + dependencies: + asar: 2.1.0 + debug: 4.3.2 + fs-extra: 7.0.1 + lodash.template: 4.5.0 + temp: 0.9.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /electron/14.0.0: resolution: {integrity: sha512-O6EI7L1BPIrTpEIFefjjmdbmSn9LtE4mmrv4dfpV4Mqaa8uKuNYQogwZPEvSwaBexb69eb1LQ25n+f+kBcjiRQ==} engines: {node: '>= 8.6'} @@ -1065,7 +1289,6 @@ packages: /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true /encodeurl/1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} @@ -1112,6 +1335,11 @@ packages: engines: {node: '>=6'} dev: true + /escape-goat/2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + dev: false + /escape-string-regexp/1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} @@ -1143,6 +1371,21 @@ packages: homedir-polyfill: 1.0.3 dev: true + /ext-list/2.2.2: + resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} + engines: {node: '>=0.10.0'} + dependencies: + mime-db: 1.49.0 + dev: false + + /ext-name/5.0.0: + resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + engines: {node: '>=4'} + dependencies: + ext-list: 2.2.2 + sort-keys-length: 1.0.1 + dev: false + /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} dev: true @@ -1368,6 +1611,11 @@ packages: - supports-color dev: true + /gar/1.0.4: + resolution: {integrity: sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==} + dev: true + optional: true + /gauge/2.7.4: resolution: {integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=} dependencies: @@ -1386,6 +1634,15 @@ packages: engines: {node: 6.* || 8.* || >= 10.*} dev: true + /get-folder-size/2.0.1: + resolution: {integrity: sha512-+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==} + hasBin: true + dependencies: + gar: 1.0.4 + tiny-each-async: 2.0.3 + dev: true + optional: true + /get-installed-path/2.1.1: resolution: {integrity: sha512-Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==} dependencies: @@ -1742,7 +1999,6 @@ packages: /is-fullwidth-code-point/3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - dev: true /is-glob/4.0.1: resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==} @@ -1765,6 +2021,11 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-plain-obj/1.1.0: + resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} + engines: {node: '>=0.10.0'} + dev: false + /is-stream/1.1.0: resolution: {integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ=} engines: {node: '>=0.10.0'} @@ -1926,10 +2187,30 @@ packages: p-locate: 5.0.0 dev: true + /lodash._reinterpolate/3.0.0: + resolution: {integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=} + dev: true + optional: true + /lodash.get/4.4.2: resolution: {integrity: sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=} dev: true + /lodash.template/4.5.0: + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: true + optional: true + + /lodash.templatesettings/4.2.0: + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + dependencies: + lodash._reinterpolate: 3.0.0 + dev: true + optional: true + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -2062,7 +2343,6 @@ packages: /mime-db/1.49.0: resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==} engines: {node: '>= 0.6'} - dev: true /mime-types/2.1.32: resolution: {integrity: sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==} @@ -2163,9 +2443,13 @@ packages: hasBin: true dev: true + /modify-filename/1.1.0: + resolution: {integrity: sha1-mi3sg4Bvuy2XXyK+7IWcoms5OqE=} + engines: {node: '>=0.10.0'} + dev: false + /ms/2.0.0: resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} - dev: true /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -2477,7 +2761,6 @@ packages: /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true /path-is-absolute/1.0.1: resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} @@ -2635,6 +2918,13 @@ packages: engines: {node: '>=6'} dev: true + /pupa/2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + dependencies: + escape-goat: 2.1.1 + dev: false + /qs/6.5.2: resolution: {integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==} engines: {node: '>=0.6'} @@ -2767,6 +3057,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + optional: true + /resolve-alpn/1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: true @@ -2823,6 +3118,14 @@ packages: engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true + /rimraf/2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + hasBin: true + dependencies: + glob: 7.1.7 + dev: true + optional: true + /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -2937,6 +3240,15 @@ packages: string-width: 1.0.2 dev: true + /slice-ansi/3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: false + /smart-buffer/4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -2961,6 +3273,20 @@ packages: smart-buffer: 4.2.0 dev: true + /sort-keys-length/1.0.1: + resolution: {integrity: sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=} + engines: {node: '>=0.10.0'} + dependencies: + sort-keys: 1.1.2 + dev: false + + /sort-keys/1.1.2: + resolution: {integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0=} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-obj: 1.1.0 + dev: false + /source-map-support/0.5.19: resolution: {integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==} dependencies: @@ -3043,7 +3369,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.0 - dev: true /string_decoder/0.10.31: resolution: {integrity: sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=} @@ -3067,7 +3392,6 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.0 - dev: true /strip-bom/2.0.0: resolution: {integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=} @@ -3133,6 +3457,15 @@ packages: yallist: 4.0.0 dev: true + /temp/0.9.4: + resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==} + engines: {node: '>=6.0.0'} + dependencies: + mkdirp: 0.5.5 + rimraf: 2.6.3 + dev: true + optional: true + /throttleit/0.0.2: resolution: {integrity: sha1-z+34jmDADdlpe2H90qg0OptoDq8=} dev: true @@ -3148,6 +3481,26 @@ packages: xtend: 2.1.2 dev: true + /tiny-each-async/2.0.3: + resolution: {integrity: sha1-jru/1tYpXxNwAD+7NxYq/loKUdE=} + dev: true + optional: true + + /tmp-promise/1.1.0: + resolution: {integrity: sha512-8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==} + dependencies: + bluebird: 3.7.2 + tmp: 0.1.0 + dev: true + optional: true + + /tmp-promise/3.0.2: + resolution: {integrity: sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==} + dependencies: + tmp: 0.2.1 + dev: true + optional: true + /tmp/0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -3155,6 +3508,22 @@ packages: os-tmpdir: 1.0.2 dev: true + /tmp/0.1.0: + resolution: {integrity: sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==} + engines: {node: '>=6'} + dependencies: + rimraf: 2.6.3 + dev: true + optional: true + + /tmp/0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + optional: true + /to-readable-stream/1.0.0: resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} engines: {node: '>=6'} @@ -3244,6 +3613,14 @@ packages: engines: {node: '>= 10.0.0'} dev: true + /unused-filename/2.1.0: + resolution: {integrity: sha512-BMiNwJbuWmqCpAM1FqxCTD7lXF97AvfQC8Kr/DIeA6VtvhJaMDupZ82+inbjl5yVP44PcxOuCSxye1QMS0wZyg==} + engines: {node: '>=8'} + dependencies: + modify-filename: 1.1.0 + path-exists: 4.0.0 + dev: false + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -3297,6 +3674,11 @@ packages: defaults: 1.0.3 dev: true + /which-module/2.0.0: + resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=} + dev: true + optional: true + /which/1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true @@ -3318,6 +3700,22 @@ packages: string-width: 1.0.2 dev: true + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + optional: true + + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.2 + strip-ansi: 6.0.0 + dev: true + optional: true + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -3343,6 +3741,11 @@ packages: object-keys: 0.4.0 dev: true + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + optional: true + /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -3352,11 +3755,52 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + optional: true + /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} dev: true + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.2 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + optional: true + + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.2 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + optional: true + /yargs/17.1.1: resolution: {integrity: sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==} engines: {node: '>=12'}