mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-04-15 03:02:51 -05:00
feat: upgrade plugin htpassw major (#3712)
Replaces default auth plugin verdaccio-htpasswd@10.x by verdaccio-htpasswd@11.x which is being used in verdaccio 6.x (almost identical) Apply backward compabiity Reduces maintenance (monorepo plugin can be removed) One more step to switch v6.x Add Node.js 12 GH Action for check backward compatibility
This commit is contained in:
parent
b3ea8162ac
commit
e939ca24af
29 changed files with 460 additions and 181 deletions
34
.github/workflows/e2e-jest-workflow.yml
vendored
34
.github/workflows/e2e-jest-workflow.yml
vendored
|
@ -14,10 +14,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
- name: 'Run verdaccio in the background'
|
||||
|
@ -30,7 +30,7 @@ jobs:
|
|||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
yarn init --yes
|
||||
yarn add jest@26.0.0 --registry http://localhost:4873
|
||||
yarn add jest@29.5.0 --registry http://localhost:4873
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
@ -45,10 +45,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
- name: 'Run verdaccio in the background'
|
||||
|
@ -64,7 +64,7 @@ jobs:
|
|||
yarn set version berry
|
||||
yarn config set npmRegistryServer "http://localhost:4873"
|
||||
yarn config set unsafeHttpWhitelist --json '["localhost"]'
|
||||
yarn add jest@26.0.0
|
||||
yarn add jest@29.5.0
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
@ -79,10 +79,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- name: 'install latest npm'
|
||||
run: npm i -g npm@latest-6
|
||||
- name: Install Dependencies
|
||||
|
@ -97,7 +97,7 @@ jobs:
|
|||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
npm init --force
|
||||
npm install jest@26.0.0 --registry http://localhost:4873
|
||||
npm install jest@29.5.0 --registry http://localhost:4873
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
@ -112,10 +112,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- name: 'install latest npm'
|
||||
run: npm i -g npm@next-8
|
||||
- name: Install Dependencies
|
||||
|
@ -130,7 +130,7 @@ jobs:
|
|||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
npm init --force
|
||||
npm install jest@26.0.0 --registry http://localhost:4873
|
||||
npm install jest@29.5.0 --registry http://localhost:4873
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
@ -179,10 +179,10 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12.x
|
||||
node-version: 16.x
|
||||
- name: 'install latest pnpm'
|
||||
run: npm i -g pnpm@latest-6
|
||||
- name: Install Dependencies
|
||||
|
@ -197,7 +197,7 @@ jobs:
|
|||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
pnpm init --force
|
||||
pnpm install jest@26.0.0 --registry http://localhost:4873
|
||||
pnpm install jest@29.5.0 --registry http://localhost:4873
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
@ -212,7 +212,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
|
||||
- name: 'Use Node.js 12.x'
|
||||
- name: 'Use Node.js 16.x'
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 16.x
|
||||
|
@ -230,7 +230,7 @@ jobs:
|
|||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
pnpm init
|
||||
pnpm install jest@26.0.0 --registry http://localhost:4873
|
||||
pnpm install jest@29.5.0 --registry http://localhost:4873
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
|
41
.github/workflows/smok-test-module-v12.yml
vendored
Normal file
41
.github/workflows/smok-test-module-v12.yml
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
name: Module Smoke Test Node.js 12
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1
|
||||
with:
|
||||
node-version: 12
|
||||
- name: Docker test
|
||||
run: |
|
||||
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio:5
|
||||
- name: login
|
||||
run: npx npm-cli-login -u test -p 1234 -e test@domain.test -r http://localhost:4873
|
||||
- name: Build
|
||||
run: yarn build
|
||||
- name: Types
|
||||
run: yarn code:types
|
||||
- name: Bump up package
|
||||
run: npm version prerelease --no-git-tag-version --preid $(date +%s%N)
|
||||
- name: publish verdaccio
|
||||
run: npm publish --registry http://localhost:4873
|
||||
- name: install verdaccio
|
||||
run: npm i -g verdaccio --loglevel info --registry http://localhost:4873
|
||||
- name: verdaccio version
|
||||
run: verdaccio --version
|
||||
- name: 'Running the integration test'
|
||||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
npm init --force
|
||||
npm install jest@27.5.1 --registry http://localhost:4873
|
||||
npm install verdaccio --registry http://localhost:4873
|
||||
echo "test('require module should works', () => { const {runServer} = require('verdaccio') });" | tee module.spec.js
|
||||
cat module.spec.js
|
||||
yarn jest
|
1
.github/workflows/smok-test-module.yml
vendored
1
.github/workflows/smok-test-module.yml
vendored
|
@ -2,7 +2,6 @@ name: Module Smoke Test 5.x
|
|||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
push:
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
|
|
158
.pnp.cjs
generated
158
.pnp.cjs
generated
|
@ -68,18 +68,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@typescript-eslint/eslint-plugin", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.0"],\
|
||||
["@typescript-eslint/parser", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.0"],\
|
||||
["@verdaccio-scope/verdaccio-auth-foo", "npm:0.0.2"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/local-storage", "npm:10.3.3"],\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.12"],\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.46"],\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.13"],\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.47"],\
|
||||
["@verdaccio/signature", "npm:6.0.0-6-next.2"],\
|
||||
["@verdaccio/streams", "npm:10.2.1"],\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.36"],\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.37"],\
|
||||
["@verdaccio/types", "npm:11.0.0-6-next.25"],\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.33"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.34"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["JSONStream", "npm:1.3.5"],\
|
||||
["async", "npm:3.2.4"],\
|
||||
["babel-eslint", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.1.0"],\
|
||||
|
@ -137,9 +137,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["ts-node", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.9.1"],\
|
||||
["typescript", "patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=23ec76"],\
|
||||
["validator", "npm:13.9.0"],\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.30"],\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.31"],\
|
||||
["verdaccio-auth-memory", "npm:10.2.2"],\
|
||||
["verdaccio-htpasswd", "npm:10.5.5"],\
|
||||
["verdaccio-htpasswd", "npm:11.0.0-6-next.38"],\
|
||||
["verdaccio-memory", "npm:10.3.2"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
|
@ -5120,12 +5120,12 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/config", [\
|
||||
["npm:6.0.0-6-next.67", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-config-npm-6.0.0-6-next.67-6558a1c7e5-822fd5d63d.zip/node_modules/@verdaccio/config/",\
|
||||
["npm:6.0.0-6-next.68", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-config-npm-6.0.0-6-next.68-7334112725-aa527a6f4a.zip/node_modules/@verdaccio/config/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"],\
|
||||
["js-yaml", "npm:4.1.0"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
|
@ -5136,10 +5136,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/core", [\
|
||||
["npm:6.0.0-6-next.67", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-core-npm-6.0.0-6-next.67-982000a47a-c039318870.zip/node_modules/@verdaccio/core/",\
|
||||
["npm:6.0.0-6-next.68", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-core-npm-6.0.0-6-next.68-f3485a7c2a-cbc581d047.zip/node_modules/@verdaccio/core/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["ajv", "npm:8.11.2"],\
|
||||
["core-js", "npm:3.28.0"],\
|
||||
["http-errors", "npm:1.8.1"],\
|
||||
|
@ -5158,6 +5158,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["lockfile", "npm:1.0.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["npm:11.0.0-6-next.7", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-file-locking-npm-11.0.0-6-next.7-b6bd1d57fa-86cf13ab75.zip/node_modules/@verdaccio/file-locking/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/file-locking", "npm:11.0.0-6-next.7"],\
|
||||
["lockfile", "npm:1.0.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@verdaccio/local-storage", [\
|
||||
|
@ -5178,22 +5186,22 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/logger-7", [\
|
||||
["npm:6.0.0-6-next.12", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-logger-7-npm-6.0.0-6-next.12-1a78df2245-3585b19083.zip/node_modules/@verdaccio/logger-7/",\
|
||||
["npm:6.0.0-6-next.13", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-logger-7-npm-6.0.0-6-next.13-f831a911ae-718cb0b289.zip/node_modules/@verdaccio/logger-7/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.12"],\
|
||||
["@verdaccio/logger-commons", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.13"],\
|
||||
["@verdaccio/logger-commons", "npm:6.0.0-6-next.36"],\
|
||||
["pino", "npm:7.11.0"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@verdaccio/logger-commons", [\
|
||||
["npm:6.0.0-6-next.35", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-logger-commons-npm-6.0.0-6-next.35-a2c2cd0eaf-1726111f2b.zip/node_modules/@verdaccio/logger-commons/",\
|
||||
["npm:6.0.0-6-next.36", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-logger-commons-npm-6.0.0-6-next.36-b211171bd3-85947d9598.zip/node_modules/@verdaccio/logger-commons/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/logger-commons", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/logger-commons", "npm:6.0.0-6-next.36"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/logger-prettify", "npm:6.0.0-6-next.9"],\
|
||||
["colorette", "npm:2.0.19"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"]\
|
||||
|
@ -5216,14 +5224,14 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/middleware", [\
|
||||
["npm:6.0.0-6-next.46", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-middleware-npm-6.0.0-6-next.46-18be481d80-a53154f3b5.zip/node_modules/@verdaccio/middleware/",\
|
||||
["npm:6.0.0-6-next.47", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-middleware-npm-6.0.0-6-next.47-767adadf8b-a14a997ef3.zip/node_modules/@verdaccio/middleware/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.46"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.33"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.47"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.34"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"],\
|
||||
["express", "npm:4.18.2"],\
|
||||
["express-rate-limit", "npm:5.5.1"],\
|
||||
|
@ -5256,13 +5264,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/tarball", [\
|
||||
["npm:11.0.0-6-next.36", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.36-06d2d9ff39-857d74fbb1.zip/node_modules/@verdaccio/tarball/",\
|
||||
["npm:11.0.0-6-next.37", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.37-dc849ead2d-c400432a17.zip/node_modules/@verdaccio/tarball/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.36"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.33"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.37"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.34"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"],\
|
||||
["lodash", "npm:4.17.21"]\
|
||||
],\
|
||||
|
@ -5279,20 +5287,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/ui-theme", [\
|
||||
["npm:6.0.0-6-next.67", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.67-b1aee354b9-5e6a8deca7.zip/node_modules/@verdaccio/ui-theme/",\
|
||||
["npm:6.0.0-6-next.68", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.68-99120e3a98-1f8f361cf7.zip/node_modules/@verdaccio/ui-theme/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.67"]\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.68"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
]],\
|
||||
["@verdaccio/url", [\
|
||||
["npm:11.0.0-6-next.33", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.33-64ed74304b-e138638e0f.zip/node_modules/@verdaccio/url/",\
|
||||
["npm:11.0.0-6-next.34", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.34-003548794d-63adf681d8.zip/node_modules/@verdaccio/url/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.33"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.34"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["validator", "npm:13.9.0"]\
|
||||
|
@ -5301,11 +5309,11 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["@verdaccio/utils", [\
|
||||
["npm:6.0.0-6-next.35", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-utils-npm-6.0.0-6-next.35-5c76e3b578-97f04effaf.zip/node_modules/@verdaccio/utils/",\
|
||||
["npm:6.0.0-6-next.36", {\
|
||||
"packageLocation": "./.yarn/cache/@verdaccio-utils-npm-6.0.0-6-next.36-931feacba5-d6dbd7b476.zip/node_modules/@verdaccio/utils/",\
|
||||
"packageDependencies": [\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["lodash", "npm:4.17.21"],\
|
||||
["minimatch", "npm:3.1.2"],\
|
||||
["semver", "npm:7.3.8"]\
|
||||
|
@ -11301,10 +11309,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
],\
|
||||
"linkType": "HARD"\
|
||||
}],\
|
||||
["virtual:2c0413d013d95d792b4734fb5ba2b862c449db8f59693f269cdf9e3bf579fb5c5441b1fba98d8e06ba2937e2a5a71c997d9ebf245147018bc6b0d9897ab45083#npm:2.6.7", {\
|
||||
"packageLocation": "./.yarn/__virtual__/node-fetch-virtual-c70b7cc8e9/0/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\
|
||||
["virtual:5b1ec82c597946a9cab5ff6462dd0319f4bddb816fb07702ea903ea5c4f6162c956ee44edcb7dd9eaa765aae33b49fd5eca0a4dfc2b9d28782e9e3491afbc9e7#npm:2.6.7", {\
|
||||
"packageLocation": "./.yarn/__virtual__/node-fetch-virtual-74c984840a/0/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\
|
||||
"packageDependencies": [\
|
||||
["node-fetch", "virtual:2c0413d013d95d792b4734fb5ba2b862c449db8f59693f269cdf9e3bf579fb5c5441b1fba98d8e06ba2937e2a5a71c997d9ebf245147018bc6b0d9897ab45083#npm:2.6.7"],\
|
||||
["node-fetch", "virtual:5b1ec82c597946a9cab5ff6462dd0319f4bddb816fb07702ea903ea5c4f6162c956ee44edcb7dd9eaa765aae33b49fd5eca0a4dfc2b9d28782e9e3491afbc9e7#npm:2.6.7"],\
|
||||
["@types/encoding", null],\
|
||||
["encoding", null],\
|
||||
["whatwg-url", "npm:5.0.0"]\
|
||||
|
@ -13989,18 +13997,18 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["@typescript-eslint/eslint-plugin", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.0"],\
|
||||
["@typescript-eslint/parser", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:5.59.0"],\
|
||||
["@verdaccio-scope/verdaccio-auth-foo", "npm:0.0.2"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/local-storage", "npm:10.3.3"],\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.12"],\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.46"],\
|
||||
["@verdaccio/logger-7", "npm:6.0.0-6-next.13"],\
|
||||
["@verdaccio/middleware", "npm:6.0.0-6-next.47"],\
|
||||
["@verdaccio/signature", "npm:6.0.0-6-next.2"],\
|
||||
["@verdaccio/streams", "npm:10.2.1"],\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.36"],\
|
||||
["@verdaccio/tarball", "npm:11.0.0-6-next.37"],\
|
||||
["@verdaccio/types", "npm:11.0.0-6-next.25"],\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.33"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.35"],\
|
||||
["@verdaccio/ui-theme", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/url", "npm:11.0.0-6-next.34"],\
|
||||
["@verdaccio/utils", "npm:6.0.0-6-next.36"],\
|
||||
["JSONStream", "npm:1.3.5"],\
|
||||
["async", "npm:3.2.4"],\
|
||||
["babel-eslint", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.1.0"],\
|
||||
|
@ -14058,24 +14066,24 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
["ts-node", "virtual:7f7b3df50ee4b7b1719ad19fad11505dc2788f3227a7e5cc9ca19f71d8cb309c9d33b532ea2b2b60ab65abf6cc12153df4643c5e6e17d01ea0ae0492723bb4b4#npm:10.9.1"],\
|
||||
["typescript", "patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=23ec76"],\
|
||||
["validator", "npm:13.9.0"],\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.30"],\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.31"],\
|
||||
["verdaccio-auth-memory", "npm:10.2.2"],\
|
||||
["verdaccio-htpasswd", "npm:10.5.5"],\
|
||||
["verdaccio-htpasswd", "npm:11.0.0-6-next.38"],\
|
||||
["verdaccio-memory", "npm:10.3.2"]\
|
||||
],\
|
||||
"linkType": "SOFT"\
|
||||
}]\
|
||||
]],\
|
||||
["verdaccio-audit", [\
|
||||
["npm:11.0.0-6-next.30", {\
|
||||
"packageLocation": "./.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.30-2c0413d013-3cfd734653.zip/node_modules/verdaccio-audit/",\
|
||||
["npm:11.0.0-6-next.31", {\
|
||||
"packageLocation": "./.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.31-5b1ec82c59-f5a2afb2ba.zip/node_modules/verdaccio-audit/",\
|
||||
"packageDependencies": [\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.30"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.67"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.67"],\
|
||||
["verdaccio-audit", "npm:11.0.0-6-next.31"],\
|
||||
["@verdaccio/config", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["express", "npm:4.18.2"],\
|
||||
["https-proxy-agent", "npm:5.0.1"],\
|
||||
["node-fetch", "virtual:2c0413d013d95d792b4734fb5ba2b862c449db8f59693f269cdf9e3bf579fb5c5441b1fba98d8e06ba2937e2a5a71c997d9ebf245147018bc6b0d9897ab45083#npm:2.6.7"]\
|
||||
["node-fetch", "virtual:5b1ec82c597946a9cab5ff6462dd0319f4bddb816fb07702ea903ea5c4f6162c956ee44edcb7dd9eaa765aae33b49fd5eca0a4dfc2b9d28782e9e3491afbc9e7#npm:2.6.7"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
}]\
|
||||
|
@ -14091,15 +14099,17 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) {
|
|||
}]\
|
||||
]],\
|
||||
["verdaccio-htpasswd", [\
|
||||
["npm:10.5.5", {\
|
||||
"packageLocation": "./.yarn/cache/verdaccio-htpasswd-npm-10.5.5-51ff9070b2-1a5706af72.zip/node_modules/verdaccio-htpasswd/",\
|
||||
["npm:11.0.0-6-next.38", {\
|
||||
"packageLocation": "./.yarn/cache/verdaccio-htpasswd-npm-11.0.0-6-next.38-5ceb09d742-eb633f15ad.zip/node_modules/verdaccio-htpasswd/",\
|
||||
"packageDependencies": [\
|
||||
["verdaccio-htpasswd", "npm:10.5.5"],\
|
||||
["@verdaccio/file-locking", "npm:10.3.1"],\
|
||||
["verdaccio-htpasswd", "npm:11.0.0-6-next.38"],\
|
||||
["@verdaccio/core", "npm:6.0.0-6-next.68"],\
|
||||
["@verdaccio/file-locking", "npm:11.0.0-6-next.7"],\
|
||||
["apache-md5", "npm:1.1.8"],\
|
||||
["bcryptjs", "npm:2.4.3"],\
|
||||
["core-js", "npm:3.28.0"],\
|
||||
["debug", "virtual:29474417206615456729b7a578bf418b358d5457cdcef4bbfee11068b4718e28ceca45b525022e3820e15bd79419301ec7f358c2f28eae1e78ba4bae24d15383#npm:4.3.4"],\
|
||||
["http-errors", "npm:2.0.0"],\
|
||||
["http-errors", "npm:1.8.1"],\
|
||||
["unix-crypt-td-js", "npm:1.1.4"]\
|
||||
],\
|
||||
"linkType": "HARD"\
|
||||
|
|
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@verdaccio-file-locking-npm-11.0.0-6-next.7-b6bd1d57fa-86cf13ab75.zip
vendored
Normal file
BIN
.yarn/cache/@verdaccio-file-locking-npm-11.0.0-6-next.7-b6bd1d57fa-86cf13ab75.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.37-dc849ead2d-c400432a17.zip
vendored
Normal file
BIN
.yarn/cache/@verdaccio-tarball-npm-11.0.0-6-next.37-dc849ead2d-c400432a17.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.68-99120e3a98-1f8f361cf7.zip
vendored
Normal file
BIN
.yarn/cache/@verdaccio-ui-theme-npm-6.0.0-6-next.68-99120e3a98-1f8f361cf7.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.34-003548794d-63adf681d8.zip
vendored
Normal file
BIN
.yarn/cache/@verdaccio-url-npm-11.0.0-6-next.34-003548794d-63adf681d8.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.31-5b1ec82c59-f5a2afb2ba.zip
vendored
Normal file
BIN
.yarn/cache/verdaccio-audit-npm-11.0.0-6-next.31-5b1ec82c59-f5a2afb2ba.zip
vendored
Normal file
Binary file not shown.
Binary file not shown.
BIN
.yarn/cache/verdaccio-htpasswd-npm-11.0.0-6-next.38-5ceb09d742-eb633f15ad.zip
vendored
Normal file
BIN
.yarn/cache/verdaccio-htpasswd-npm-11.0.0-6-next.38-5ceb09d742-eb633f15ad.zip
vendored
Normal file
Binary file not shown.
20
package.json
20
package.json
|
@ -19,17 +19,17 @@
|
|||
"url": "https://opencollective.com/verdaccio"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "6.0.0-6-next.67",
|
||||
"@verdaccio/core": "6.0.0-6-next.67",
|
||||
"@verdaccio/config": "6.0.0-6-next.68",
|
||||
"@verdaccio/core": "6.0.0-6-next.68",
|
||||
"@verdaccio/local-storage": "10.3.3",
|
||||
"@verdaccio/logger-7": "6.0.0-6-next.12",
|
||||
"@verdaccio/middleware": "6.0.0-6-next.46",
|
||||
"@verdaccio/logger-7": "6.0.0-6-next.13",
|
||||
"@verdaccio/middleware": "6.0.0-6-next.47",
|
||||
"@verdaccio/signature": "6.0.0-6-next.2",
|
||||
"@verdaccio/streams": "10.2.1",
|
||||
"@verdaccio/tarball": "11.0.0-6-next.36",
|
||||
"@verdaccio/ui-theme": "6.0.0-6-next.67",
|
||||
"@verdaccio/url": "11.0.0-6-next.33",
|
||||
"@verdaccio/utils": "6.0.0-6-next.35",
|
||||
"@verdaccio/tarball": "11.0.0-6-next.37",
|
||||
"@verdaccio/ui-theme": "6.0.0-6-next.68",
|
||||
"@verdaccio/url": "11.0.0-6-next.34",
|
||||
"@verdaccio/utils": "6.0.0-6-next.36",
|
||||
"JSONStream": "1.3.5",
|
||||
"async": "3.2.4",
|
||||
"body-parser": "1.20.2",
|
||||
|
@ -56,8 +56,8 @@
|
|||
"request": "2.88.2",
|
||||
"semver": "7.5.0",
|
||||
"validator": "13.9.0",
|
||||
"verdaccio-audit": "11.0.0-6-next.30",
|
||||
"verdaccio-htpasswd": "10.5.5"
|
||||
"verdaccio-audit": "11.0.0-6-next.31",
|
||||
"verdaccio-htpasswd": "11.0.0-6-next.38"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.21.0",
|
||||
|
|
|
@ -30,4 +30,4 @@ middlewares:
|
|||
audit:
|
||||
enabled: true
|
||||
|
||||
logs: { type: stdout, format: json, level: warn }
|
||||
log: { type: stdout, format: json, level: warn }
|
||||
|
|
|
@ -55,9 +55,23 @@ class Auth {
|
|||
logger: this.logger,
|
||||
};
|
||||
|
||||
let authConf = { ...config.auth };
|
||||
if (authConf?.htpasswd) {
|
||||
// special case for htpasswd plugin, the v6 version uses bcrypt by default
|
||||
// 5.x enforces crypt to avoid breaking changes, but is highly recommended using
|
||||
// bcrypt instead.
|
||||
if (!authConf.htpasswd.algorithm) {
|
||||
authConf.htpasswd.algorithm = 'crypt';
|
||||
this.logger.info(
|
||||
// eslint-disable-next-line max-len
|
||||
'the "crypt" algorithm is deprecated consider switch to "bcrypt" in the configuration file. Read the documentation for additional details'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return loadPlugin<pluginUtils.Auth<Config>>(
|
||||
config,
|
||||
config.auth,
|
||||
authConf,
|
||||
pluginOptions,
|
||||
(plugin: pluginUtils.Auth<Config>): boolean => {
|
||||
const { authenticate, allow_access, allow_publish } = plugin;
|
||||
|
|
|
@ -363,7 +363,7 @@ class ProxyStorage {
|
|||
private _setHeaderAuthorization(headers: any, type: string, token: any): void {
|
||||
const _type: string = type.toLowerCase();
|
||||
|
||||
if (_type !== TOKEN_BEARER.toLowerCase() && _type !== TOKEN_BASIC.toLowerCase()) {
|
||||
if ([TOKEN_BEARER.toLowerCase(), TOKEN_BASIC.toLowerCase()].includes(_type) === false) {
|
||||
this._throwErrorAuth(`Auth type '${_type}' not allowed`);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ export async function initializeServer(
|
|||
// to avoid conflics
|
||||
// FUTURE: self_path is configPath in v6
|
||||
config.self_path = config.storage;
|
||||
config.configPath = config.storage;
|
||||
debug('storage: %s', config.storage);
|
||||
const storage = new Storage(config);
|
||||
await storage.init(config, []);
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import nock from 'nock';
|
||||
import supertest from 'supertest';
|
||||
|
||||
import { API_ERROR, HEADERS, HEADER_TYPE, HTTP_STATUS, TOKEN_BEARER } from '@verdaccio/core';
|
||||
|
@ -10,9 +11,14 @@ const FORBIDDEN_VUE = 'authorization required to access package vue';
|
|||
jest.setTimeout(20000);
|
||||
|
||||
describe('token', () => {
|
||||
beforeEach(() => {
|
||||
nock.cleanAll();
|
||||
});
|
||||
|
||||
describe('basics', () => {
|
||||
const FAKE_TOKEN: string = buildToken(TOKEN_BEARER, 'fake');
|
||||
test.each([['user.yaml'], ['user.jwt.yaml']])('should test add a new user', async (conf) => {
|
||||
nock('https://registry.verdaccio.org/').get(`/vue`).once().reply(200, { name: 'vue' });
|
||||
const app = await initializeServer(conf);
|
||||
const credentials = { name: 'JotaJWT', password: 'secretPass' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
import _ from 'lodash';
|
||||
import nock from 'nock';
|
||||
|
||||
import { Config, UpLinkConf } from '@verdaccio/types';
|
||||
|
||||
import AppConfig from '../../../../src/lib/config';
|
||||
import { API_ERROR, HTTP_STATUS } from '../../../../src/lib/constants';
|
||||
import {
|
||||
API_ERROR,
|
||||
ERROR_CODE,
|
||||
HTTP_STATUS,
|
||||
TOKEN_BASIC,
|
||||
TOKEN_BEARER,
|
||||
} from '../../../../src/lib/constants';
|
||||
import { setup } from '../../../../src/lib/logger';
|
||||
import ProxyStorage from '../../../../src/lib/up-storage';
|
||||
import { DOMAIN_SERVERS } from '../../../functional/config.functional';
|
||||
|
@ -28,6 +35,10 @@ describe('UpStorage', () => {
|
|||
mockRegistry = await mockServer(mockServerPort).init();
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
nock.cleanAll();
|
||||
});
|
||||
|
||||
afterAll(function (done) {
|
||||
mockRegistry[0].stop();
|
||||
done();
|
||||
|
@ -39,7 +50,19 @@ describe('UpStorage', () => {
|
|||
expect(proxy).toBeDefined();
|
||||
});
|
||||
|
||||
describe('UpStorage::getRemoteMetadata', () => {
|
||||
describe('getRemoteMetadata', () => {
|
||||
beforeEach(() => {
|
||||
// @ts-ignore
|
||||
process.env.TOKEN_TEST_ENV = 'foo';
|
||||
// @ts-ignore
|
||||
process.env.NPM_TOKEN = 'foo';
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
delete process.env.TOKEN_TEST_ENV;
|
||||
delete process.env.NPM_TOKEN;
|
||||
});
|
||||
|
||||
test('should be get remote metadata', (done) => {
|
||||
const proxy = generateProxy();
|
||||
|
||||
|
@ -51,6 +74,28 @@ describe('UpStorage', () => {
|
|||
});
|
||||
});
|
||||
|
||||
test('should handle 404 on be get remote metadata', (done) => {
|
||||
nock('http://localhost:55547').get(`/jquery`).once().reply(404, { name: 'jquery' });
|
||||
const proxy = generateProxy();
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err) => {
|
||||
expect(err).not.toBeNull();
|
||||
expect(err.message).toMatch(/package does not exist on uplink/);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should handle 500 on be get remote metadata', (done) => {
|
||||
nock('http://localhost:55547').get(`/jquery`).once().reply(500, { name: 'jquery' });
|
||||
const proxy = generateProxy();
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err) => {
|
||||
expect(err).not.toBeNull();
|
||||
expect(err.message).toMatch(/bad status code: 500/);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should be get remote metadata with etag', (done) => {
|
||||
const proxy = generateProxy();
|
||||
|
||||
|
@ -74,6 +119,7 @@ describe('UpStorage', () => {
|
|||
});
|
||||
|
||||
test('should be get remote metadata with json when uplink is npmmirror', (done) => {
|
||||
nock('https://registry.npmmirror.com').get(`/jquery`).reply(200, { name: 'jquery' });
|
||||
const proxy = generateProxy({ url: 'https://registry.npmmirror.com' });
|
||||
|
||||
proxy.getRemoteMetadata('jquery', { json: true }, (err, data) => {
|
||||
|
@ -82,10 +128,161 @@ describe('UpStorage', () => {
|
|||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should be get remote metadata with auth header bearer', (done) => {
|
||||
nock('https://registry.npmmirror.com', {
|
||||
reqheaders: {
|
||||
authorization: 'Bearer foo',
|
||||
},
|
||||
})
|
||||
.get(`/jquery`)
|
||||
.reply(200, { name: 'jquery' });
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BEARER,
|
||||
token: 'foo',
|
||||
},
|
||||
});
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err, data, etag) => {
|
||||
expect(err).toBeNull();
|
||||
// expect(_.isString(etag)).toBeTruthy();
|
||||
expect(data.name).toBe('jquery');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should be get remote metadata with auth node env TOKEN_TEST_ENV header bearer', (done) => {
|
||||
nock('https://registry.npmmirror.com', {
|
||||
reqheaders: {
|
||||
authorization: 'Bearer foo',
|
||||
},
|
||||
})
|
||||
.get(`/jquery`)
|
||||
.reply(200, { name: 'jquery' });
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BEARER,
|
||||
token_env: 'TOKEN_TEST_ENV',
|
||||
},
|
||||
});
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err, data, etag) => {
|
||||
expect(err).toBeNull();
|
||||
expect(data.name).toBe('jquery');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should be get remote metadata with auth node env NPM_TOKEN header bearer', (done) => {
|
||||
nock('https://registry.npmmirror.com', {
|
||||
reqheaders: {
|
||||
authorization: 'Bearer foo',
|
||||
},
|
||||
})
|
||||
.get(`/jquery`)
|
||||
.reply(200, { name: 'jquery' });
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BEARER,
|
||||
token_env: true,
|
||||
},
|
||||
});
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err, data, etag) => {
|
||||
expect(err).toBeNull();
|
||||
expect(data.name).toBe('jquery');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
test('should be get remote metadata with auth header basic', (done) => {
|
||||
nock('https://registry.npmmirror.com', {
|
||||
reqheaders: {
|
||||
authorization: 'Basic foo',
|
||||
},
|
||||
})
|
||||
.get(`/jquery`)
|
||||
.reply(200, { name: 'jquery' });
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BASIC,
|
||||
token: 'foo',
|
||||
},
|
||||
});
|
||||
|
||||
proxy.getRemoteMetadata('jquery', {}, (err, data, etag) => {
|
||||
expect(err).toBeNull();
|
||||
// expect(_.isString(etag)).toBeTruthy();
|
||||
expect(data.name).toBe('jquery');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('UpStorage::fetchTarball', () => {
|
||||
test('should fetch a tarball from uplink', (done) => {
|
||||
describe('error handling', () => {
|
||||
test('should fails if auth type is missing', () => {
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BASIC,
|
||||
token: undefined,
|
||||
},
|
||||
});
|
||||
|
||||
expect(function () {
|
||||
proxy.getRemoteMetadata('jquery', {}, () => {});
|
||||
}).toThrow(/token is required/);
|
||||
});
|
||||
|
||||
test('should fails if token_env is undefined', () => {
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BASIC,
|
||||
token_env: undefined,
|
||||
},
|
||||
});
|
||||
|
||||
expect(function () {
|
||||
proxy.getRemoteMetadata('jquery', {}, () => {});
|
||||
}).toThrow(ERROR_CODE.token_required);
|
||||
});
|
||||
|
||||
test('should fails if token_env is false', () => {
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
type: TOKEN_BASIC,
|
||||
token_env: false,
|
||||
},
|
||||
});
|
||||
|
||||
expect(function () {
|
||||
proxy.getRemoteMetadata('jquery', {}, () => {});
|
||||
}).toThrow(ERROR_CODE.token_required);
|
||||
});
|
||||
|
||||
test.skip('should fails if invalid token type', () => {
|
||||
const proxy = generateProxy({
|
||||
url: 'https://registry.npmmirror.com',
|
||||
auth: {
|
||||
token: 'SomethingWrong',
|
||||
},
|
||||
});
|
||||
|
||||
expect(function () {
|
||||
proxy.getRemoteMetadata('jquery', {}, () => {});
|
||||
}).toThrow(ERROR_CODE.token_required);
|
||||
});
|
||||
});
|
||||
|
||||
describe('fetchTarball', () => {
|
||||
test.skip('should fetch a tarball from uplink', (done) => {
|
||||
const proxy = generateProxy();
|
||||
const tarball = `http://${DOMAIN_SERVERS}:${mockServerPort}/jquery/-/jquery-1.5.1.tgz`;
|
||||
const stream = proxy.fetchTarball(tarball);
|
||||
|
@ -157,7 +354,7 @@ describe('UpStorage', () => {
|
|||
}, 10000);
|
||||
});
|
||||
|
||||
describe('UpStorage::isUplinkValid', () => {
|
||||
describe('isUplinkValid', () => {
|
||||
describe('valid use cases', () => {
|
||||
const validateUpLink = (
|
||||
url: string,
|
||||
|
|
153
yarn.lock
153
yarn.lock
|
@ -3036,24 +3036,24 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/config@npm:6.0.0-6-next.67":
|
||||
version: 6.0.0-6-next.67
|
||||
resolution: "@verdaccio/config@npm:6.0.0-6-next.67"
|
||||
"@verdaccio/config@npm:6.0.0-6-next.68":
|
||||
version: 6.0.0-6-next.68
|
||||
resolution: "@verdaccio/config@npm:6.0.0-6-next.68"
|
||||
dependencies:
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/utils": 6.0.0-6-next.35
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/utils": 6.0.0-6-next.36
|
||||
debug: 4.3.4
|
||||
js-yaml: 4.1.0
|
||||
lodash: 4.17.21
|
||||
minimatch: 3.1.2
|
||||
yup: 0.32.11
|
||||
checksum: 822fd5d63db99a3b5f25ee80337878d7118438c329fa7bf9586dbf4ccf987873b0833ab7edbacfe311aa31cf4b8c2d4cbe2f55509057b49141992011b301bc0a
|
||||
checksum: aa527a6f4a65ac9380cf2053cd9c5b418a12f793175d47c223121f80ebdf2c081675d88f737f3dfd48bd55f5777e964028453bd96e691340b6aa98d809ee0ca7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/core@npm:6.0.0-6-next.67":
|
||||
version: 6.0.0-6-next.67
|
||||
resolution: "@verdaccio/core@npm:6.0.0-6-next.67"
|
||||
"@verdaccio/core@npm:6.0.0-6-next.68":
|
||||
version: 6.0.0-6-next.68
|
||||
resolution: "@verdaccio/core@npm:6.0.0-6-next.68"
|
||||
dependencies:
|
||||
ajv: 8.11.2
|
||||
core-js: 3.28.0
|
||||
|
@ -3061,7 +3061,7 @@ __metadata:
|
|||
http-status-codes: 2.2.0
|
||||
process-warning: 1.0.0
|
||||
semver: 7.3.8
|
||||
checksum: c039318870bb5baf04ce637728afb1c41021f48088c4639945054e6c91b1caea1819800caf74c32015e00f32a9febaaa78ba89cc0a6efdd0b148a2068112016c
|
||||
checksum: cbc581d047e25849a8a3509b96e1720a87543c89673d344b89694eb926bacd9eadfe2decd4752fe7ecae1ce051434c5fdf254685b5e1d6b33535820e3f4bd8a7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3074,6 +3074,15 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/file-locking@npm:11.0.0-6-next.7":
|
||||
version: 11.0.0-6-next.7
|
||||
resolution: "@verdaccio/file-locking@npm:11.0.0-6-next.7"
|
||||
dependencies:
|
||||
lockfile: 1.0.4
|
||||
checksum: 86cf13ab75c3e11958201433aa2b98bba70f90cb855e5d84063affd491ce31f12093a8874a09a45f1ed8ee320457d55e96161d8957e11dd8e8ec7dd4c1b06443
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/local-storage@npm:10.3.3":
|
||||
version: 10.3.3
|
||||
resolution: "@verdaccio/local-storage@npm:10.3.3"
|
||||
|
@ -3090,25 +3099,25 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/logger-7@npm:6.0.0-6-next.12":
|
||||
version: 6.0.0-6-next.12
|
||||
resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.12"
|
||||
"@verdaccio/logger-7@npm:6.0.0-6-next.13":
|
||||
version: 6.0.0-6-next.13
|
||||
resolution: "@verdaccio/logger-7@npm:6.0.0-6-next.13"
|
||||
dependencies:
|
||||
"@verdaccio/logger-commons": 6.0.0-6-next.35
|
||||
"@verdaccio/logger-commons": 6.0.0-6-next.36
|
||||
pino: 7.11.0
|
||||
checksum: 3585b19083cda2658a74928d0fa892d1c1ff4b340af6fe19945914aec66a455738b51d246d41834e53eaaa54cb5302684b2e4be528f9e774cdb95410715a202c
|
||||
checksum: 718cb0b28956038dfeca2ac13af942cf7fcc6a5da88eb987858037363fb7b41a790d20fea366189d52fc6d75e355fab7aa5d5e4a7c88fb85cfbf063e940f3c18
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/logger-commons@npm:6.0.0-6-next.35":
|
||||
version: 6.0.0-6-next.35
|
||||
resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.35"
|
||||
"@verdaccio/logger-commons@npm:6.0.0-6-next.36":
|
||||
version: 6.0.0-6-next.36
|
||||
resolution: "@verdaccio/logger-commons@npm:6.0.0-6-next.36"
|
||||
dependencies:
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/logger-prettify": 6.0.0-6-next.9
|
||||
colorette: 2.0.19
|
||||
debug: 4.3.4
|
||||
checksum: 1726111f2b16d48ef45593fe329c3c235ad5cc872c954c07a446746d9ff25bff4822e5173605d76aa6857fee1daf119f32be175eef7f6556e7fe4aabf1d3ce63
|
||||
checksum: 85947d959820f6b2a4612d2e361cd9deeb996badf0362e0ac59525a2aa9146ba0f976fd83a277122af77c253c7e9929496a323f791e41f77d684ff64deb3e9ab
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3125,21 +3134,21 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/middleware@npm:6.0.0-6-next.46":
|
||||
version: 6.0.0-6-next.46
|
||||
resolution: "@verdaccio/middleware@npm:6.0.0-6-next.46"
|
||||
"@verdaccio/middleware@npm:6.0.0-6-next.47":
|
||||
version: 6.0.0-6-next.47
|
||||
resolution: "@verdaccio/middleware@npm:6.0.0-6-next.47"
|
||||
dependencies:
|
||||
"@verdaccio/config": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/url": 11.0.0-6-next.33
|
||||
"@verdaccio/utils": 6.0.0-6-next.35
|
||||
"@verdaccio/config": 6.0.0-6-next.68
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/url": 11.0.0-6-next.34
|
||||
"@verdaccio/utils": 6.0.0-6-next.36
|
||||
debug: 4.3.4
|
||||
express: 4.18.2
|
||||
express-rate-limit: 5.5.1
|
||||
lodash: 4.17.21
|
||||
lru-cache: 7.16.1
|
||||
mime: 2.6.0
|
||||
checksum: a53154f3b5d6f393d07bb569cd6a03c0c19df5d703e82151f0cc3a600fea5cd3d5d1d72df49b75ffa7bd73b82b6d8f46ff30d04aaaf4b26ba5f174db5e3d8f55
|
||||
checksum: a14a997ef3097adb8ec1e2fa6490292c9b77db1425de55ed59963b1866ae22b02c684c440675a6d9da9727b35f17a106d014e8457b788481cebd174968ef9d00
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3161,16 +3170,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/tarball@npm:11.0.0-6-next.36":
|
||||
version: 11.0.0-6-next.36
|
||||
resolution: "@verdaccio/tarball@npm:11.0.0-6-next.36"
|
||||
"@verdaccio/tarball@npm:11.0.0-6-next.37":
|
||||
version: 11.0.0-6-next.37
|
||||
resolution: "@verdaccio/tarball@npm:11.0.0-6-next.37"
|
||||
dependencies:
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/url": 11.0.0-6-next.33
|
||||
"@verdaccio/utils": 6.0.0-6-next.35
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/url": 11.0.0-6-next.34
|
||||
"@verdaccio/utils": 6.0.0-6-next.36
|
||||
debug: 4.3.4
|
||||
lodash: 4.17.21
|
||||
checksum: 857d74fbb1cc0a4f0a4ae691dfeefb57a99fe023817487a266bbc53dde151bf7a618813b555e284cbee88df7caa80d3d186f0a9e8b2f60864dc31e523b73d99d
|
||||
checksum: c400432a17fd3c9c89f702a3ac5ef85a599615ec3bf8a6ccfb59aeade3e51dbc4591892b717261e7fa9e6aaa4e8a2bbb0c320675e2534004ca71378bcf8845c2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -3181,34 +3190,34 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/ui-theme@npm:6.0.0-6-next.67":
|
||||
version: 6.0.0-6-next.67
|
||||
resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.67"
|
||||
checksum: 5e6a8deca79ffe044f3dac76bc381f781e0c790ede9a069861d3c017cdb78ae90b4e14472c5fc5acdb1b573c3b5a398d82fb36cd48747d29b0c5d81806ef95ee
|
||||
"@verdaccio/ui-theme@npm:6.0.0-6-next.68":
|
||||
version: 6.0.0-6-next.68
|
||||
resolution: "@verdaccio/ui-theme@npm:6.0.0-6-next.68"
|
||||
checksum: 1f8f361cf74344bc98fcb23d2486fefd2485114de1f06c29374c11b71351d5ff92ff0a97dd538c73c1fdc465c2733cc0ca04df82fd4fb6568f156cdfa6220593
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/url@npm:11.0.0-6-next.33":
|
||||
version: 11.0.0-6-next.33
|
||||
resolution: "@verdaccio/url@npm:11.0.0-6-next.33"
|
||||
"@verdaccio/url@npm:11.0.0-6-next.34":
|
||||
version: 11.0.0-6-next.34
|
||||
resolution: "@verdaccio/url@npm:11.0.0-6-next.34"
|
||||
dependencies:
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
debug: 4.3.4
|
||||
lodash: 4.17.21
|
||||
validator: 13.9.0
|
||||
checksum: e138638e0f0a479133135199d8db91d45295854366132ae514266c67c8169171bd5b5a251a4629f41b8ae3dae1f295190ff89557d49e6029ff09026312268eb8
|
||||
checksum: 63adf681d874527ee6bd2648ac40aebca4d61e87cb6e046d9f0770a57d431abd6615a914c579e39f16a7f9e8cf459e8620a13d9a2ce81ce74e499498ed3d35e0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@verdaccio/utils@npm:6.0.0-6-next.35":
|
||||
version: 6.0.0-6-next.35
|
||||
resolution: "@verdaccio/utils@npm:6.0.0-6-next.35"
|
||||
"@verdaccio/utils@npm:6.0.0-6-next.36":
|
||||
version: 6.0.0-6-next.36
|
||||
resolution: "@verdaccio/utils@npm:6.0.0-6-next.36"
|
||||
dependencies:
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
lodash: 4.17.21
|
||||
minimatch: 3.1.2
|
||||
semver: 7.3.8
|
||||
checksum: 97f04effafb1627f85036e1fe4c626bfc42c0a58b44942d5f8578c6e2cf9d6b6d933d29b817aa5d7c6864901a438eb523c9744f3b7d1d2f5eef2765b6cbbfb1d
|
||||
checksum: d6dbd7b47669a1ada57dda955c2a5c51eba127a9a35ab2f1823c9e4d5098f32ed16eb1c9f52e665e13cb0cbdfab7816e683944e780613c7dd62a5451f4867293
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -10579,16 +10588,16 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"verdaccio-audit@npm:11.0.0-6-next.30":
|
||||
version: 11.0.0-6-next.30
|
||||
resolution: "verdaccio-audit@npm:11.0.0-6-next.30"
|
||||
"verdaccio-audit@npm:11.0.0-6-next.31":
|
||||
version: 11.0.0-6-next.31
|
||||
resolution: "verdaccio-audit@npm:11.0.0-6-next.31"
|
||||
dependencies:
|
||||
"@verdaccio/config": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/config": 6.0.0-6-next.68
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
express: 4.18.2
|
||||
https-proxy-agent: 5.0.1
|
||||
node-fetch: cjs
|
||||
checksum: 3cfd734653d3d89055d9171e95b4b18e7c6d572bd0cbc88bfe17eeb4bdb419d49cfee48f12d7c52dbabd8ff5639e5462c46cc8ef4c46adbd084fc292dd0e595c
|
||||
checksum: f5a2afb2ba4ccaa66795ba01c9cbede6827565a42c996e8a612a0ed1dc764503a78fe896446235efd957dfe2ecb1fc275c7a223f43bd5dc634840ed1326cae85
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -10601,17 +10610,19 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"verdaccio-htpasswd@npm:10.5.5":
|
||||
version: 10.5.5
|
||||
resolution: "verdaccio-htpasswd@npm:10.5.5"
|
||||
"verdaccio-htpasswd@npm:11.0.0-6-next.38":
|
||||
version: 11.0.0-6-next.38
|
||||
resolution: "verdaccio-htpasswd@npm:11.0.0-6-next.38"
|
||||
dependencies:
|
||||
"@verdaccio/file-locking": 10.3.1
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/file-locking": 11.0.0-6-next.7
|
||||
apache-md5: 1.1.8
|
||||
bcryptjs: 2.4.3
|
||||
core-js: 3.28.0
|
||||
debug: 4.3.4
|
||||
http-errors: 2.0.0
|
||||
http-errors: 1.8.1
|
||||
unix-crypt-td-js: 1.1.4
|
||||
checksum: 1a5706af7279b20db47f401b2e34e2586cbf114fc325cbdbdc9087a68fd8621e3376d2337f666c2ecc9f75f4f9c129613fc558e7e088bdffc67d8b5128ed4f0d
|
||||
checksum: eb633f15ad3d2eab0ce770fd65adcc4b0a7abc7d272271ef8549678c2ed4882023c7236158d1f88c42d987ed1970b1497a659ea478f0f73fb78565770463df0b
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
@ -10670,18 +10681,18 @@ __metadata:
|
|||
"@typescript-eslint/eslint-plugin": 5.59.0
|
||||
"@typescript-eslint/parser": 5.59.0
|
||||
"@verdaccio-scope/verdaccio-auth-foo": 0.0.2
|
||||
"@verdaccio/config": 6.0.0-6-next.67
|
||||
"@verdaccio/core": 6.0.0-6-next.67
|
||||
"@verdaccio/config": 6.0.0-6-next.68
|
||||
"@verdaccio/core": 6.0.0-6-next.68
|
||||
"@verdaccio/local-storage": 10.3.3
|
||||
"@verdaccio/logger-7": 6.0.0-6-next.12
|
||||
"@verdaccio/middleware": 6.0.0-6-next.46
|
||||
"@verdaccio/logger-7": 6.0.0-6-next.13
|
||||
"@verdaccio/middleware": 6.0.0-6-next.47
|
||||
"@verdaccio/signature": 6.0.0-6-next.2
|
||||
"@verdaccio/streams": 10.2.1
|
||||
"@verdaccio/tarball": 11.0.0-6-next.36
|
||||
"@verdaccio/tarball": 11.0.0-6-next.37
|
||||
"@verdaccio/types": 11.0.0-6-next.25
|
||||
"@verdaccio/ui-theme": 6.0.0-6-next.67
|
||||
"@verdaccio/url": 11.0.0-6-next.33
|
||||
"@verdaccio/utils": 6.0.0-6-next.35
|
||||
"@verdaccio/ui-theme": 6.0.0-6-next.68
|
||||
"@verdaccio/url": 11.0.0-6-next.34
|
||||
"@verdaccio/utils": 6.0.0-6-next.36
|
||||
JSONStream: 1.3.5
|
||||
async: 3.2.4
|
||||
babel-eslint: 10.1.0
|
||||
|
@ -10739,9 +10750,9 @@ __metadata:
|
|||
ts-node: 10.9.1
|
||||
typescript: 4.9.5
|
||||
validator: 13.9.0
|
||||
verdaccio-audit: 11.0.0-6-next.30
|
||||
verdaccio-audit: 11.0.0-6-next.31
|
||||
verdaccio-auth-memory: 10.2.2
|
||||
verdaccio-htpasswd: 10.5.5
|
||||
verdaccio-htpasswd: 11.0.0-6-next.38
|
||||
verdaccio-memory: 10.3.2
|
||||
dependenciesMeta:
|
||||
"@verdaccio/types@11.0.0-6-next.24":
|
||||
|
|
Loading…
Add table
Reference in a new issue