mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-16 21:56:25 -05:00
build: collect metrics running some benchmarks (#2272)
This commit is contained in:
parent
8682af5628
commit
3d1d5071ed
18 changed files with 698 additions and 80 deletions
168
.github/workflows/benckmark.yml
vendored
Normal file
168
.github/workflows/benckmark.yml
vendored
Normal file
|
@ -0,0 +1,168 @@
|
|||
---
|
||||
name: ci - benchmark
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# 3 times day
|
||||
# collecting enough data to draw some graphics
|
||||
- cron: '0 0/8 * * *'
|
||||
# push:
|
||||
# branches:
|
||||
# - master
|
||||
jobs:
|
||||
prepare:
|
||||
name: Prepare build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: install pnpm
|
||||
run: sudo npm i pnpm@6.6.1 -g
|
||||
- name: set store
|
||||
run: |
|
||||
mkdir ~/.pnpm-store
|
||||
pnpm config set store-dir ~/.pnpm-store
|
||||
- name: setup pnpm config registry
|
||||
run: pnpm config set registry https://registry.verdaccio.org
|
||||
- name: install dependencies
|
||||
run: pnpm install
|
||||
- name: Cache .pnpm-store
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
restore-keys: |
|
||||
pnpm-
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: tar packages
|
||||
run: |
|
||||
tar -czvf ${{ github.workspace }}/pkg.tar.gz -C ${{ github.workspace }}/packages .
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: verdaccio-artifact
|
||||
path: pkg.tar.gz
|
||||
benchmark-autocannon:
|
||||
needs: prepare
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
benchmark:
|
||||
- info
|
||||
- tarball
|
||||
verdaccioVersion:
|
||||
# - local
|
||||
- 3.13.1
|
||||
- 4.12.1
|
||||
- 5.1.0
|
||||
name: Benchmark autocannon
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: verdaccio-artifact
|
||||
- name: untar packages
|
||||
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
|
||||
- name: install pnpm
|
||||
# require fixed version
|
||||
run: sudo npm i pnpm@6.6.1 -g
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: install dependencies
|
||||
run: pnpm install
|
||||
- name: start registry
|
||||
run: ./scripts/benchmark-prepare.sh ${{matrix.verdaccioVersion}}
|
||||
- name: benchmark
|
||||
run: pnpm benchmark:api -- -v ${{matrix.verdaccioVersion}} -f ${{matrix.benchmark}}
|
||||
shell: bash
|
||||
env:
|
||||
DEBUG: metrics*
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: verdaccio-metrics
|
||||
path: ./api-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
|
||||
if-no-files-found: error
|
||||
retention-days: 10
|
||||
- name: submit metrics
|
||||
run: pnpm benchmarka:submit
|
||||
env:
|
||||
DEBUG: metrics
|
||||
METRICS_SOURCE: autocannon
|
||||
METRICS_URL: ${{ secrets.METRICS_URL }}
|
||||
METRICS_TOKEN: ${{ secrets.METRICS_TOKEN }}
|
||||
METRICS_BENCHMARK: ${{matrix.benchmark}}
|
||||
METRICS_VERSION: ${{matrix.verdaccioVersion}}
|
||||
METRICS_COMMIT_HASH: ${{ github.sha }}
|
||||
METRICS_FILE_NAME: 'api-results'
|
||||
benchmark:
|
||||
needs: prepare
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
benchmark:
|
||||
- info
|
||||
- tarball
|
||||
verdaccioVersion:
|
||||
# future 6.x (wip)
|
||||
# - local (master branch)
|
||||
# old versions to compare same test along previous releases
|
||||
- 3.13.1
|
||||
- 4.12.1
|
||||
- 5.1.0
|
||||
name: Benchmark hyperfine
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: verdaccio-artifact
|
||||
- name: untar packages
|
||||
run: tar -xzvf pkg.tar.gz -C ${{ github.workspace }}/packages
|
||||
- name: install pnpm
|
||||
# require fixed version
|
||||
run: sudo npm i pnpm@6.6.1 -g
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: install dependencies
|
||||
run: pnpm install
|
||||
- name: install hyperfine
|
||||
run: |
|
||||
wget https://github.com/sharkdp/hyperfine/releases/download/v1.11.0/hyperfine_1.11.0_amd64.deb
|
||||
sudo dpkg -i hyperfine_1.11.0_amd64.deb
|
||||
- name: start registry
|
||||
run: ./scripts/benchmark-prepare.sh ${{matrix.verdaccioVersion}}
|
||||
- name: benchmark
|
||||
run: ./scripts/benchmark-run.sh ${{matrix.benchmark}}
|
||||
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
|
||||
shell: bash
|
||||
- name: rename
|
||||
run: mv ./hyper-results.json ./hyper-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: verdaccio-metrics
|
||||
path: ./hyper-results-${{matrix.verdaccioVersion}}-${{matrix.benchmark}}.json
|
||||
if-no-files-found: error
|
||||
retention-days: 10
|
||||
- name: submit metrics
|
||||
run: pnpm benchmarka:submit
|
||||
env:
|
||||
DEBUG: metrics
|
||||
METRICS_SOURCE: hyperfine
|
||||
METRICS_URL: ${{ secrets.METRICS_URL }}
|
||||
METRICS_TOKEN: ${{ secrets.METRICS_TOKEN }}
|
||||
METRICS_BENCHMARK: ${{matrix.benchmark}}
|
||||
METRICS_VERSION: ${{matrix.verdaccioVersion}}
|
||||
METRICS_COMMIT_HASH: ${{ github.sha }}
|
24
.gitignore
vendored
24
.gitignore
vendored
|
@ -2,22 +2,17 @@
|
|||
verdaccio-*.tgz
|
||||
.DS_Store
|
||||
build/
|
||||
dist/
|
||||
.eslintcache
|
||||
./dist
|
||||
|
||||
### Test
|
||||
node_modules
|
||||
|
||||
### database
|
||||
.verdaccio-db.json
|
||||
.sinopia-db.json
|
||||
|
||||
###
|
||||
### test
|
||||
test-storage*
|
||||
.verdaccio_test_env
|
||||
node_modules
|
||||
package-lock.json
|
||||
yarn-error.log
|
||||
yarn.lock
|
||||
|
||||
|
||||
# docker examples
|
||||
docker-examples/v5/reverse_proxy/nginx/relative_path/storage/*
|
||||
|
@ -36,12 +31,15 @@ tsconfig.tsbuildinfo
|
|||
|
||||
## bundle files
|
||||
packages/standalone/dist/
|
||||
|
||||
## ui
|
||||
packages/plugins/ui-theme/static
|
||||
|
||||
# website
|
||||
website/public
|
||||
website/.cache
|
||||
|
||||
# CI Pnpm cache
|
||||
.pnpm-store/
|
||||
|
||||
# benchmark
|
||||
api-results.json
|
||||
hyper-results.json
|
||||
hyper-results*.json
|
||||
api-results*.json
|
||||
|
|
10
package.json
10
package.json
|
@ -53,6 +53,7 @@
|
|||
"@types/lodash": "4.14.167",
|
||||
"@types/lowdb": "^1.0.9",
|
||||
"@types/mime": "2.0.2",
|
||||
"@types/autocannon": "4.1.0",
|
||||
"@types/minimatch": "3.0.3",
|
||||
"@types/node": "^14.14.7",
|
||||
"@types/react": "16.14.2",
|
||||
|
@ -71,6 +72,7 @@
|
|||
"@typescript-eslint/parser": "4.13.0",
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"@verdaccio/ui-theme": "workspace:*",
|
||||
"@verdaccio/benchmark": "workspace:*",
|
||||
"@verdaccio/eslint-config": "workspace:*",
|
||||
"babel-core": "7.0.0-bridge.0",
|
||||
"babel-eslint": "10.1.0",
|
||||
|
@ -82,6 +84,7 @@
|
|||
"core-js": "^3.12.1",
|
||||
"cross-env": "7.0.3",
|
||||
"detect-secrets": "1.0.6",
|
||||
"autocannon": "7.3.0",
|
||||
"eslint": "7.26.0",
|
||||
"eslint-config-google": "0.14.0",
|
||||
"eslint-config-prettier": "8.3.0",
|
||||
|
@ -95,6 +98,7 @@
|
|||
"eslint-plugin-verdaccio": "10.0.0",
|
||||
"eslint-plugin-prettier": "3.4.0",
|
||||
"fs-extra": "9.1.0",
|
||||
"debug": "4.3.1",
|
||||
"get-stdin": "7.0.0",
|
||||
"husky": "2.7.0",
|
||||
"in-publish": "2.0.1",
|
||||
|
@ -108,6 +112,7 @@
|
|||
"lint-staged": "8.2.1",
|
||||
"nock": "12.0.3",
|
||||
"nodemon": "^2.0.7",
|
||||
"node-fetch": "2.6.1",
|
||||
"npm-run-all": "4.1.5",
|
||||
"prettier": "2.3.0",
|
||||
"rimraf": "3.0.2",
|
||||
|
@ -116,7 +121,7 @@
|
|||
"ts-node": "^9.1.1",
|
||||
"typescript": "^4.2.4",
|
||||
"update-ts-references": "2.3.0",
|
||||
"verdaccio": "^5.0.4",
|
||||
"verdaccio": "5.1.0",
|
||||
"verdaccio-audit": "workspace:*",
|
||||
"verdaccio-auth-memory": "workspace:*",
|
||||
"verdaccio-htpasswd": "workspace:*",
|
||||
|
@ -133,6 +138,9 @@
|
|||
"test:e2e:cli": "pnpm test --filter ...@verdaccio/e2e-cli",
|
||||
"test:e2e:ui": "pnpm test --filter ...@verdaccio/e2e-ui",
|
||||
"start": "concurrently --kill-others \"pnpm _start:server\" \"pnpm _start:web\"",
|
||||
"benchmark:hyper": "verdaccio-benchmark hyper -r ./hyper-results.json",
|
||||
"benchmark:api": "verdaccio-benchmark api",
|
||||
"benchmarka:submit": "pnpm ts-node ./scripts/submit-metrics.ts",
|
||||
"start:watch": "concurrently --kill-others \"pnpm _build:watch\" \"pnpm _start:server\" \"pnpm _debug:reload\"",
|
||||
"_build:watch": "pnpm run --parallel watch --filter ./packages",
|
||||
"_start:server": "node packages/verdaccio/debug/bootstrap.js --listen 8000",
|
||||
|
|
3
packages/tools/benchmark/.babelrc
Normal file
3
packages/tools/benchmark/.babelrc
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
1
packages/tools/benchmark/index.js
Executable file
1
packages/tools/benchmark/index.js
Executable file
|
@ -0,0 +1 @@
|
|||
require('./build/index.js');
|
28
packages/tools/benchmark/package.json
Normal file
28
packages/tools/benchmark/package.json
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"name": "@verdaccio/benchmark",
|
||||
"version": "1.0.0",
|
||||
"bin": {
|
||||
"verdaccio-benchmark": "./index.js"
|
||||
},
|
||||
"private": "true",
|
||||
"description": "benchmark",
|
||||
"main": "./build/index.js",
|
||||
"scripts": {
|
||||
"build": "babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\" --source-maps",
|
||||
"run": "ts-node src/init.ts"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Juan Picado <juanpicado19@gmail.com>",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"clipanion": "3.0.0-rc.12",
|
||||
"temp-dir": "2.0.0",
|
||||
"get-port": "5.1.1",
|
||||
"semver": "7.3.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autocannon": "7.3.0",
|
||||
"node-fetch": "2.6.1",
|
||||
"ts-node": "10.0.0"
|
||||
}
|
||||
}
|
26
packages/tools/benchmark/src/api/index.ts
Normal file
26
packages/tools/benchmark/src/api/index.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
/* eslint-disable no-console */
|
||||
import { Command, Option } from 'clipanion';
|
||||
import runApi from './run';
|
||||
|
||||
export class ApiCommand extends Command {
|
||||
public static paths = [['api']];
|
||||
|
||||
private benchmark = Option.String('-f', {
|
||||
description: 'benchmark to run',
|
||||
required: true,
|
||||
});
|
||||
|
||||
private version = Option.String('-v', {
|
||||
description: 'version is running',
|
||||
required: true,
|
||||
});
|
||||
|
||||
public async execute() {
|
||||
try {
|
||||
await runApi(this.benchmark, this.version);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
}
|
40
packages/tools/benchmark/src/api/run.ts
Normal file
40
packages/tools/benchmark/src/api/run.ts
Normal file
|
@ -0,0 +1,40 @@
|
|||
import { writeFileSync } from 'fs';
|
||||
|
||||
const path = require('path');
|
||||
const debug = require('debug')('metrics:autocannon');
|
||||
const autocannon = require('autocannon');
|
||||
|
||||
function getURL(benchmark) {
|
||||
switch (benchmark) {
|
||||
case 'info':
|
||||
return 'http://localhost:4873/jquery';
|
||||
case 'tarball':
|
||||
return 'http://localhost:4873/jquery/-/jquery-3.6.0.tgz';
|
||||
default:
|
||||
throw new TypeError('no benckmark supported');
|
||||
}
|
||||
}
|
||||
|
||||
export default async function run(benchmark, version) {
|
||||
try {
|
||||
debug('api report start');
|
||||
debug('url', getURL(benchmark));
|
||||
const result = await autocannon({
|
||||
url: getURL(benchmark),
|
||||
connections: 10,
|
||||
pipelining: 1,
|
||||
duration: 10,
|
||||
});
|
||||
const wrapResults = {
|
||||
results: [result],
|
||||
};
|
||||
const reportPath = path.join(process.cwd(), `./api-results-${version}-${benchmark}.json`);
|
||||
debug('report path %o', reportPath);
|
||||
writeFileSync(reportPath, JSON.stringify(wrapResults, null, 2), 'utf-8');
|
||||
debug('report ends');
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(`error on process autocannon run`, err);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
25
packages/tools/benchmark/src/index.ts
Normal file
25
packages/tools/benchmark/src/index.ts
Normal file
|
@ -0,0 +1,25 @@
|
|||
import { Cli } from 'clipanion';
|
||||
import { ApiCommand } from './api';
|
||||
|
||||
const [node, app, ...args] = process.argv;
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('--args', args);
|
||||
|
||||
const cli = new Cli({
|
||||
binaryLabel: `benckmark`,
|
||||
binaryName: `${node} ${app}`,
|
||||
binaryVersion: require('../package.json').version,
|
||||
});
|
||||
|
||||
cli.register(ApiCommand);
|
||||
cli.runExit(args, Cli.defaultContext);
|
||||
|
||||
process.on('uncaughtException', function (err) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(
|
||||
// eslint-disable-next-line max-len
|
||||
`uncaught exception, please report (https://github.com/verdaccio/verdaccio/issues) this: \n${err.stack}`
|
||||
);
|
||||
process.exit(1);
|
||||
});
|
9
packages/tools/benchmark/tsconfig.build.json
Normal file
9
packages/tools/benchmark/tsconfig.build.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["src/**/*.test.ts"]
|
||||
}
|
9
packages/tools/benchmark/tsconfig.json
Normal file
9
packages/tools/benchmark/tsconfig.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "../../tsconfig.reference.json",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./build"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["src/**/*.test.ts"]
|
||||
}
|
323
pnpm-lock.yaml
323
pnpm-lock.yaml
|
@ -35,6 +35,7 @@ importers:
|
|||
'@commitlint/config-conventional': 8.2.0
|
||||
'@octokit/rest': 17.0.0
|
||||
'@types/async': 3.2.5
|
||||
'@types/autocannon': 4.1.0
|
||||
'@types/autosuggest-highlight': 3.1.1
|
||||
'@types/express': 4.17.6
|
||||
'@types/http-errors': 1.8.0
|
||||
|
@ -59,9 +60,11 @@ importers:
|
|||
'@types/webpack-env': 1.16.0
|
||||
'@typescript-eslint/eslint-plugin': 4.13.0
|
||||
'@typescript-eslint/parser': 4.13.0
|
||||
'@verdaccio/benchmark': workspace:*
|
||||
'@verdaccio/eslint-config': workspace:*
|
||||
'@verdaccio/types': workspace:*
|
||||
'@verdaccio/ui-theme': workspace:*
|
||||
autocannon: 7.3.0
|
||||
babel-core: 7.0.0-bridge.0
|
||||
babel-eslint: 10.1.0
|
||||
babel-jest: 26.6.3
|
||||
|
@ -71,6 +74,7 @@ importers:
|
|||
concurrently: ^5.3.0
|
||||
core-js: ^3.12.1
|
||||
cross-env: 7.0.3
|
||||
debug: 4.3.1
|
||||
detect-secrets: 1.0.6
|
||||
eslint: 7.26.0
|
||||
eslint-config-google: 0.14.0
|
||||
|
@ -97,6 +101,7 @@ importers:
|
|||
kleur: 4.1.4
|
||||
lint-staged: 8.2.1
|
||||
nock: 12.0.3
|
||||
node-fetch: 2.6.1
|
||||
nodemon: ^2.0.7
|
||||
npm-run-all: 4.1.5
|
||||
prettier: 2.3.0
|
||||
|
@ -106,7 +111,7 @@ importers:
|
|||
ts-node: ^9.1.1
|
||||
typescript: ^4.2.4
|
||||
update-ts-references: 2.3.0
|
||||
verdaccio: ^5.0.4
|
||||
verdaccio: 5.1.0
|
||||
verdaccio-audit: workspace:*
|
||||
verdaccio-auth-memory: workspace:*
|
||||
verdaccio-htpasswd: workspace:*
|
||||
|
@ -143,6 +148,7 @@ importers:
|
|||
'@commitlint/config-conventional': 8.2.0
|
||||
'@octokit/rest': 17.0.0
|
||||
'@types/async': 3.2.5
|
||||
'@types/autocannon': 4.1.0
|
||||
'@types/autosuggest-highlight': 3.1.1
|
||||
'@types/express': 4.17.6
|
||||
'@types/http-errors': 1.8.0
|
||||
|
@ -167,9 +173,11 @@ importers:
|
|||
'@types/webpack-env': 1.16.0
|
||||
'@typescript-eslint/eslint-plugin': 4.13.0_82a146d320a394c7e8b76cadf227b197
|
||||
'@typescript-eslint/parser': 4.13.0_eslint@7.26.0+typescript@4.2.4
|
||||
'@verdaccio/benchmark': link:packages/tools/benchmark
|
||||
'@verdaccio/eslint-config': link:packages/tools/eslint
|
||||
'@verdaccio/types': link:packages/core/types
|
||||
'@verdaccio/ui-theme': link:packages/plugins/ui-theme
|
||||
autocannon: 7.3.0
|
||||
babel-core: 7.0.0-bridge.0_@babel+core@7.13.15
|
||||
babel-eslint: 10.1.0_eslint@7.26.0
|
||||
babel-jest: 26.6.3_@babel+core@7.13.15
|
||||
|
@ -179,6 +187,7 @@ importers:
|
|||
concurrently: 5.3.0
|
||||
core-js: 3.12.1
|
||||
cross-env: 7.0.3
|
||||
debug: 4.3.1
|
||||
detect-secrets: 1.0.6
|
||||
eslint: 7.26.0
|
||||
eslint-config-google: 0.14.0_eslint@7.26.0
|
||||
|
@ -205,6 +214,7 @@ importers:
|
|||
kleur: 4.1.4
|
||||
lint-staged: 8.2.1
|
||||
nock: 12.0.3
|
||||
node-fetch: 2.6.1
|
||||
nodemon: 2.0.7
|
||||
npm-run-all: 4.1.5
|
||||
prettier: 2.3.0
|
||||
|
@ -214,7 +224,7 @@ importers:
|
|||
ts-node: 9.1.1_typescript@4.2.4
|
||||
typescript: 4.2.4
|
||||
update-ts-references: 2.3.0_typescript@4.2.4
|
||||
verdaccio: 5.0.4
|
||||
verdaccio: 5.1.0
|
||||
verdaccio-audit: link:packages/plugins/audit
|
||||
verdaccio-auth-memory: link:packages/plugins/auth-memory
|
||||
verdaccio-htpasswd: link:packages/core/htpasswd
|
||||
|
@ -1021,6 +1031,25 @@ importers:
|
|||
'@verdaccio/mock': link:../mock
|
||||
'@verdaccio/types': link:../core/types
|
||||
|
||||
packages/tools/benchmark:
|
||||
specifiers:
|
||||
autocannon: 7.3.0
|
||||
clipanion: 3.0.0-rc.12
|
||||
get-port: 5.1.1
|
||||
node-fetch: 2.6.1
|
||||
semver: 7.3.5
|
||||
temp-dir: 2.0.0
|
||||
ts-node: 10.0.0
|
||||
dependencies:
|
||||
clipanion: 3.0.0-rc.12
|
||||
get-port: 5.1.1
|
||||
semver: 7.3.5
|
||||
temp-dir: 2.0.0
|
||||
devDependencies:
|
||||
autocannon: 7.3.0
|
||||
node-fetch: 2.6.1
|
||||
ts-node: 10.0.0
|
||||
|
||||
packages/tools/eslint:
|
||||
specifiers: {}
|
||||
|
||||
|
@ -1162,6 +1191,10 @@ importers:
|
|||
|
||||
packages:
|
||||
|
||||
/@assemblyscript/loader/0.10.1:
|
||||
resolution: {integrity: sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==}
|
||||
dev: true
|
||||
|
||||
/@babel/cli/7.13.14_@babel+core@7.13.15:
|
||||
resolution: {integrity: sha512-zmEFV8WBRsW+mPQumO1/4b34QNALBVReaiHJOkxhUsdo/AvYM62c+SKSuLi2aZ42t3ocK6OI0uwUXRvrIbREZw==}
|
||||
hasBin: true
|
||||
|
@ -4225,6 +4258,22 @@ packages:
|
|||
resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
|
||||
engines: {node: '>= 6'}
|
||||
|
||||
/@tsconfig/node10/1.0.7:
|
||||
resolution: {integrity: sha512-aBvUmXLQbayM4w3A8TrjwrXs4DZ8iduJnuJLLRGdkWlyakCf1q6uHZJBzXoRA/huAEknG5tcUyQxN3A+In5euQ==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node12/1.0.7:
|
||||
resolution: {integrity: sha512-dgasobK/Y0wVMswcipr3k0HpevxFJLijN03A8mYfEPvWvOs14v0ZlYTR4kIgMx8g4+fTyTFv8/jLCIfRqLDJ4A==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node14/1.0.0:
|
||||
resolution: {integrity: sha512-RKkL8eTdPv6t5EHgFKIVQgsDapugbuOptNd9OOunN/HAkzmmTnZELx1kNCK0rSdUYGmiFMM3rRQMAWiyp023LQ==}
|
||||
dev: true
|
||||
|
||||
/@tsconfig/node16/1.0.1:
|
||||
resolution: {integrity: sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==}
|
||||
dev: true
|
||||
|
||||
/@types/activedirectory2/1.2.2:
|
||||
resolution: {integrity: sha512-YVvlqf7hemxSS7D+sG8FZO1ClrSScniOtwLoyA+sR8193U9PCBTlpo1JUZEcgHNA+rrIHMrsBHP3rbH3gtV0pg==}
|
||||
dependencies:
|
||||
|
@ -4243,6 +4292,12 @@ packages:
|
|||
resolution: {integrity: sha512-fdtHUdfIxSfU6crUgUOEb6vxdquAOa75bh1sQVL/ePkmQDNo8Aj1056eGGI9cPls5tLRhnAyfoXljEk+hmhbxg==}
|
||||
dev: true
|
||||
|
||||
/@types/autocannon/4.1.0:
|
||||
resolution: {integrity: sha512-SrG28f0RENabY2jCrz/xfkKqpaxorBSi8EcVxiFrGtvzlWNqOFAw35ASqEclLqkQXwyldmJLXqxebeFa1479vA==}
|
||||
dependencies:
|
||||
'@types/node': 14.14.41
|
||||
dev: true
|
||||
|
||||
/@types/autosuggest-highlight/3.1.1:
|
||||
resolution: {integrity: sha512-onPUHT+32TyI7ctiG7G/JtWlVkEBH2bw1onOWaea0L0dZmKNhP+KIOcrh7gnr2LTzD9/cjQlC7zJdv259dg0lg==}
|
||||
dev: true
|
||||
|
@ -4921,8 +4976,8 @@ packages:
|
|||
lockfile: 1.0.4
|
||||
dev: true
|
||||
|
||||
/@verdaccio/local-storage/10.0.1:
|
||||
resolution: {integrity: sha512-dnrBZeuftSFjtQhp7Y+abbWPtM1luxEhP5+6152d8dMnNmomTMZWJcr/eUwKkw6o9d39d4NA4Pimm9bXEBGrdA==}
|
||||
/@verdaccio/local-storage/10.0.6:
|
||||
resolution: {integrity: sha512-YEImOMUL56lziS/N3o1YzoOcVGZXpyZclGSonw7XQ1lKQEvEhU06V2+tIdjPgtqIOuH9ZKdPeBsBuN7ILa2qzQ==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 10.0.0
|
||||
|
@ -4940,9 +4995,9 @@ packages:
|
|||
/@verdaccio/readme/10.0.0:
|
||||
resolution: {integrity: sha512-OD3dMnRC8SvhgytEzczMBleN+K/3lMqyWw/epeXvolCpCd7mW/Dl5zSR25GiHh/2h3eTKP/HMs4km8gS1MMLgA==}
|
||||
dependencies:
|
||||
dompurify: 2.2.7
|
||||
dompurify: 2.2.9
|
||||
jsdom: 15.2.1
|
||||
marked: 2.0.1
|
||||
marked: 2.0.5
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- canvas
|
||||
|
@ -5830,6 +5885,33 @@ packages:
|
|||
resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
|
||||
engines: {node: '>=8.0.0'}
|
||||
|
||||
/autocannon/7.3.0:
|
||||
resolution: {integrity: sha512-RuyTU8fQE1FC6BDgslofLCeI4y9y9RRnnZtvoQ+onwQl+B2rsiGpcCi84/Si0rq3VRkkMFnmPulY3z59zYhX9g==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
chalk: 4.1.1
|
||||
char-spinner: 1.0.1
|
||||
cli-table3: 0.6.0
|
||||
clone: 2.1.2
|
||||
color-support: 1.1.3
|
||||
cross-argv: 1.0.0
|
||||
form-data: 4.0.0
|
||||
has-async-hooks: 1.0.0
|
||||
hdr-histogram-js: 2.0.1
|
||||
hdr-histogram-percentiles-obj: 3.0.0
|
||||
http-parser-js: 0.5.2
|
||||
hyperid: 2.1.0
|
||||
manage-path: 2.0.0
|
||||
on-net-listen: 1.1.2
|
||||
pretty-bytes: 5.6.0
|
||||
progress: 2.0.3
|
||||
reinterval: 1.1.0
|
||||
retimer: 3.0.0
|
||||
semver: 7.3.5
|
||||
subarg: 1.0.0
|
||||
timestring: 6.0.0
|
||||
dev: true
|
||||
|
||||
/autoprefixer/9.8.6:
|
||||
resolution: {integrity: sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==}
|
||||
hasBin: true
|
||||
|
@ -5881,10 +5963,6 @@ packages:
|
|||
/aws4/1.10.1:
|
||||
resolution: {integrity: sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==}
|
||||
|
||||
/aws4/1.11.0:
|
||||
resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==}
|
||||
dev: true
|
||||
|
||||
/axe-core/4.1.1:
|
||||
resolution: {integrity: sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -6701,6 +6779,10 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dev: true
|
||||
|
||||
/char-spinner/1.0.1:
|
||||
resolution: {integrity: sha1-5upnvSR+EHESmDt6sEee02KAAIE=}
|
||||
dev: true
|
||||
|
||||
/character-entities-legacy/1.1.4:
|
||||
resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
|
||||
dev: true
|
||||
|
@ -6828,6 +6910,16 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/cli-table3/0.6.0:
|
||||
resolution: {integrity: sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==}
|
||||
engines: {node: 10.* || >= 12.*}
|
||||
dependencies:
|
||||
object-assign: 4.1.1
|
||||
string-width: 4.2.2
|
||||
optionalDependencies:
|
||||
colors: 1.4.0
|
||||
dev: true
|
||||
|
||||
/cli-truncate/0.2.1:
|
||||
resolution: {integrity: sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -6840,6 +6932,12 @@ packages:
|
|||
resolution: {integrity: sha512-e0GyZXjprnxRuls/pHH0cqAgKtpiceQy8PztEZP9fdnkMxuo05D5en9fx60Iiqqjge8pmrMfsiglueS8SWmlgg==}
|
||||
dependencies:
|
||||
typanion: 3.3.0
|
||||
dev: false
|
||||
|
||||
/clipanion/3.0.0-rc.12:
|
||||
resolution: {integrity: sha512-eCixNguza61+8MXXTu6sYzpA8gPZHZzvay4lpFFpr4KSy+43wsugdiKMNejLS9PVcnSuGf0fy9kYs5R2c7Ejmw==}
|
||||
dependencies:
|
||||
typanion: 3.3.1
|
||||
|
||||
/cliui/5.0.0:
|
||||
resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==}
|
||||
|
@ -6883,6 +6981,11 @@ packages:
|
|||
engines: {node: '>=0.8'}
|
||||
dev: true
|
||||
|
||||
/clone/2.1.2:
|
||||
resolution: {integrity: sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=}
|
||||
engines: {node: '>=0.8'}
|
||||
dev: true
|
||||
|
||||
/clsx/1.1.1:
|
||||
resolution: {integrity: sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==}
|
||||
engines: {node: '>=6'}
|
||||
|
@ -6958,6 +7061,11 @@ packages:
|
|||
simple-swizzle: 0.2.2
|
||||
dev: true
|
||||
|
||||
/color-support/1.1.3:
|
||||
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/color/3.1.2:
|
||||
resolution: {integrity: sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==}
|
||||
dependencies:
|
||||
|
@ -6973,6 +7081,12 @@ packages:
|
|||
resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==}
|
||||
dev: true
|
||||
|
||||
/colors/1.4.0:
|
||||
resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/combined-stream/1.0.8:
|
||||
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
@ -7409,6 +7523,10 @@ packages:
|
|||
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
|
||||
dev: true
|
||||
|
||||
/cross-argv/1.0.0:
|
||||
resolution: {integrity: sha512-uAVe/bgNHlPdP1VE4Sk08u9pAJ7o1x/tVQtX77T5zlhYhuwOWtVkPBEtHdvF5cq48VzeCG5i1zN4dQc8pwLYrw==}
|
||||
dev: true
|
||||
|
||||
/cross-env/7.0.3:
|
||||
resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
|
||||
engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
|
||||
|
@ -8152,8 +8270,8 @@ packages:
|
|||
resolution: {integrity: sha512-vIOSyOXkMx81ghEalh4MLBtDHMx1bhKlaqHDMqM2yeitJ996SLOk5mGdDpI9ifJAgokred8Rmu219fX4OltqXw==}
|
||||
dev: false
|
||||
|
||||
/dompurify/2.2.7:
|
||||
resolution: {integrity: sha512-jdtDffdGNY+C76jvodNTu9jt5yYj59vuTUyx+wXdzcSwAGTYZDAQkQ7Iwx9zcGrA4ixC1syU4H3RZROqRxokxg==}
|
||||
/dompurify/2.2.9:
|
||||
resolution: {integrity: sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==}
|
||||
dev: true
|
||||
|
||||
/domutils/1.5.1:
|
||||
|
@ -8384,8 +8502,8 @@ packages:
|
|||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/envinfo/7.7.4:
|
||||
resolution: {integrity: sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==}
|
||||
/envinfo/7.8.1:
|
||||
resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -9518,6 +9636,15 @@ packages:
|
|||
mime-types: 2.1.28
|
||||
dev: true
|
||||
|
||||
/form-data/4.0.0:
|
||||
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
asynckit: 0.4.0
|
||||
combined-stream: 1.0.8
|
||||
mime-types: 2.1.30
|
||||
dev: true
|
||||
|
||||
/formidable/1.2.2:
|
||||
resolution: {integrity: sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==}
|
||||
|
||||
|
@ -9755,7 +9882,6 @@ packages:
|
|||
/get-port/5.1.1:
|
||||
resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/get-stdin/4.0.1:
|
||||
resolution: {integrity: sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=}
|
||||
|
@ -10185,7 +10311,7 @@ packages:
|
|||
source-map: 0.6.1
|
||||
wordwrap: 1.0.0
|
||||
optionalDependencies:
|
||||
uglify-js: 3.13.3
|
||||
uglify-js: 3.12.4
|
||||
dev: true
|
||||
|
||||
/har-schema/2.0.0:
|
||||
|
@ -10223,6 +10349,10 @@ packages:
|
|||
ansi-regex: 2.1.1
|
||||
dev: true
|
||||
|
||||
/has-async-hooks/1.0.0:
|
||||
resolution: {integrity: sha512-YF0VPGjkxr7AyyQQNykX8zK4PvtEDsUJAPqwu06UFz1lb6EvI53sPh5H1kWxg8NXI5LsfRCZ8uX9NkYDZBb/mw==}
|
||||
dev: true
|
||||
|
||||
/has-bigints/1.0.1:
|
||||
resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==}
|
||||
dev: true
|
||||
|
@ -10307,6 +10437,18 @@ packages:
|
|||
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
|
||||
dev: true
|
||||
|
||||
/hdr-histogram-js/2.0.1:
|
||||
resolution: {integrity: sha512-uPZxl1dAFnjUFHWLZmt93vUUvtHeaBay9nVNHu38SdOjMSF/4KqJUqa1Seuj08ptU1rEb6AHvB41X8n/zFZ74Q==}
|
||||
dependencies:
|
||||
'@assemblyscript/loader': 0.10.1
|
||||
base64-js: 1.5.1
|
||||
pako: 1.0.11
|
||||
dev: true
|
||||
|
||||
/hdr-histogram-percentiles-obj/3.0.0:
|
||||
resolution: {integrity: sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==}
|
||||
dev: true
|
||||
|
||||
/he/1.2.0:
|
||||
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
|
||||
hasBin: true
|
||||
|
@ -10591,6 +10733,13 @@ packages:
|
|||
slash: 3.0.0
|
||||
dev: true
|
||||
|
||||
/hyperid/2.1.0:
|
||||
resolution: {integrity: sha512-cSakhxbUsaIuqjfvvcUuvl/Fl342J65xgLLYrYxSSr9qmJ/EJK+S8crS6mIlQd/a7i+Pe4D0MgSrtZPLze+aCw==}
|
||||
dependencies:
|
||||
uuid: 3.4.0
|
||||
uuid-parse: 1.1.0
|
||||
dev: true
|
||||
|
||||
/hyphenate-style-name/1.0.4:
|
||||
resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
|
||||
dev: true
|
||||
|
@ -11913,13 +12062,6 @@ packages:
|
|||
esprima: 4.0.1
|
||||
dev: true
|
||||
|
||||
/js-yaml/4.0.0:
|
||||
resolution: {integrity: sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
dev: true
|
||||
|
||||
/js-yaml/4.1.0:
|
||||
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||
hasBin: true
|
||||
|
@ -12862,6 +13004,10 @@ packages:
|
|||
tmpl: 1.0.4
|
||||
dev: true
|
||||
|
||||
/manage-path/2.0.0:
|
||||
resolution: {integrity: sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc=}
|
||||
dev: true
|
||||
|
||||
/map-cache/0.2.2:
|
||||
resolution: {integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -12895,8 +13041,8 @@ packages:
|
|||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/marked/2.0.1:
|
||||
resolution: {integrity: sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==}
|
||||
/marked/2.0.5:
|
||||
resolution: {integrity: sha512-yfCEUXmKhBPLOzEC7c+tc4XZdIeTdGoRCZakFMkCxodr7wDXqoapIME4wjcpBPJLNyUnKJ3e8rb8wlAgnLnaDw==}
|
||||
engines: {node: '>= 8.16.2'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
@ -13982,6 +14128,11 @@ packages:
|
|||
resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
|
||||
engines: {node: '>= 0.8'}
|
||||
|
||||
/on-net-listen/1.1.2:
|
||||
resolution: {integrity: sha512-y1HRYy8s/RlcBvDUwKXSmkODMdx4KSuIvloCnQYJ2LdBBC1asY4HtfhXwe3UWknLakATZDnbzht2Ijw3M1EqFg==}
|
||||
engines: {node: '>=9.4.0 || ^8.9.4'}
|
||||
dev: true
|
||||
|
||||
/once/1.4.0:
|
||||
resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
|
||||
dependencies:
|
||||
|
@ -14212,6 +14363,10 @@ packages:
|
|||
semver: 6.3.0
|
||||
dev: true
|
||||
|
||||
/pako/1.0.11:
|
||||
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
|
||||
dev: true
|
||||
|
||||
/param-case/3.0.4:
|
||||
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
|
||||
dependencies:
|
||||
|
@ -14446,6 +14601,19 @@ packages:
|
|||
pino-std-serializers: 3.2.0
|
||||
quick-format-unescaped: 4.0.1
|
||||
sonic-boom: 1.4.1
|
||||
dev: false
|
||||
|
||||
/pino/6.11.3:
|
||||
resolution: {integrity: sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
fast-redact: 3.0.0
|
||||
fast-safe-stringify: 2.0.7
|
||||
flatstr: 1.0.12
|
||||
pino-std-serializers: 3.2.0
|
||||
quick-format-unescaped: 4.0.3
|
||||
sonic-boom: 1.4.1
|
||||
dev: true
|
||||
|
||||
/pino/6.2.1:
|
||||
resolution: {integrity: sha512-5F5A+G25Ex2rMOBEe3XYGyLSF4dikQZsFvPojwsqnDBX+rfg7+kw9s5i7pHuVAJImekjwb+MR9jQyHWPLENlvQ==}
|
||||
|
@ -15115,6 +15283,11 @@ packages:
|
|||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/pretty-bytes/5.6.0:
|
||||
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/pretty-error/2.1.1:
|
||||
resolution: {integrity: sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=}
|
||||
dependencies:
|
||||
|
@ -15321,6 +15494,10 @@ packages:
|
|||
/quick-format-unescaped/4.0.1:
|
||||
resolution: {integrity: sha512-RyYpQ6Q5/drsJyOhrWHYMWTedvjTIat+FTwv0K4yoUxzvekw2aRHMQJLlnvt8UantkZg2++bEzD9EdxXqkWf4A==}
|
||||
|
||||
/quick-format-unescaped/4.0.3:
|
||||
resolution: {integrity: sha512-MaL/oqh02mhEo5m5J2rwsVL23Iw2PEaGVHgT2vFt8AAsr0lfvQA5dpXo9TPu0rz7tSBdUPgkbam0j/fj5ZM8yg==}
|
||||
dev: true
|
||||
|
||||
/quick-lru/1.1.0:
|
||||
resolution: {integrity: sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -15777,6 +15954,10 @@ packages:
|
|||
jsesc: 0.5.0
|
||||
dev: true
|
||||
|
||||
/reinterval/1.1.0:
|
||||
resolution: {integrity: sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=}
|
||||
dev: true
|
||||
|
||||
/relateurl/0.2.7:
|
||||
resolution: {integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=}
|
||||
engines: {node: '>= 0.10'}
|
||||
|
@ -15893,7 +16074,7 @@ packages:
|
|||
engines: {node: '>= 4'}
|
||||
dependencies:
|
||||
aws-sign2: 0.7.0
|
||||
aws4: 1.11.0
|
||||
aws4: 1.10.1
|
||||
caseless: 0.12.0
|
||||
combined-stream: 1.0.8
|
||||
extend: 3.0.2
|
||||
|
@ -16082,6 +16263,10 @@ packages:
|
|||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/retimer/3.0.0:
|
||||
resolution: {integrity: sha512-WKE0j11Pa0ZJI5YIk0nflGI7SQsfl2ljihVy7ogh7DeQSeYAUi0ubZ/yEueGtDfUPk6GH5LRw1hBdLq4IwUBWA==}
|
||||
dev: true
|
||||
|
||||
/retry-request/4.1.3:
|
||||
resolution: {integrity: sha512-QnRZUpuPNgX0+D1xVxul6DbJ9slvo4Rm6iV/dn63e048MvGbUZiKySVt6Tenp04JqmchxjiLltGerOJys7kJYQ==}
|
||||
engines: {node: '>=8.10.0'}
|
||||
|
@ -16358,7 +16543,6 @@ packages:
|
|||
hasBin: true
|
||||
dependencies:
|
||||
lru-cache: 6.0.0
|
||||
dev: true
|
||||
|
||||
/send/0.17.1:
|
||||
resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==}
|
||||
|
@ -17254,6 +17438,12 @@ packages:
|
|||
resolution: {integrity: sha512-1igcUEmYFBEO14uQHAJhCUelTR5jPztfdVKrYxRnDa5D5Dn3w0NxXupJNPr/VV/yRfZYEAco8sTIRZzH3sRYKg==}
|
||||
dev: true
|
||||
|
||||
/subarg/1.0.0:
|
||||
resolution: {integrity: sha1-9izxdYHplrSPyWVpn1TAauJouNI=}
|
||||
dependencies:
|
||||
minimist: 1.2.5
|
||||
dev: true
|
||||
|
||||
/sugarss/2.0.0:
|
||||
resolution: {integrity: sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==}
|
||||
dependencies:
|
||||
|
@ -17493,6 +17683,11 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/temp-dir/2.0.0:
|
||||
resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/term-size/1.2.0:
|
||||
resolution: {integrity: sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=}
|
||||
engines: {node: '>=4'}
|
||||
|
@ -17628,6 +17823,11 @@ packages:
|
|||
next-tick: 1.1.0
|
||||
dev: true
|
||||
|
||||
/timestring/6.0.0:
|
||||
resolution: {integrity: sha512-wMctrWD2HZZLuIlchlkE2dfXJh7J2KDI9Dwl+2abPYg0mswQHfOAyQW3jJg1pY5VfttSINZuKcXoB3FGypVklA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/timsort/0.3.0:
|
||||
resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=}
|
||||
dev: true
|
||||
|
@ -17786,6 +17986,33 @@ packages:
|
|||
resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==}
|
||||
dev: true
|
||||
|
||||
/ts-node/10.0.0:
|
||||
resolution: {integrity: sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
'@swc/core': '>=1.2.45'
|
||||
'@swc/wasm': '>=1.2.45'
|
||||
'@types/node': '*'
|
||||
typescript: '>=2.7'
|
||||
peerDependenciesMeta:
|
||||
'@swc/core':
|
||||
optional: true
|
||||
'@swc/wasm':
|
||||
optional: true
|
||||
dependencies:
|
||||
'@tsconfig/node10': 1.0.7
|
||||
'@tsconfig/node12': 1.0.7
|
||||
'@tsconfig/node14': 1.0.0
|
||||
'@tsconfig/node16': 1.0.1
|
||||
arg: 4.1.3
|
||||
create-require: 1.1.1
|
||||
diff: 4.0.2
|
||||
make-error: 1.3.6
|
||||
source-map-support: 0.5.19
|
||||
yn: 3.1.1
|
||||
dev: true
|
||||
|
||||
/ts-node/9.1.1:
|
||||
resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
|
@ -17889,6 +18116,10 @@ packages:
|
|||
|
||||
/typanion/3.3.0:
|
||||
resolution: {integrity: sha512-e+54C4+ozFsTorFe50JNQlXlt4HVGQUvqul7VS0GbDfKlxh3aXbJY87Yu9IdtzvJWCyTgDX7q1PeMd3FH9zZqA==}
|
||||
dev: false
|
||||
|
||||
/typanion/3.3.1:
|
||||
resolution: {integrity: sha512-VogBiMj3ZQuWaHkbhXwSgd9jXE4s7EMaaV7VSEiKTNYnKJs/bPjvcOGbD7rTM9aPqTABvgLVEZ+iFP6ab12HtQ==}
|
||||
|
||||
/type-check/0.3.2:
|
||||
resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
|
||||
|
@ -17976,13 +18207,6 @@ packages:
|
|||
dev: true
|
||||
optional: true
|
||||
|
||||
/uglify-js/3.13.3:
|
||||
resolution: {integrity: sha512-otIc7O9LyxpUcQoXzj2hL4LPWKklO6LJWoJUzNa8A17Xgi4fOeDC8FBDOLHnC/Slo1CQgsZMcM6as0M76BZaig==}
|
||||
engines: {node: '>=0.8.0'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
optional: true
|
||||
|
||||
/unbox-primitive/1.0.1:
|
||||
resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==}
|
||||
dependencies:
|
||||
|
@ -18261,6 +18485,10 @@ packages:
|
|||
resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
|
||||
engines: {node: '>= 0.4.0'}
|
||||
|
||||
/uuid-parse/1.1.0:
|
||||
resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==}
|
||||
dev: true
|
||||
|
||||
/uuid/3.3.2:
|
||||
resolution: {integrity: sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==}
|
||||
hasBin: true
|
||||
|
@ -18317,6 +18545,12 @@ packages:
|
|||
/validator/13.5.2:
|
||||
resolution: {integrity: sha512-mD45p0rvHVBlY2Zuy3F3ESIe1h5X58GPfAtslBjY7EtTqGquZTj+VX/J4RnHWN8FKq0C9WRVt1oWAcytWRuYLQ==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: false
|
||||
|
||||
/validator/13.6.0:
|
||||
resolution: {integrity: sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: true
|
||||
|
||||
/value-equal/1.0.1:
|
||||
resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
|
||||
|
@ -18356,49 +18590,50 @@ packages:
|
|||
unix-crypt-td-js: 1.1.4
|
||||
dev: true
|
||||
|
||||
/verdaccio/5.0.4:
|
||||
resolution: {integrity: sha512-Bp3QXbpCLpIohVSQonPA7Dwejv/czt7HmE3fhKR/aSKxopX+4fAn1MPb8AQPElcBMrFOT9riwnOhwhxYh+sNRA==}
|
||||
/verdaccio/5.1.0:
|
||||
resolution: {integrity: sha512-NydMLcy4rjnrZdKWtlCspahCIKOUlTRwF484EeweVYAwyh/5K5ph8E8lteDPnOD1UxfRZ+tx/BkQfqHp1udgXg==}
|
||||
engines: {node: '>=12', npm: '>=6'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
'@verdaccio/commons-api': 10.0.0
|
||||
'@verdaccio/local-storage': 10.0.1
|
||||
'@verdaccio/local-storage': 10.0.6
|
||||
'@verdaccio/readme': 10.0.0
|
||||
'@verdaccio/streams': 10.0.0
|
||||
'@verdaccio/ui-theme': 3.1.0
|
||||
async: 3.2.0
|
||||
body-parser: 1.19.0
|
||||
clipanion: 3.0.0-rc.11
|
||||
clipanion: 3.0.0-rc.12
|
||||
compression: 1.7.4
|
||||
cookies: 0.8.0
|
||||
cors: 2.8.5
|
||||
dayjs: 1.10.4
|
||||
debug: 4.3.1
|
||||
envinfo: 7.7.4
|
||||
envinfo: 7.8.1
|
||||
eslint-import-resolver-node: 0.3.4
|
||||
express: 4.17.1
|
||||
fast-safe-stringify: 2.0.7
|
||||
handlebars: 4.7.7
|
||||
http-errors: 1.8.0
|
||||
js-yaml: 4.0.0
|
||||
js-yaml: 4.1.0
|
||||
JSONStream: 1.3.5
|
||||
jsonwebtoken: 8.5.1
|
||||
kleur: 4.1.4
|
||||
lodash: 4.17.21
|
||||
lru-cache: 6.0.0
|
||||
lunr-mutable-indexes: 2.3.2
|
||||
marked: 2.0.1
|
||||
marked: 2.0.5
|
||||
memoizee: 0.4.15
|
||||
mime: 2.5.2
|
||||
minimatch: 3.0.4
|
||||
mkdirp: 1.0.4
|
||||
mv: 2.1.1
|
||||
pino: 6.11.2
|
||||
pino: 6.11.3
|
||||
pkginfo: 0.4.1
|
||||
prettier-bytes: 1.0.4
|
||||
pretty-ms: 5.1.0
|
||||
request: 2.88.0
|
||||
semver: 7.3.4
|
||||
validator: 13.5.2
|
||||
semver: 7.3.5
|
||||
validator: 13.6.0
|
||||
verdaccio-audit: 10.0.0
|
||||
verdaccio-htpasswd: 10.0.0
|
||||
transitivePeerDependencies:
|
||||
|
|
14
scripts/benchmark-prepare.sh
Executable file
14
scripts/benchmark-prepare.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
VERSION=$1
|
||||
|
||||
tmp_registry_log=`mktemp`
|
||||
|
||||
npm i -g verdaccio@$VERSION
|
||||
# start in the background the registry
|
||||
nohup verdaccio &>$tmp_registry_log &
|
||||
# wait until has started (using stdout)
|
||||
grep -q 'http address' <(tail -f $tmp_registry_log)
|
||||
npm set registry http://localhost:4873
|
20
scripts/benchmark-run.sh
Executable file
20
scripts/benchmark-run.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
FIXTURE=$1
|
||||
|
||||
case $FIXTURE in
|
||||
info)
|
||||
FIXTURE='npm info jquery'
|
||||
;;
|
||||
tarball)
|
||||
FIXTURE='npm install jquery'
|
||||
;;
|
||||
*)
|
||||
echo "no command found"
|
||||
return 1;;
|
||||
esac
|
||||
|
||||
hyperfine --ignore-failure --warmup 1 --min-runs=10 --show-output --export-json './hyper-results.json' "$FIXTURE"
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# this file is used by e2e-xx-cli-workflow.yml files
|
||||
|
||||
|
||||
set -e
|
||||
|
||||
# create a temporary folder
|
||||
HERE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
|
||||
TEMP_DIR="$(mktemp -d)"
|
||||
|
||||
|
@ -10,5 +14,6 @@ cd "${TEMP_DIR}"
|
|||
echo $TEMP_DIR
|
||||
echo $HERE_DIR
|
||||
|
||||
git config --global user.email "you@example.com"
|
||||
git config --global user.name "John Doe"
|
||||
# set basic git config
|
||||
git config --global user.email "jota@verdaccio.org"
|
||||
git config --global user.name "Juan Picado"
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others)
|
||||
# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer
|
||||
# installs, work. https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md#running-puppeteer-in-docker
|
||||
|
||||
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
|
||||
&& sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \
|
||||
--no-install-recommends \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf /src/*.deb \
|
||||
&& yarn run test:all
|
49
scripts/submit-metrics.ts
Normal file
49
scripts/submit-metrics.ts
Normal file
|
@ -0,0 +1,49 @@
|
|||
/**
|
||||
* CI - Script used on automation GitHub Actions to
|
||||
* submit metrics to a third party database.
|
||||
*/
|
||||
const url = process.env.METRICS_URL;
|
||||
const token = process.env.METRICS_TOKEN;
|
||||
const version = process.env.METRICS_VERSION;
|
||||
const benchmark = process.env.METRICS_BENCHMARK;
|
||||
const source = process.env.METRICS_SOURCE;
|
||||
const commit = process.env.METRICS_COMMIT_HASH;
|
||||
const file = process.env.METRICS_FILE_NAME ?? 'hyper-results';
|
||||
|
||||
if (!url || !token || !version || !benchmark || !commit || !file) {
|
||||
throw new TypeError('required missing params, check parameters are available');
|
||||
}
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const debug = require('debug')('metrics');
|
||||
const nodeFetch = require('node-fetch');
|
||||
const fileMetrics = `${file}-${version}-${benchmark}.json`;
|
||||
// file should be avilable on the root of the project
|
||||
const filePath = path.join(__dirname, '../', fileMetrics);
|
||||
debug('file path %o', filePath);
|
||||
|
||||
try {
|
||||
const fileContent = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
||||
debug('body %o', fileContent.results[0]);
|
||||
nodeFetch(url, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(fileContent.results[0]),
|
||||
headers: {
|
||||
Authorization: `Bearer ${token}`,
|
||||
'content-type': 'application/json',
|
||||
'x-metrics-version': version,
|
||||
'x-metrics-source': source,
|
||||
'x-metrics-benchmark': benchmark,
|
||||
'x-metrics-commit-hash': commit,
|
||||
},
|
||||
})
|
||||
.then((res) => res.text()) // expecting a json response
|
||||
.then((json) => {
|
||||
debug('response %o', json);
|
||||
});
|
||||
} catch (error) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error('error on process metrics', error);
|
||||
process.exit(1);
|
||||
}
|
|
@ -1,9 +1,3 @@
|
|||
/**
|
||||
* @prettier
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const [, , /* node */ /* file */ tag] = process.argv;
|
||||
|
||||
const getStdin = require('get-stdin');
|
||||
|
|
Loading…
Reference in a new issue