mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-11-08 23:25:51 +01:00
chore: add yarn modern (2, 3, 4) to cli E2E (#3289)
* test: add more packages managers to e2e cli * chore: remove old conf files * add yarn modern to e2e cli * chore: add yarn 4 * ignore binary * fix for tests yarn 3 * chore: tests * update website ci * Update package.json * chore: try yarn 3 as binary * chore: remove unused dependency * Update utils.ts * Update package.json * Update package.json * speed up build * Update ci.yml * Update ci.yml * Update website.yml * test * chore: reenable all tests * chore: restore ci * chore: clean debug code
This commit is contained in:
parent
0773e2ee2e
commit
6f8a2d37e6
@ -12,3 +12,5 @@ dist/
|
||||
docs/
|
||||
test/functional/store/*
|
||||
docker-examples/**/lib/**/*.js
|
||||
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
|
||||
yarn.js
|
||||
|
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@ -131,7 +131,6 @@ jobs:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: Install
|
||||
## we need scripts, pupetter downloads aditional content
|
||||
run: pnpm recursive install --frozen-lockfile
|
||||
- name: build
|
||||
run: pnpm build
|
||||
@ -139,7 +138,6 @@ jobs:
|
||||
run: pnpm test:e2e:ui
|
||||
# env:
|
||||
# DEBUG: verdaccio:e2e*
|
||||
# FIXME verify why fails on Node 16 (locally works fine)
|
||||
ci-e2e-cli:
|
||||
needs: [format, lint]
|
||||
runs-on: ubuntu-latest
|
||||
|
9
.github/workflows/website.yml
vendored
9
.github/workflows/website.yml
vendored
@ -3,13 +3,12 @@ name: Verdaccio Website CI
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'website/**'
|
||||
- './.github/workflows/website.yml'
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
paths:
|
||||
- 'website/**'
|
||||
- 'package.json'
|
||||
- './.github/workflows/website.yml'
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
@ -31,3 +31,5 @@ api/**
|
||||
packages/core/local-storage/tests/__fixtures__/test-storage/
|
||||
packages/plugins/ui-theme/static/
|
||||
.verdaccio-db.json
|
||||
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
|
||||
yarn.js
|
||||
|
@ -119,7 +119,7 @@
|
||||
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
|
||||
"lint": "eslint --max-warnings 100 \"**/*.{js,jsx,ts,tsx}\"",
|
||||
"test": "pnpm recursive test --filter ./packages",
|
||||
"test:e2e:cli": "pnpm test --filter ...@verdaccio/e2e-*",
|
||||
"test:e2e:cli": "pnpm test --filter ...@verdaccio/e2e-* -- --coverage=false",
|
||||
"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",
|
||||
|
@ -37,7 +37,6 @@
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"babel-loader": "8.2.3",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
"bundlesize": "0.18.1",
|
||||
"css-loader": "6.5.1",
|
||||
"dayjs": "1.10.7",
|
||||
"friendly-errors-webpack-plugin": "1.7.0",
|
||||
@ -105,35 +104,12 @@
|
||||
"server",
|
||||
"verdaccio"
|
||||
],
|
||||
"bundlesize": [
|
||||
{
|
||||
"path": "./static/vendors.*.js",
|
||||
"maxSize": "900 kB"
|
||||
},
|
||||
{
|
||||
"path": "./static/main.*.js",
|
||||
"maxSize": "400 kB"
|
||||
},
|
||||
{
|
||||
"path": "./static/*.svg",
|
||||
"maxSize": "1.3 kB"
|
||||
},
|
||||
{
|
||||
"path": "./static/*.png",
|
||||
"maxSize": "15 kB"
|
||||
},
|
||||
{
|
||||
"path": "./static/fonts/*.{woff,woff2}",
|
||||
"maxSize": "20 kB"
|
||||
}
|
||||
],
|
||||
"scripts": {
|
||||
"type-check": "tsc --noEmit -p tsconfig.build.json",
|
||||
"start": "babel-node tools/dev.server.js",
|
||||
"test:clean": "jest --clearCache",
|
||||
"test": "cross-env TZ=UTC jest --config ./jest/jest.config.js",
|
||||
"test:update-snapshot": "yarn run test -- -u",
|
||||
"test:size": "bundlesize",
|
||||
"lint": "pnpm lint:js && pnpm lint:css",
|
||||
"lint:css": "yarn stylelint \"src/**/styles.ts\"",
|
||||
"verdaccio:server": "node tools/verdaccio.js",
|
||||
|
371
pnpm-lock.yaml
generated
371
pnpm-lock.yaml
generated
@ -720,7 +720,6 @@ importers:
|
||||
'@verdaccio/types': workspace:*
|
||||
babel-loader: 8.2.3
|
||||
babel-plugin-dynamic-import-node: 2.3.3
|
||||
bundlesize: 0.18.1
|
||||
country-flag-icons: 1.4.19
|
||||
css-loader: 6.5.1
|
||||
dayjs: 1.10.7
|
||||
@ -801,7 +800,6 @@ importers:
|
||||
'@verdaccio/types': link:../../core/types
|
||||
babel-loader: 8.2.3_e748cba1f5e972defd8ae51292b4033f
|
||||
babel-plugin-dynamic-import-node: 2.3.3
|
||||
bundlesize: 0.18.1
|
||||
country-flag-icons: 1.4.19
|
||||
css-loader: 6.5.1_webpack@5.67.0
|
||||
dayjs: 1.10.7
|
||||
@ -1293,7 +1291,7 @@ importers:
|
||||
npm: next-8
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
npm: 8.15.1
|
||||
npm: 8.16.0
|
||||
|
||||
test/cli/e2e-pnpm6:
|
||||
specifiers:
|
||||
@ -1301,7 +1299,7 @@ importers:
|
||||
pnpm: latest-6
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
pnpm: 6.33.1
|
||||
pnpm: 6.34.0
|
||||
|
||||
test/cli/e2e-pnpm7:
|
||||
specifiers:
|
||||
@ -1309,7 +1307,7 @@ importers:
|
||||
pnpm: next-7
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
pnpm: 7.8.0
|
||||
pnpm: 7.9.0-0
|
||||
|
||||
test/cli/e2e-yarn1:
|
||||
specifiers:
|
||||
@ -1319,6 +1317,28 @@ importers:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
yarn: 1.22.19
|
||||
|
||||
test/cli/e2e-yarn2:
|
||||
specifiers:
|
||||
'@verdaccio/test-cli-commons': workspace:1.0.0
|
||||
'@yarnpkg/cli-dist': 2.4.1
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
'@yarnpkg/cli-dist': 2.4.1
|
||||
|
||||
test/cli/e2e-yarn3:
|
||||
specifiers:
|
||||
'@verdaccio/test-cli-commons': workspace:1.0.0
|
||||
'@yarnpkg/cli-dist': 3.2.2
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
'@yarnpkg/cli-dist': 3.2.2
|
||||
|
||||
test/cli/e2e-yarn4:
|
||||
specifiers:
|
||||
'@verdaccio/test-cli-commons': workspace:1.0.0
|
||||
dependencies:
|
||||
'@verdaccio/test-cli-commons': link:../cli-commons
|
||||
|
||||
website:
|
||||
specifiers:
|
||||
'@docusaurus/core': 2.0.0-beta.20
|
||||
@ -10308,6 +10328,18 @@ packages:
|
||||
/@xtuc/long/4.2.2:
|
||||
resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
|
||||
|
||||
/@yarnpkg/cli-dist/2.4.1:
|
||||
resolution: {integrity: sha512-+alR6g7Aaqt6MU9CYKy23xwEUChjibDZFQWSkhuijAYeKlHTtAkmG865Kma+kgaIbShmSJBtckiYbhPUg4GhUw==}
|
||||
engines: {node: '>=10.19.0'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/@yarnpkg/cli-dist/3.2.2:
|
||||
resolution: {integrity: sha512-beD8e4IEEh/qvZItKVVtFEDNT4IbbIsy3pfObX9LNfMSwSu4ApeSf+nAHU6U9radZhoGyn70EzkPPpUnA3pCjw==}
|
||||
engines: {node: '>=12 <14 || 14.2 - 14.9 || >14.10.0'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/JSONStream/1.3.5:
|
||||
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
|
||||
hasBin: true
|
||||
@ -10666,20 +10698,9 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/aproba/1.2.0:
|
||||
resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==}
|
||||
dev: true
|
||||
|
||||
/archy/1.0.0:
|
||||
resolution: {integrity: sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=}
|
||||
|
||||
/are-we-there-yet/1.1.5:
|
||||
resolution: {integrity: sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==}
|
||||
dependencies:
|
||||
delegates: 1.0.0
|
||||
readable-stream: 2.3.7
|
||||
dev: true
|
||||
|
||||
/arg/4.1.3:
|
||||
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
||||
|
||||
@ -10975,6 +10996,7 @@ packages:
|
||||
resolution: {integrity: sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==}
|
||||
dependencies:
|
||||
follow-redirects: 1.13.0
|
||||
dev: false
|
||||
|
||||
/axios/0.25.0_debug@4.3.3:
|
||||
resolution: {integrity: sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==}
|
||||
@ -11633,14 +11655,6 @@ packages:
|
||||
wcwidth: 1.0.1
|
||||
dev: true
|
||||
|
||||
/brotli-size/0.1.0:
|
||||
resolution: {integrity: sha512-5ny7BNvpe2TSmdafF1T9dnFYp3AIrJ8qJt29K0DQJzORlK38LBim/CmlY26JtreV6SWmXza7Oa+9m61SzvxR0Q==}
|
||||
engines: {node: '>=0.12.0'}
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
iltorb: 2.4.5
|
||||
dev: true
|
||||
|
||||
/browser-process-hrtime/1.0.0:
|
||||
resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
|
||||
|
||||
@ -11728,22 +11742,6 @@ packages:
|
||||
ieee754: 1.2.1
|
||||
dev: true
|
||||
|
||||
/bundlesize/0.18.1:
|
||||
resolution: {integrity: sha512-NAsKBH6BeVmDopoa4tod0m5/koM7iLY3saKyGn7wyAravBYmKNUpDJba4zyVhwRm5Dw9WXv8FIO0N//tCkx68Q==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
axios: 0.21.1
|
||||
brotli-size: 0.1.0
|
||||
bytes: 3.1.0
|
||||
ci-env: 1.16.0
|
||||
commander: 2.20.3
|
||||
cosmiconfig: 5.2.1
|
||||
github-build: 1.2.2
|
||||
glob: 7.1.7
|
||||
gzip-size: 4.1.0
|
||||
prettycli: 1.4.3
|
||||
dev: true
|
||||
|
||||
/bytes/3.0.0:
|
||||
resolution: {integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=}
|
||||
engines: {node: '>= 0.8'}
|
||||
@ -11808,25 +11806,6 @@ packages:
|
||||
function-bind: 1.1.1
|
||||
get-intrinsic: 1.1.1
|
||||
|
||||
/caller-callsite/2.0.0:
|
||||
resolution: {integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
callsites: 2.0.0
|
||||
dev: true
|
||||
|
||||
/caller-path/2.0.0:
|
||||
resolution: {integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
caller-callsite: 2.0.0
|
||||
dev: true
|
||||
|
||||
/callsites/2.0.0:
|
||||
resolution: {integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=}
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/callsites/3.1.0:
|
||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||
engines: {node: '>=6'}
|
||||
@ -11915,15 +11894,6 @@ packages:
|
||||
supports-color: 2.0.0
|
||||
dev: true
|
||||
|
||||
/chalk/2.1.0:
|
||||
resolution: {integrity: sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
ansi-styles: 3.2.1
|
||||
escape-string-regexp: 1.0.5
|
||||
supports-color: 4.5.0
|
||||
dev: true
|
||||
|
||||
/chalk/2.4.2:
|
||||
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
|
||||
engines: {node: '>=4'}
|
||||
@ -12071,10 +12041,6 @@ packages:
|
||||
optionalDependencies:
|
||||
fsevents: 2.3.2
|
||||
|
||||
/chownr/1.1.4:
|
||||
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
||||
dev: true
|
||||
|
||||
/chrome-trace-event/1.0.2:
|
||||
resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==}
|
||||
engines: {node: '>=6.0'}
|
||||
@ -12086,10 +12052,6 @@ packages:
|
||||
resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
|
||||
engines: {node: '>=6.0'}
|
||||
|
||||
/ci-env/1.16.0:
|
||||
resolution: {integrity: sha512-ucF9caQEX5wQlY449KZBIJPx91+kRg9tJ3tWSc4+KzrvC5KNiPm/3g1noP8VhdI3046+Vw3jLmKAD0fjCRJTmw==}
|
||||
dev: true
|
||||
|
||||
/ci-info/2.0.0:
|
||||
resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
|
||||
|
||||
@ -12268,11 +12230,6 @@ packages:
|
||||
q: 1.5.1
|
||||
dev: false
|
||||
|
||||
/code-point-at/1.1.0:
|
||||
resolution: {integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/codecov/3.8.3:
|
||||
resolution: {integrity: sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA==}
|
||||
engines: {node: '>=4.0'}
|
||||
@ -12472,10 +12429,6 @@ packages:
|
||||
/consola/2.15.3:
|
||||
resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==}
|
||||
|
||||
/console-control-strings/1.1.0:
|
||||
resolution: {integrity: sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=}
|
||||
dev: true
|
||||
|
||||
/consolidate/0.16.0_667d4ca04fd1fc58087821ee896b04c5:
|
||||
resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
@ -12797,16 +12750,6 @@ packages:
|
||||
vary: 1.1.2
|
||||
dev: false
|
||||
|
||||
/cosmiconfig/5.2.1:
|
||||
resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
import-fresh: 2.0.0
|
||||
is-directory: 0.3.1
|
||||
js-yaml: 3.14.1
|
||||
parse-json: 4.0.0
|
||||
dev: true
|
||||
|
||||
/cosmiconfig/6.0.0:
|
||||
resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
|
||||
engines: {node: '>=8'}
|
||||
@ -13562,13 +13505,6 @@ packages:
|
||||
dependencies:
|
||||
mimic-response: 1.0.1
|
||||
|
||||
/decompress-response/4.2.1:
|
||||
resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
mimic-response: 2.1.0
|
||||
dev: true
|
||||
|
||||
/decompress-response/6.0.0:
|
||||
resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -13691,10 +13627,6 @@ packages:
|
||||
resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
|
||||
engines: {node: '>=0.4.0'}
|
||||
|
||||
/delegates/1.0.0:
|
||||
resolution: {integrity: sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=}
|
||||
dev: true
|
||||
|
||||
/depd/1.1.2:
|
||||
resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=}
|
||||
engines: {node: '>= 0.6'}
|
||||
@ -13731,12 +13663,6 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/detect-libc/1.0.3:
|
||||
resolution: {integrity: sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=}
|
||||
engines: {node: '>=0.10'}
|
||||
hasBin: true
|
||||
dev: true
|
||||
|
||||
/detect-newline/3.1.0:
|
||||
resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
|
||||
engines: {node: '>=8'}
|
||||
@ -15130,11 +15056,6 @@ packages:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/expand-template/2.0.3:
|
||||
resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/expect/27.4.6:
|
||||
resolution: {integrity: sha512-1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==}
|
||||
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
|
||||
@ -16015,10 +15936,6 @@ packages:
|
||||
webpack: 5.67.0_webpack-cli@4.7.2
|
||||
dev: true
|
||||
|
||||
/fs-constants/1.0.0:
|
||||
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
||||
dev: true
|
||||
|
||||
/fs-extra/10.0.0:
|
||||
resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==}
|
||||
engines: {node: '>=12'}
|
||||
@ -16119,19 +16036,6 @@ packages:
|
||||
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
|
||||
dev: false
|
||||
|
||||
/gauge/2.7.4:
|
||||
resolution: {integrity: sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=}
|
||||
dependencies:
|
||||
aproba: 1.2.0
|
||||
console-control-strings: 1.1.0
|
||||
has-unicode: 2.0.1
|
||||
object-assign: 4.1.1
|
||||
signal-exit: 3.0.7
|
||||
string-width: 1.0.2
|
||||
strip-ansi: 3.0.1
|
||||
wide-align: 1.1.3
|
||||
dev: true
|
||||
|
||||
/generic-names/2.0.1:
|
||||
resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==}
|
||||
dependencies:
|
||||
@ -16207,16 +16111,6 @@ packages:
|
||||
assert-plus: 1.0.0
|
||||
dev: false
|
||||
|
||||
/github-build/1.2.2:
|
||||
resolution: {integrity: sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==}
|
||||
dependencies:
|
||||
axios: 0.21.1
|
||||
dev: true
|
||||
|
||||
/github-from-package/0.0.0:
|
||||
resolution: {integrity: sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=}
|
||||
dev: true
|
||||
|
||||
/github-markdown-css/4.0.0:
|
||||
resolution: {integrity: sha512-mH0bcIKv4XAN0mQVokfTdKo2OD5K8WJE9+lbMdM32/q0Ie5tXgVN/2o+zvToRMxSTUuiTRcLg5hzkFfOyBYreg==}
|
||||
dev: true
|
||||
@ -16443,14 +16337,6 @@ packages:
|
||||
section-matter: 1.0.0
|
||||
strip-bom-string: 1.0.0
|
||||
|
||||
/gzip-size/4.1.0:
|
||||
resolution: {integrity: sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
pify: 3.0.0
|
||||
dev: true
|
||||
|
||||
/gzip-size/5.1.1:
|
||||
resolution: {integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==}
|
||||
engines: {node: '>=6'}
|
||||
@ -16522,11 +16408,6 @@ packages:
|
||||
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
|
||||
dev: false
|
||||
|
||||
/has-flag/2.0.0:
|
||||
resolution: {integrity: sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/has-flag/3.0.0:
|
||||
resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
|
||||
engines: {node: '>=4'}
|
||||
@ -16555,10 +16436,6 @@ packages:
|
||||
dependencies:
|
||||
has-symbols: 1.0.3
|
||||
|
||||
/has-unicode/2.0.1:
|
||||
resolution: {integrity: sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=}
|
||||
dev: true
|
||||
|
||||
/has-value/0.3.1:
|
||||
resolution: {integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@ -17145,18 +17022,6 @@ packages:
|
||||
resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
|
||||
engines: {node: '>= 4'}
|
||||
|
||||
/iltorb/2.4.5:
|
||||
resolution: {integrity: sha512-EMCMl3LnnNSZJS5QrxyZmMTaAC4+TJkM5woD+xbpm9RB+mFYCr7C05GFE3TEGCsVQSVHmjX+3sf5AiwsylNInQ==}
|
||||
deprecated: The zlib module provides APIs for brotli compression/decompression starting with Node.js v10.16.0, please use it over iltorb
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
detect-libc: 1.0.3
|
||||
nan: 2.14.2
|
||||
npmlog: 4.1.2
|
||||
prebuild-install: 5.3.5
|
||||
which-pm-runs: 1.0.0
|
||||
dev: true
|
||||
|
||||
/image-size/1.0.1:
|
||||
resolution: {integrity: sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
@ -17175,14 +17040,6 @@ packages:
|
||||
resolution: {integrity: sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==}
|
||||
dev: true
|
||||
|
||||
/import-fresh/2.0.0:
|
||||
resolution: {integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY=}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
caller-path: 2.0.0
|
||||
resolve-from: 3.0.0
|
||||
dev: true
|
||||
|
||||
/import-fresh/3.3.0:
|
||||
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
|
||||
engines: {node: '>=6'}
|
||||
@ -17456,11 +17313,6 @@ packages:
|
||||
is-data-descriptor: 1.0.0
|
||||
kind-of: 6.0.3
|
||||
|
||||
/is-directory/0.3.1:
|
||||
resolution: {integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/is-docker/2.2.1:
|
||||
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
|
||||
engines: {node: '>=8'}
|
||||
@ -17480,13 +17332,6 @@ packages:
|
||||
resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
/is-fullwidth-code-point/1.0.0:
|
||||
resolution: {integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
number-is-nan: 1.0.1
|
||||
dev: true
|
||||
|
||||
/is-fullwidth-code-point/2.0.0:
|
||||
resolution: {integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=}
|
||||
engines: {node: '>=4'}
|
||||
@ -19893,11 +19738,6 @@ packages:
|
||||
resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/mimic-response/2.1.0:
|
||||
resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/mimic-response/3.1.0:
|
||||
resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -20002,10 +19842,6 @@ packages:
|
||||
engines: {node: '>= 8.0.0'}
|
||||
dev: true
|
||||
|
||||
/mkdirp-classic/0.5.3:
|
||||
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
||||
dev: true
|
||||
|
||||
/mkdirp/0.5.5:
|
||||
resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
|
||||
hasBin: true
|
||||
@ -20115,10 +19951,6 @@ packages:
|
||||
rimraf: 2.4.5
|
||||
dev: false
|
||||
|
||||
/nan/2.14.2:
|
||||
resolution: {integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==}
|
||||
dev: true
|
||||
|
||||
/nan/2.15.0:
|
||||
resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==}
|
||||
requiresBuild: true
|
||||
@ -20175,10 +20007,6 @@ packages:
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
/napi-build-utils/1.0.2:
|
||||
resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==}
|
||||
dev: true
|
||||
|
||||
/natural-compare/1.4.0:
|
||||
resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
|
||||
|
||||
@ -20259,12 +20087,6 @@ packages:
|
||||
- supports-color
|
||||
dev: true
|
||||
|
||||
/node-abi/2.19.1:
|
||||
resolution: {integrity: sha512-HbtmIuByq44yhAzK7b9j/FelKlHYISKQn0mtvcBrU5QBkhoCMp5bu8Hv5AI34DcKfOAcJBcOEMwLlwO62FFu9A==}
|
||||
dependencies:
|
||||
semver: 5.7.1
|
||||
dev: true
|
||||
|
||||
/node-emoji/1.11.0:
|
||||
resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==}
|
||||
dependencies:
|
||||
@ -20354,10 +20176,6 @@ packages:
|
||||
update-notifier: 5.1.0
|
||||
dev: true
|
||||
|
||||
/noop-logger/0.1.1:
|
||||
resolution: {integrity: sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=}
|
||||
dev: true
|
||||
|
||||
/nopt/1.0.10:
|
||||
resolution: {integrity: sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=}
|
||||
hasBin: true
|
||||
@ -20784,8 +20602,8 @@ packages:
|
||||
- which
|
||||
- write-file-atomic
|
||||
|
||||
/npm/8.15.1:
|
||||
resolution: {integrity: sha512-ZjVMjEn+PqdjpZg+VLMFz5lyzh7tW+SBt+KQzvoQC986U/clE897eg7YR0PLYw6RfjTsoPTuB95xQ8ubn9go6Q==}
|
||||
/npm/8.16.0:
|
||||
resolution: {integrity: sha512-UfLT/hCbcpV9uiTEBthyrOlQxwk8LG5tAGn283g7f7pRx41KcwFiHV7HYgYm2y2GabfnPtf897ptrXRQwxJWzQ==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16}
|
||||
hasBin: true
|
||||
dev: false
|
||||
@ -20862,15 +20680,6 @@ packages:
|
||||
- which
|
||||
- write-file-atomic
|
||||
|
||||
/npmlog/4.1.2:
|
||||
resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==}
|
||||
dependencies:
|
||||
are-we-there-yet: 1.1.5
|
||||
console-control-strings: 1.1.0
|
||||
gauge: 2.7.4
|
||||
set-blocking: 2.0.0
|
||||
dev: true
|
||||
|
||||
/nprogress/0.2.0:
|
||||
resolution: {integrity: sha1-y480xTIT2JVyP8urkH6UIq28r7E=}
|
||||
dev: false
|
||||
@ -20885,11 +20694,6 @@ packages:
|
||||
dependencies:
|
||||
boolbase: 1.0.0
|
||||
|
||||
/number-is-nan/1.0.1:
|
||||
resolution: {integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/nwsapi/2.2.0:
|
||||
resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==}
|
||||
|
||||
@ -21594,14 +21398,14 @@ packages:
|
||||
resolution: {integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==}
|
||||
dev: false
|
||||
|
||||
/pnpm/6.33.1:
|
||||
resolution: {integrity: sha512-A19nDMOesyc5AjgXbtNk5ILRvwd51OPEn3RDfJgw/YwtNBTHeZmHCftz4b8Ri3rsqANhH04V5kiqyERpYohBxA==}
|
||||
/pnpm/6.34.0:
|
||||
resolution: {integrity: sha512-K79DAT5WtGjrUyLtxAyehtN8uy5cXkzT1v+7RIJ3gygCffoLaLlBoG5gcfjfnX7oZH5rxznv/v8tlMIMfZyzTA==}
|
||||
engines: {node: '>=12.17'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/pnpm/7.8.0:
|
||||
resolution: {integrity: sha512-jzb9/gto4nwuVA2itTRk0PJhuaZcA1NBRB298UzXhqKZQMjtHCS+KLzh7RWk5n3g+KnMg5FHr6Mwg1L62dBz1A==}
|
||||
/pnpm/7.9.0-0:
|
||||
resolution: {integrity: sha512-M1uckEBRCCWHTfMieGyqw00MTUPyjHE3RNbe3PBnI5Z+gFyhOHJeGMTAt8eZ3+qYn7sJ0X5DlqO+IIOoWVNpSA==}
|
||||
engines: {node: '>=14.6'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
@ -22479,28 +22283,6 @@ packages:
|
||||
picocolors: 1.0.0
|
||||
source-map-js: 1.0.2
|
||||
|
||||
/prebuild-install/5.3.5:
|
||||
resolution: {integrity: sha512-YmMO7dph9CYKi5IR/BzjOJlRzpxGGVo1EsLSUZ0mt/Mq0HWZIHOKHHcHdT69yG54C9m6i45GpItwRHpk0Py7Uw==}
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
detect-libc: 1.0.3
|
||||
expand-template: 2.0.3
|
||||
github-from-package: 0.0.0
|
||||
minimist: 1.2.5
|
||||
mkdirp: 0.5.5
|
||||
napi-build-utils: 1.0.2
|
||||
node-abi: 2.19.1
|
||||
noop-logger: 0.1.1
|
||||
npmlog: 4.1.2
|
||||
pump: 3.0.0
|
||||
rc: 1.2.8
|
||||
simple-get: 3.1.0
|
||||
tar-fs: 2.1.0
|
||||
tunnel-agent: 0.6.0
|
||||
which-pm-runs: 1.0.0
|
||||
dev: true
|
||||
|
||||
/preferred-pm/3.0.3:
|
||||
resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==}
|
||||
engines: {node: '>=10'}
|
||||
@ -22591,12 +22373,6 @@ packages:
|
||||
resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==}
|
||||
engines: {node: '>=4'}
|
||||
|
||||
/prettycli/1.4.3:
|
||||
resolution: {integrity: sha512-KLiwAXXfSWXZqGmZlnKPuGMTFp+0QbcySplL1ft9gfteT/BNsG64Xo8u2Qr9r+qnsIZWBQ66Zs8tg+8s2fmzvw==}
|
||||
dependencies:
|
||||
chalk: 2.1.0
|
||||
dev: true
|
||||
|
||||
/prism-react-renderer/1.2.1_react@17.0.2:
|
||||
resolution: {integrity: sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==}
|
||||
peerDependencies:
|
||||
@ -24491,18 +24267,6 @@ packages:
|
||||
/signal-exit/3.0.7:
|
||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||
|
||||
/simple-concat/1.0.1:
|
||||
resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==}
|
||||
dev: true
|
||||
|
||||
/simple-get/3.1.0:
|
||||
resolution: {integrity: sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==}
|
||||
dependencies:
|
||||
decompress-response: 4.2.1
|
||||
once: 1.4.0
|
||||
simple-concat: 1.0.1
|
||||
dev: true
|
||||
|
||||
/sirv/1.0.12:
|
||||
resolution: {integrity: sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==}
|
||||
engines: {node: '>= 10'}
|
||||
@ -24947,15 +24711,6 @@ packages:
|
||||
resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==}
|
||||
dev: false
|
||||
|
||||
/string-width/1.0.2:
|
||||
resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
code-point-at: 1.1.0
|
||||
is-fullwidth-code-point: 1.0.0
|
||||
strip-ansi: 3.0.1
|
||||
dev: true
|
||||
|
||||
/string-width/2.1.1:
|
||||
resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
|
||||
engines: {node: '>=4'}
|
||||
@ -25308,13 +25063,6 @@ packages:
|
||||
engines: {node: '>=0.8.0'}
|
||||
dev: true
|
||||
|
||||
/supports-color/4.5.0:
|
||||
resolution: {integrity: sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=}
|
||||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
has-flag: 2.0.0
|
||||
dev: true
|
||||
|
||||
/supports-color/5.5.0:
|
||||
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
|
||||
engines: {node: '>=4'}
|
||||
@ -25416,26 +25164,6 @@ packages:
|
||||
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
/tar-fs/2.1.0:
|
||||
resolution: {integrity: sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==}
|
||||
dependencies:
|
||||
chownr: 1.1.4
|
||||
mkdirp-classic: 0.5.3
|
||||
pump: 3.0.0
|
||||
tar-stream: 2.1.4
|
||||
dev: true
|
||||
|
||||
/tar-stream/2.1.4:
|
||||
resolution: {integrity: sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
bl: 4.1.0
|
||||
end-of-stream: 1.4.4
|
||||
fs-constants: 1.0.0
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
dev: true
|
||||
|
||||
/teeny-request/7.1.1:
|
||||
resolution: {integrity: sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg==}
|
||||
engines: {node: '>=10'}
|
||||
@ -25947,6 +25675,7 @@ packages:
|
||||
resolution: {integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/tweetnacl/0.14.5:
|
||||
resolution: {integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=}
|
||||
@ -27609,10 +27338,6 @@ packages:
|
||||
/which-module/2.0.0:
|
||||
resolution: {integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=}
|
||||
|
||||
/which-pm-runs/1.0.0:
|
||||
resolution: {integrity: sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=}
|
||||
dev: true
|
||||
|
||||
/which-pm/2.0.0:
|
||||
resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==}
|
||||
engines: {node: '>=8.15'}
|
||||
@ -27634,12 +27359,6 @@ packages:
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
|
||||
/wide-align/1.1.3:
|
||||
resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==}
|
||||
dependencies:
|
||||
string-width: 2.1.1
|
||||
dev: true
|
||||
|
||||
/widest-line/2.0.1:
|
||||
resolution: {integrity: sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==}
|
||||
engines: {node: '>=4'}
|
||||
|
16
test/cli/README.md
Normal file
16
test/cli/README.md
Normal file
@ -0,0 +1,16 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`, `search`).
|
||||
- Test with all popular package managers (`yarn classic` and `yarn modern (2,3, 4)`, `pnpm 6,7` and `npm 6, 7 and 8`)
|
||||
|
||||
## How it works?
|
||||
|
||||
> TBA
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,4 +1,4 @@
|
||||
export { getDefaultConfig } from '@verdaccio/config';
|
||||
export { initialSetup } from './registry';
|
||||
export { addNpmPrefix, addYarnPrefix, addRegistry } from './utils';
|
||||
export { addNpmPrefix, addYarnClassicPrefix, addRegistry, prepareYarnModernProject } from './utils';
|
||||
export { exec, ExecOutput } from './process';
|
||||
|
@ -1,4 +1,5 @@
|
||||
import fs from 'fs-extra';
|
||||
import { cp, readFile, writeFile } from 'fs/promises';
|
||||
import { join } from 'path';
|
||||
|
||||
import { fileUtils } from '@verdaccio/core';
|
||||
@ -38,8 +39,25 @@ export function addNpmPrefix(installFolder) {
|
||||
return ['--prefix', installFolder];
|
||||
}
|
||||
|
||||
export function addYarnPrefix(installFolder) {
|
||||
export function addYarnClassicPrefix(installFolder) {
|
||||
// info regarding cwd flag
|
||||
// https://github.com/yarnpkg/yarn/pull/4174
|
||||
return ['--cwd', installFolder];
|
||||
}
|
||||
|
||||
export async function prepareYarnModernProject(
|
||||
templatePath: string,
|
||||
projectName: string,
|
||||
registryDomain: string,
|
||||
yarnPath: string
|
||||
) {
|
||||
const tempFolder = await createTempFolder(projectName);
|
||||
// FUTURE: native copy folder instead fs-extra
|
||||
fs.copySync(templatePath, tempFolder);
|
||||
const yamlPath = join(tempFolder, '.yarnrc.yml');
|
||||
const yamlContent = await readFile(yamlPath, 'utf8');
|
||||
const finalYamlContent = yamlContent.replace('${registry}', registryDomain);
|
||||
await writeFile(yamlPath, finalYamlContent);
|
||||
await cp(yarnPath, join(tempFolder, '.yarn/releases/yarn.js'), { dereference: true });
|
||||
return { tempFolder };
|
||||
}
|
||||
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm6",
|
||||
"version": "2.0.0-6-next.1",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"npm": "latest-6"
|
||||
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm7",
|
||||
"version": "2.0.0-6-next.1",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"npm": "latest-7"
|
||||
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm8",
|
||||
"version": "2.0.0-6-next.1",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"npm": "next-8"
|
||||
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm6",
|
||||
"version": "2.0.0-6-next.1",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"pnpm": "latest-6"
|
||||
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1,48 +0,0 @@
|
||||
# E2E CLI Testing
|
||||
|
||||
## What is included on these test?
|
||||
|
||||
- Default configuration only
|
||||
- Basic commands eg (`install / add`, `info`, `publish`).
|
||||
- Test with 3 package managers (`yarn classic`, `pnpm` and `npm@7`)
|
||||
|
||||
## How it works?
|
||||
|
||||
On run test suites, there is a global setup where will install the local source code of verdaccio in a temporary folder.
|
||||
Each suite will install.
|
||||
|
||||
1. `spawn` a registry on port `6001` using `_bootstrap_verdaccio.yaml` which block any local package being
|
||||
fetched from remote upstream.
|
||||
2. Publish local project to the spawned registry (with global `pnpm`)
|
||||
|
||||
> The published `verdaccio` should be fetch by each suite to ensure reliability of each test.
|
||||
|
||||
## How to write test?
|
||||
|
||||
Each of the suite must use a package manager command _(eg: `npm install`)_ and validate the output according what the
|
||||
user see, either verifying the outcome in JSON form, run a command _(`eg: jest ..`)_ and the expected result.
|
||||
|
||||
Each Test should start with the initial setup, this step does the following
|
||||
|
||||
- `beforeAll`: Install verdaccio to the suite context that returns a `Setup` object.
|
||||
- `afterAll`: Stop the child process that runs verdaccio.
|
||||
|
||||
```js
|
||||
beforeAll(async () => {
|
||||
setup = await initialSetup(tempRootFolder, port);
|
||||
console.log('--setup', setup.install);
|
||||
});
|
||||
```
|
||||
|
||||
stop the process is the final step that should occur in every suite.
|
||||
|
||||
```js
|
||||
afterAll(async () => {
|
||||
setup.child.kill();
|
||||
});
|
||||
```
|
||||
|
||||
### What should not included on these tests?
|
||||
|
||||
- Anything is unrelated with client commands usage, eg: (auth permissions, third party integrations,
|
||||
hooks, plugins)
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn1",
|
||||
"version": "2.0.0-6-next.1",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"yarn": "1.22.19"
|
||||
|
3
test/cli/e2e-yarn2/.babelrc
Normal file
3
test/cli/e2e-yarn2/.babelrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
7
test/cli/e2e-yarn2/.eslintrc
Normal file
7
test/cli/e2e-yarn2/.eslintrc
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/explicit-member-accessibility": 0
|
||||
}
|
||||
}
|
35
test/cli/e2e-yarn2/info.spec.ts
Normal file
35
test/cli/e2e-yarn2/info.spec.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { initialSetup, prepareYarnModernProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { getYarnCommand, yarn } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
let projectFolder;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
const { tempFolder } = await prepareYarnModernProject(
|
||||
join(__dirname, './yarn-project'),
|
||||
'yarn-2',
|
||||
registry.getRegistryUrl(),
|
||||
getYarnCommand()
|
||||
);
|
||||
projectFolder = tempFolder;
|
||||
});
|
||||
|
||||
test('should run yarn 2 info json body', async () => {
|
||||
const resp = await yarn(projectFolder, 'npm', 'info', 'verdaccio', '--json');
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual('verdaccio');
|
||||
expect(parsedBody.dependencies).toBeDefined();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
6
test/cli/e2e-yarn2/jest.config.js
Normal file
6
test/cli/e2e-yarn2/jest.config.js
Normal file
@ -0,0 +1,6 @@
|
||||
const { defaults } = require('jest-config');
|
||||
const config = require('../../../jest/config');
|
||||
|
||||
module.exports = Object.assign({}, config, {
|
||||
moduleFileExtensions: [...defaults.moduleFileExtensions, 'ts'],
|
||||
});
|
12
test/cli/e2e-yarn2/package.json
Normal file
12
test/cli/e2e-yarn2/package.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn2",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"@yarnpkg/cli-dist": "2.4.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
}
|
||||
}
|
8
test/cli/e2e-yarn2/tsconfig.json
Normal file
8
test/cli/e2e-yarn2/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.reference.json",
|
||||
"references": [
|
||||
{
|
||||
"path": "../cli-commons"
|
||||
}
|
||||
]
|
||||
}
|
15
test/cli/e2e-yarn2/utils.ts
Normal file
15
test/cli/e2e-yarn2/utils.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
export function getCommand(projectFolder) {
|
||||
return join(projectFolder, './.yarn/releases/yarn.js');
|
||||
}
|
||||
|
||||
export function getYarnCommand() {
|
||||
return join(__dirname, './node_modules/@yarnpkg/cli-dist/bin/yarn.js');
|
||||
}
|
||||
|
||||
export function yarn(projectFolder, ...args: string[]) {
|
||||
return exec({ cwd: projectFolder }, getCommand(projectFolder), args);
|
||||
}
|
7
test/cli/e2e-yarn2/yarn-project/.yarnrc.yml
Normal file
7
test/cli/e2e-yarn2/yarn-project/.yarnrc.yml
Normal file
@ -0,0 +1,7 @@
|
||||
httpRetry: 10
|
||||
httpTimeout: 100000
|
||||
npmRegistryServer: ${registry}
|
||||
yarnPath: .yarn/releases/yarn.js
|
||||
|
||||
unsafeHttpWhitelist:
|
||||
- localhost
|
4
test/cli/e2e-yarn2/yarn-project/package.json
Normal file
4
test/cli/e2e-yarn2/yarn-project/package.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "foo",
|
||||
"version": "1.0.0"
|
||||
}
|
0
test/cli/e2e-yarn2/yarn-project/yarn.lock
Normal file
0
test/cli/e2e-yarn2/yarn-project/yarn.lock
Normal file
3
test/cli/e2e-yarn3/.babelrc
Normal file
3
test/cli/e2e-yarn3/.babelrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
7
test/cli/e2e-yarn3/.eslintrc
Normal file
7
test/cli/e2e-yarn3/.eslintrc
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/explicit-member-accessibility": 0
|
||||
}
|
||||
}
|
35
test/cli/e2e-yarn3/info.spec.ts
Normal file
35
test/cli/e2e-yarn3/info.spec.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { initialSetup, prepareYarnModernProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { getYarnCommand, yarn } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
let projectFolder;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
const { tempFolder } = await prepareYarnModernProject(
|
||||
join(__dirname, './yarn-project'),
|
||||
'yarn-3',
|
||||
registry.getRegistryUrl(),
|
||||
getYarnCommand()
|
||||
);
|
||||
projectFolder = tempFolder;
|
||||
});
|
||||
|
||||
test('should run yarn 3 info json body', async () => {
|
||||
const resp = await yarn(projectFolder, 'npm', 'info', 'verdaccio', '--json');
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual('verdaccio');
|
||||
expect(parsedBody.dependencies).toBeDefined();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
6
test/cli/e2e-yarn3/jest.config.js
Normal file
6
test/cli/e2e-yarn3/jest.config.js
Normal file
@ -0,0 +1,6 @@
|
||||
const { defaults } = require('jest-config');
|
||||
const config = require('../../../jest/config');
|
||||
|
||||
module.exports = Object.assign({}, config, {
|
||||
moduleFileExtensions: [...defaults.moduleFileExtensions, 'ts'],
|
||||
});
|
12
test/cli/e2e-yarn3/package.json
Normal file
12
test/cli/e2e-yarn3/package.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn3",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0",
|
||||
"@yarnpkg/cli-dist": "3.2.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
}
|
||||
}
|
8
test/cli/e2e-yarn3/tsconfig.json
Normal file
8
test/cli/e2e-yarn3/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.reference.json",
|
||||
"references": [
|
||||
{
|
||||
"path": "../cli-commons"
|
||||
}
|
||||
]
|
||||
}
|
15
test/cli/e2e-yarn3/utils.ts
Normal file
15
test/cli/e2e-yarn3/utils.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
export function getCommand(projectFolder) {
|
||||
return join(projectFolder, './.yarn/releases/yarn.js');
|
||||
}
|
||||
|
||||
export function getYarnCommand() {
|
||||
return join(__dirname, './node_modules/@yarnpkg/cli-dist/bin/yarn.js');
|
||||
}
|
||||
|
||||
export function yarn(projectFolder, ...args: string[]) {
|
||||
return exec({ cwd: projectFolder }, getCommand(projectFolder), args);
|
||||
}
|
7
test/cli/e2e-yarn3/yarn-project/.yarnrc.yml
Normal file
7
test/cli/e2e-yarn3/yarn-project/.yarnrc.yml
Normal file
@ -0,0 +1,7 @@
|
||||
httpRetry: 10
|
||||
httpTimeout: 100000
|
||||
npmRegistryServer: ${registry}
|
||||
yarnPath: .yarn/releases/yarn.js
|
||||
|
||||
unsafeHttpWhitelist:
|
||||
- localhost
|
4
test/cli/e2e-yarn3/yarn-project/package.json
Normal file
4
test/cli/e2e-yarn3/yarn-project/package.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "foo",
|
||||
"version": "1.0.0"
|
||||
}
|
0
test/cli/e2e-yarn3/yarn-project/yarn.lock
Normal file
0
test/cli/e2e-yarn3/yarn-project/yarn.lock
Normal file
3
test/cli/e2e-yarn4/.babelrc
Normal file
3
test/cli/e2e-yarn4/.babelrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "../../../.babelrc"
|
||||
}
|
7
test/cli/e2e-yarn4/.eslintrc
Normal file
7
test/cli/e2e-yarn4/.eslintrc
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"rules": {
|
||||
"no-console": 0,
|
||||
"@typescript-eslint/no-var-requires": 0,
|
||||
"@typescript-eslint/explicit-member-accessibility": 0
|
||||
}
|
||||
}
|
779
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
Executable file
779
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
Executable file
File diff suppressed because one or more lines are too long
35
test/cli/e2e-yarn4/info.spec.ts
Normal file
35
test/cli/e2e-yarn4/info.spec.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { initialSetup, prepareYarnModernProject } from '@verdaccio/test-cli-commons';
|
||||
|
||||
import { getYarnCommand, yarn } from './utils';
|
||||
|
||||
describe('install a package', () => {
|
||||
jest.setTimeout(10000);
|
||||
let registry;
|
||||
let projectFolder;
|
||||
|
||||
beforeAll(async () => {
|
||||
const setup = await initialSetup();
|
||||
registry = setup.registry;
|
||||
await registry.init();
|
||||
const { tempFolder } = await prepareYarnModernProject(
|
||||
join(__dirname, './yarn-project'),
|
||||
'yarn-4',
|
||||
registry.getRegistryUrl(),
|
||||
getYarnCommand()
|
||||
);
|
||||
projectFolder = tempFolder;
|
||||
});
|
||||
|
||||
test('should run yarn 4 info json body', async () => {
|
||||
const resp = await yarn(projectFolder, 'npm', 'info', 'verdaccio', '--json');
|
||||
const parsedBody = JSON.parse(resp.stdout as string);
|
||||
expect(parsedBody.name).toEqual('verdaccio');
|
||||
expect(parsedBody.dependencies).toBeDefined();
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
registry.stop();
|
||||
});
|
||||
});
|
6
test/cli/e2e-yarn4/jest.config.js
Normal file
6
test/cli/e2e-yarn4/jest.config.js
Normal file
@ -0,0 +1,6 @@
|
||||
const { defaults } = require('jest-config');
|
||||
const config = require('../../../jest/config');
|
||||
|
||||
module.exports = Object.assign({}, config, {
|
||||
moduleFileExtensions: [...defaults.moduleFileExtensions, 'ts'],
|
||||
});
|
11
test/cli/e2e-yarn4/package.json
Normal file
11
test/cli/e2e-yarn4/package.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn4",
|
||||
"version": "1.0.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:1.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest"
|
||||
}
|
||||
}
|
8
test/cli/e2e-yarn4/tsconfig.json
Normal file
8
test/cli/e2e-yarn4/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"extends": "../../../tsconfig.reference.json",
|
||||
"references": [
|
||||
{
|
||||
"path": "../cli-commons"
|
||||
}
|
||||
]
|
||||
}
|
16
test/cli/e2e-yarn4/utils.ts
Normal file
16
test/cli/e2e-yarn4/utils.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import { join } from 'path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
export function getCommand(projectFolder) {
|
||||
return join(projectFolder, './.yarn/releases/yarn.js');
|
||||
}
|
||||
|
||||
export function getYarnCommand() {
|
||||
// FUTURE: yarn 4 rc still not available via registry
|
||||
return join(__dirname, './bin/yarn-4.0.0-rc.14.cjs');
|
||||
}
|
||||
|
||||
export function yarn(projectFolder, ...args: string[]) {
|
||||
return exec({ cwd: projectFolder }, getCommand(projectFolder), args);
|
||||
}
|
7
test/cli/e2e-yarn4/yarn-project/.yarnrc.yml
Normal file
7
test/cli/e2e-yarn4/yarn-project/.yarnrc.yml
Normal file
@ -0,0 +1,7 @@
|
||||
httpRetry: 10
|
||||
httpTimeout: 100000
|
||||
npmRegistryServer: ${registry}
|
||||
yarnPath: .yarn/releases/yarn.js
|
||||
|
||||
unsafeHttpWhitelist:
|
||||
- localhost
|
4
test/cli/e2e-yarn4/yarn-project/package.json
Normal file
4
test/cli/e2e-yarn4/yarn-project/package.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"name": "foo",
|
||||
"version": "1.0.0"
|
||||
}
|
0
test/cli/e2e-yarn4/yarn-project/yarn.lock
Normal file
0
test/cli/e2e-yarn4/yarn-project/yarn.lock
Normal file
Loading…
Reference in New Issue
Block a user