Compare commits
34 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d220e5b54b | ||
|
|
f8a321f03e | ||
|
|
ac0fed3fa0 | ||
|
|
f6c06fc982 | ||
|
|
d92ba65866 | ||
|
|
6a4d6dddf7 | ||
|
|
73c0194091 | ||
|
|
8a2bb51ba3 | ||
|
|
a1a73e9172 | ||
|
|
6304965009 | ||
|
|
5fef0b629a | ||
|
|
08e1b2137e | ||
|
|
307736d7fe | ||
|
|
6e404a0449 | ||
|
|
0613d08adf | ||
|
|
2027c8e844 | ||
|
|
1a3a0880ad | ||
|
|
15bd80bf8a | ||
|
|
8bc332b77d | ||
|
|
3f71267963 | ||
|
|
07a0ecbac6 | ||
|
|
54b19060fe | ||
|
|
da0692f9ff | ||
|
|
95e6c8f9d6 | ||
|
|
93504313f2 | ||
|
|
75a6b322d3 | ||
|
|
4e14aff33f | ||
|
|
a91c5b8f06 | ||
|
|
d207057e4b | ||
|
|
9da53084be | ||
|
|
c31ffad6af | ||
|
|
5003aa7016 | ||
|
|
23296a2c66 | ||
|
|
3eb48d6c70 |
21
.changeset/bright-mugs-buy.md
Normal file
21
.changeset/bright-mugs-buy.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
'docusaurus-plugin-contributors': patch
|
||||
'generator-verdaccio-plugin': patch
|
||||
'@verdaccio/logger-prettify': patch
|
||||
'@verdaccio/local-scripts': patch
|
||||
'@verdaccio/file-locking': patch
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/server-fastify': patch
|
||||
'@verdaccio/test-helper': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'verdaccio': patch
|
||||
'@verdaccio/node-api': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/hooks': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
chore(deps): built-in node imports
|
||||
5
.changeset/clean-dryers-hug.md
Normal file
5
.changeset/clean-dryers-hug.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
---
|
||||
|
||||
chore(deps): express
|
||||
7
.changeset/cool-balloons-search.md
Normal file
7
.changeset/cool-balloons-search.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'verdaccio-htpasswd': patch
|
||||
'verdaccio-memory': patch
|
||||
'verdaccio-audit': patch
|
||||
---
|
||||
|
||||
chore(deps): plugins audit, htpasswd, memory
|
||||
7
.changeset/cuddly-paws-laugh.md
Normal file
7
.changeset/cuddly-paws-laugh.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/logger-commons': patch
|
||||
'@verdaccio/types': patch
|
||||
---
|
||||
|
||||
feat(logger): support redacting sensitive data
|
||||
6
.changeset/few-poets-bathe.md
Normal file
6
.changeset/few-poets-bathe.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/signature': patch
|
||||
'@verdaccio/utils': patch
|
||||
---
|
||||
|
||||
chore(deps): signature, utils
|
||||
5
.changeset/flat-rules-design.md
Normal file
5
.changeset/flat-rules-design.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'verdaccio': patch
|
||||
---
|
||||
|
||||
chore(deps): verdaccio package
|
||||
5
.changeset/friendly-feet-sing.md
Normal file
5
.changeset/friendly-feet-sing.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
---
|
||||
|
||||
chore(deps): local-storage
|
||||
5
.changeset/fuzzy-ears-yawn.md
Normal file
5
.changeset/fuzzy-ears-yawn.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
add `@verdaccio/core` as a dependency
|
||||
7
.changeset/gold-parents-shave.md
Normal file
7
.changeset/gold-parents-shave.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/node-api': minor
|
||||
'@verdaccio/config': minor
|
||||
---
|
||||
|
||||
feat: getListenAddress getConfigParsed methods
|
||||
5
.changeset/hungry-books-bathe.md
Normal file
5
.changeset/hungry-books-bathe.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore(deps): web package
|
||||
@@ -74,14 +74,18 @@
|
||||
"breezy-geckos-search",
|
||||
"breezy-toys-judge",
|
||||
"bright-bobcats-ring",
|
||||
"bright-mugs-buy",
|
||||
"brown-lions-talk",
|
||||
"brown-planets-approve",
|
||||
"calm-mangos-compare",
|
||||
"chatty-apricots-report",
|
||||
"clean-beds-wash",
|
||||
"clean-dryers-hug",
|
||||
"clean-rings-listen",
|
||||
"clever-bees-happen",
|
||||
"cool-balloons-search",
|
||||
"cool-seals-watch",
|
||||
"cuddly-paws-laugh",
|
||||
"curly-mirrors-smile",
|
||||
"curvy-rockets-camp",
|
||||
"cyan-snakes-kiss",
|
||||
@@ -93,13 +97,18 @@
|
||||
"eleven-rocks-dream",
|
||||
"few-beds-itch",
|
||||
"few-ears-deny",
|
||||
"few-poets-bathe",
|
||||
"fifty-falcons-design",
|
||||
"flat-rules-design",
|
||||
"forty-hounds-matter",
|
||||
"four-buttons-remember",
|
||||
"fresh-owls-hunt",
|
||||
"friendly-feet-sing",
|
||||
"funny-fireants-tan",
|
||||
"fuzzy-ears-yawn",
|
||||
"gentle-stingrays-repeat",
|
||||
"gold-files-speak",
|
||||
"gold-parents-shave",
|
||||
"gold-squids-watch",
|
||||
"great-candles-hang",
|
||||
"green-eagles-boil",
|
||||
@@ -109,6 +118,7 @@
|
||||
"hip-eggs-serve",
|
||||
"hip-suns-jam",
|
||||
"hot-crews-live",
|
||||
"hungry-books-bathe",
|
||||
"hungry-dolls-destroy",
|
||||
"itchy-glasses-end",
|
||||
"large-turkeys-change",
|
||||
@@ -131,18 +141,23 @@
|
||||
"poor-hats-smile",
|
||||
"poor-queens-shop",
|
||||
"popular-trees-grin",
|
||||
"pretty-beds-destroy",
|
||||
"proud-houses-switch",
|
||||
"purple-planes-do",
|
||||
"quick-avocados-type",
|
||||
"quick-seas-deny",
|
||||
"rare-mirrors-notice",
|
||||
"real-balloons-travel",
|
||||
"real-seahorses-change",
|
||||
"red-dolls-repair",
|
||||
"rotten-bananas-attend",
|
||||
"rotten-melons-notice",
|
||||
"rotton-readers-shave",
|
||||
"rude-birds-design",
|
||||
"rude-socks-walk",
|
||||
"serious-apes-rule",
|
||||
"seven-peas-obey",
|
||||
"seven-suits-kneel",
|
||||
"sharp-queens-rhyme",
|
||||
"shiny-buttons-laugh",
|
||||
"short-mails-smoke",
|
||||
@@ -151,25 +166,32 @@
|
||||
"silent-tips-admire",
|
||||
"silver-houses-remain",
|
||||
"silver-insects-train",
|
||||
"six-planes-appear",
|
||||
"slow-cars-guess",
|
||||
"smooth-games-share",
|
||||
"soft-berries-fail",
|
||||
"strange-pants-chew",
|
||||
"stupid-camels-build",
|
||||
"stupid-socks-grow",
|
||||
"sweet-crabs-deliver",
|
||||
"swift-knives-shop",
|
||||
"swift-mangos-grab",
|
||||
"swift-zebras-cheer",
|
||||
"tame-hairs-drive",
|
||||
"ten-jeans-approve",
|
||||
"tender-buckets-smoke",
|
||||
"thick-dolphins-rule",
|
||||
"thick-insects-run",
|
||||
"thirty-comics-trade",
|
||||
"tidy-socks-battle",
|
||||
"tricky-impalas-shake",
|
||||
"tricky-kiwis-thank",
|
||||
"tricky-knives-end",
|
||||
"twelve-games-wonder",
|
||||
"violet-baboons-beg",
|
||||
"violet-bobcats-allow",
|
||||
"violet-boxes-float",
|
||||
"violet-poems-walk",
|
||||
"weak-cherries-serve",
|
||||
"wet-cats-behave",
|
||||
"wicked-points-relate",
|
||||
|
||||
5
.changeset/pretty-beds-destroy.md
Normal file
5
.changeset/pretty-beds-destroy.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
---
|
||||
|
||||
fix: restore minimatch major version
|
||||
5
.changeset/rare-mirrors-notice.md
Normal file
5
.changeset/rare-mirrors-notice.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
---
|
||||
|
||||
chore(auth): typings
|
||||
5
.changeset/rotten-bananas-attend.md
Normal file
5
.changeset/rotten-bananas-attend.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
---
|
||||
|
||||
chore(auth): multiple plugins test
|
||||
8
.changeset/seven-peas-obey.md
Normal file
8
.changeset/seven-peas-obey.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/file-locking': patch
|
||||
'@verdaccio/tarball': patch
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/url': patch
|
||||
---
|
||||
|
||||
chore(deps): clean up core modules
|
||||
5
.changeset/seven-suits-kneel.md
Normal file
5
.changeset/seven-suits-kneel.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/proxy': patch
|
||||
---
|
||||
|
||||
chore(proxy): update tests
|
||||
8
.changeset/six-planes-appear.md
Normal file
8
.changeset/six-planes-appear.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/logger-prettify': patch
|
||||
'@verdaccio/logger-commons': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/hooks': patch
|
||||
---
|
||||
|
||||
chore(deps): hooks, loaders, logger
|
||||
6
.changeset/soft-berries-fail.md
Normal file
6
.changeset/soft-berries-fail.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): update deps and storybook
|
||||
5
.changeset/stupid-socks-grow.md
Normal file
5
.changeset/stupid-socks-grow.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
chore(deps): middleware
|
||||
8
.changeset/tame-hairs-drive.md
Normal file
8
.changeset/tame-hairs-drive.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/search-indexer': patch
|
||||
'@verdaccio/node-api': patch
|
||||
'@verdaccio/search': patch
|
||||
'@verdaccio/proxy': patch
|
||||
---
|
||||
|
||||
chore(deps): node-api, proxy, search, search-indexer
|
||||
5
.changeset/thick-insects-run.md
Normal file
5
.changeset/thick-insects-run.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
chore(deps): storage
|
||||
18
.changeset/tricky-kiwis-thank.md
Normal file
18
.changeset/tricky-kiwis-thank.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
'@verdaccio/test-cli-commons': patch
|
||||
'@verdaccio/e2e-cli-pnpm10': patch
|
||||
'@verdaccio/e2e-cli-npm10': patch
|
||||
'@verdaccio/e2e-cli-npm11': patch
|
||||
'@verdaccio/e2e-cli-pnpm8': patch
|
||||
'@verdaccio/e2e-cli-pnpm9': patch
|
||||
'@verdaccio/e2e-cli-yarn1': patch
|
||||
'@verdaccio/e2e-cli-yarn2': patch
|
||||
'@verdaccio/e2e-cli-yarn3': patch
|
||||
'@verdaccio/e2e-cli-yarn4': patch
|
||||
'@verdaccio/e2e-cli-npm6': patch
|
||||
'@verdaccio/e2e-cli-npm7': patch
|
||||
'@verdaccio/e2e-cli-npm8': patch
|
||||
'@verdaccio/e2e-cli-npm9': patch
|
||||
---
|
||||
|
||||
chore(deps): e2e-cli
|
||||
5
.changeset/violet-poems-walk.md
Normal file
5
.changeset/violet-poems-walk.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
chore(api): remove obsolete tests
|
||||
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -68,7 +68,7 @@ jobs:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node_version: [18, 20, 21, 22, 23, 24]
|
||||
node_version: [18, 20, 22, 24]
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
|
||||
@@ -45,8 +45,8 @@ ADD packages/config/src/conf/docker.yaml /verdaccio/conf/config.yaml
|
||||
|
||||
RUN adduser -u $VERDACCIO_USER_UID -S -D -h $VERDACCIO_APPDIR -g "$VERDACCIO_USER_NAME user" -s /sbin/nologin $VERDACCIO_USER_NAME && \
|
||||
chmod -R +x $VERDACCIO_APPDIR/packages/verdaccio/bin $VERDACCIO_APPDIR/docker-bin && \
|
||||
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage && \
|
||||
chmod -R g=u /verdaccio/storage /etc/passwd
|
||||
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage /verdaccio/conf && \
|
||||
chmod -R g=u /verdaccio/storage /verdaccio/conf /etc/passwd
|
||||
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @verdaccio/test-cli-commons
|
||||
|
||||
## 2.0.0-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
|
||||
## 2.0.0-next-8.0
|
||||
|
||||
### Major Changes
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/test-cli-commons",
|
||||
"version": "2.0.0-next-8.0",
|
||||
"version": "2.0.0-next-8.1",
|
||||
"main": "src/index.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.6",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.7",
|
||||
"debug": "4.4.1",
|
||||
"fs-extra": "11.2.0",
|
||||
"get-port": "5.1.1",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:8.0.0-next-8.17"
|
||||
"verdaccio": "workspace:8.0.0-next-8.21"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo no test",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import { spawn } from 'child_process';
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import buildDebug from 'debug';
|
||||
import { createInterface } from 'readline';
|
||||
import { SpawnOptions, spawn } from 'node:child_process';
|
||||
import { createInterface } from 'node:readline';
|
||||
|
||||
const debug = buildDebug('verdaccio:e2e:process');
|
||||
const debugRead = buildDebug('verdaccio:e2e:line');
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import buildDebug from 'debug';
|
||||
import fs from 'fs-extra';
|
||||
import { cp, readFile, writeFile } from 'fs/promises';
|
||||
import { join } from 'path';
|
||||
import { cp, readFile, writeFile } from 'node:fs/promises';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { fileUtils } from '@verdaccio/core';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { cp, writeFile } from 'fs/promises';
|
||||
import YAML from 'js-yaml';
|
||||
import { join } from 'path';
|
||||
import { URL } from 'url';
|
||||
import { cp, writeFile } from 'node:fs/promises';
|
||||
import { join } from 'node:path';
|
||||
import { URL } from 'node:url';
|
||||
|
||||
import { Dependencies } from '@verdaccio/types';
|
||||
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-npm-common
|
||||
|
||||
## 1.0.1-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.1-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm-common",
|
||||
"version": "1.0.1-next-8.0",
|
||||
"version": "1.0.1-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0"
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo no test"
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm10",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "10.9.0"
|
||||
"npm": "10.9.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
import { addRegistry } from '@verdaccio/test-cli-commons';
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm11",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "11.4.0"
|
||||
"npm": "11.4.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
import { addRegistry } from '@verdaccio/test-cli-commons';
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm6
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm6",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "6.14.18"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm7
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm7",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "7.24.2"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm8
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm8",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "8.19.4"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm9",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"version": "1.0.2-next-8.2",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
"npm": "9.9.3"
|
||||
"npm": "9.9.4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
import { addRegistry } from '@verdaccio/test-cli-commons';
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/e2e-cli-pnpm9
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm-common",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"pnpm": "9.0.0-alpha.10"
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"pnpm": "10.5.2"
|
||||
},
|
||||
"main": "index.ts",
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-pnpm9
|
||||
|
||||
## 1.0.1-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-pnpm-common@1.0.2-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm10",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1-next-8.0",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-pnpm-common": "workspace:*",
|
||||
"pnpm": "10.0.0-alpha.2"
|
||||
"pnpm": "10.12.1"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-pnpm7
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-pnpm-common@1.0.2-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm8",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-pnpm-common": "workspace:*",
|
||||
"pnpm": "8.15.9"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/e2e-cli-pnpm9
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
- @verdaccio/e2e-cli-pnpm-common@1.0.2-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-pnpm9",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@verdaccio/e2e-cli-pnpm-common": "workspace:*",
|
||||
"pnpm": "9.13.2"
|
||||
"pnpm": "9.15.9"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @verdaccio/e2e-cli-yarn1
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn1",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"yarn": "1.22.22"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { SpawnOptions } from 'child_process';
|
||||
import { join } from 'path';
|
||||
import { SpawnOptions } from 'node:child_process';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @verdaccio/e2e-cli-yarn2
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn2",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@yarnpkg/cli-dist": "2.4.2"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { join } from 'path';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @verdaccio/e2e-cli-yarn3
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn3",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@yarnpkg/cli-dist": "3.8.3"
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@yarnpkg/cli-dist": "3.8.7"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 50000"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { join } from 'path';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @verdaccio/e2e-cli-yarn4
|
||||
|
||||
## 1.0.2-next-8.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 9da5308: chore(deps): e2e-cli
|
||||
- Updated dependencies [9da5308]
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.1
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-yarn4",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"version": "1.0.2-next-8.1",
|
||||
"dependencies": {
|
||||
"@yarnpkg/cli-dist": "4.4.0",
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0"
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1",
|
||||
"@yarnpkg/cli-dist": "4.9.2"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "vitest run --testTimeout 80000"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { join } from 'path';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { exec } from '@verdaccio/test-cli-commons';
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
"name": "@verdaccio/e2e-ui",
|
||||
"version": "2.0.0",
|
||||
"devDependencies": {
|
||||
"verdaccio": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.5",
|
||||
"verdaccio": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.6",
|
||||
"debug": "4.4.1",
|
||||
"cypress": "^13.6.0",
|
||||
"get-port": "5.1.1"
|
||||
|
||||
@@ -1,5 +1,60 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 8.1.0-next-8.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f8a321f]
|
||||
- @verdaccio/core@8.0.0-next-8.21
|
||||
- @verdaccio/auth@8.0.0-next-8.21
|
||||
- @verdaccio/config@8.0.0-next-8.21
|
||||
- @verdaccio/middleware@8.0.0-next-8.21
|
||||
- @verdaccio/store@8.0.0-next-8.21
|
||||
- @verdaccio/logger@8.0.0-next-8.21
|
||||
|
||||
## 8.1.0-next-8.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 08e1b21: chore(deps): built-in node imports
|
||||
- Updated dependencies [08e1b21]
|
||||
- Updated dependencies [a1a73e9]
|
||||
- Updated dependencies [6a4d6dd]
|
||||
- Updated dependencies [73c0194]
|
||||
- Updated dependencies [5fef0b6]
|
||||
- @verdaccio/middleware@8.0.0-next-8.20
|
||||
- @verdaccio/config@8.0.0-next-8.20
|
||||
- @verdaccio/store@8.0.0-next-8.20
|
||||
- @verdaccio/auth@8.0.0-next-8.20
|
||||
- @verdaccio/core@8.0.0-next-8.20
|
||||
- @verdaccio/logger@8.0.0-next-8.20
|
||||
|
||||
## 8.1.0-next-8.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a91c5b8: chore(api): remove obsolete tests
|
||||
- Updated dependencies [9350431]
|
||||
- Updated dependencies [da0692f]
|
||||
- Updated dependencies [3f71267]
|
||||
- @verdaccio/core@8.0.0-next-8.19
|
||||
- @verdaccio/middleware@8.0.0-next-8.19
|
||||
- @verdaccio/store@8.0.0-next-8.19
|
||||
- @verdaccio/auth@8.0.0-next-8.19
|
||||
- @verdaccio/config@8.0.0-next-8.19
|
||||
- @verdaccio/logger@8.0.0-next-8.19
|
||||
|
||||
## 8.1.0-next-8.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/auth@8.0.0-next-8.18
|
||||
- @verdaccio/store@8.0.0-next-8.18
|
||||
- @verdaccio/core@8.0.0-next-8.18
|
||||
- @verdaccio/config@8.0.0-next-8.18
|
||||
- @verdaccio/middleware@8.0.0-next-8.18
|
||||
- @verdaccio/logger@8.0.0-next-8.18
|
||||
|
||||
## 8.1.0-next-8.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "8.1.0-next-8.17",
|
||||
"version": "8.1.0-next-8.21",
|
||||
"description": "Verdaccio Registry API",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -42,12 +42,12 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.21",
|
||||
"abortcontroller-polyfill": "1.7.8",
|
||||
"body-parser": "1.20.3",
|
||||
"cookies": "0.9.1",
|
||||
@@ -58,8 +58,8 @@
|
||||
"semver": "7.7.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.5",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.6",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.6",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.7",
|
||||
"mockdate": "3.0.5",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Application } from 'express';
|
||||
import _ from 'lodash';
|
||||
import path from 'path';
|
||||
import path from 'node:path';
|
||||
import supertest from 'supertest';
|
||||
import { expect } from 'vitest';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import nock from 'nock';
|
||||
import { basename } from 'path';
|
||||
import { basename } from 'node:path';
|
||||
import supertest from 'supertest';
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
|
||||
@@ -1,252 +0,0 @@
|
||||
// import { API_ERROR, HTTP_STATUS, errorUtils } from '@verdaccio/core';
|
||||
|
||||
// import { addVersion, publishPackage, removeTarball, unPublishPackage } from '../../src/publish';
|
||||
|
||||
// const REVISION_MOCK = '15-e53a77096b0ee33e';
|
||||
|
||||
// require('@verdaccio/logger').setup([{ type: 'stdout', format: 'pretty', level: 'info' }]);
|
||||
|
||||
// describe('Publish endpoints - add a tag', () => {
|
||||
// let req;
|
||||
// let res;
|
||||
// let next;
|
||||
|
||||
// beforeEach(() => {
|
||||
// req = {
|
||||
// params: {
|
||||
// version: '1.0.0',
|
||||
// tag: 'tag',
|
||||
// package: 'verdaccio',
|
||||
// },
|
||||
// body: '',
|
||||
// };
|
||||
// res = {
|
||||
// status: jest.fn(),
|
||||
// };
|
||||
|
||||
// next = jest.fn();
|
||||
// });
|
||||
|
||||
// test('should add a version', (done) => {
|
||||
// const storage = {
|
||||
// addVersion: (packageName, version, body, tag, cb) => {
|
||||
// expect(packageName).toEqual(req.params.package);
|
||||
// expect(version).toEqual(req.params.version);
|
||||
// expect(body).toEqual(req.body);
|
||||
// expect(tag).toEqual(req.params.tag);
|
||||
// cb();
|
||||
// done();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// addVersion(storage)(req, res, next);
|
||||
|
||||
// expect(res.status).toHaveBeenLastCalledWith(HTTP_STATUS.CREATED);
|
||||
// expect(next).toHaveBeenLastCalledWith({ ok: 'package published' });
|
||||
// });
|
||||
|
||||
// test('when failed to add a version', (done) => {
|
||||
// const storage = {
|
||||
// addVersion: (packageName, version, body, tag, cb) => {
|
||||
// const error = {
|
||||
// message: 'failure',
|
||||
// };
|
||||
// cb(error);
|
||||
// done();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// addVersion(storage)(req, res, next);
|
||||
|
||||
// expect(next).toHaveBeenLastCalledWith({ message: 'failure' });
|
||||
// });
|
||||
// });
|
||||
|
||||
// /**
|
||||
// * Delete tarball: '/:package/-/:filename/-rev/:revision'
|
||||
// */
|
||||
// describe('Publish endpoints - delete tarball', () => {
|
||||
// let req;
|
||||
// let res;
|
||||
// let next;
|
||||
|
||||
// beforeEach(() => {
|
||||
// req = {
|
||||
// params: {
|
||||
// filename: 'verdaccio.gzip',
|
||||
// package: 'verdaccio',
|
||||
// revision: REVISION_MOCK,
|
||||
// },
|
||||
// };
|
||||
// res = { status: jest.fn() };
|
||||
// next = jest.fn();
|
||||
// });
|
||||
|
||||
// test('should delete tarball successfully', (done) => {
|
||||
// const storage = {
|
||||
// removeTarball(packageName, filename, revision, cb) {
|
||||
// expect(packageName).toEqual(req.params.package);
|
||||
// expect(filename).toEqual(req.params.filename);
|
||||
// expect(revision).toEqual(req.params.revision);
|
||||
// cb();
|
||||
// done();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// removeTarball(storage)(req, res, next);
|
||||
// expect(res.status).toHaveBeenCalledWith(HTTP_STATUS.CREATED);
|
||||
// expect(next).toHaveBeenCalledWith({ ok: 'tarball removed' });
|
||||
// });
|
||||
|
||||
// test('failed while deleting the tarball', (done) => {
|
||||
// const error = {
|
||||
// message: 'deletion failed',
|
||||
// };
|
||||
// const storage = {
|
||||
// removeTarball(packageName, filename, revision, cb) {
|
||||
// cb(error);
|
||||
// done();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// removeTarball(storage)(req, res, next);
|
||||
// expect(next).toHaveBeenCalledWith(error);
|
||||
// });
|
||||
// });
|
||||
|
||||
// /**
|
||||
// * Un-publish package: '/:package/-rev/*'
|
||||
// */
|
||||
// describe('Publish endpoints - un-publish package', () => {
|
||||
// let req;
|
||||
// let res;
|
||||
// let next;
|
||||
|
||||
// beforeEach(() => {
|
||||
// req = {
|
||||
// params: {
|
||||
// package: 'verdaccio',
|
||||
// },
|
||||
// };
|
||||
// res = { status: jest.fn() };
|
||||
// next = jest.fn();
|
||||
// });
|
||||
|
||||
// test('should un-publish package successfully', async () => {
|
||||
// const storage = {
|
||||
// removePackage(packageName) {
|
||||
// expect(packageName).toEqual(req.params.package);
|
||||
// return Promise.resolve();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// await unPublishPackage(storage)(req, res, next);
|
||||
// expect(res.status).toHaveBeenCalledWith(HTTP_STATUS.CREATED);
|
||||
// expect(next).toHaveBeenCalledWith({ ok: 'package removed' });
|
||||
// });
|
||||
|
||||
// test('un-publish failed', async () => {
|
||||
// const storage = {
|
||||
// removePackage(packageName) {
|
||||
// expect(packageName).toEqual(req.params.package);
|
||||
// return Promise.reject(errorUtils.getInternalError());
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// await unPublishPackage(storage)(req, res, next);
|
||||
// expect(next).toHaveBeenCalledWith(errorUtils.getInternalError());
|
||||
// });
|
||||
// });
|
||||
|
||||
// /**
|
||||
// * Publish package: '/:package/:_rev?/:revision?'
|
||||
// */
|
||||
// describe('Publish endpoints - publish package', () => {
|
||||
// let req;
|
||||
// let res;
|
||||
// let next;
|
||||
|
||||
// beforeEach(() => {
|
||||
// req = {
|
||||
// body: {
|
||||
// name: 'verdaccio',
|
||||
// },
|
||||
// params: {
|
||||
// package: 'verdaccio',
|
||||
// },
|
||||
// };
|
||||
// res = { status: jest.fn() };
|
||||
// next = jest.fn();
|
||||
// });
|
||||
|
||||
// test('should change the existing package', () => {
|
||||
// const storage = {
|
||||
// changePackage: jest.fn(),
|
||||
// };
|
||||
|
||||
// req.params._rev = REVISION_MOCK;
|
||||
|
||||
// // @ts-ignore
|
||||
// publishPackage(storage)(req, res, next);
|
||||
// expect(storage.changePackage).toMatchSnapshot();
|
||||
// });
|
||||
|
||||
// test('should publish a new a new package', () => {
|
||||
// const storage = {
|
||||
// addPackage: jest.fn(),
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// publishPackage(storage)(req, res, next);
|
||||
// expect(storage.addPackage).toMatchSnapshot();
|
||||
// });
|
||||
|
||||
// test('should throw an error while publishing package', () => {
|
||||
// const storage = {
|
||||
// addPackage() {
|
||||
// throw new Error();
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// publishPackage(storage)(req, res, next);
|
||||
// expect(next).toHaveBeenCalledWith(new Error(API_ERROR.BAD_PACKAGE_DATA));
|
||||
// });
|
||||
|
||||
// describe('test start', () => {
|
||||
// test('should star a package', () => {
|
||||
// const storage = {
|
||||
// changePackage: jest.fn(),
|
||||
// getPackage({ callback }) {
|
||||
// callback(null, {
|
||||
// users: {},
|
||||
// });
|
||||
// },
|
||||
// };
|
||||
// req = {
|
||||
// params: {
|
||||
// package: 'verdaccio',
|
||||
// },
|
||||
// body: {
|
||||
// _rev: REVISION_MOCK,
|
||||
// users: {
|
||||
// verdaccio: true,
|
||||
// },
|
||||
// },
|
||||
// remote_user: {
|
||||
// name: 'verdaccio',
|
||||
// },
|
||||
// };
|
||||
|
||||
// // @ts-ignore
|
||||
// publishPackage(storage)(req, res, next);
|
||||
// expect(storage.changePackage).toMatchSnapshot();
|
||||
// });
|
||||
// });
|
||||
// });
|
||||
@@ -1,7 +1,7 @@
|
||||
/* eslint-disable curly */
|
||||
// ensure that all arguments are validated
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import fs from 'node:fs';
|
||||
import path from 'node:path';
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,57 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 8.0.0-next-8.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f8a321f]
|
||||
- @verdaccio/core@8.0.0-next-8.21
|
||||
- @verdaccio/config@8.0.0-next-8.21
|
||||
- @verdaccio/loaders@8.0.0-next-8.11
|
||||
- verdaccio-htpasswd@13.0.0-next-8.21
|
||||
- @verdaccio/signature@8.0.0-next-8.13
|
||||
|
||||
## 8.0.0-next-8.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 08e1b21: chore(deps): built-in node imports
|
||||
- 73c0194: chore(auth): typings
|
||||
- 5fef0b6: chore(auth): multiple plugins test
|
||||
- Updated dependencies [08e1b21]
|
||||
- Updated dependencies [a1a73e9]
|
||||
- Updated dependencies [6a4d6dd]
|
||||
- @verdaccio/config@8.0.0-next-8.20
|
||||
- @verdaccio/core@8.0.0-next-8.20
|
||||
- verdaccio-htpasswd@13.0.0-next-8.20
|
||||
- @verdaccio/loaders@8.0.0-next-8.10
|
||||
- @verdaccio/signature@8.0.0-next-8.12
|
||||
|
||||
## 8.0.0-next-8.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e404a0]
|
||||
- Updated dependencies [4e14aff]
|
||||
- Updated dependencies [9350431]
|
||||
- Updated dependencies [95e6c8f]
|
||||
- verdaccio-htpasswd@13.0.0-next-8.19
|
||||
- @verdaccio/signature@8.0.0-next-8.11
|
||||
- @verdaccio/core@8.0.0-next-8.19
|
||||
- @verdaccio/loaders@8.0.0-next-8.9
|
||||
- @verdaccio/config@8.0.0-next-8.19
|
||||
|
||||
## 8.0.0-next-8.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [23296a2]
|
||||
- @verdaccio/loaders@8.0.0-next-8.8
|
||||
- @verdaccio/core@8.0.0-next-8.18
|
||||
- @verdaccio/config@8.0.0-next-8.18
|
||||
- verdaccio-htpasswd@13.0.0-next-8.18
|
||||
- @verdaccio/signature@8.0.0-next-8.10
|
||||
|
||||
## 8.0.0-next-8.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "8.0.0-next-8.17",
|
||||
"version": "8.0.0-next-8.21",
|
||||
"description": "Verdaccio Authentication",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -42,18 +42,18 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.7",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.9",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.11",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.13",
|
||||
"debug": "4.4.1",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.17"
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.6",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.7",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.21",
|
||||
"express": "4.21.2",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import buildDebug from 'debug';
|
||||
import _, { isFunction } from 'lodash';
|
||||
import _ from 'lodash';
|
||||
import { HTPasswd } from 'verdaccio-htpasswd';
|
||||
|
||||
import { TOKEN_VALID_LENGTH, createAnonymousRemoteUser, createRemoteUser } from '@verdaccio/config';
|
||||
@@ -73,7 +73,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
}
|
||||
|
||||
public async init() {
|
||||
let plugins = (await this.loadPlugin()) as pluginUtils.Auth<unknown>[];
|
||||
let plugins = await this.loadPlugin();
|
||||
|
||||
debug('auth plugins found %s', plugins.length);
|
||||
if (!plugins || plugins.length === 0) {
|
||||
@@ -86,15 +86,14 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
|
||||
private loadDefaultPlugin() {
|
||||
debug('load default auth plugin');
|
||||
const pluginOptions: pluginUtils.PluginOptions = {
|
||||
config: this.config,
|
||||
logger: this.logger,
|
||||
};
|
||||
let authPlugin;
|
||||
try {
|
||||
authPlugin = new HTPasswd(
|
||||
{ file: './htpasswd' },
|
||||
pluginOptions as any as pluginUtils.PluginOptions
|
||||
{
|
||||
config: this.config,
|
||||
logger: this.logger,
|
||||
}
|
||||
);
|
||||
this.logger.info(
|
||||
{ name: 'verdaccio-htpasswd', pluginCategory: PLUGIN_CATEGORY.AUTHENTICATION },
|
||||
@@ -110,7 +109,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
}
|
||||
|
||||
private async loadPlugin() {
|
||||
return asyncLoadPlugin<pluginUtils.Auth<unknown>>(
|
||||
return asyncLoadPlugin<pluginUtils.Auth<Config>>(
|
||||
this.config.auth,
|
||||
{
|
||||
config: this.config,
|
||||
@@ -184,9 +183,9 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
): void {
|
||||
const plugins = this.plugins.slice(0);
|
||||
(function next(): void {
|
||||
const plugin = plugins.shift() as pluginUtils.Auth<Config>;
|
||||
const plugin = plugins.shift();
|
||||
|
||||
if (isFunction(plugin.authenticate) === false) {
|
||||
if (typeof plugin?.authenticate !== 'function') {
|
||||
return next();
|
||||
}
|
||||
|
||||
@@ -233,7 +232,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
|
||||
(function next(): void {
|
||||
let method = 'adduser';
|
||||
const plugin = plugins.shift() as pluginUtils.Auth<Config>;
|
||||
const plugin = plugins.shift();
|
||||
// @ts-expect-error future major (7.x) should remove this section
|
||||
if (typeof plugin.adduser === 'undefined' && typeof plugin.add_user === 'function') {
|
||||
method = 'add_user';
|
||||
@@ -283,9 +282,9 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
debug('allow access for %o', packageName);
|
||||
|
||||
(function next(): void {
|
||||
const plugin: pluginUtils.Auth<unknown> = plugins.shift() as pluginUtils.Auth<unknown>;
|
||||
const plugin = plugins.shift();
|
||||
|
||||
if (_.isNil(plugin) || isFunction(plugin.allow_access) === false) {
|
||||
if (typeof plugin?.allow_access !== 'function') {
|
||||
return next();
|
||||
}
|
||||
|
||||
@@ -321,7 +320,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
debug('allow unpublish for %o plugin does not implement allow_unpublish', packageName);
|
||||
continue;
|
||||
} else {
|
||||
plugin.allow_unpublish(user, pkg, (err, ok): void => {
|
||||
plugin.allow_unpublish(user, pkg, (err: VerdaccioError | null, ok?: boolean): void => {
|
||||
if (err) {
|
||||
debug(
|
||||
'forbidden publish for %o, it will fallback on unpublish permissions',
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
import path from 'path';
|
||||
import path from 'node:path';
|
||||
import { describe, expect, test, vi } from 'vitest';
|
||||
|
||||
import {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
import path from 'path';
|
||||
import path from 'node:path';
|
||||
import { describe, expect, test, vi } from 'vitest';
|
||||
|
||||
import {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import express from 'express';
|
||||
import path from 'path';
|
||||
import path from 'node:path';
|
||||
import supertest from 'supertest';
|
||||
import { describe, expect, test, vi } from 'vitest';
|
||||
|
||||
@@ -198,29 +198,52 @@ describe('AuthTest', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('test multiple authenticate methods', () => {
|
||||
test('should skip falsy values', async () => {
|
||||
const config: Config = new AppConfig({
|
||||
...getDefaultConfig(),
|
||||
plugins: path.join(__dirname, './partials/plugin'),
|
||||
auth: {
|
||||
success: {},
|
||||
'fail-invalid-method': {},
|
||||
},
|
||||
});
|
||||
config.checkSecretKey('12345');
|
||||
const auth: Auth = new Auth(config, logger);
|
||||
await auth.init();
|
||||
test('should success first plugin, ignore subsequent plugins', async () => {
|
||||
const config: Config = new AppConfig({
|
||||
...getDefaultConfig(),
|
||||
plugins: path.join(__dirname, './partials/plugin'),
|
||||
auth: {
|
||||
success: {},
|
||||
'no-access': {},
|
||||
},
|
||||
});
|
||||
config.checkSecretKey('12345');
|
||||
const auth: Auth = new Auth(config, logger);
|
||||
await auth.init();
|
||||
|
||||
return new Promise((resolve) => {
|
||||
auth.authenticate('foo', 'bar', (err, value) => {
|
||||
expect(value).toEqual({
|
||||
name: 'foo',
|
||||
groups: ['test', ROLES.$ALL, '$authenticated', '@all', '@authenticated', 'all'],
|
||||
real_groups: ['test'],
|
||||
});
|
||||
resolve(value);
|
||||
return new Promise((resolve) => {
|
||||
auth.authenticate('foo', 'bar', (err, value) => {
|
||||
expect(value).toEqual({
|
||||
name: 'foo',
|
||||
groups: ['test', ROLES.$ALL, '$authenticated', '@all', '@authenticated', 'all'],
|
||||
real_groups: ['test'],
|
||||
});
|
||||
resolve(value);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('should fail first plugin, success second plugin', async () => {
|
||||
const config: Config = new AppConfig({
|
||||
...getDefaultConfig(),
|
||||
plugins: path.join(__dirname, './partials/plugin'),
|
||||
auth: {
|
||||
'no-access': {},
|
||||
success: {},
|
||||
},
|
||||
});
|
||||
config.checkSecretKey('12345');
|
||||
const auth: Auth = new Auth(config, logger);
|
||||
await auth.init();
|
||||
|
||||
return new Promise((resolve) => {
|
||||
auth.authenticate('foo', 'bar', (err, value) => {
|
||||
expect(value).toEqual({
|
||||
name: 'foo',
|
||||
groups: ['test', ROLES.$ALL, '$authenticated', '@all', '@authenticated', 'all'],
|
||||
real_groups: ['test'],
|
||||
});
|
||||
resolve(value);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import path from 'path';
|
||||
import path from 'node:path';
|
||||
|
||||
import { getDefaultConfig } from '@verdaccio/config';
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
module.exports = function () {
|
||||
return {
|
||||
authenticate(user, pass, callback) {
|
||||
// no access but also no error
|
||||
callback(null, false);
|
||||
},
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"name": "verdaccio-no-access",
|
||||
"main": "no-access.js",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
@@ -1,5 +1,47 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 8.0.0-next-8.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f8a321f]
|
||||
- @verdaccio/core@8.0.0-next-8.21
|
||||
- @verdaccio/config@8.0.0-next-8.21
|
||||
- @verdaccio/node-api@8.0.0-next-8.21
|
||||
- @verdaccio/logger@8.0.0-next-8.21
|
||||
|
||||
## 8.0.0-next-8.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [08e1b21]
|
||||
- Updated dependencies [a1a73e9]
|
||||
- Updated dependencies [6a4d6dd]
|
||||
- @verdaccio/node-api@8.0.0-next-8.20
|
||||
- @verdaccio/config@8.0.0-next-8.20
|
||||
- @verdaccio/core@8.0.0-next-8.20
|
||||
- @verdaccio/logger@8.0.0-next-8.20
|
||||
|
||||
## 8.0.0-next-8.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [9350431]
|
||||
- Updated dependencies [54b1906]
|
||||
- @verdaccio/core@8.0.0-next-8.19
|
||||
- @verdaccio/node-api@8.0.0-next-8.19
|
||||
- @verdaccio/config@8.0.0-next-8.19
|
||||
- @verdaccio/logger@8.0.0-next-8.19
|
||||
|
||||
## 8.0.0-next-8.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/node-api@8.0.0-next-8.18
|
||||
- @verdaccio/core@8.0.0-next-8.18
|
||||
- @verdaccio/config@8.0.0-next-8.18
|
||||
- @verdaccio/logger@8.0.0-next-8.18
|
||||
|
||||
## 8.0.0-next-8.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/cli",
|
||||
"version": "8.0.0-next-8.17",
|
||||
"version": "8.0.0-next-8.21",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -47,10 +47,10 @@
|
||||
"start": "ts-node src/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.21",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.21",
|
||||
"clipanion": "4.0.0-rc.4",
|
||||
"envinfo": "7.14.0",
|
||||
"kleur": "4.1.5",
|
||||
|
||||
@@ -1,5 +1,38 @@
|
||||
# @verdaccio/config
|
||||
|
||||
## 8.0.0-next-8.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [f8a321f]
|
||||
- @verdaccio/core@8.0.0-next-8.21
|
||||
|
||||
## 8.0.0-next-8.20
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 6a4d6dd: feat: getListenAddress getConfigParsed methods
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 08e1b21: chore(deps): built-in node imports
|
||||
- a1a73e9: feat(logger): support redacting sensitive data
|
||||
- Updated dependencies [6a4d6dd]
|
||||
- @verdaccio/core@8.0.0-next-8.20
|
||||
|
||||
## 8.0.0-next-8.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [9350431]
|
||||
- @verdaccio/core@8.0.0-next-8.19
|
||||
|
||||
## 8.0.0-next-8.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@8.0.0-next-8.18
|
||||
|
||||
## 8.0.0-next-8.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/config",
|
||||
"version": "8.0.0-next-8.17",
|
||||
"version": "8.0.0-next-8.21",
|
||||
"description": "Verdaccio Configuration",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -42,7 +42,7 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.17",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.21",
|
||||
"debug": "4.4.1",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
136
packages/config/src/address.ts
Normal file
136
packages/config/src/address.ts
Normal file
@@ -0,0 +1,136 @@
|
||||
import createDebug from 'debug';
|
||||
|
||||
import { DEFAULT_DOMAIN, DEFAULT_PORT, DEFAULT_PROTOCOL } from '@verdaccio/core';
|
||||
import { Logger } from '@verdaccio/types';
|
||||
|
||||
const debug = createDebug('verdaccio:config:address');
|
||||
|
||||
export interface ListenAddress {
|
||||
proto: string;
|
||||
host?: string;
|
||||
port?: string;
|
||||
path?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse an internet address
|
||||
* Allow:
|
||||
- https:localhost:1234 - protocol + host + port
|
||||
- localhost:1234 - host + port
|
||||
- 1234 - port
|
||||
- http::1234 - protocol + port
|
||||
- https://localhost:443/ - full url + https
|
||||
- http://[::1]:443/ - ipv6
|
||||
- unix:/tmp/http.sock - unix sockets
|
||||
- https://unix:/tmp/http.sock - unix sockets (https)
|
||||
* @param {*} urlAddress the internet address definition
|
||||
* @return {Object|Null} literal object that represent the address parsed
|
||||
*/
|
||||
export function parseAddress(urlAddress: string): ListenAddress | null {
|
||||
//
|
||||
// TODO: refactor it to something more reasonable?
|
||||
//
|
||||
// protocol : // ( host )|( ipv6 ): port /
|
||||
const urlPattern = /^((https?):(\/\/)?)?((([^\/:]*)|\[([^\[\]]+)\]):)?(\d+)\/?$/.exec(urlAddress);
|
||||
|
||||
if (urlPattern) {
|
||||
return {
|
||||
proto: urlPattern[2] || DEFAULT_PROTOCOL,
|
||||
host: urlPattern[6] || urlPattern[7] || DEFAULT_DOMAIN,
|
||||
port: urlPattern[8] || DEFAULT_PORT,
|
||||
};
|
||||
}
|
||||
|
||||
const unixPattern = /^(?:(https?):\/\/)?unix:(\/.*)$/.exec(urlAddress);
|
||||
if (!unixPattern) {
|
||||
// if we cannot match the unix pattern, we return null
|
||||
// this is to avoid returning a wrong object
|
||||
return null;
|
||||
}
|
||||
|
||||
return {
|
||||
host: unixPattern[2],
|
||||
proto: unixPattern[1] || 'unix',
|
||||
path: unixPattern[2],
|
||||
};
|
||||
}
|
||||
|
||||
function addrToString(a: ListenAddress): string {
|
||||
return a.proto === 'unix' ? `unix:${a.host}` : `${a.proto}://${a.host}:${a.port}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve all addresses defined in the config file.
|
||||
* Verdaccio is able to listen multiple ports
|
||||
* @param {String} argListen
|
||||
* @param {String} configListen
|
||||
* eg:
|
||||
* listen:
|
||||
- localhost:5555
|
||||
- localhost:5557
|
||||
@return {Array}
|
||||
*/
|
||||
export function getListenAddress(listen: (string | void)[], logger: Logger): ListenAddress {
|
||||
debug('getListenAddress called with %o', listen);
|
||||
|
||||
if (!listen) {
|
||||
debug('No listen address provided, using default');
|
||||
return { proto: DEFAULT_PROTOCOL, host: DEFAULT_DOMAIN, port: DEFAULT_PORT };
|
||||
}
|
||||
|
||||
if (Array.isArray(listen)) {
|
||||
const filteredListen = listen.filter((item) => typeof item === 'string');
|
||||
|
||||
if (filteredListen.length === 0) {
|
||||
throw new Error('Listen addresses array cannot be empty');
|
||||
}
|
||||
|
||||
const invalid: string[] = [];
|
||||
|
||||
for (const raw of filteredListen) {
|
||||
const candidate = parseAddress(raw as string);
|
||||
if (candidate) {
|
||||
debug('valid listen address found: %o', candidate);
|
||||
|
||||
invalid.forEach((bad) =>
|
||||
logger.warn(
|
||||
{ addr: bad },
|
||||
'invalid address - @{addr}, we expect a port (e.g. "4873"), ' +
|
||||
'host:port (e.g. "localhost:4873"), full url ' +
|
||||
'(e.g. "http://localhost:4873/") or unix:/path/socket'
|
||||
)
|
||||
);
|
||||
|
||||
if (listen.length > 1) {
|
||||
logger.warn(
|
||||
`Multiple listen addresses are not supported, using the first valid one ${addrToString(
|
||||
candidate
|
||||
)}`
|
||||
);
|
||||
}
|
||||
return candidate;
|
||||
}
|
||||
invalid.push(raw as string);
|
||||
}
|
||||
|
||||
invalid.forEach((bad) =>
|
||||
logger.warn(
|
||||
{ addr: bad },
|
||||
'invalid address - @{addr}, we expect a port (e.g. "4873"), ' +
|
||||
'host:port (e.g. "localhost:4873"), full url ' +
|
||||
'(e.g. "http://localhost:4873/") or unix:/path/socket'
|
||||
)
|
||||
);
|
||||
throw new Error('No valid listen addresses found in configuration array');
|
||||
}
|
||||
|
||||
const single = parseAddress(listen);
|
||||
if (!single) {
|
||||
throw new Error(
|
||||
`Invalid address - ${listen}, we expect a port (e.g. "4873"), ` +
|
||||
`host:port (e.g. "localhost:4873"), full url ` +
|
||||
`(e.g. "http://localhost:4873/") or unix:/path/socket`
|
||||
);
|
||||
}
|
||||
return single;
|
||||
}
|
||||
@@ -210,7 +210,16 @@ middlewares:
|
||||
|
||||
# Log settings
|
||||
# https://verdaccio.org/docs/logger
|
||||
log: { type: stdout, format: pretty, level: http }
|
||||
# Redaction: https://getpino.io/#/docs/redaction
|
||||
# Synchronous logging: https://getpino.io/#/docs/asynchronous
|
||||
log:
|
||||
type: stdout
|
||||
format: pretty
|
||||
level: http
|
||||
# redact:
|
||||
# paths: ['req.header.authorization','req.header.cookie','req.remoteAddress','req.remotePort','ip','remoteIP','user','msg']
|
||||
# censor: '<redacted>'
|
||||
# sync: true
|
||||
|
||||
# Feature flags (experimental settings that can be changed or removed in the future)
|
||||
# https://verdaccio.org/docs/configuration#experiments
|
||||
|
||||
@@ -210,7 +210,16 @@ middlewares:
|
||||
|
||||
# Log settings
|
||||
# https://verdaccio.org/docs/logger
|
||||
log: { type: stdout, format: pretty, level: http }
|
||||
# Redaction: https://getpino.io/#/docs/redaction
|
||||
# Synchronous logging: https://getpino.io/#/docs/asynchronous
|
||||
log:
|
||||
type: stdout
|
||||
format: pretty
|
||||
level: http
|
||||
# redact:
|
||||
# paths: ['req.header.authorization','req.header.cookie','req.remoteAddress','req.remotePort','ip','remoteIP','user','msg']
|
||||
# censor: '<redacted>'
|
||||
# sync: true
|
||||
|
||||
# Feature flags (experimental settings that can be changed or removed in the future)
|
||||
# https://verdaccio.org/docs/configuration#experiments
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { join } from 'path';
|
||||
import { join } from 'node:path';
|
||||
|
||||
import { parseConfigFile } from '../parse';
|
||||
|
||||
export function getDefaultConfig(fileName = 'default.yaml') {
|
||||
export function getDefaultConfig(fileName: string = 'default.yaml') {
|
||||
const file = join(__dirname, `./${fileName}`);
|
||||
return parseConfigFile(file);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import buildDebug from 'debug';
|
||||
import fs from 'fs';
|
||||
import _ from 'lodash';
|
||||
import os from 'os';
|
||||
import path from 'path';
|
||||
import fs from 'node:fs';
|
||||
import os from 'node:os';
|
||||
import path from 'node:path';
|
||||
|
||||
import { fileExists, folderExists } from './config-utils';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import buildDebug from 'debug';
|
||||
import fs from 'fs';
|
||||
import fs from 'node:fs';
|
||||
|
||||
const debug = buildDebug('verdaccio:config:config-utils');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import assert from 'assert';
|
||||
import buildDebug from 'debug';
|
||||
import _ from 'lodash';
|
||||
import assert from 'node:assert';
|
||||
|
||||
import { APP_ERROR, authUtils, cryptoUtils, validationUtils, warningUtils } from '@verdaccio/core';
|
||||
import { Codes } from '@verdaccio/core/build/warning-utils';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user