feat: use pnpm to manage pm2 (#49574)

* fix(api): use pnpm to manage pm2

This means that pm2 will get the correct NODE_PATH environment variable.
Also, if we use pnpm to manage node, this ensure that pm2 will use that
node version.

* docs(devops): update api install and update docs

* feat: set node version via npmrc

This means that all scripts (pnpm run ...) will use this node version.
The only way to get other node versions is to invoke `node` directly.

* fix(docs): update api docs for pnpm installation

* feat: use pm2 from root

Co-authored-by: Shaun Hamilton <shauhami020@gmail.com>
This commit is contained in:
Oliver Eyton-Williams
2023-03-07 23:54:31 +01:00
committed by GitHub
parent 04ce4e7709
commit 16dec4ef86
5 changed files with 574 additions and 30 deletions

1
.npmrc
View File

@@ -2,3 +2,4 @@ auto-install-peers=true
strict-peer-dependencies=true
# TODO: consider reworking the scripts to avoid usage of pre/post scripts
enable-pre-post-scripts=true
use-node-version=18.14.2

View File

@@ -3,13 +3,14 @@ const path = require('path');
const dotenv = require('dotenv');
const filePath = path.resolve('..', '.env');
const filePath = path.resolve(__dirname, '..', '.env');
const env = dotenv.parse(fs.readFileSync(filePath));
module.exports = {
apps: [
{
script: `./lib/production-start.js`,
cwd: __dirname,
env,
max_memory_restart: '600M',
instances: 'max',

View File

@@ -450,18 +450,13 @@ sudo apt install build-essential
Provisioning VMs with the Code
1. Install Node LTS.
2. Update `npm` and install PM2 and setup `logrotate` and startup on boot
1. Install `pnpm` globally.
```console
npm i -g npm@8
npm i -g pm2
pm2 install pm2-logrotate
pm2 startup
curl -fsSL https://get.pnpm.io/install.sh | sh -
```
3. Clone freeCodeCamp, setup env and keys.
2. Clone freeCodeCamp, setup env and keys.
```console
git clone https://github.com/freeCodeCamp/freeCodeCamp.git
@@ -469,37 +464,43 @@ Provisioning VMs with the Code
git checkout prod-current # or any other branch to be deployed
```
4. Create the `.env` from the secure credentials storage.
3. Create the `.env` from the secure credentials storage.
5. Create the `google-credentials.json` from the secure credentials storage.
4. Create the `google-credentials.json` from the secure credentials storage.
6. Install dependencies
5. Install dependencies
```console
pnpm install
```
6. Setup pm2 `logrotate` and startup on boot
```console
pnpm pm2 install pm2-logrotate
pnpm pm2 startup
```
7. Build the server
```console
pnpm run prebuild && pnpm run build:curriculum && pnpm run build:server
pnpm prebuild && pnpm build:curriculum && pnpm build:server
```
8. Start Instances
8. Start Instances
```console
cd api-server
pm2 reload ecosystem.config.js
pnpm start:server
```
### Logging and Monitoring
```console
pm2 logs
pnpm pm2 logs
```
```console
pm2 monit
pnpm pm2 monit
```
### Updating Instances (Maintenance)
@@ -516,7 +517,7 @@ dependencies or adding environment variables.
1. Stop all instances
```console
pm2 stop all
pnpm pm2 stop all
```
2. Install dependencies
@@ -534,13 +535,13 @@ pnpm run create:config && pnpm run build:curriculum && pnpm run build:server
4. Start Instances
```console
cd api-server && pm2 start ecosystem.config.js && cd .. && pm2 logs
```
pnpm start:server && pnpm pm2 logs
```
#### 2. Rolling updates - Used for logical changes to code.
```console
cd api-server && pm2 reload ecosystem.config.js && cd .. && pm2 logs
pnpm pm2 reload api-server/ecosystem.config.js && pnpm pm2 logs
```
> [!NOTE] We are handling rolling updates to code, logic, via pipelines. You

View File

@@ -80,7 +80,7 @@
"serve:client-ci": "cd ./client && pnpm run serve-ci",
"start": "npm-run-all create:* -p develop:server serve:client",
"start-ci": "npm-run-all create:* -p start:server serve:client-ci",
"start:server": "cd ./api-server && pnpm start",
"start:server": "pnpm pm2 start api-server/ecosystem.config.js",
"storybook": "cd ./tools/ui-components && pnpm run storybook",
"test": "run-s create:* build:curriculum build-workers test:*",
"test:source": "jest",
@@ -98,7 +98,8 @@
},
"dependencies": {
"dotenv": "16.0.3",
"invariant": "2.2.4"
"invariant": "2.2.4",
"pm2": "^5.2.2"
},
"devDependencies": {
"@babel/eslint-parser": "7.19.1",

552
pnpm-lock.yaml generated
View File

@@ -46,6 +46,7 @@ importers:
mock-fs: 5.2.0
npm-run-all: 4.1.5
ora: 5.4.1
pm2: ^5.2.2
prettier: ^2.8.0
prismjs: 1.29.0
process: 0.11.10
@@ -58,6 +59,7 @@ importers:
dependencies:
dotenv: 16.0.3
invariant: 2.2.4
pm2: 5.2.2
devDependencies:
'@babel/eslint-parser': 7.19.1_go3kp2l7mdrkdyt3xfyeu7ppfa
'@babel/plugin-proposal-function-bind': 7.18.9_@babel+core@7.20.12
@@ -5547,6 +5549,99 @@ packages:
rimraf: 3.0.2
dev: true
/@opencensus/core/0.0.8:
resolution: {integrity: sha512-yUFT59SFhGMYQgX0PhoTR0LBff2BEhPrD9io1jWfF/VDbakRfs6Pq60rjv0Z7iaTav5gQlttJCX2+VPxFWCuoQ==}
engines: {node: '>=6.0'}
dependencies:
continuation-local-storage: 3.2.1
log-driver: 1.2.7
semver: 5.7.1
shimmer: 1.2.1
uuid: 3.4.0
dev: false
/@opencensus/core/0.0.9:
resolution: {integrity: sha512-31Q4VWtbzXpVUd2m9JS6HEaPjlKvNMOiF7lWKNmXF84yUcgfAFL5re7/hjDmdyQbOp32oGc+RFV78jXIldVz6Q==}
engines: {node: '>=6.0'}
dependencies:
continuation-local-storage: 3.2.1
log-driver: 1.2.7
semver: 5.7.1
shimmer: 1.2.1
uuid: 3.4.0
dev: false
/@opencensus/propagation-b3/0.0.8:
resolution: {integrity: sha512-PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==}
engines: {node: '>=6.0'}
dependencies:
'@opencensus/core': 0.0.8
uuid: 3.4.0
dev: false
/@pm2/agent/2.0.1:
resolution: {integrity: sha512-QKHMm6yexcvdDfcNE7PL9D6uEjoQPGRi+8dh+rc4Hwtbpsbh5IAvZbz3BVGjcd4HaX6pt2xGpOohG7/Y2L4QLw==}
dependencies:
async: 3.2.4
chalk: 3.0.0
dayjs: 1.8.36
debug: 4.3.4
eventemitter2: 5.0.1
fast-json-patch: 3.1.1
fclone: 1.0.11
nssocket: 0.6.0
pm2-axon: 4.0.1
pm2-axon-rpc: 0.7.1
proxy-agent: 5.0.0
semver: 7.2.3
ws: 7.4.6
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: false
/@pm2/io/5.0.0:
resolution: {integrity: sha512-3rToDVJaRoob5Lq8+7Q2TZFruoEkdORxwzFpZaqF4bmH6Bkd7kAbdPrI/z8X6k1Meq5rTtScM7MmDgppH6aLlw==}
engines: {node: '>=6.0'}
dependencies:
'@opencensus/core': 0.0.9
'@opencensus/propagation-b3': 0.0.8
async: 2.6.4
debug: 4.3.4
eventemitter2: 6.4.7
require-in-the-middle: 5.2.0
semver: 6.3.0
shimmer: 1.2.1
signal-exit: 3.0.7
tslib: 1.9.3
transitivePeerDependencies:
- supports-color
dev: false
/@pm2/js-api/0.6.7:
resolution: {integrity: sha512-jiJUhbdsK+5C4zhPZNnyA3wRI01dEc6a2GhcQ9qI38DyIk+S+C8iC3fGjcjUbt/viLYKPjlAaE+hcT2/JMQPXw==}
engines: {node: '>=4.0'}
dependencies:
async: 2.6.4
axios: 0.21.4_debug@4.3.4
debug: 4.3.4
eventemitter2: 6.4.7
ws: 7.5.9
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: false
/@pm2/pm2-version-check/1.0.4:
resolution: {integrity: sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==}
dependencies:
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
/@pmmmwh/react-refresh-webpack-plugin/0.4.3_ui3zhyrmks27fn5mdyujnxedta:
resolution: {integrity: sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==}
engines: {node: '>= 10.x'}
@@ -9135,6 +9230,16 @@ packages:
platform: 1.3.3
dev: true
/amp-message/0.1.2:
resolution: {integrity: sha512-JqutcFwoU1+jhv7ArgW38bqrE+LQdcRv4NxNw0mp0JHQyB6tXesWRjtYKlDgHRY2o3JE5UTaBGUK8kSWUdxWUg==}
dependencies:
amp: 0.3.1
dev: false
/amp/0.3.1:
resolution: {integrity: sha512-OwIuC4yZaRogHKiuU5WlMR5Xk/jAcpPtawWL05Gj8Lvm2F6mwoJt4O/bHI+DHwG79vWd+8OFYM4/BzYqyRd3qw==}
dev: false
/anser/2.1.1:
resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==}
@@ -9495,6 +9600,13 @@ packages:
/ast-types-flow/0.0.7:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
/ast-types/0.13.4:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'}
dependencies:
tslib: 2.5.0
dev: false
/ast-types/0.14.2:
resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
engines: {node: '>=4'}
@@ -9517,6 +9629,14 @@ packages:
dev: true
optional: true
/async-listener/0.6.10:
resolution: {integrity: sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==}
engines: {node: <=0.11.8 || >0.11.10}
dependencies:
semver: 5.7.1
shimmer: 1.2.1
dev: false
/async-retry-ng/2.0.1:
resolution: {integrity: sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw==}
@@ -10897,6 +11017,12 @@ packages:
inherits: 2.0.4
readable-stream: 3.6.1
/blessed/0.1.81:
resolution: {integrity: sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==}
engines: {node: '>= 0.8.0'}
hasBin: true
dev: false
/blob-util/2.0.2:
resolution: {integrity: sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==}
dev: true
@@ -10910,6 +11036,10 @@ packages:
/bn.js/5.2.1:
resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
/bodec/0.1.0:
resolution: {integrity: sha512-Ylo+MAo5BDUq1KA3f3R/MFhh+g8cnHmo8bz3YPGhI1znrMaf77ol1sfvYJzsw3nTE+Y2GryfDxBaR+AqpAkEHQ==}
dev: false
/body-parser/1.20.0:
resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -11603,6 +11733,10 @@ packages:
/charenc/0.0.2:
resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==}
/charm/0.1.2:
resolution: {integrity: sha512-syedaZ9cPe7r3hoQA9twWYKu5AIyCswN5+szkmPBe9ccdLrj4bYaCnLVPTLd2kgVRc7+zoX4tyPgRnFKCj5YjQ==}
dev: false
/check-error/1.0.2:
resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
@@ -11760,6 +11894,13 @@ packages:
'@colors/colors': 1.5.0
dev: true
/cli-tableau/2.0.1:
resolution: {integrity: sha512-he+WTicka9cl0Fg/y+YyxcN6/bfQ/1O3QmgxRXDhABKqLzvoOSM4fMzp39uMyLBulAFuywD2N7UaoQE7WaADxQ==}
engines: {node: '>=8.10.0'}
dependencies:
chalk: 3.0.0
dev: false
/cli-truncate/2.1.0:
resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==}
engines: {node: '>=8'}
@@ -11927,6 +12068,10 @@ packages:
/command-exists/1.2.9:
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
/commander/2.15.1:
resolution: {integrity: sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==}
dev: false
/commander/2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
@@ -12138,6 +12283,13 @@ packages:
p-throttle: 4.1.1
qs: 6.11.0
/continuation-local-storage/3.2.1:
resolution: {integrity: sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==}
dependencies:
async-listener: 0.6.10
emitter-listener: 1.1.2
dev: false
/convert-hrtime/3.0.0:
resolution: {integrity: sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==}
engines: {node: '>=8'}
@@ -12357,6 +12509,10 @@ packages:
/create-require/1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
/croner/4.1.97:
resolution: {integrity: sha512-/f6gpQuxDaqXu+1kwQYSckUglPaOrHdbIlBAu0YuW8/Cdb45XwXYNUBXg3r/9Mo6n540Kn/smKcZWko5x99KrQ==}
dev: false
/cross-env/7.0.3:
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
@@ -12761,6 +12917,10 @@ packages:
http-errors: 1.7.3
dev: false
/culvert/0.1.2:
resolution: {integrity: sha512-yi1x3EAWKjQTreYWeSd98431AV+IEE0qoDyOoaHJ7KJ21gv6HtBXHVLX74opVSGqcR8/AbjJBHAHpcOy2bj5Gg==}
dev: false
/currently-unhandled/0.4.1:
resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==}
engines: {node: '>=0.10.0'}
@@ -12856,6 +13016,11 @@ packages:
resolution: {integrity: sha512-APql/TZ6FdLEpf2z7/X2a2zyqK8juYtqaSVqxw9mYoQ64CXkfU15AeLh8pUszT8+fnYjgm6t0aIYpWKJbnLkuA==}
dev: false
/data-uri-to-buffer/3.0.1:
resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==}
engines: {node: '>= 6'}
dev: false
/data-urls/2.0.0:
resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
engines: {node: '>=10'}
@@ -12877,7 +13042,10 @@ packages:
/dayjs/1.11.7:
resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==}
dev: true
/dayjs/1.8.36:
resolution: {integrity: sha512-3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==}
dev: false
/debug/2.2.0:
resolution: {integrity: sha512-X0rGvJcskG1c3TgSCPqHJ0XJgwlcvOC7elJ5Y0hYuKBZoVqWpAMfLOeIh2UI/DCQ5ruodIjvsugZtjUYUw2pUw==}
@@ -13118,6 +13286,16 @@ packages:
/defined/1.0.1:
resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==}
/degenerator/3.0.2:
resolution: {integrity: sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==}
engines: {node: '>= 6'}
dependencies:
ast-types: 0.13.4
escodegen: 1.14.3
esprima: 4.0.1
vm2: 3.9.14
dev: false
/del/5.1.0:
resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==}
engines: {node: '>=8'}
@@ -13645,6 +13823,12 @@ packages:
minimalistic-assert: 1.0.1
minimalistic-crypto-utils: 1.0.1
/emitter-listener/1.1.2:
resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==}
dependencies:
shimmer: 1.2.1
dev: false
/emittery/0.10.2:
resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==}
engines: {node: '>=12'}
@@ -14004,6 +14188,19 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
/escodegen/1.14.3:
resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==}
engines: {node: '>=4.0'}
hasBin: true
dependencies:
esprima: 4.0.1
estraverse: 4.3.0
esutils: 2.0.3
optionator: 0.8.3
optionalDependencies:
source-map: 0.6.1
dev: false
/escodegen/2.0.0:
resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
engines: {node: '>=6.0'}
@@ -14819,13 +15016,16 @@ packages:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
/eventemitter2/0.4.14:
resolution: {integrity: sha512-K7J4xq5xAD5jHsGM5ReWXRTFa3JRGofHiMcVgQ8PRwgWxzjHpMWCIzsmyf60+mh8KLsqYPcjUMa0AC4hd6lPyQ==}
dev: false
/eventemitter2/5.0.1:
resolution: {integrity: sha512-5EM1GHXycJBS6mauYAbVKT1cVs7POKWb2NXD4Vyt8dDqeZa7LaDK1/sjtL+Zb0lzTpSNil4596Dyu97hz37QLg==}
dev: false
/eventemitter2/6.4.7:
resolution: {integrity: sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==}
dev: true
/eventemitter3/3.1.2:
resolution: {integrity: sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==}
@@ -15168,6 +15368,10 @@ packages:
resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==}
dev: true
/fast-json-patch/3.1.1:
resolution: {integrity: sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==}
dev: false
/fast-json-stable-stringify/2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
@@ -15313,6 +15517,10 @@ packages:
dependencies:
bser: 2.1.1
/fclone/1.0.11:
resolution: {integrity: sha512-GDqVQezKzRABdeqflsgMr7ktzgF9CyS+p2oe0jJqUY6izSSbhPIQJDpoU4PtGcD7VPM9xh/dVrTu6z1nwgmEGw==}
dev: false
/fd-slicer/1.1.0:
resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
dependencies:
@@ -15394,6 +15602,11 @@ packages:
dev: true
optional: true
/file-uri-to-path/2.0.0:
resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==}
engines: {node: '>= 6'}
dev: false
/filelist/1.0.4:
resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
dependencies:
@@ -15848,7 +16061,6 @@ packages:
graceful-fs: 4.2.10
jsonfile: 4.0.0
universalify: 0.1.2
dev: true
/fs-extra/9.1.0:
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
@@ -15908,6 +16120,14 @@ packages:
resolution: {integrity: sha512-hg47CNYdIGJ5m9WSKh617LHRdvJo4PiF0VkncFLwPVxKvBEQfSPd1qx/xLV/eSusewEu0C8eUFrsLsWlBgIcOg==}
dev: true
/ftp/0.3.10:
resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==}
engines: {node: '>=0.8.0'}
dependencies:
readable-stream: 1.1.14
xregexp: 2.0.0
dev: false
/function-bind/1.1.1:
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
@@ -16642,6 +16862,20 @@ packages:
call-bind: 1.0.2
get-intrinsic: 1.2.0
/get-uri/3.0.2:
resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==}
engines: {node: '>= 6'}
dependencies:
'@tootallnate/once': 1.1.2
data-uri-to-buffer: 3.0.1
debug: 4.3.4
file-uri-to-path: 2.0.0
fs-extra: 8.1.0
ftp: 0.3.10
transitivePeerDependencies:
- supports-color
dev: false
/get-value/2.0.6:
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
engines: {node: '>=0.10.0'}
@@ -16657,6 +16891,21 @@ packages:
dependencies:
assert-plus: 1.0.0
/git-node-fs/1.0.0_js-git@0.7.8:
resolution: {integrity: sha512-bLQypt14llVXBg0S0u8q8HmU7g9p3ysH+NvVlae5vILuUvs759665HvmR5+wb04KjHyjFcDRxdYb4kyNnluMUQ==}
peerDependencies:
js-git: ^0.7.8
peerDependenciesMeta:
js-git:
optional: true
dependencies:
js-git: 0.7.8
dev: false
/git-sha1/0.1.2:
resolution: {integrity: sha512-2e/nZezdVlyCopOCYHeW0onkbZg7xP1Ad6pndPy1rCygeRykefUS6r7oA5cJRGEFvseiaz5a/qUHFVX1dd6Isg==}
dev: false
/git-up/4.0.5:
resolution: {integrity: sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==}
dependencies:
@@ -17943,6 +18192,10 @@ packages:
engines: {node: '>=8'}
dev: false
/ip/1.1.8:
resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==}
dev: false
/ip/2.0.0:
resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
@@ -19368,6 +19621,15 @@ packages:
resolution: {integrity: sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==}
dev: false
/js-git/0.7.8:
resolution: {integrity: sha512-+E5ZH/HeRnoc/LW0AmAyhU+mNcWBzAKE+30+IDMLSLbbK+Tdt02AdkOKq9u15rlJsDEGFqtgckc8ZM59LhhiUA==}
dependencies:
bodec: 0.1.0
culvert: 0.1.2
git-sha1: 0.1.2
pako: 0.2.9
dev: false
/js-sdsl/4.3.0:
resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==}
@@ -19518,7 +19780,6 @@ packages:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
optionalDependencies:
graceful-fs: 4.2.10
dev: true
/jsonfile/6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
@@ -19691,6 +19952,11 @@ packages:
dotenv-expand: 5.1.0
dev: true
/lazy/1.0.11:
resolution: {integrity: sha512-Y+CjUfLmIpoUCCRl0ub4smrYtGGr5AOa2AKOaWelGHOGz33X/Y/KizefGqbkwfz44+cnq/+9habclf8vOmu2LA==}
engines: {node: '>=0.2.0'}
dev: false
/lcid/2.0.0:
resolution: {integrity: sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==}
engines: {node: '>=6'}
@@ -20032,6 +20298,11 @@ packages:
/lodash/4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
/log-driver/1.2.7:
resolution: {integrity: sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==}
engines: {node: '>=0.8.6'}
dev: false
/log-symbols/4.1.0:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
@@ -21459,6 +21730,10 @@ packages:
xtend: 4.0.2
dev: false
/module-details-from-path/1.0.3:
resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==}
dev: false
/moment-timezone/0.5.33:
resolution: {integrity: sha512-PTc2vcT8K9J5/9rDEPe5czSIKgLoGsH8UNpA4qZTVw0Vd/Uz19geE9abbIOQKaAQFcnQ3v5YEXrbSc5BpshH+w==}
dependencies:
@@ -21748,6 +22023,18 @@ packages:
randexp: 0.4.6
dev: false
/needle/2.4.0:
resolution: {integrity: sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==}
engines: {node: '>= 4.4.x'}
hasBin: true
dependencies:
debug: 3.2.7
iconv-lite: 0.4.24
sax: 1.2.4
transitivePeerDependencies:
- supports-color
dev: false
/negotiator/0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
@@ -21759,6 +22046,11 @@ packages:
resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
dev: true
/netmask/2.0.2:
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
engines: {node: '>= 0.4.0'}
dev: false
/next-tick/1.1.0:
resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
@@ -22027,6 +22319,14 @@ packages:
set-blocking: 2.0.0
dev: true
/nssocket/0.6.0:
resolution: {integrity: sha512-a9GSOIql5IqgWJR3F/JXG4KpJTA3Z53Cj0MeMvGpglytB1nxE4PdFNC0jINe27CS7cGivoynwc054EzCcT3M3w==}
engines: {node: '>= 0.10.x'}
dependencies:
eventemitter2: 0.4.14
lazy: 1.0.11
dev: false
/nth-check/1.0.2:
resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==}
dependencies:
@@ -22467,6 +22767,32 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
/pac-proxy-agent/5.0.0:
resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==}
engines: {node: '>= 8'}
dependencies:
'@tootallnate/once': 1.1.2
agent-base: 6.0.2
debug: 4.3.4
get-uri: 3.0.2
http-proxy-agent: 4.0.1
https-proxy-agent: 5.0.1
pac-resolver: 5.0.1
raw-body: 2.5.2
socks-proxy-agent: 5.0.1
transitivePeerDependencies:
- supports-color
dev: false
/pac-resolver/5.0.1:
resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==}
engines: {node: '>= 8'}
dependencies:
degenerator: 3.0.2
ip: 1.1.8
netmask: 2.0.2
dev: false
/package-json/6.5.0:
resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==}
engines: {node: '>=8'}
@@ -22476,6 +22802,10 @@ packages:
registry-url: 5.1.0
semver: 6.3.0
/pako/0.2.9:
resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
dev: false
/pako/1.0.11:
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
@@ -22879,6 +23209,21 @@ packages:
hasBin: true
dev: true
/pidusage/2.0.21:
resolution: {integrity: sha512-cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA==}
engines: {node: '>=8'}
dependencies:
safe-buffer: 5.2.1
dev: false
optional: true
/pidusage/3.0.2:
resolution: {integrity: sha512-g0VU+y08pKw5M8EZ2rIGiEBaB8wrQMjYGFfW2QVIfyT8V+fq8YFLkvlz4bz5ljvFDJYNFCWT3PWqcRr2FKO81w==}
engines: {node: '>=10'}
dependencies:
safe-buffer: 5.2.1
dev: false
/pify/2.3.0:
resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
engines: {node: '>=0.10.0'}
@@ -22975,6 +23320,97 @@ packages:
/platform/1.3.6:
resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==}
/pm2-axon-rpc/0.7.1:
resolution: {integrity: sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==}
engines: {node: '>=5'}
dependencies:
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
/pm2-axon/4.0.1:
resolution: {integrity: sha512-kES/PeSLS8orT8dR5jMlNl+Yu4Ty3nbvZRmaAtROuVm9nYYGiaoXqqKQqQYzWQzMYWUKHMQTvBlirjE5GIIxqg==}
engines: {node: '>=5'}
dependencies:
amp: 0.3.1
amp-message: 0.1.2
debug: 4.3.4
escape-string-regexp: 4.0.0
transitivePeerDependencies:
- supports-color
dev: false
/pm2-deploy/1.0.2:
resolution: {integrity: sha512-YJx6RXKrVrWaphEYf++EdOOx9EH18vM8RSZN/P1Y+NokTKqYAca/ejXwVLyiEpNju4HPZEk3Y2uZouwMqUlcgg==}
engines: {node: '>=4.0.0'}
dependencies:
run-series: 1.1.9
tv4: 1.3.0
dev: false
/pm2-multimeter/0.1.2:
resolution: {integrity: sha512-S+wT6XfyKfd7SJIBqRgOctGxaBzUOmVQzTAS+cg04TsEUObJVreha7lvCfX8zzGVr871XwCSnHUU7DQQ5xEsfA==}
dependencies:
charm: 0.1.2
dev: false
/pm2-sysmonit/1.2.8:
resolution: {integrity: sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA==}
requiresBuild: true
dependencies:
async: 3.2.4
debug: 4.3.4
pidusage: 2.0.21
systeminformation: 5.17.12
tx2: 1.0.5
transitivePeerDependencies:
- supports-color
dev: false
optional: true
/pm2/5.2.2:
resolution: {integrity: sha512-mASxgh/MZhtVze/wijGf+tE6JKdA3lEq64FOfXVhhArkuk9Qxl4ePw9XgFJaArOXnU3bde+KbeAJHYxppVvYBQ==}
engines: {node: '>=10.0.0'}
hasBin: true
dependencies:
'@pm2/agent': 2.0.1
'@pm2/io': 5.0.0
'@pm2/js-api': 0.6.7
'@pm2/pm2-version-check': 1.0.4
async: 3.2.4
blessed: 0.1.81
chalk: 3.0.0
chokidar: 3.5.3
cli-tableau: 2.0.1
commander: 2.15.1
croner: 4.1.97
dayjs: 1.11.7
debug: 4.3.4
enquirer: 2.3.6
eventemitter2: 5.0.1
fclone: 1.0.11
mkdirp: 1.0.4
needle: 2.4.0
pidusage: 3.0.2
pm2-axon: 4.0.1
pm2-axon-rpc: 0.7.1
pm2-deploy: 1.0.2
pm2-multimeter: 0.1.2
promptly: 2.2.0
semver: 7.3.8
source-map-support: 0.5.21
sprintf-js: 1.1.2
vizion: 2.2.1
yamljs: 0.3.0
optionalDependencies:
pm2-sysmonit: 1.2.8
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
dev: false
/pnp-webpack-plugin/1.6.4_typescript@4.9.5:
resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==}
engines: {node: '>=6'}
@@ -24028,6 +24464,12 @@ packages:
asap: 2.0.6
dev: false
/promptly/2.2.0:
resolution: {integrity: sha512-aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==}
dependencies:
read: 1.0.7
dev: false
/prompts/2.4.0:
resolution: {integrity: sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==}
engines: {node: '>= 6'}
@@ -24100,6 +24542,22 @@ packages:
forwarded: 0.2.0
ipaddr.js: 1.9.1
/proxy-agent/5.0.0:
resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==}
engines: {node: '>= 8'}
dependencies:
agent-base: 6.0.2
debug: 4.3.4
http-proxy-agent: 4.0.1
https-proxy-agent: 5.0.1
lru-cache: 5.1.1
pac-proxy-agent: 5.0.0
proxy-from-env: 1.1.0
socks-proxy-agent: 5.0.1
transitivePeerDependencies:
- supports-color
dev: false
/proxy-from-env/1.0.0:
resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}
dev: true
@@ -25656,6 +26114,17 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
/require-in-the-middle/5.2.0:
resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==}
engines: {node: '>=6'}
dependencies:
debug: 4.3.4
module-details-from-path: 1.0.3
resolve: 1.22.1
transitivePeerDependencies:
- supports-color
dev: false
/require-main-filename/2.0.0:
resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
@@ -25889,6 +26358,10 @@ packages:
aproba: 1.2.0
dev: true
/run-series/1.1.9:
resolution: {integrity: sha512-Arc4hUN896vjkqCYrUXquBFtRZdv1PfLbTYP71efP6butxyQ0kWpiNJyAgsxscmQg1cqvHY32/UCBzXedTpU2g==}
dev: false
/rx/4.1.0:
resolution: {integrity: sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==}
dev: false
@@ -26132,6 +26605,12 @@ packages:
resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==}
hasBin: true
/semver/7.2.3:
resolution: {integrity: sha512-utbW9Z7ZxVvwiIWkdOMLOR9G/NFXh2aRucghkVrEMJWuC++r3lCkBC3LwqBinyHzGMAJxY5tn6VakZGHObq5ig==}
engines: {node: '>=10'}
hasBin: true
dev: false
/semver/7.3.8:
resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
engines: {node: '>=10'}
@@ -26356,6 +26835,10 @@ packages:
rechoir: 0.6.2
dev: true
/shimmer/1.2.1:
resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
dev: false
/shortid/2.2.16:
resolution: {integrity: sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==}
dependencies:
@@ -26579,6 +27062,17 @@ packages:
websocket-driver: 0.7.4
dev: false
/socks-proxy-agent/5.0.1:
resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==}
engines: {node: '>= 6'}
dependencies:
agent-base: 6.0.2
debug: 4.3.4
socks: 2.7.1
transitivePeerDependencies:
- supports-color
dev: false
/socks/2.7.1:
resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==}
engines: {node: '>= 10.13.0', npm: '>= 3.0.0'}
@@ -27544,6 +28038,14 @@ packages:
acorn-node: 1.8.2
dev: false
/systeminformation/5.17.12:
resolution: {integrity: sha512-I3pfMW2vue53u+X08BNxaJieaHkRoMMKjWetY9lbYJeWFaeWPO6P4FkNc4XOCX8F9vbQ0HqQ25RJoz3U/B7liw==}
engines: {node: '>=8.0.0'}
os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android]
hasBin: true
dev: false
optional: true
/table/6.8.1:
resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
engines: {node: '>=10.0.0'}
@@ -28093,6 +28595,10 @@ packages:
/tslib/1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
/tslib/1.9.3:
resolution: {integrity: sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==}
dev: false
/tslib/2.0.3:
resolution: {integrity: sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==}
@@ -28132,6 +28638,11 @@ packages:
dependencies:
safe-buffer: 5.2.1
/tv4/1.3.0:
resolution: {integrity: sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==}
engines: {node: '>= 0.8.0'}
dev: false
/tweetnacl/0.14.5:
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
@@ -28143,6 +28654,13 @@ packages:
resolution: {integrity: sha512-O/wdPYk9ey04qcCiw8AQN74DbvLFZLAgnryrNTpV7T/sxB4lcGkCMHynx5xCcA6fCh739ZAqp3HcGhy770X1qA==}
dev: false
/tx2/1.0.5:
resolution: {integrity: sha512-sJ24w0y03Md/bxzK4FU8J8JveYYUbSs2FViLJ2D/8bytSiyPRbuE3DyL/9UKYXTZlV3yXq0L8GLlhobTnekCVg==}
dependencies:
json-stringify-safe: 5.0.1
dev: false
optional: true
/type-check/0.3.2:
resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==}
engines: {node: '>= 0.8.0'}
@@ -28582,7 +29100,6 @@ packages:
/universalify/0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
dev: true
/universalify/0.2.0:
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
@@ -28964,9 +29481,28 @@ packages:
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
/vizion/2.2.1:
resolution: {integrity: sha512-sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww==}
engines: {node: '>=4.0'}
dependencies:
async: 2.6.4
git-node-fs: 1.0.0_js-git@0.7.8
ini: 1.3.8
js-git: 0.7.8
dev: false
/vm-browserify/1.1.2:
resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
/vm2/3.9.14:
resolution: {integrity: sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==}
engines: {node: '>=6.0'}
hasBin: true
dependencies:
acorn: 8.8.2
acorn-walk: 8.2.0
dev: false
/void-elements/3.1.0:
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
engines: {node: '>=0.10.0'}
@@ -29829,7 +30365,7 @@ packages:
/xml2js/0.4.19:
resolution: {integrity: sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==}
dependencies:
sax: 1.2.1
sax: 1.2.4
xmlbuilder: 9.0.7
dev: false
@@ -29866,6 +30402,10 @@ packages:
resolution: {integrity: sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==}
engines: {node: '>=0.4.0'}
/xregexp/2.0.0:
resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==}
dev: false
/xss/1.0.14:
resolution: {integrity: sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==}
engines: {node: '>= 0.10.0'}