0
Fork 0
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:
Juan Picado 2023-04-22 11:08:59 +02:00 committed by GitHub
parent b3ea8162ac
commit e939ca24af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 460 additions and 181 deletions

View file

@ -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

View 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

View file

@ -2,7 +2,6 @@ name: Module Smoke Test 5.x
on:
workflow_dispatch:
pull_request:
push:
permissions:
contents: read
jobs:

158
.pnp.cjs generated
View file

@ -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"\

View file

@ -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",

View file

@ -30,4 +30,4 @@ middlewares:
audit:
enabled: true
logs: { type: stdout, format: json, level: warn }
log: { type: stdout, format: json, level: warn }

View file

@ -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;

View file

@ -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`);
}

View file

@ -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, []);

View file

@ -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);

View file

@ -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
View file

@ -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":