Compare commits

..

35 Commits

Author SHA1 Message Date
Juan Picado
f3e5e0b9c6 chore: update versions (6-next) (#3982)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-20 12:53:25 +02:00
Juan Picado
e381e4845a fix: improve legacy nodejs support (#3981)
* fix: improve legacy nodejs support

* restore
2023-08-20 12:32:09 +02:00
verdacciobot
e02fcdadd2 chore: updated static data 2023-08-17 00:12:52 +00:00
renovate[bot]
ee0aac26b9 chore(deps): update github/codeql-action digest to a09933a (#3972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 18:29:20 +02:00
renovate[bot]
cfe770dbc3 chore(deps): update dependency node-mocks-http to v1.13.0 (#3975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 18:29:11 +02:00
renovate[bot]
e78859e20a chore(deps): update dependency @types/node to v16.18.40 (#3974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 17:59:35 +02:00
renovate[bot]
c34e2bd58d chore(deps): update dependency @types/lodash to v4.14.197 (#3973)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-14 17:59:25 +02:00
dependabot[bot]
50630c07fe chore(deps): bump github/codeql-action from 2.21.2 to 2.21.3 (#3977) 2023-08-14 16:30:05 +02:00
dependabot[bot]
ca702c222b chore(deps): bump actions/setup-node from 3.7.0 to 3.8.0 (#3978) 2023-08-14 16:29:54 +02:00
verdacciobot
225fa415d9 chore: updated static data 2023-08-14 00:13:02 +00:00
verdacciobot
b95ce912d4 chore: updated static data 2023-08-10 00:14:35 +00:00
renovate[bot]
377ddb7168 chore(deps): update dependency mini-css-extract-plugin to v2.7.6 (#3962)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 17:43:55 +02:00
Juan Picado
f07fd5d525 chore: update versions (6-next) (#3961)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-08-08 08:11:41 +02:00
renovate[bot]
4acc4a46ec chore(deps): update dependency msw to v0.49.3 (#3963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-08 08:11:14 +02:00
verdacciobot
ce9f49d897 chore: updated static data 2023-08-07 00:14:08 +00:00
Juan Picado
0a6412ca97 feat: refactor upstream proxy and hooks with got v12 (#3946)
* feat: proxy with got v12

* fix tests

* refactor hooks module
2023-08-06 17:42:20 +02:00
verdacciobot
ab09f03b63 chore: updated static data 2023-08-03 00:14:09 +00:00
renovate[bot]
00b393f012 chore(deps): update dependency @orama/orama to v1.1.1 (#3955) 2023-08-02 17:11:14 +02:00
renovate[bot]
90a65d404c chore(deps): update github/codeql-action digest to 0ba4244 (#3954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 21:55:07 +02:00
renovate[bot]
8ade7e5ddf chore(deps): update dependency @types/lodash to v4.14.196 (#3956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 21:54:59 +02:00
dependabot[bot]
92622bbbfc chore(deps): bump github/codeql-action from 2.21.0 to 2.21.2 (#3958)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.21.0 to 2.21.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1813ca74c3...0ba4244466)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 21:54:49 +02:00
dependabot[bot]
ce3621d43b chore(deps): bump pnpm/action-setup from 2.2.4 to 2.4.0 (#3959)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 2.2.4 to 2.4.0.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](c3b53f6a16...d882d12c64)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-31 21:54:42 +02:00
renovate[bot]
ef058beadf chore(deps): update dependency js-base64 to v3.7.5 (#3957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 21:54:29 +02:00
verdacciobot
623a774888 chore: updated static data 2023-07-31 00:14:11 +00:00
verdacciobot
54232a2115 chore: updated static data 2023-07-27 00:13:54 +00:00
renovate[bot]
842ad8c12d chore(deps): update dependency html-webpack-plugin to v5.5.3 (#3950)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-26 21:16:40 +02:00
renovate[bot]
a90c3115a4 chore(deps): update dependency @types/node to v16.18.39 (#3948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-25 09:24:59 +02:00
renovate[bot]
5174d7dba7 chore(deps): update dependency @types/testing-library__jest-dom to v5.14.9 (#3949)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-25 09:24:50 +02:00
dependabot[bot]
99d65ecbee chore(deps): bump marocchino/sticky-pull-request-comment (#3951)
Bumps [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment) from 2.6.2 to 2.7.0.
- [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases)
- [Commits](f61b6cf21e...f6a2580ed5)

---
updated-dependencies:
- dependency-name: marocchino/sticky-pull-request-comment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-25 09:24:42 +02:00
verdacciobot
b49d932507 chore: updated static data 2023-07-24 00:15:07 +00:00
renovate[bot]
d18d227af4 chore(deps): update github/codeql-action digest to 1813ca7 (#3938)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-21 00:34:25 +02:00
verdacciobot
202e07aa15 chore: updated static data 2023-07-20 00:13:48 +00:00
renovate[bot]
2cb6b1df9d chore(deps): update dependency @orama/orama to v1.1.0 (#3939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-19 21:42:42 +02:00
dependabot[bot]
cfa86929ca chore(deps): bump github/codeql-action from 2.20.3 to 2.20.4 (#3940)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.3 to 2.20.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](46ed16ded9...489225d82a)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-18 21:50:56 +02:00
verdacciobot
af8cbf48cf chore: updated static data 2023-07-17 00:16:24 +00:00
99 changed files with 3593 additions and 3693 deletions

View File

@@ -10,5 +10,9 @@
],
"@babel/typescript"
],
"ignore": ["**/*.d.ts"]
"ignore": ["**/*.d.ts"],
"plugins": [
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator"
]
}

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/proxy': patch
'@verdaccio/hooks': patch
---
fix: improve legacy nodejs support

View File

@@ -123,6 +123,7 @@
"many-vans-care",
"modern-maps-lie",
"modern-spies-tell",
"moody-beds-rule",
"moody-clocks-roll",
"neat-toes-report",
"neat-toys-float",
@@ -152,6 +153,8 @@
"shiny-chefs-heal",
"shy-ducks-cover",
"silly-moose-watch",
"silver-needles-drum",
"silver-spoons-nail",
"six-boats-sparkle",
"slimy-eggs-explain",
"slow-carrots-relate",

View File

@@ -0,0 +1,9 @@
---
'@verdaccio/core': patch
'@verdaccio/hooks': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/web': patch
---
refactor: got instead undici

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/proxy': minor
'@verdaccio/store': minor
---
feat: refactor proxy with got v12

View File

@@ -25,7 +25,7 @@ jobs:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
env:

View File

@@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -49,7 +49,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -73,7 +73,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -102,7 +102,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
@@ -127,7 +127,7 @@ jobs:
name: UI Test E2E
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -29,7 +29,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -56,7 +56,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -81,7 +81,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -111,7 +111,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
@@ -138,7 +138,7 @@ jobs:
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2
uses: github/codeql-action/init@a09933a12a80f87b87005513f0abb1494c27a716 # v2
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2
uses: github/codeql-action/autobuild@a09933a12a80f87b87005513f0abb1494c27a716 # v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2
uses: github/codeql-action/analyze@a09933a12a80f87b87005513f0abb1494c27a716 # v2

View File

@@ -21,7 +21,7 @@ jobs:
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3
with:
node-version: 18
- name: verdaccio cli

View File

@@ -18,7 +18,7 @@ jobs:
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # v3
with:
node-version: 18
- name: npm setup

View File

@@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -41,7 +41,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node 16
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -84,7 +84,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm

View File

@@ -17,7 +17,7 @@ jobs:
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -23,7 +23,7 @@ jobs:
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
- uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version: 18.x
- name: install pnpm

View File

@@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version-file: '.nvmrc'

View File

@@ -26,7 +26,7 @@ jobs:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node 16
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
uses: actions/setup-node@bea5baf987ba7aa777a8a0b4ace377a21c45c381 # tag=v3
with:
node-version: 16
@@ -40,7 +40,7 @@ jobs:
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-
- uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd # tag=v2.2.4
- uses: pnpm/action-setup@d882d12c64e032187b2edb46d3a0d003b7a43598 # tag=v2.4.0
with:
version: latest-8
run_install: |
@@ -134,7 +134,7 @@ jobs:
- name: Add comment to PR
if: github.repository == 'verdaccio/verdaccio'
id: comment_to_pr
uses: marocchino/sticky-pull-request-comment@f61b6cf21ef2fcc468f4345cdfcc9bda741d2343 # v2
uses: marocchino/sticky-pull-request-comment@f6a2580ed520ae15da6076e7410b088d1c5dddd9 # v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.issue.number }}

View File

@@ -5,8 +5,8 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"debug": "4.3.4",
"fs-extra": "10.1.0",
@@ -14,7 +14,7 @@
"js-yaml": "4.1.0",
"get-port": "5.1.1",
"lodash": "4.17.21",
"verdaccio": "workspace:6.0.0-6-next.74"
"verdaccio": "workspace:6.0.0-6-next.76"
},
"scripts": {
"test": "jest",

View File

@@ -3,9 +3,9 @@
"name": "@verdaccio/e2e-ui",
"version": "2.0.0-6-next.4",
"devDependencies": {
"verdaccio": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"verdaccio": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"debug": "4.3.4",
"cypress": "^11.2.0",

View File

@@ -15,30 +15,30 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.21.5",
"@babel/core": "7.21.8",
"@babel/eslint-parser": "7.21.8",
"@babel/node": "7.20.7",
"@babel/cli": "7.22.10",
"@babel/core": "7.22.10",
"@babel/eslint-parser": "7.22.10",
"@babel/node": "7.22.10",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.21.0",
"@babel/plugin-proposal-decorators": "7.22.10",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-function-sent": "7.18.6",
"@babel/plugin-proposal-function-sent": "7.22.5",
"@babel/plugin-proposal-json-strings": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-numeric-separator": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/plugin-proposal-optional-chaining": "7.21.0",
"@babel/plugin-proposal-throw-expressions": "7.18.6",
"@babel/plugin-proposal-throw-expressions": "7.22.5",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.20.7",
"@babel/plugin-transform-classes": "7.21.0",
"@babel/plugin-transform-runtime": "7.21.4",
"@babel/preset-env": "7.21.5",
"@babel/preset-react": "7.18.6",
"@babel/preset-typescript": "7.21.5",
"@babel/register": "7.21.0",
"@babel/runtime": "7.21.5",
"@babel/plugin-transform-async-to-generator": "7.22.5",
"@babel/plugin-transform-classes": "7.22.6",
"@babel/plugin-transform-runtime": "7.22.10",
"@babel/preset-env": "7.22.10",
"@babel/preset-react": "7.22.5",
"@babel/preset-typescript": "7.22.5",
"@babel/register": "7.22.5",
"@babel/runtime": "7.22.10",
"@changesets/changelog-github": "0.4.8",
"@changesets/cli": "2.24.4",
"@changesets/get-dependents-graph": "1.3.6",
@@ -60,10 +60,10 @@
"@types/http-errors": "1.8.2",
"@types/jest": "27.5.2",
"@types/jsonwebtoken": "8.5.9",
"@types/lodash": "4.14.195",
"@types/lodash": "4.14.197",
"@types/mime": "2.0.3",
"@types/minimatch": "3.0.5",
"@types/node": "16.18.38",
"@types/node": "16.18.40",
"@types/node-fetch": "2.6.4",
"@types/qs": "6.9.7",
"@types/range-parser": "1.2.4",
@@ -77,7 +77,7 @@
"@types/serve-static": "1.13.10",
"@types/superagent": "4.1.18",
"@types/supertest": "2.0.12",
"@types/testing-library__jest-dom": "5.14.7",
"@types/testing-library__jest-dom": "5.14.9",
"@types/validator": "13.7.17",
"@types/webpack": "5.28.1",
"@types/webpack-env": "1.18.1",

View File

@@ -1,5 +1,31 @@
# @verdaccio/api
## 6.0.0-6-next.59
### Patch Changes
- @verdaccio/store@6.0.0-6-next.56
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/auth@6.0.0-6-next.55
- @verdaccio/middleware@6.0.0-6-next.55
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.58
### Patch Changes
- Updated dependencies [0a6412ca9]
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/store@6.0.0-6-next.55
- @verdaccio/auth@6.0.0-6-next.54
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/middleware@6.0.0-6-next.54
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.57
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "6.0.0-6-next.57",
"version": "6.0.0-6-next.59",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -39,13 +39,13 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/middleware": "workspace:6.0.0-6-next.53",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/middleware": "workspace:6.0.0-6-next.55",
"@verdaccio/store": "workspace:6.0.0-6-next.56",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"abortcontroller-polyfill": "1.7.5",
"cookies": "0.8.0",
"debug": "4.3.4",
@@ -56,7 +56,7 @@
"semver": "7.5.4"
},
"devDependencies": {
"@verdaccio/server": "workspace:6.0.0-6-next.63",
"@verdaccio/server": "workspace:6.0.0-6-next.65",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"supertest": "6.3.3",

View File

@@ -1,5 +1,30 @@
# @verdaccio/auth
## 6.0.0-6-next.55
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/loaders@6.0.0-6-next.45
- verdaccio-htpasswd@11.0.0-6-next.46
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.54
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/loaders@6.0.0-6-next.44
- verdaccio-htpasswd@11.0.0-6-next.45
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.53
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "6.0.0-6-next.53",
"version": "6.0.0-6-next.55",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -39,16 +39,16 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/loaders": "workspace:6.0.0-6-next.43",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/loaders": "workspace:6.0.0-6-next.45",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/signature": "workspace:6.0.0-6-next.2",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"debug": "4.3.4",
"express": "4.18.2",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:11.0.0-6-next.44"
"verdaccio-htpasswd": "workspace:11.0.0-6-next.46"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25"

View File

@@ -1,5 +1,24 @@
# @verdaccio/cli
## 6.0.0-6-next.76
### Patch Changes
- @verdaccio/node-api@6.0.0-6-next.76
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.75
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/node-api@6.0.0-6-next.75
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.74
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"author": {
"name": "Juan Picado",
"email": "juanpicado19@gmail.com"
@@ -44,10 +44,10 @@
"start": "ts-node src/index.ts"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/node-api": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/node-api": "workspace:6.0.0-6-next.76",
"clipanion": "3.2.1",
"envinfo": "7.8.1",
"kleur": "4.1.5",

View File

@@ -1,5 +1,20 @@
# @verdaccio/config
## 6.0.0-6-next.76
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/utils@6.0.0-6-next.44
## 6.0.0-6-next.75
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/utils@6.0.0-6-next.43
## 6.0.0-6-next.74
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,8 +38,8 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"debug": "4.3.4",
"js-yaml": "4.1.0",
"lodash": "4.17.21",

View File

@@ -1,5 +1,13 @@
# @verdaccio/core
## 6.0.0-6-next.76
## 6.0.0-6-next.75
### Patch Changes
- 0a6412ca9: refactor: got instead undici
## 6.0.0-6-next.74
## 6.0.0-6-next.73

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/core",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"description": "core utilities",
"keywords": [
"private",

View File

@@ -29,6 +29,7 @@ export const API_ERROR = {
REGISTRATION_DISABLED: 'user registration disabled',
UNAUTHORIZED_ACCESS: 'unauthorized access',
BAD_STATUS_CODE: 'bad status code',
SERVER_TIME_OUT: 'looks like the server is taking to long to respond',
PACKAGE_EXIST: 'this package is already present',
BAD_AUTH_HEADER: 'bad authorization header',
WEB_DISABLED: 'Web interface is disabled in the config file',

View File

@@ -1,5 +1,22 @@
# Change Log
## 11.0.0-6-next.45
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/url@11.0.0-6-next.42
- @verdaccio/utils@6.0.0-6-next.44
## 11.0.0-6-next.44
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/url@11.0.0-6-next.41
- @verdaccio/utils@6.0.0-6-next.43
## 11.0.0-6-next.43
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "11.0.0-6-next.43",
"version": "11.0.0-6-next.45",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -34,14 +34,14 @@
},
"dependencies": {
"debug": "4.3.4",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/url": "workspace:11.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"node-mocks-http": "1.12.1"
"node-mocks-http": "1.13.0"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.42
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 11.0.0-6-next.41
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 11.0.0-6-next.40
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/url",
"version": "11.0.0-6-next.40",
"version": "11.0.0-6-next.42",
"description": "url utilities resolver",
"keywords": [
"private",
@@ -33,14 +33,14 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"debug": "4.3.4",
"lodash": "4.17.21",
"validator": "13.9.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"node-mocks-http": "1.12.1"
"node-mocks-http": "1.13.0"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,22 @@
# @verdaccio/hooks
## 6.0.0-6-next.46
### Patch Changes
- e381e4845: fix: improve legacy nodejs support
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.45
### Patch Changes
- 0a6412ca9: refactor: got instead undici
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.44
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "6.0.0-6-next.44",
"version": "6.0.0-6-next.46",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -26,20 +26,21 @@
"verdaccio"
],
"engines": {
"node": ">=16"
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"core-js": "3.30.2",
"debug": "4.3.4",
"handlebars": "4.7.7",
"undici": "4.16.0"
"got-cjs": "12.5.4"
},
"devDependencies": {
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"nock": "13.2.9"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,5 @@
import buildDebug from 'debug';
import { fetch } from 'undici';
import got from 'got-cjs';
import { HTTP_STATUS } from '@verdaccio/core';
import { logger } from '@verdaccio/logger';
@@ -16,7 +16,7 @@ export async function notifyRequest(url: string, options: FetchOptions): Promise
let response;
try {
debug('uri %o', url);
response = await fetch(url, {
response = got.post(url, {
body: JSON.stringify(options.body),
method: 'POST',
headers: { 'Content-Type': 'application/json' },

View File

@@ -1,4 +1,4 @@
import { MockAgent, setGlobalDispatcher } from 'undici';
import nock from 'nock';
import { createRemoteUser, parseConfigFile } from '@verdaccio/config';
import { setup } from '@verdaccio/logger';
@@ -21,26 +21,21 @@ const domain = 'http://slack-service';
const options = {
path: '/foo?auth_token=mySecretToken',
method: 'POST',
};
describe('Notifications:: notifyRequest', () => {
beforeEach(() => {
nock.cleanAll();
});
test('when sending a empty notification', async () => {
const mockAgent = new MockAgent({ connections: 1 });
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, { body: 'test' });
nock(domain).post(options.path).reply(200, { body: 'test' });
const notificationResponse = await notify({}, {}, createRemoteUser('foo', []), 'bar');
expect(notificationResponse).toEqual([false]);
});
test('when sending a single notification', async () => {
const mockAgent = new MockAgent({ connections: 1 });
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, { body: 'test' });
nock(domain).post(options.path).reply(200, { body: 'test' });
const notificationResponse = await notify(
{},
singleHeaderNotificationConfig,
@@ -48,14 +43,10 @@ describe('Notifications:: notifyRequest', () => {
'bar'
);
expect(notificationResponse).toEqual([true]);
await mockClient.close();
});
test('when notification endpoint is missing', async () => {
const mockAgent = new MockAgent({ connections: 1 });
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, { body: 'test' });
nock(domain).post(options.path).reply(200, { body: 'test' });
const name = 'package';
const config: Partial<Config> = {
// @ts-ignore
@@ -70,16 +61,22 @@ describe('Notifications:: notifyRequest', () => {
});
test('when multiple notifications', async () => {
const mockAgent = new MockAgent({ connections: 1 });
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, { body: 'test' });
mockClient.intercept(options).reply(400, {});
mockClient.intercept(options).reply(500, { message: 'Something bad happened' });
nock(domain)
.post(options.path)
.once()
.reply(200, { body: 'test' })
.post(options.path)
.once()
.reply(400, {})
.post(options.path)
.once()
.reply(500, { message: 'Something bad happened' });
// mockClient.intercept(options).reply(200, { body: 'test' });
// mockClient.intercept(options).reply(400, {});
// mockClient.intercept(options).reply(500, { message: 'Something bad happened' });
const name = 'package';
const responses = await notify({ name }, multiNotificationConfig, { name: 'foo' }, 'bar');
expect(responses).toEqual([true, false, false]);
await mockClient.close();
});
});

View File

@@ -1,5 +1,17 @@
# @verdaccio/loaders
## 6.0.0-6-next.45
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.44
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.43
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/loaders",
"version": "6.0.0-6-next.43",
"version": "6.0.0-6-next.45",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -13,13 +13,13 @@
"url": "https://github.com/verdaccio/verdaccio"
},
"dependencies": {
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
"verdaccio-auth-memory": "workspace:*",

View File

@@ -1,5 +1,17 @@
# @verdaccio/logger-7
## 6.0.0-6-next.21
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.44
## 6.0.0-6-next.20
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.43
## 6.0.0-6-next.19
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-7",
"version": "6.0.0-6-next.19",
"version": "6.0.0-6-next.21",
"description": "logger for verdaccio 5.x version",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,7 +38,7 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.42",
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.44",
"pino": "7.11.0"
},
"devDependencies": {

View File

@@ -1,5 +1,18 @@
# @verdaccio/logger-commons
## 6.0.0-6-next.44
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 6.0.0-6-next.43
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 6.0.0-6-next.42
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-commons",
"version": "6.0.0-6-next.42",
"version": "6.0.0-6-next.44",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,7 +38,7 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/logger-prettify": "workspace:6.0.0-6-next.10",
"debug": "4.3.4",
"colorette": "2.0.20"

View File

@@ -1,5 +1,17 @@
# @verdaccio/logger
## 6.0.0-6-next.44
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.44
## 6.0.0-6-next.43
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.43
## 6.0.0-6-next.42
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger",
"version": "6.0.0-6-next.42",
"version": "6.0.0-6-next.44",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,7 +38,7 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.42",
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.44",
"pino": "8.14.1"
},
"devDependencies": {

View File

@@ -1,5 +1,24 @@
# @verdaccio/middleware
## 6.0.0-6-next.55
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/url@11.0.0-6-next.42
- @verdaccio/utils@6.0.0-6-next.44
## 6.0.0-6-next.54
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/url@11.0.0-6-next.41
- @verdaccio/utils@6.0.0-6-next.43
## 6.0.0-6-next.53
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/middleware",
"version": "6.0.0-6-next.53",
"version": "6.0.0-6-next.55",
"description": "express middleware utils",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,10 +38,10 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/url": "workspace:11.0.0-6-next.42",
"debug": "4.3.4",
"lru-cache": "7.18.3",
"express": "4.18.2",
@@ -54,7 +54,7 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"body-parser": "1.20.2",
"supertest": "6.3.3"
}

View File

@@ -1,5 +1,26 @@
# @verdaccio/node-api
## 6.0.0-6-next.76
### Patch Changes
- @verdaccio/server@6.0.0-6-next.65
- @verdaccio/server-fastify@6.0.0-6-next.57
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.75
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/server@6.0.0-6-next.64
- @verdaccio/server-fastify@6.0.0-6-next.56
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.74
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/node-api",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"description": "node API",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -39,11 +39,11 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/server": "workspace:6.0.0-6-next.63",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.55",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/server": "workspace:6.0.0-6-next.65",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.57",
"core-js": "3.30.2",
"debug": "4.3.4",
"lodash": "4.17.21"

View File

@@ -1,5 +1,20 @@
# Change Log
## 11.0.0-6-next.39
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
## 11.0.0-6-next.38
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
## 11.0.0-6-next.37
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-audit",
"version": "11.0.0-6-next.37",
"version": "11.0.0-6-next.39",
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"keywords": [
"private",
@@ -30,16 +30,16 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"express": "4.18.2",
"https-proxy-agent": "5.0.1",
"node-fetch": "cjs"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"nock": "13.2.9",
"supertest": "6.3.3"
},

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.41
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 11.0.0-6-next.40
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 11.0.0-6-next.39
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-auth-memory",
"version": "11.0.0-6-next.39",
"version": "11.0.0-6-next.41",
"description": "Auth plugin for Verdaccio that keeps users in memory",
"keywords": [
"private",
@@ -31,12 +31,12 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"debug": "4.3.4"
},
"devDependencies": {
"@types/debug": "^4.1.7",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
},
"scripts": {

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.46
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 11.0.0-6-next.45
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 11.0.0-6-next.44
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-htpasswd",
"version": "11.0.0-6-next.44",
"version": "11.0.0-6-next.46",
"description": "htpasswd auth plugin for Verdaccio",
"keywords": [
"private",
@@ -34,7 +34,7 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"apache-md5": "1.1.8",
"bcryptjs": "2.4.3",
@@ -46,8 +46,8 @@
"devDependencies": {
"@types/bcryptjs": "2.4.2",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"mockdate": "3.0.5"
},
"scripts": {

View File

@@ -1,5 +1,20 @@
# Change Log
## 11.0.0-6-next.46
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/utils@6.0.0-6-next.44
## 11.0.0-6-next.45
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/utils@6.0.0-6-next.43
## 11.0.0-6-next.44
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/local-storage",
"version": "11.0.0-6-next.44",
"version": "11.0.0-6-next.46",
"description": "Local storage implementation",
"keywords": [
"private",
@@ -37,9 +37,9 @@
"npm": ">=7"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"core-js": "3.30.2",
"debug": "4.3.4",
"globby": "11.1.0",
@@ -52,8 +52,8 @@
"devDependencies": {
"@types/minimatch": "3.0.5",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"minimatch": "3.1.2"
},

View File

@@ -1,5 +1,18 @@
# Change Log
## 11.0.0-6-next.43
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 11.0.0-6-next.42
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 11.0.0-6-next.41
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-memory",
"version": "11.0.0-6-next.41",
"version": "11.0.0-6-next.43",
"description": "Storage implementation in memory",
"keywords": [
"private",
@@ -31,15 +31,15 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"memory-fs": "0.5.0",
"debug": "4.3.4",
"memfs": "3.5.1"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42"
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/logger": "workspace:6.0.0-6-next.44"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,9 @@
# @verdaccio/ui-theme
## 6.0.0-6-next.76
## 6.0.0-6-next.75
## 6.0.0-6-next.74
## 6.0.0-6-next.73

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-theme",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"description": "Verdaccio User Interface",
"author": {
"name": "Verdaccio Contributors",
@@ -27,7 +27,7 @@
"@testing-library/dom": "8.19.1",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "13.4.0",
"@verdaccio/node-api": "workspace:6.0.0-6-next.74",
"@verdaccio/node-api": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:*",
"@verdaccio/ui-components": "workspace:2.0.0-6-next.10",
"babel-loader": "8.3.0",
@@ -41,18 +41,18 @@
"harmony-reflect": "1.6.2",
"highlight.js": "11.7.0",
"history": "4.10.1",
"html-webpack-plugin": "5.5.1",
"html-webpack-plugin": "5.5.3",
"i18next": "20.6.1",
"in-publish": "2.0.1",
"js-base64": "3.7.3",
"js-base64": "3.7.5",
"js-yaml": "4.1.0",
"localstorage-memory": "1.0.3",
"lodash": "4.17.21",
"marked": "4.3.0",
"mini-css-extract-plugin": "2.7.2",
"msw": "0.49.2",
"mini-css-extract-plugin": "2.7.6",
"msw": "0.49.3",
"mutationobserver-shim": "0.3.7",
"node-mocks-http": "1.12.1",
"node-mocks-http": "1.13.0",
"normalize.css": "8.0.1",
"optimize-css-assets-webpack-plugin": "6.0.1",
"ora": "5.4.1",

View File

@@ -1,3 +1,3 @@
{
"extends": "../../.babelrc"
"extends": "../../.babelrc"
}

View File

@@ -1,5 +1,28 @@
# @verdaccio/proxy
## 6.0.0-6-next.54
### Patch Changes
- e381e4845: fix: improve legacy nodejs support
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/utils@6.0.0-6-next.44
## 6.0.0-6-next.53
### Minor Changes
- 0a6412ca9: feat: refactor proxy with got v12
### Patch Changes
- 0a6412ca9: refactor: got instead undici
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/utils@6.0.0-6-next.43
## 6.0.0-6-next.52
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/proxy",
"version": "6.0.0-6-next.52",
"version": "6.0.0-6-next.54",
"description": "verdaccio proxy fetcher",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -26,8 +26,7 @@
"verdaccio"
],
"engines": {
"node": ">=16",
"npm": ">=6"
"node": ">=12"
},
"scripts": {
"clean": "rimraf ./build",
@@ -39,24 +38,22 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/local-storage": "workspace:11.0.0-6-next.44",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"JSONStream": "1.3.5",
"debug": "4.3.4",
"lodash": "4.17.21",
"got": "11.8.6",
"got-cjs": "12.5.4",
"hpagent": "1.2.0",
"undici": "4.16.0"
"lodash": "4.17.21"
},
"devDependencies": {
"p-cancelable": "2.1.1",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"get-stream": "^6.0.1",
"nock": "13.2.9",
"node-mocks-http": "1.12.1",
"node-mocks-http": "1.13.0",
"p-cancelable": "2.1.1",
"semver": "7.5.4"
},
"funding": {

View File

@@ -1,4 +1,4 @@
import { Agents } from 'got';
import { Agents } from 'got-cjs';
import { HttpProxyAgent, HttpsProxyAgent } from 'hpagent';
import { Agent as HttpAgent, AgentOptions as HttpAgentOptions } from 'http';
import { Agent as HttpsAgent, AgentOptions as HttpsAgentOptions } from 'https';

View File

@@ -1,10 +1,15 @@
import JSONStream from 'JSONStream';
import buildDebug from 'debug';
import got, { RequiredRetryOptions, Headers as gotHeaders } from 'got';
import type { Agents, Options } from 'got';
import got, {
Agents,
Delays,
Options,
RequestError,
RetryOptions,
Headers as gotHeaders,
} from 'got-cjs';
import _ from 'lodash';
import Stream, { PassThrough, Readable } from 'stream';
import { Headers, fetch as undiciFetch } from 'undici';
import { URL } from 'url';
import {
@@ -24,8 +29,6 @@ import { buildToken } from '@verdaccio/utils';
import CustomAgents, { AgentOptionsConf } from './agent';
import { parseInterval } from './proxy-utils';
const LoggerApi = require('@verdaccio/logger');
const debug = buildDebug('verdaccio:proxy');
const encode = function (thing): string {
@@ -51,10 +54,11 @@ export interface ProxyList {
}
export type ProxySearchParams = {
headers?: Headers;
url: string;
query?: searchUtils.SearchQuery;
abort: AbortController;
query?: searchUtils.SearchQuery;
headers?: Headers;
retry?: Partial<RetryOptions>;
};
export interface IProxy {
config: UpLinkConfLocal;
@@ -65,15 +69,18 @@ export interface IProxy {
server_id: string;
url: URL;
maxage: number;
timeout: number;
timeout: Delays;
max_fails: number;
fail_timeout: number;
upname: string;
search(options: ProxySearchParams): Promise<Stream.Readable>;
getRemoteMetadata(name: string, options: ISyncUplinksOptions): Promise<[Manifest, string]>;
getRemoteMetadata(
name: string,
options: Partial<ISyncUplinksOptions>
): Promise<[Manifest, string]>;
fetchTarball(
url: string,
options: Pick<ISyncUplinksOptions, 'remoteAddress' | 'etag' | 'retry'>
options: Partial<Pick<ISyncUplinksOptions, 'remoteAddress' | 'etag' | 'retry'>>
): PassThrough;
}
@@ -99,7 +106,7 @@ class ProxyStorage implements IProxy {
public server_id: string;
public url: URL;
public maxage: number;
public timeout: number;
public timeout: Delays;
public max_fails: number;
public fail_timeout: number;
public agent_options: AgentOptionsConf;
@@ -111,14 +118,14 @@ class ProxyStorage implements IProxy {
// @ts-ignore
public last_request_time: number | null;
public strict_ssl: boolean;
private retry: Partial<RequiredRetryOptions> | number;
private retry: Partial<RetryOptions>;
public constructor(config: UpLinkConfLocal, mainConfig: Config, agent?: Agents) {
public constructor(config: UpLinkConfLocal, mainConfig: Config, logger: Logger, agent?: Agents) {
this.config = config;
this.failed_requests = 0;
this.userAgent = mainConfig.user_agent ?? 'hidden';
this.ca = config.ca;
this.logger = LoggerApi.logger.child({ sub: 'out' });
this.logger = logger;
this.server_id = mainConfig.server_id;
this.agent_options = setConfig(this.config, 'agent_options', {
keepAlive: true,
@@ -145,7 +152,10 @@ class ProxyStorage implements IProxy {
// a bunch of different configurable timers
this.maxage = parseInterval(setConfig(this.config, 'maxage', '2m'));
// https://github.com/sindresorhus/got/blob/main/documentation/6-timeout.md
this.timeout = parseInterval(setConfig(this.config, 'timeout', '30s'));
this.timeout = {
request: parseInterval(setConfig(this.config, 'timeout', '30s')),
};
debug('set timeout %s', this.timeout);
this.max_fails = Number(setConfig(this.config, 'max_fails', this.config.max_fails ?? 2));
this.fail_timeout = parseInterval(setConfig(this.config, 'fail_timeout', '5m'));
this.strict_ssl = Boolean(setConfig(this.config, 'strict_ssl', true));
@@ -162,7 +172,7 @@ class ProxyStorage implements IProxy {
}
}
public getHeadersNext(headers = {}): gotHeaders {
public getHeaders(headers = {}): gotHeaders {
const accept = HEADERS.ACCEPT;
const acceptEncoding = HEADERS.ACCEPT_ENCODING;
const userAgent = HEADERS.USER_AGENT;
@@ -296,15 +306,15 @@ class ProxyStorage implements IProxy {
public async getRemoteMetadata(
name: string,
options: ISyncUplinksOptions
options: Partial<ISyncUplinksOptions>
): Promise<[Manifest, string]> {
if (this._ifRequestFailure()) {
throw errorUtils.getInternalError(API_ERROR.UPLINK_OFFLINE);
}
// FUTURE: allow mix headers that comes from the client
debug('get metadata for %s', name);
let headers = this.getHeadersNext(options?.headers);
debug('getting metadata for package %s', name);
let headers = this.getHeaders(options?.headers);
headers = this.addProxyHeaders(headers, options.remoteAddress);
headers = this.applyUplinkHeaders(headers);
// the following headers cannot be overwritten
@@ -314,25 +324,24 @@ class ProxyStorage implements IProxy {
}
const method = options.method || 'GET';
const uri = this.config.url + `/${encode(name)}`;
debug('request uri for %s retry %s', uri);
debug('set retry limit is %s', this.retry.limit);
let response;
let responseLength = 0;
try {
const retry = options?.retry ?? this.retry;
debug('retry times %s for %s', retry, uri);
debug('retry initial count %s', retry);
response = await got(uri, {
headers,
responseType: 'json',
method,
agent: this.agent,
retry,
// @ts-ignore
timeout: { request: options?.timeout ?? this.timeout },
timeout: this.timeout,
hooks: {
afterResponse: [
(afterResponse) => {
const code = afterResponse.statusCode;
debug('code response %s', code);
debug('after response code is %s', code);
if (code >= HTTP_STATUS.OK && code < HTTP_STATUS.MULTIPLE_CHOICES) {
if (this.failed_requests >= this.max_fails) {
this.failed_requests = 0;
@@ -349,8 +358,8 @@ class ProxyStorage implements IProxy {
},
],
beforeRetry: [
// FUTURE: got 12.0.0, the option arg should be removed
(_options, error: any, count) => {
(error: RequestError, count: number) => {
debug('retry %s count: %s', uri, count);
this.failed_requests = count ?? 0;
this.logger.info(
{
@@ -378,7 +387,7 @@ class ProxyStorage implements IProxy {
.on('request', () => {
this.last_request_time = Date.now();
})
.on('response', (eventResponse) => {
.on<any>('response', (eventResponse) => {
const message = "@{!status}, req: '@{request.method} @{request.url}' (streaming)";
this.logger.http(
{
@@ -422,9 +431,10 @@ class ProxyStorage implements IProxy {
);
return [data, etag];
} catch (err: any) {
debug('uri %s fail', uri);
debug('error %s on uri %s', err.code, uri);
if (err.code === 'ERR_NON_2XX_3XX_RESPONSE') {
const code = err.response.statusCode;
debug('error code %s', code);
if (code === HTTP_STATUS.NOT_FOUND) {
throw errorUtils.getNotFound(errorUtils.API_ERROR.NOT_PACKAGE_UPLINK);
}
@@ -437,6 +447,15 @@ class ProxyStorage implements IProxy {
error.remoteStatus = code;
throw error;
}
} else if (err.code === 'ETIMEDOUT') {
debug('error code timeout');
const code = err.code;
const error = errorUtils.getInternalError(
`${errorUtils.API_ERROR.SERVER_TIME_OUT}: ${code}`
);
// we need this code to identify outside which status code triggered the error
error.remoteStatus = code;
throw error;
}
throw err;
}
@@ -449,7 +468,7 @@ class ProxyStorage implements IProxy {
): any {
debug('fetching url for %s', url);
const options = { ...this.config, ...overrideOptions };
let headers = this.getHeadersNext(options?.headers);
let headers = this.getHeaders(options?.headers);
headers = this.addProxyHeaders(headers, options.remoteAddress);
headers = this.applyUplinkHeaders(headers);
// the following headers cannot be overwritten
@@ -482,37 +501,31 @@ class ProxyStorage implements IProxy {
* @param {*} options request options
* @return {Stream}
*/
public async search({ url, abort }: ProxySearchParams): Promise<Stream.Readable> {
debug('search url %o', url);
let response;
public async search({ url, abort, retry }: ProxySearchParams): Promise<Stream.Readable> {
try {
const fullURL = new URL(`${this.url}${url}`);
// FIXME: a better way to remove duplicate slashes?
const uri = fullURL.href.replace(/([^:]\/)\/+/g, '$1');
this.logger.http({ uri, uplink: this.upname }, 'search request to uplink @{uplink} - @{uri}');
response = await undiciFetch(uri, {
method: 'GET',
// FUTURE: whitelist domains what we are sending not need it headers, security check
// headers: new Headers({
// ...headers,
// connection: 'keep-alive',
// }),
signal: abort?.signal,
debug('searching on %s', uri);
const response = got(uri, {
signal: abort ? abort.signal : {},
agent: this.agent,
timeout: this.timeout,
retry: retry ?? this.retry,
});
debug('response.status %o', response.status);
if (response.status >= HTTP_STATUS.BAD_REQUEST) {
throw errorUtils.getInternalError(`bad status code ${response.status} from uplink`);
}
const streamSearch = new PassThrough({ objectMode: true });
const res = await response.text();
const streamSearch = new PassThrough({ objectMode: true });
const streamResponse = Readable.from(res);
// objects is one of the properties on the body, it ignores date and total
streamResponse.pipe(JSONStream.parse('objects')).pipe(streamSearch, { end: true });
return streamSearch;
} catch (err: any) {
debug('search error %s', err);
if (err.response.statusCode === 409) {
throw errorUtils.getInternalError(`bad status code ${err.response.statusCode} from uplink`);
}
this.logger.error(
{ errorMessage: err?.message, name: this.upname },
'proxy uplink @{name} search error: @{errorMessage}'

View File

@@ -1,11 +1,23 @@
import { DEFAULT_REGISTRY } from '@verdaccio/config';
import { HEADERS, TOKEN_BASIC, TOKEN_BEARER, constants } from '@verdaccio/core';
import { setup } from '@verdaccio/logger';
import { Logger } from '@verdaccio/types';
import { buildToken } from '@verdaccio/utils';
import { ProxyStorage } from '../src';
setup();
const mockDebug = jest.fn();
const mockInfo = jest.fn();
const mockHttp = jest.fn();
const mockError = jest.fn();
const mockWarn = jest.fn();
const logger = {
debug: mockDebug,
info: mockInfo,
http: mockHttp,
error: mockError,
warn: mockWarn,
} as unknown as Logger;
function createUplink(config) {
const defaultConfig = {
@@ -13,12 +25,12 @@ function createUplink(config) {
};
const mergeConfig = Object.assign({}, defaultConfig, config);
// @ts-ignore
return new ProxyStorage(mergeConfig, {});
return new ProxyStorage(mergeConfig, {}, logger);
}
function setHeadersNext(config: unknown = {}, headers: any = {}) {
const uplink = createUplink(config);
return uplink.getHeadersNext({ ...headers });
return uplink.getHeaders({ ...headers });
}
describe('setHeadersNext', () => {

View File

@@ -1,11 +1,13 @@
import { logger, setup } from '@verdaccio/logger';
import { ProxyStorage } from '../src';
require('@verdaccio/logger').setup([]);
setup({});
function getProxyInstance(host, uplinkConf, appConfig) {
uplinkConf.url = host;
return new ProxyStorage(uplinkConf, appConfig);
return new ProxyStorage(uplinkConf, appConfig, logger);
}
describe('Use proxy', () => {

View File

@@ -4,6 +4,7 @@ import { setTimeout } from 'timers/promises';
import { Config, parseConfigFile } from '@verdaccio/config';
import { API_ERROR, errorUtils } from '@verdaccio/core';
import { Logger } from '@verdaccio/types';
import { ProxyStorage } from '../src';
@@ -15,6 +16,14 @@ const mockHttp = jest.fn();
const mockError = jest.fn();
const mockWarn = jest.fn();
const logger = {
debug: mockDebug,
info: mockInfo,
http: mockHttp,
error: mockError,
warn: mockWarn,
} as unknown as Logger;
// mock to get the headers fixed value
jest.mock('crypto', () => {
return {
@@ -31,22 +40,6 @@ jest.mock('crypto', () => {
};
});
jest.mock('@verdaccio/logger', () => {
const originalLogger = jest.requireActual('@verdaccio/logger');
return {
...originalLogger,
logger: {
child: () => ({
debug: (arg, msg) => mockDebug(arg, msg),
info: (arg, msg) => mockInfo(arg, msg),
http: (arg, msg) => mockHttp(arg, msg),
error: (arg, msg) => mockError(arg, msg),
warn: (arg, msg) => mockWarn(arg, msg),
}),
},
};
});
const domain = 'https://registry.npmjs.org';
describe('proxy', () => {
@@ -77,7 +70,7 @@ describe('proxy', () => {
})
.get('/jquery')
.reply(200, { body: 'test' });
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const [manifest] = await prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
});
@@ -103,7 +96,7 @@ describe('proxy', () => {
etag: () => `_ref_4444`,
}
);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const [manifest, etag] = await prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
});
@@ -130,7 +123,7 @@ describe('proxy', () => {
etag: () => `_ref_4444`,
}
);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const [manifest, etag] = await prox1.getRemoteMetadata('jquery', {
etag: 'foo',
remoteAddress: '127.0.0.1',
@@ -145,7 +138,7 @@ describe('proxy', () => {
nock(domain)
.get('/jquery')
.reply(200, { body: { name: 'foo', version: '1.0.0' } }, {});
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
});
@@ -174,7 +167,7 @@ describe('proxy', () => {
describe('error handling', () => {
test('proxy call with 304', async () => {
nock(domain).get('/jquery').reply(304);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(prox1.getRemoteMetadata('jquery', { etag: 'rev_3333' })).rejects.toThrow(
'no data'
);
@@ -182,7 +175,7 @@ describe('proxy', () => {
test('reply with error', async () => {
nock(domain).get('/jquery').replyWithError('something awful happened');
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
@@ -192,15 +185,15 @@ describe('proxy', () => {
test('reply with 409 error', async () => {
nock(domain).get('/jquery').reply(409);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
await expect(prox1.getRemoteMetadata('jquery', { retry: 0 })).rejects.toThrow(
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(prox1.getRemoteMetadata('jquery', { retry: { limit: 0 } })).rejects.toThrow(
new Error('bad status code: 409')
);
});
test('reply with bad body json format', async () => {
nock(domain).get('/jquery').reply(200, 'some-text');
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
@@ -214,7 +207,7 @@ describe('proxy', () => {
test('400 error proxy call', async () => {
nock(domain).get('/jquery').reply(409);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
@@ -226,7 +219,7 @@ describe('proxy', () => {
test('proxy not found', async () => {
nock(domain).get('/jquery').reply(404);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
@@ -253,7 +246,7 @@ describe('proxy', () => {
.once()
.reply(200, { body: { name: 'foo', version: '1.0.0' } });
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const [manifest] = await prox1.getRemoteMetadata('jquery', {
retry: { limit: 2 },
});
@@ -269,10 +262,10 @@ describe('proxy', () => {
);
});
test('retry is exceded and uplink goes offline with logging activity', async () => {
test('retry count is exceded and uplink goes offline with logging activity', async () => {
nock(domain).get('/jquery').times(10).reply(500);
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
remoteAddress: '127.0.0.1',
@@ -307,7 +300,8 @@ describe('proxy', () => {
const prox1 = new ProxyStorage(
{ ...defaultRequestOptions, fail_timeout: '1s', max_fails: 1 },
conf
conf,
logger
);
// force retry
await expect(
@@ -350,5 +344,127 @@ describe('proxy', () => {
);
}, 10000);
});
describe('timeout', () => {
test('fail for timeout (2 seconds)', async () => {
nock(domain)
.get('/jquery')
.times(10)
.delayConnection(6000)
.reply(200, { body: { name: 'foo', version: '1.0.0' } });
const confTimeout = { ...defaultRequestOptions };
// @ts-expect-error
confTimeout.timeout = '2s';
const prox1 = new ProxyStorage(confTimeout, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
retry: { limit: 0 },
})
).rejects.toThrow('ETIMEDOUT');
}, 10000);
test('fail for one failure and timeout (2 seconds)', async () => {
nock(domain)
.get('/jquery')
.times(1)
.reply(500)
.get('/jquery')
.delayConnection(4000)
.reply(200, { body: { name: 'foo', version: '1.0.0' } });
const confTimeout = { ...defaultRequestOptions };
// @ts-expect-error
confTimeout.timeout = '2s';
const prox1 = new ProxyStorage(confTimeout, conf, logger);
await expect(
prox1.getRemoteMetadata('jquery', {
retry: { limit: 1 },
})
).rejects.toThrow('ETIMEDOUT');
}, 10000);
// test('retry count is exceded and uplink goes offline with logging activity', async () => {
// nock(domain).get('/jquery').times(10).reply(500);
// const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
// await expect(
// prox1.getRemoteMetadata('jquery', {
// remoteAddress: '127.0.0.1',
// retry: { limit: 2 },
// })
// ).rejects.toThrow();
// await expect(
// prox1.getRemoteMetadata('jquery', {
// remoteAddress: '127.0.0.1',
// retry: { limit: 2 },
// })
// ).rejects.toThrow(errorUtils.getInternalError(errorUtils.API_ERROR.UPLINK_OFFLINE));
// expect(mockWarn).toHaveBeenCalledTimes(1);
// expect(mockWarn).toHaveBeenLastCalledWith(
// {
// host: 'registry.npmjs.org',
// },
// 'host @{host} is now offline'
// );
// });
// test('fails calls and recover with 200 with log online activity', async () => {
// // This unit test is designed to verify if the uplink goes to offline
// // and recover after the fail_timeout has expired.
// nock(domain)
// .get('/jquery')
// .thrice()
// .reply(500, 'some-text')
// .get('/jquery')
// .once()
// .reply(200, { body: { name: 'foo', version: '1.0.0' } });
// const prox1 = new ProxyStorage(
// { ...defaultRequestOptions, fail_timeout: '1s', max_fails: 1 },
// conf,
// logger
// );
// // force retry
// await expect(
// prox1.getRemoteMetadata('jquery', {
// remoteAddress: '127.0.0.1',
// retry: { limit: 2 },
// })
// ).rejects.toThrow();
// // display offline error on exausted retry
// await expect(
// prox1.getRemoteMetadata('jquery', {
// remoteAddress: '127.0.0.1',
// retry: { limit: 2 },
// })
// ).rejects.toThrow(errorUtils.getInternalError(errorUtils.API_ERROR.UPLINK_OFFLINE));
// expect(mockWarn).toHaveBeenCalledTimes(2);
// expect(mockWarn).toHaveBeenLastCalledWith(
// {
// host: 'registry.npmjs.org',
// },
// 'host @{host} is now offline'
// );
// expect(mockWarn).toHaveBeenLastCalledWith(
// {
// host: 'registry.npmjs.org',
// },
// 'host @{host} is now offline'
// );
// // this is based on max_fails, if change that also change here acordingly
// await setTimeout(3000);
// const [manifest] = await prox1.getRemoteMetadata('jquery', {
// retry: { limit: 2 },
// });
// expect(manifest).toEqual({ body: { name: 'foo', version: '1.0.0' } });
// expect(mockWarn).toHaveBeenLastCalledWith(
// {
// host: 'registry.npmjs.org',
// },
// 'host @{host} is now online'
// );
// }, 10000);
});
});
});

View File

@@ -2,37 +2,30 @@
/* global AbortController */
import getStream from 'get-stream';
import nock from 'nock';
import path from 'path';
import { MockAgent, setGlobalDispatcher } from 'undici';
import { Config, parseConfigFile } from '@verdaccio/config';
import { streamUtils } from '@verdaccio/core';
import { Logger } from '@verdaccio/types';
import { ProxyStorage } from '../src';
const getConf = (name) => path.join(__dirname, '/conf', name);
// TODO: we can mock this globally maybe
const mockDebug = jest.fn();
const mockInfo = jest.fn();
const mockHttp = jest.fn();
const mockError = jest.fn();
const mockWarn = jest.fn();
jest.mock('@verdaccio/logger', () => {
const originalLogger = jest.requireActual('@verdaccio/logger');
return {
...originalLogger,
logger: {
child: () => ({
debug: (arg) => mockDebug(arg),
info: (arg) => mockInfo(arg),
http: (arg) => mockHttp(arg),
error: (arg) => mockError(arg),
warn: (arg) => mockWarn(arg),
}),
},
};
});
const logger = {
debug: mockDebug,
info: mockInfo,
http: mockHttp,
error: mockError,
warn: mockWarn,
} as unknown as Logger;
const domain = 'https://registry.npmjs.org';
@@ -44,20 +37,13 @@ describe('proxy', () => {
const proxyPath = getConf('proxy1.yaml');
const conf = new Config(parseConfigFile(proxyPath));
const options = {
path: '/-/v1/search?maintenance=1&popularity=1&quality=1&size=10&text=verdaccio',
method: 'GET',
};
describe('search', () => {
test('get response from endpoint', async () => {
const response = require('./partials/search-v1.json');
const mockAgent = new MockAgent({ connections: 1 });
mockAgent.disableNetConnect();
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, JSON.stringify(response));
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
nock(domain)
.get('/-/v1/search?maintenance=1&popularity=1&quality=1&size=10&text=verdaccio')
.reply(200, response);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const abort = new AbortController();
const stream = await prox1.search({
abort,
@@ -69,13 +55,11 @@ describe('proxy', () => {
});
test('handle bad response 409', async () => {
const mockAgent = new MockAgent({ connections: 1 });
mockAgent.disableNetConnect();
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(409, {});
nock(domain)
.get('/-/v1/search?maintenance=1&popularity=1&quality=1&size=10&text=verdaccio')
.reply(409);
const abort = new AbortController();
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
await expect(
prox1.search({
abort,
@@ -84,26 +68,26 @@ describe('proxy', () => {
).rejects.toThrow('bad status code 409 from uplink');
});
test.todo('abort search from endpoint');
// test.todo('abort search from endpoint');
// TODO: we should test the gzip deflate here, but is hard to test
// fix me if you can deal with Incorrect Header Check issue
test.todo('get file from endpoint with gzip headers');
// // TODO: we should test the gzip deflate here, but is hard to test
// // fix me if you can deal with Incorrect Header Check issue
// test.todo('get file from endpoint with gzip headers');
test('search endpoint fails', async () => {
const mockAgent = new MockAgent({ connections: 1 });
mockAgent.disableNetConnect();
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(500, {});
const abort = new AbortController();
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
await expect(
prox1.search({
abort,
url: queryUrl,
})
).rejects.toThrow('bad status code 500 from uplink');
});
// test('search endpoint fails', async () => {
// const mockAgent = new MockAgent({ connections: 1 });
// mockAgent.disableNetConnect();
// setGlobalDispatcher(mockAgent);
// const mockClient = mockAgent.get(domain);
// mockClient.intercept(options).reply(500, {});
// const abort = new AbortController();
// const prox1 = new ProxyStorage(defaultRequestOptions, conf);
// await expect(
// prox1.search({
// abort,
// url: queryUrl,
// })
// ).rejects.toThrow('bad status code 500 from uplink');
// });
});
});

View File

@@ -2,7 +2,7 @@ import nock from 'nock';
import path from 'path';
import { Config, parseConfigFile } from '@verdaccio/config';
import { setup } from '@verdaccio/logger';
import { logger, setup } from '@verdaccio/logger';
import { ProxyStorage } from '../src';
@@ -44,7 +44,7 @@ describe('tarball proxy', () => {
nock('https://registry.verdaccio.org')
.get('/jquery/-/jquery-0.0.1.tgz')
.replyWithFile(201, path.join(__dirname, 'partials/jquery-0.0.1.tgz'));
const prox1 = new ProxyStorage(defaultRequestOptions, conf);
const prox1 = new ProxyStorage(defaultRequestOptions, conf, logger);
const stream = prox1.fetchTarball(
'https://registry.verdaccio.org/jquery/-/jquery-0.0.1.tgz',
{}

View File

@@ -39,7 +39,7 @@
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@orama/orama": "1.0.9",
"@orama/orama": "1.1.1",
"debug": "4.3.4",
"esbuild": "0.14.10"
},

View File

@@ -1,5 +1,39 @@
# @verdaccio/server
## 6.0.0-6-next.65
### Patch Changes
- @verdaccio/store@6.0.0-6-next.56
- @verdaccio/api@6.0.0-6-next.59
- @verdaccio/web@6.0.0-6-next.63
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/auth@6.0.0-6-next.55
- @verdaccio/loaders@6.0.0-6-next.45
- @verdaccio/middleware@6.0.0-6-next.55
- verdaccio-audit@11.0.0-6-next.39
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.64
### Patch Changes
- Updated dependencies [0a6412ca9]
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/store@6.0.0-6-next.55
- @verdaccio/web@6.0.0-6-next.62
- @verdaccio/api@6.0.0-6-next.58
- @verdaccio/auth@6.0.0-6-next.54
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/loaders@6.0.0-6-next.44
- @verdaccio/middleware@6.0.0-6-next.54
- verdaccio-audit@11.0.0-6-next.38
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.63
### Minor Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/server",
"version": "6.0.0-6-next.63",
"version": "6.0.0-6-next.65",
"description": "server logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -30,17 +30,17 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/api": "workspace:6.0.0-6-next.57",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/loaders": "workspace:6.0.0-6-next.43",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/middleware": "workspace:6.0.0-6-next.53",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/web": "workspace:6.0.0-6-next.61",
"verdaccio-audit": "workspace:11.0.0-6-next.37",
"@verdaccio/api": "workspace:6.0.0-6-next.59",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/loaders": "workspace:6.0.0-6-next.45",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/middleware": "workspace:6.0.0-6-next.55",
"@verdaccio/store": "workspace:6.0.0-6-next.56",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"@verdaccio/web": "workspace:6.0.0-6-next.63",
"verdaccio-audit": "workspace:11.0.0-6-next.39",
"compression": "1.7.4",
"cors": "2.8.5",
"debug": "4.3.4",
@@ -48,7 +48,7 @@
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/proxy": "workspace:6.0.0-6-next.52",
"@verdaccio/proxy": "workspace:6.0.0-6-next.54",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"http-errors": "2.0.0"
},

View File

@@ -1,5 +1,31 @@
# @verdaccio/server-fastify
## 6.0.0-6-next.57
### Patch Changes
- @verdaccio/store@6.0.0-6-next.56
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/auth@6.0.0-6-next.55
- @verdaccio/tarball@11.0.0-6-next.45
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.56
### Patch Changes
- Updated dependencies [0a6412ca9]
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/store@6.0.0-6-next.55
- @verdaccio/auth@6.0.0-6-next.54
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/tarball@11.0.0-6-next.44
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.55
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/server-fastify",
"version": "6.0.0-6-next.55",
"version": "6.0.0-6-next.57",
"description": "fastify server api implementation",
"keywords": [
"private",
@@ -34,13 +34,13 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/tarball": "workspace:11.0.0-6-next.43",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/store": "workspace:6.0.0-6-next.56",
"@verdaccio/tarball": "workspace:11.0.0-6-next.45",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"core-js": "3.30.2",
"debug": "4.3.4",
"fastify": "4.17.0",

View File

@@ -43,7 +43,7 @@
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
},
"funding": {

View File

@@ -32,8 +32,8 @@
"homepage": "https://verdaccio.org",
"license": "MIT",
"devDependencies": {
"@verdaccio/cli": "workspace:6.0.0-6-next.74",
"@verdaccio/ui-theme": "workspace:6.0.0-6-next.74",
"@verdaccio/cli": "workspace:6.0.0-6-next.76",
"@verdaccio/ui-theme": "workspace:6.0.0-6-next.76",
"fs-extra": "10.1.0",
"webpack": "5.82.1",
"webpack-bundle-analyzer": "4.7.0",

View File

@@ -1,5 +1,43 @@
# @verdaccio/store
## 6.0.0-6-next.56
### Patch Changes
- Updated dependencies [e381e4845]
- @verdaccio/proxy@6.0.0-6-next.54
- @verdaccio/hooks@6.0.0-6-next.46
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/tarball@11.0.0-6-next.45
- @verdaccio/url@11.0.0-6-next.42
- @verdaccio/loaders@6.0.0-6-next.45
- @verdaccio/local-storage@11.0.0-6-next.46
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.55
### Minor Changes
- 0a6412ca9: feat: refactor proxy with got v12
### Patch Changes
- 0a6412ca9: refactor: got instead undici
- Updated dependencies [0a6412ca9]
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/hooks@6.0.0-6-next.45
- @verdaccio/proxy@6.0.0-6-next.53
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/tarball@11.0.0-6-next.44
- @verdaccio/url@11.0.0-6-next.41
- @verdaccio/loaders@6.0.0-6-next.44
- @verdaccio/local-storage@11.0.0-6-next.45
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.54
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/store",
"version": "6.0.0-6-next.54",
"version": "6.0.0-6-next.56",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -39,16 +39,16 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/hooks": "workspace:6.0.0-6-next.44",
"@verdaccio/loaders": "workspace:6.0.0-6-next.43",
"@verdaccio/local-storage": "workspace:11.0.0-6-next.44",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/proxy": "workspace:6.0.0-6-next.52",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/tarball": "workspace:11.0.0-6-next.43",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/hooks": "workspace:6.0.0-6-next.46",
"@verdaccio/loaders": "workspace:6.0.0-6-next.45",
"@verdaccio/local-storage": "workspace:11.0.0-6-next.46",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/proxy": "workspace:6.0.0-6-next.54",
"@verdaccio/url": "workspace:11.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"@verdaccio/tarball": "workspace:11.0.0-6-next.45",
"JSONStream": "1.3.5",
"debug": "4.3.4",
"lodash": "4.17.21",
@@ -58,9 +58,8 @@
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"undici": "4.16.0",
"nock": "13.2.9",
"node-mocks-http": "1.12.1",
"node-mocks-http": "1.13.0",
"mockdate": "3.0.5"
},
"funding": {

View File

@@ -1,3 +1,4 @@
import { logger } from '@verdaccio/logger';
import { IProxy, ProxyStorage } from '@verdaccio/proxy';
import { Config, Manifest } from '@verdaccio/types';
@@ -14,7 +15,7 @@ export function setupUpLinks(config: Config): ProxyInstanceList {
for (const uplinkName in config.uplinks) {
if (Object.prototype.hasOwnProperty.call(config.uplinks, uplinkName)) {
// instance for each up-link definition
const proxy: IProxy = new ProxyStorage(config.uplinks[uplinkName], config);
const proxy: IProxy = new ProxyStorage(config.uplinks[uplinkName], config, logger);
// TODO: review this can be inside ProxyStorage
proxy.upname = uplinkName;

View File

@@ -226,22 +226,22 @@ class Storage {
const transformResults = new TransFormResults({ objectMode: true });
const streamPassThrough = new PassThrough({ objectMode: true });
const upLinkList = this.getProxyList();
debug('uplinks found %s', upLinkList.length);
const searchUplinksStreams = upLinkList.map((uplinkId: string) => {
const uplink = this.uplinks[uplinkId];
if (!uplink) {
// this should never tecnically happens
// this line should never happens
this.logger.error({ uplinkId }, 'uplink @upLinkId not found');
}
return this.consumeSearchStream(uplinkId, uplink, options, streamPassThrough);
});
try {
debug('search uplinks');
// we only process those streams end successfully, if all fails
// we just include local storage
debug('searching on %s uplinks...', searchUplinksStreams?.length);
// only process those streams end successfully, if all request fails
// just include local storage results (if local fails then return 500)
await Promise.allSettled([...searchUplinksStreams]);
debug('search uplinks done');
debug('searching all uplinks done');
} catch (err: any) {
this.logger.error({ err: err?.message }, ' error on uplinks search @{err}');
streamPassThrough.emit('error', err);
@@ -912,7 +912,8 @@ class Storage {
url: distFile.url,
cache: true,
},
this.config
this.config,
logger
);
}
return uplink;
@@ -1619,7 +1620,7 @@ class Storage {
public async syncUplinksMetadataNext(
name: string,
localManifest: Manifest | null,
options: ISyncUplinksOptions = {}
options: Partial<ISyncUplinksOptions> = {}
): Promise<[Manifest | null, any]> {
let found = localManifest !== null;
let syncManifest: Manifest | null = null;
@@ -1641,7 +1642,7 @@ class Storage {
}
const uplinksErrors: any[] = [];
// we resolve uplinks async in serie, first come first serve
// we resolve uplinks async in series, first come first serve
for (const uplink of upLinks) {
try {
const tempManifest = _.isNil(localManifest)
@@ -1712,7 +1713,7 @@ class Storage {
private async mergeCacheRemoteMetadata(
uplink: IProxy,
cachedManifest: Manifest,
options: ISyncUplinksOptions
options: Partial<ISyncUplinksOptions>
): Promise<Manifest> {
// we store which uplink is updating the manifest
const upLinkMeta = cachedManifest._uplinks[uplink.upname];

View File

@@ -1,6 +1,7 @@
uplinks:
timeout:
url: https://registry.domain.com/
timeout: 2s
some:
url: https://registry.domain.com/
ver:

View File

@@ -1,4 +1,4 @@
import { setGlobalDispatcher } from 'undici';
import nock from 'nock';
import { Config, getDefaultConfig } from '@verdaccio/config';
import { searchUtils } from '@verdaccio/core';
@@ -6,7 +6,7 @@ import { setup } from '@verdaccio/logger';
import { Storage, removeDuplicates } from '../src';
setup([]);
setup({});
describe('search', () => {
describe('search manager utils', () => {
@@ -28,26 +28,17 @@ describe('search', () => {
});
test('search items', async () => {
const { MockAgent } = require('undici');
// FIXME: fetch is already part of undici
const domain = 'https://registry.npmjs.org';
const url = '/-/v1/search?maintenance=1&popularity=1&quality=1&size=10&text=verdaccio';
const response = require('./fixtures/search.json');
const options = {
path: url,
method: 'GET',
};
const mockAgent = new MockAgent({ connections: 1 });
mockAgent.disableNetConnect();
setGlobalDispatcher(mockAgent);
const mockClient = mockAgent.get(domain);
mockClient.intercept(options).reply(200, JSON.stringify(response));
nock(domain).get(url).reply(200, response);
const config = new Config(getDefaultConfig());
const storage = new Storage(config);
await storage.init(config);
const abort = new AbortController();
// @ts-expect-error
const results = await storage.search({ url, query: { text: 'foo' } });
const results = await storage.search({ url, query: { text: 'verdaccio' }, abort });
expect(results).toHaveLength(4);
});
});

View File

@@ -864,15 +864,21 @@ describe('storage', () => {
const fooManifest = generatePackageMetadata('timeout', '8.0.0');
nock('https://registry.domain.com')
.get('/timeout')
.get(`/${fooManifest.name}`)
.times(10)
.delayConnection(2000)
.delayConnection(4000)
.reply(201, manifestFooRemoteNpmjs);
const config = new Config(
configExample(
{
storage: generateRandomStorage(),
uplinks: {
npmjs: {
url: 'https://registry.npmjs.org',
timeout: '2s',
},
},
},
'./fixtures/config/syncDoubleUplinksMetadata.yaml',
__dirname
@@ -885,15 +891,10 @@ describe('storage', () => {
storage.syncUplinksMetadataNext(fooManifest.name, null, {
retry: { limit: 0 },
timeout: {
lookup: 100,
connect: 50,
secureConnect: 50,
socket: 500,
// send: 10000,
response: 1000,
request: 1000,
},
})
).rejects.toThrow('ETIMEDOUT');
).rejects.toThrow(API_ERROR.NO_PACKAGE);
}, 10000);
test('should handle one proxy fails', async () => {
@@ -1468,7 +1469,7 @@ describe('storage', () => {
host: req.get('host') as string,
},
})
).rejects.toThrow(errorUtils.getServiceUnavailable('ETIMEDOUT'));
).rejects.toThrow(errorUtils.getServiceUnavailable(API_ERROR.NO_PACKAGE));
});
test('should fetch abbreviated version of manifest ', async () => {

View File

@@ -3,11 +3,11 @@
{
"id": 558752,
"login": "juanpicado",
"contributions": 5099,
"contributions": 5104,
"repositories": [
{
"name": "verdaccio",
"contributions": 2783
"contributions": 2787
},
{
"name": "verdaccio-cookbook",
@@ -131,7 +131,7 @@
},
{
"name": "e2e-5.x",
"contributions": 53
"contributions": 54
}
]
},
@@ -4842,7 +4842,7 @@
"full_name": "verdaccio/verdaccio",
"html_url": "https://github.com/verdaccio/verdaccio",
"description": "📦🔐 A lightweight Node.js private proxy registry",
"stargazers_count": 14944,
"stargazers_count": 15177,
"archived": false
},
{
@@ -5103,7 +5103,7 @@
"full_name": "verdaccio/charts",
"html_url": "https://github.com/verdaccio/charts",
"description": "☸️🐳 Verdaccio Helm chart repository",
"stargazers_count": 46,
"stargazers_count": 47,
"archived": false
},
{

View File

@@ -10,12 +10,12 @@
"types": "build/index.d.ts",
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/middleware": "workspace:6.0.0-6-next.53",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/middleware": "workspace:6.0.0-6-next.55",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"body-parser": "1.20.2",
"express": "4.18.2",
"supertest": "6.3.3",

View File

@@ -10,9 +10,9 @@
"types": "build/index.d.ts",
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"verdaccio": "6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"verdaccio": "6.0.0-6-next.76",
"ts-node": "10.9.1"
},
"scripts": {

View File

@@ -32,7 +32,7 @@
"approvalProgress": 0
},
"ko": {
"translationProgress": 4,
"translationProgress": 9,
"approvalProgress": 1
},
"pl": {

View File

@@ -76,7 +76,7 @@
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"babel-loader": "^8.3.0",
"mockdate": "3.0.5",
"msw": "0.49.2"
"msw": "0.49.3"
},
"msw": {
"workerDirectory": "public"

View File

@@ -1,5 +1,18 @@
# @verdaccio/utils
## 6.0.0-6-next.44
### Patch Changes
- @verdaccio/core@6.0.0-6-next.76
## 6.0.0-6-next.43
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
## 6.0.0-6-next.42
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/utils",
"version": "6.0.0-6-next.42",
"version": "6.0.0-6-next.44",
"description": "verdaccio utilities",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,7 +29,7 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"minimatch": "3.1.2",
"semver": "7.5.4",
"lodash": "4.17.21"

View File

@@ -1,5 +1,33 @@
# verdaccio
## 6.0.0-6-next.76
### Patch Changes
- Updated dependencies [e381e4845]
- @verdaccio/hooks@6.0.0-6-next.46
- @verdaccio/node-api@6.0.0-6-next.76
- @verdaccio/cli@6.0.0-6-next.76
- @verdaccio/ui-theme@6.0.0-6-next.76
- verdaccio-audit@11.0.0-6-next.39
- verdaccio-htpasswd@11.0.0-6-next.46
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.75
### Patch Changes
- Updated dependencies [0a6412ca9]
- @verdaccio/hooks@6.0.0-6-next.45
- @verdaccio/cli@6.0.0-6-next.75
- @verdaccio/node-api@6.0.0-6-next.75
- verdaccio-audit@11.0.0-6-next.38
- verdaccio-htpasswd@11.0.0-6-next.45
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
- @verdaccio/ui-theme@6.0.0-6-next.75
## 6.0.0-6-next.74
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio",
"version": "6.0.0-6-next.74",
"version": "6.0.0-6-next.76",
"description": "A lightweight private npm proxy registry",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -38,27 +38,27 @@
},
"homepage": "https://verdaccio.org",
"dependencies": {
"@verdaccio/cli": "workspace:6.0.0-6-next.74",
"@verdaccio/hooks": "workspace:6.0.0-6-next.44",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/node-api": "workspace:6.0.0-6-next.74",
"@verdaccio/ui-theme": "workspace:6.0.0-6-next.74",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"verdaccio-audit": "workspace:11.0.0-6-next.37",
"verdaccio-htpasswd": "workspace:11.0.0-6-next.44"
"@verdaccio/cli": "workspace:6.0.0-6-next.76",
"@verdaccio/hooks": "workspace:6.0.0-6-next.46",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/node-api": "workspace:6.0.0-6-next.76",
"@verdaccio/ui-theme": "workspace:6.0.0-6-next.76",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"verdaccio-audit": "workspace:11.0.0-6-next.39",
"verdaccio-htpasswd": "workspace:11.0.0-6-next.46"
},
"devDependencies": {
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/store": "workspace:6.0.0-6-next.56",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"fastify": "4.17.0",
"get-port": "5.1.1",
"got": "11.8.6",
"lodash": "4.17.21",
"nock": "13.2.9",
"node-mocks-http": "1.12.1",
"node-mocks-http": "1.13.0",
"typedoc-plugin-markdown": "3.14.0",
"typedoc-plugin-missing-exports": "1.0.0",
"yaml": "2.2.0"

View File

@@ -1,5 +1,38 @@
# @verdaccio/web
## 6.0.0-6-next.63
### Patch Changes
- @verdaccio/store@6.0.0-6-next.56
- @verdaccio/core@6.0.0-6-next.76
- @verdaccio/config@6.0.0-6-next.76
- @verdaccio/auth@6.0.0-6-next.55
- @verdaccio/tarball@11.0.0-6-next.45
- @verdaccio/url@11.0.0-6-next.42
- @verdaccio/loaders@6.0.0-6-next.45
- @verdaccio/middleware@6.0.0-6-next.55
- @verdaccio/utils@6.0.0-6-next.44
- @verdaccio/logger@6.0.0-6-next.44
## 6.0.0-6-next.62
### Patch Changes
- 0a6412ca9: refactor: got instead undici
- Updated dependencies [0a6412ca9]
- Updated dependencies [0a6412ca9]
- @verdaccio/core@6.0.0-6-next.75
- @verdaccio/store@6.0.0-6-next.55
- @verdaccio/auth@6.0.0-6-next.54
- @verdaccio/config@6.0.0-6-next.75
- @verdaccio/tarball@11.0.0-6-next.44
- @verdaccio/url@11.0.0-6-next.41
- @verdaccio/loaders@6.0.0-6-next.44
- @verdaccio/middleware@6.0.0-6-next.54
- @verdaccio/utils@6.0.0-6-next.43
- @verdaccio/logger@6.0.0-6-next.43
## 6.0.0-6-next.61
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/web",
"version": "6.0.0-6-next.61",
"version": "6.0.0-6-next.63",
"description": "web ui middleware",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -25,16 +25,16 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/loaders": "workspace:6.0.0-6-next.43",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/middleware": "workspace:6.0.0-6-next.53",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/tarball": "workspace:11.0.0-6-next.43",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/auth": "workspace:6.0.0-6-next.55",
"@verdaccio/core": "workspace:6.0.0-6-next.76",
"@verdaccio/config": "workspace:6.0.0-6-next.76",
"@verdaccio/loaders": "workspace:6.0.0-6-next.45",
"@verdaccio/logger": "workspace:6.0.0-6-next.44",
"@verdaccio/middleware": "workspace:6.0.0-6-next.55",
"@verdaccio/store": "workspace:6.0.0-6-next.56",
"@verdaccio/tarball": "workspace:11.0.0-6-next.45",
"@verdaccio/url": "workspace:11.0.0-6-next.42",
"@verdaccio/utils": "workspace:6.0.0-6-next.44",
"debug": "4.3.4",
"express": "4.18.2",
"lodash": "4.17.21"
@@ -42,14 +42,13 @@
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"@verdaccio/api": "workspace:6.0.0-6-next.57",
"@verdaccio/api": "workspace:6.0.0-6-next.59",
"node-html-parser": "4.1.5",
"supertest": "6.3.3",
"nock": "13.2.9",
"jsdom": "20.0.3",
"undici": "4.16.0",
"verdaccio-auth-memory": "workspace:11.0.0-6-next.39",
"verdaccio-memory": "workspace:11.0.0-6-next.41"
"verdaccio-auth-memory": "workspace:11.0.0-6-next.41",
"verdaccio-memory": "workspace:11.0.0-6-next.43"
},
"scripts": {
"clean": "rimraf ./build",

5553
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -10,7 +10,7 @@
"bundled": true,
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"latest": "10.2.4",
"downloads": 448795,
"downloads": 502907,
"registry": "https://registry.npmjs.org/verdaccio-audit"
},
{
@@ -21,7 +21,7 @@
"bundled": true,
"description": "Local storage implementation",
"latest": "10.3.3",
"downloads": 447769,
"downloads": 501364,
"registry": "https://registry.npmjs.org/@verdaccio/local-storage"
},
{
@@ -32,7 +32,7 @@
"bundled": true,
"description": "Verdaccio User Interface",
"latest": "3.4.1",
"downloads": 449735,
"downloads": 504144,
"registry": "https://registry.npmjs.org/@verdaccio/ui-theme"
},
{
@@ -43,7 +43,7 @@
"bundled": false,
"description": "Storage implementation in memory",
"latest": "10.3.2",
"downloads": 13738,
"downloads": 17201,
"registry": "https://registry.npmjs.org/verdaccio-memory"
},
{
@@ -54,7 +54,7 @@
"bundled": false,
"description": "AWS S3 storage implementation for Verdaccio",
"latest": "10.3.1",
"downloads": 1813,
"downloads": 1602,
"registry": "https://registry.npmjs.org/verdaccio-aws-s3-storage"
},
{
@@ -65,7 +65,7 @@
"bundled": false,
"description": "Google Cloud storage implementation for Verdaccio",
"latest": "10.2.1",
"downloads": 3568,
"downloads": 2939,
"registry": "https://registry.npmjs.org/verdaccio-google-cloud"
},
{
@@ -76,7 +76,7 @@
"bundled": false,
"description": "Auth plugin for Verdaccio that keeps users in memory",
"latest": "10.2.2",
"downloads": 107245,
"downloads": 91193,
"registry": "https://registry.npmjs.org/verdaccio-auth-memory"
},
{
@@ -87,7 +87,7 @@
"bundled": true,
"description": "htpasswd auth plugin for Verdaccio",
"latest": "10.5.5",
"downloads": 453406,
"downloads": 507501,
"registry": "https://registry.npmjs.org/verdaccio-htpasswd"
},
{
@@ -98,7 +98,7 @@
"bundled": false,
"description": "plugin for filtering packages with security purposes",
"latest": "1.0.1",
"downloads": 20,
"downloads": 2,
"registry": "https://registry.npmjs.org/verdaccio-plugin-secfilter"
},
{
@@ -109,7 +109,7 @@
"bundled": false,
"description": "a port of the verdaccio-ldap to version 5",
"latest": "1.0.1",
"downloads": 29,
"downloads": 49,
"registry": "https://registry.npmjs.org/verdaccio-ldap-port"
},
{
@@ -120,7 +120,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.2.13",
"downloads": 218,
"downloads": 43,
"registry": "https://registry.npmjs.org/@playerdata/verdaccio-storage-expiry"
},
{
@@ -131,7 +131,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.4.1",
"downloads": 9,
"downloads": 7,
"registry": "https://registry.npmjs.org/verdaccio-ldap-memcached"
},
{
@@ -142,7 +142,7 @@
"origin": "community",
"category": "authentication",
"latest": "3.0.1",
"downloads": 185,
"downloads": 59,
"registry": "https://registry.npmjs.org/verdaccio-bitbucket"
},
{
@@ -153,7 +153,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.1",
"downloads": 13,
"downloads": 9,
"registry": "https://registry.npmjs.org/verdaccio-redis-search-patch"
},
{
@@ -164,7 +164,7 @@
"origin": "community",
"category": "authentication",
"latest": "2.0.6",
"downloads": 19,
"downloads": 2,
"registry": "https://registry.npmjs.org/verdaccio-auther-memory"
},
{
@@ -175,7 +175,7 @@
"origin": "community",
"category": "authentication",
"latest": "0.1.83",
"downloads": 493,
"downloads": 140,
"registry": "https://registry.npmjs.org/verdaccio-git"
},
{
@@ -186,7 +186,7 @@
"origin": "community",
"category": "authentication",
"latest": "6.0.0",
"downloads": 347,
"downloads": 231,
"registry": "https://registry.npmjs.org/verdaccio-ldap"
},
{
@@ -197,7 +197,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.6",
"downloads": 23,
"downloads": 1,
"registry": "https://registry.npmjs.org/verdaccio-ldap-node"
},
{
@@ -208,7 +208,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.0",
"downloads": 5,
"downloads": 2,
"registry": "https://registry.npmjs.org/verdaccio-badger"
},
{
@@ -219,7 +219,7 @@
"origin": "community",
"category": "authentication",
"latest": "10.3.2",
"downloads": 9,
"downloads": 7,
"registry": "https://registry.npmjs.org/@hamstudy/verdaccio-aws-s3-storage-sse"
},
{
@@ -230,7 +230,7 @@
"origin": "community",
"category": "authentication",
"latest": "2.0.2",
"downloads": 11,
"downloads": 6,
"registry": "https://registry.npmjs.org/@xlts.dev/verdaccio-prometheus-middleware"
},
{
@@ -241,7 +241,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.5",
"downloads": 34,
"downloads": 12,
"registry": "https://registry.npmjs.org/verdaccio-github-auth"
},
{
@@ -252,7 +252,7 @@
"origin": "community",
"category": "authentication",
"latest": "3.0.1",
"downloads": 122,
"downloads": 51,
"registry": "https://registry.npmjs.org/verdaccio-gitlab"
},
{
@@ -263,7 +263,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.3.4",
"downloads": 44,
"downloads": 8,
"registry": "https://registry.npmjs.org/verdaccio-bitbucket-server"
},
{
@@ -274,7 +274,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.7",
"downloads": 65,
"downloads": 16,
"registry": "https://registry.npmjs.org/verdaccio-package-count"
},
{
@@ -285,7 +285,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.2",
"downloads": 46,
"downloads": 48,
"registry": "https://registry.npmjs.org/verdaccio-activedirectory"
},
{
@@ -296,7 +296,7 @@
"origin": "community",
"category": "authentication",
"latest": "0.2.7",
"downloads": 25,
"downloads": 4,
"registry": "https://registry.npmjs.org/verdaccio-profile-api"
},
{
@@ -307,7 +307,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.1.8",
"downloads": 13,
"downloads": 2,
"registry": "https://registry.npmjs.org/verdaccio-dynamodb"
},
{
@@ -318,7 +318,7 @@
"origin": "community",
"category": "authentication",
"latest": "0.2.5",
"downloads": 88,
"downloads": 69,
"registry": "https://registry.npmjs.org/verdaccio-minio"
},
{
@@ -329,7 +329,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.2.3",
"downloads": 59,
"downloads": 25,
"registry": "https://registry.npmjs.org/verdaccio-redis-storage"
},
{
@@ -340,7 +340,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.2.0",
"downloads": 31,
"downloads": 8,
"registry": "https://registry.npmjs.org/verdaccio-mongodb"
},
{
@@ -351,7 +351,7 @@
"origin": "community",
"category": "authentication",
"latest": "1.0.0",
"downloads": 9,
"downloads": 2,
"registry": "https://registry.npmjs.org/verdaccio-ldap5"
},
{
@@ -363,7 +363,7 @@
"url": "https://www.npmjs.org/@m03geek/verdaccio-google-cloud",
"registry": "https://registry.npmjs.org/@m03geek/verdaccio-google-cloud",
"latest": "0.1.0",
"downloads": 10
"downloads": 12
},
{
"name": "verdaccio-storage-proxy",
@@ -374,7 +374,7 @@
"url": "https://www.npmjs.org/verdaccio-storage-proxy",
"registry": "https://registry.npmjs.org/verdaccio-storage-proxy",
"latest": "0.0.11",
"downloads": 14
"downloads": 18
},
{
"name": "verdaccio-local-storage-advance",
@@ -385,7 +385,7 @@
"url": "https://www.npmjs.org/verdaccio-local-storage-advance",
"registry": "https://registry.npmjs.org/verdaccio-local-storage-advance",
"latest": "0.0.10",
"downloads": 19
"downloads": 4
},
{
"name": "verdaccio-kuzzle",
@@ -396,7 +396,7 @@
"url": "https://www.npmjs.org/verdaccio-kuzzle",
"registry": "https://registry.npmjs.org/verdaccio-kuzzle",
"latest": "1.0.9",
"downloads": 40
"downloads": 1
},
{
"name": "verdaccio-dist-tag-control",
@@ -407,7 +407,7 @@
"url": "https://www.npmjs.org/verdaccio-dist-tag-control",
"registry": "https://registry.npmjs.org/verdaccio-dist-tag-control",
"latest": "1.0.2",
"downloads": 20
"downloads": 3
},
{
"name": "verdaccio-doreamon-oauth2",
@@ -418,7 +418,7 @@
"url": "https://www.npmjs.org/verdaccio-doreamon-oauth2",
"registry": "https://registry.npmjs.org/verdaccio-doreamon-oauth2",
"latest": "1.2.0",
"downloads": 10
"downloads": 6
},
{
"name": "@outcome-co/verdaccio-google-cloud",
@@ -429,7 +429,7 @@
"url": "https://www.npmjs.org/@outcome-co/verdaccio-google-cloud",
"registry": "https://registry.npmjs.org/@outcome-co/verdaccio-google-cloud",
"latest": "1.1.8",
"downloads": 27
"downloads": 2
},
{
"name": "verdaccio-pg-storage",
@@ -440,7 +440,7 @@
"url": "https://www.npmjs.org/verdaccio-pg-storage",
"registry": "https://registry.npmjs.org/verdaccio-pg-storage",
"latest": "1.0.3",
"downloads": 16
"downloads": 8
},
{
"name": "verdaccio-local-storage-with-cache-db",
@@ -451,7 +451,7 @@
"url": "https://www.npmjs.org/verdaccio-local-storage-with-cache-db",
"registry": "https://registry.npmjs.org/verdaccio-local-storage-with-cache-db",
"latest": "9.7.7",
"downloads": 8
"downloads": 6
},
{
"name": "verdaccio-offline-storage",
@@ -462,7 +462,7 @@
"url": "https://www.npmjs.org/verdaccio-offline-storage",
"registry": "https://registry.npmjs.org/verdaccio-offline-storage",
"latest": "2.0.0",
"downloads": 39
"downloads": 69
},
{
"name": "verdaccio-aliyunoss-storage",
@@ -473,7 +473,7 @@
"url": "https://www.npmjs.org/verdaccio-aliyunoss-storage",
"registry": "https://registry.npmjs.org/verdaccio-aliyunoss-storage",
"latest": "1.0.10",
"downloads": 14
"downloads": 3
},
{
"name": "verdaccio-openid-connect",
@@ -484,7 +484,7 @@
"url": "https://www.npmjs.org/verdaccio-openid-connect",
"registry": "https://registry.npmjs.org/verdaccio-openid-connect",
"latest": "1.4.0",
"downloads": 82
"downloads": 142
},
{
"name": "verdaccio-github-oauth-ui",
@@ -495,7 +495,7 @@
"url": "https://www.npmjs.org/verdaccio-github-oauth-ui",
"registry": "https://registry.npmjs.org/verdaccio-github-oauth-ui",
"latest": "6.0.2",
"downloads": 598
"downloads": 516
},
{
"name": "verdaccio-github-oauth",
@@ -506,7 +506,7 @@
"url": "https://www.npmjs.org/verdaccio-github-oauth",
"registry": "https://registry.npmjs.org/verdaccio-github-oauth",
"latest": "1.1.0",
"downloads": 159
"downloads": 34
},
{
"name": "verdaccio-auth-gitlab",
@@ -517,7 +517,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-gitlab",
"registry": "https://registry.npmjs.org/verdaccio-auth-gitlab",
"latest": "2.0.0-beta.11",
"downloads": 117
"downloads": 98
},
{
"name": "verdaccio-auth0-ui",
@@ -528,7 +528,7 @@
"url": "https://www.npmjs.org/verdaccio-auth0-ui",
"registry": "https://registry.npmjs.org/verdaccio-auth0-ui",
"latest": "3.0.0",
"downloads": 15
"downloads": 2
},
{
"name": "verdaccio-tagauth",
@@ -539,7 +539,7 @@
"url": "https://www.npmjs.org/verdaccio-tagauth",
"registry": "https://registry.npmjs.org/verdaccio-tagauth",
"latest": "0.0.1",
"downloads": 5
"downloads": 1
},
{
"name": "verdaccio-gitea-auth",
@@ -550,7 +550,7 @@
"url": "https://www.npmjs.org/verdaccio-gitea-auth",
"registry": "https://registry.npmjs.org/verdaccio-gitea-auth",
"latest": "0.1.4",
"downloads": 15
"downloads": 5
},
{
"name": "verdaccio-platformatic-auth",
@@ -561,7 +561,7 @@
"url": "https://www.npmjs.org/verdaccio-platformatic-auth",
"registry": "https://registry.npmjs.org/verdaccio-platformatic-auth",
"latest": "0.0.4",
"downloads": 5
"downloads": 1
},
{
"name": "verdaccio-google-oauth",
@@ -572,7 +572,7 @@
"url": "https://www.npmjs.org/verdaccio-google-oauth",
"registry": "https://registry.npmjs.org/verdaccio-google-oauth",
"latest": "1.0.1",
"downloads": 30
"downloads": 14
},
{
"name": "verdaccio-passport-google-oauth-ui",
@@ -583,7 +583,7 @@
"url": "https://www.npmjs.org/verdaccio-passport-google-oauth-ui",
"registry": "https://registry.npmjs.org/verdaccio-passport-google-oauth-ui",
"latest": "0.1.1",
"downloads": 25
"downloads": 24
},
{
"name": "verdaccio-aukilabs-npm-auth",
@@ -594,7 +594,7 @@
"url": "https://www.npmjs.org/verdaccio-aukilabs-npm-auth",
"registry": "https://registry.npmjs.org/verdaccio-aukilabs-npm-auth",
"latest": "0.0.2",
"downloads": 11
"downloads": 2
},
{
"name": "verdaccio-gitlab-hilio",
@@ -605,7 +605,7 @@
"url": "https://www.npmjs.org/verdaccio-gitlab-hilio",
"registry": "https://registry.npmjs.org/verdaccio-gitlab-hilio",
"latest": "1.1.17",
"downloads": 38
"downloads": 2
},
{
"name": "verdaccio-auth-knex",
@@ -616,7 +616,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-knex",
"registry": "https://registry.npmjs.org/verdaccio-auth-knex",
"latest": "1.0.3",
"downloads": 15
"downloads": 1
},
{
"name": "verdaccio-qnapldap",
@@ -627,7 +627,7 @@
"url": "https://www.npmjs.org/verdaccio-qnapldap",
"registry": "https://registry.npmjs.org/verdaccio-qnapldap",
"latest": "0.0.6",
"downloads": 13
"downloads": 7
},
{
"name": "verdaccio-fast-ldap",
@@ -638,7 +638,7 @@
"url": "https://www.npmjs.org/verdaccio-fast-ldap",
"registry": "https://registry.npmjs.org/verdaccio-fast-ldap",
"latest": "4.2.1",
"downloads": 6
"downloads": 1
},
{
"name": "verdaccio-gitlab-oauth",
@@ -649,7 +649,7 @@
"url": "https://www.npmjs.org/verdaccio-gitlab-oauth",
"registry": "https://registry.npmjs.org/verdaccio-gitlab-oauth",
"latest": "1.0.4",
"downloads": 24
"downloads": 11
},
{
"name": "verdaccio-group-htpasswd",
@@ -660,7 +660,7 @@
"url": "https://www.npmjs.org/verdaccio-group-htpasswd",
"registry": "https://registry.npmjs.org/verdaccio-group-htpasswd",
"latest": "1.0.0",
"downloads": 8
"downloads": 1
},
{
"name": "verdaccio-groups",
@@ -671,7 +671,7 @@
"url": "https://www.npmjs.org/verdaccio-groups",
"registry": "https://registry.npmjs.org/verdaccio-groups",
"latest": "1.2.0",
"downloads": 54
"downloads": 34
},
{
"name": "verdaccio-github-token",
@@ -682,7 +682,7 @@
"url": "https://www.npmjs.org/verdaccio-github-token",
"registry": "https://registry.npmjs.org/verdaccio-github-token",
"latest": "1.0.0",
"downloads": 7
"downloads": 2
},
{
"name": "verdaccio-mysql",
@@ -693,7 +693,7 @@
"url": "https://www.npmjs.org/verdaccio-mysql",
"registry": "https://registry.npmjs.org/verdaccio-mysql",
"latest": "1.0.1",
"downloads": 9
"downloads": 2
},
{
"name": "verdaccio-qlchatauth",
@@ -704,7 +704,7 @@
"url": "https://www.npmjs.org/verdaccio-qlchatauth",
"registry": "https://registry.npmjs.org/verdaccio-qlchatauth",
"latest": "0.0.9",
"downloads": 23
"downloads": 3
},
{
"name": "verdaccio-azure-ad-login",
@@ -715,7 +715,7 @@
"url": "https://www.npmjs.org/verdaccio-azure-ad-login",
"registry": "https://registry.npmjs.org/verdaccio-azure-ad-login",
"latest": "1.1.1",
"downloads": 26
"downloads": 20
},
{
"name": "verdaccio-oidc",
@@ -726,7 +726,7 @@
"url": "https://www.npmjs.org/verdaccio-oidc",
"registry": "https://registry.npmjs.org/verdaccio-oidc",
"latest": "0.0.0-namesquat",
"downloads": 5
"downloads": 2
},
{
"name": "verdaccio-regman",
@@ -737,7 +737,7 @@
"url": "https://www.npmjs.org/verdaccio-regman",
"registry": "https://registry.npmjs.org/verdaccio-regman",
"latest": "1.0.5",
"downloads": 20
"downloads": 3
},
{
"name": "verdaccio-level-auth",
@@ -748,7 +748,7 @@
"url": "https://www.npmjs.org/verdaccio-level-auth",
"registry": "https://registry.npmjs.org/verdaccio-level-auth",
"latest": "1.0.12",
"downloads": 13
"downloads": 2
},
{
"name": "verdaccio-activedirectory-extended",
@@ -759,7 +759,7 @@
"url": "https://www.npmjs.org/verdaccio-activedirectory-extended",
"registry": "https://registry.npmjs.org/verdaccio-activedirectory-extended",
"latest": "1.4.3",
"downloads": 15
"downloads": 2
},
{
"name": "verdaccio-acl-plugin",
@@ -770,7 +770,7 @@
"url": "https://www.npmjs.org/verdaccio-acl-plugin",
"registry": "https://registry.npmjs.org/verdaccio-acl-plugin",
"latest": "1.0.1",
"downloads": 8
"downloads": 2
},
{
"name": "verdaccio-auth-bearer",
@@ -781,7 +781,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-bearer",
"registry": "https://registry.npmjs.org/verdaccio-auth-bearer",
"latest": "2.5.0",
"downloads": 8
"downloads": 2
},
{
"name": "verdaccio-steedos",
@@ -792,7 +792,7 @@
"url": "https://www.npmjs.org/verdaccio-steedos",
"registry": "https://registry.npmjs.org/verdaccio-steedos",
"latest": "1.0.0",
"downloads": 6
"downloads": 2
},
{
"name": "verdaccio-sqlite",
@@ -803,7 +803,7 @@
"url": "https://www.npmjs.org/verdaccio-sqlite",
"registry": "https://registry.npmjs.org/verdaccio-sqlite",
"latest": "1.0.2",
"downloads": 38
"downloads": 10
},
{
"name": "verdaccio-sqlite",
@@ -814,7 +814,7 @@
"url": "https://www.npmjs.org/verdaccio-sqlite",
"registry": "https://registry.npmjs.org/verdaccio-sqlite",
"latest": "1.0.2",
"downloads": 38
"downloads": 10
},
{
"name": "verdaccio-simplegroup",
@@ -825,7 +825,7 @@
"url": "https://www.npmjs.org/verdaccio-simplegroup",
"registry": "https://registry.npmjs.org/verdaccio-simplegroup",
"latest": "1.0.2",
"downloads": 13
"downloads": 4
},
{
"name": "verdaccio-betaversion",
@@ -836,7 +836,7 @@
"url": "https://www.npmjs.org/verdaccio-betaversion",
"registry": "https://registry.npmjs.org/verdaccio-betaversion",
"latest": "1.0.3",
"downloads": 12
"downloads": 1
},
{
"name": "verdaccio-auth-username",
@@ -847,7 +847,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-username",
"registry": "https://registry.npmjs.org/verdaccio-auth-username",
"latest": "1.1.2",
"downloads": 38
"downloads": 3
},
{
"name": "verdaccio-apm-login",
@@ -858,7 +858,7 @@
"url": "https://www.npmjs.org/verdaccio-apm-login",
"registry": "https://registry.npmjs.org/verdaccio-apm-login",
"latest": "1.0.6",
"downloads": 18
"downloads": 2
},
{
"name": "verdaccio-auth-stack",
@@ -869,7 +869,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-stack",
"registry": "https://registry.npmjs.org/verdaccio-auth-stack",
"latest": "1.0.3",
"downloads": 10
"downloads": 2
},
{
"name": "verdaccio-auth-capi",
@@ -880,7 +880,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-capi",
"registry": "https://registry.npmjs.org/verdaccio-auth-capi",
"latest": "1.0.2",
"downloads": 10
"downloads": 4
},
{
"name": "verdaccio-groupnames",
@@ -891,7 +891,7 @@
"url": "https://www.npmjs.org/verdaccio-groupnames",
"registry": "https://registry.npmjs.org/verdaccio-groupnames",
"latest": "1.1.0",
"downloads": 23
"downloads": 2
},
{
"name": "verdaccio-auth-mongo",
@@ -902,7 +902,7 @@
"url": "https://www.npmjs.org/verdaccio-auth-mongo",
"registry": "https://registry.npmjs.org/verdaccio-auth-mongo",
"latest": "1.0.2",
"downloads": 8
"downloads": 2
},
{
"name": "verdaccio-coauth",
@@ -913,7 +913,7 @@
"url": "https://www.npmjs.org/verdaccio-coauth",
"registry": "https://registry.npmjs.org/verdaccio-coauth",
"latest": "0.0.2",
"downloads": 9
"downloads": 3
},
{
"name": "verdaccio-simpleldap",
@@ -924,7 +924,7 @@
"url": "https://www.npmjs.org/verdaccio-simpleldap",
"registry": "https://registry.npmjs.org/verdaccio-simpleldap",
"latest": "0.1.1",
"downloads": 16
"downloads": 1
},
{
"name": "verdaccio-github-team",
@@ -935,7 +935,7 @@
"url": "https://www.npmjs.org/verdaccio-github-team",
"registry": "https://registry.npmjs.org/verdaccio-github-team",
"latest": "0.1.2",
"downloads": 7
"downloads": 2
},
{
"name": "verdaccio-api-auth",
@@ -946,7 +946,7 @@
"url": "https://www.npmjs.org/verdaccio-api-auth",
"registry": "https://registry.npmjs.org/verdaccio-api-auth",
"latest": "0.0.9",
"downloads": 22
"downloads": 1
},
{
"name": "verdaccio-delegated-auth",
@@ -957,7 +957,7 @@
"url": "https://www.npmjs.org/verdaccio-delegated-auth",
"registry": "https://registry.npmjs.org/verdaccio-delegated-auth",
"latest": "0.1.1",
"downloads": 24
"downloads": 2
},
{
"name": "verdaccio-delegated-basic-auth",
@@ -968,7 +968,7 @@
"url": "https://www.npmjs.org/verdaccio-delegated-basic-auth",
"registry": "https://registry.npmjs.org/verdaccio-delegated-basic-auth",
"latest": "0.0.2",
"downloads": 8
"downloads": 2
},
{
"name": "verdaccio-fixed-token",
@@ -979,7 +979,7 @@
"url": "https://www.npmjs.org/verdaccio-fixed-token",
"registry": "https://registry.npmjs.org/verdaccio-fixed-token",
"latest": "0.0.1",
"downloads": 10
"downloads": 12
},
{
"name": "@wunderwerk/verdaccio-static-access-token-middleware-plugin",
@@ -989,7 +989,7 @@
"url": "https://www.npmjs.org/@wunderwerk/verdaccio-static-access-token-middleware-plugin",
"registry": "https://registry.npmjs.org/@wunderwerk/verdaccio-static-access-token-middleware-plugin",
"latest": "1.0.2",
"downloads": 11
"downloads": 15
},
{
"name": "verdaccio-sentryrich",
@@ -1000,7 +1000,7 @@
"url": "https://www.npmjs.org/verdaccio-sentryrich",
"registry": "https://registry.npmjs.org/verdaccio-sentryrich",
"latest": "0.1.3",
"downloads": 21
"downloads": 9
},
{
"name": "verdaccio-sentry",
@@ -1011,7 +1011,7 @@
"url": "https://www.npmjs.org/verdaccio-sentry",
"registry": "https://registry.npmjs.org/verdaccio-sentry",
"latest": "0.0.2-beta",
"downloads": 6
"downloads": 3
},
{
"name": "verdaccio-openmetrics",
@@ -1022,7 +1022,7 @@
"url": "https://www.npmjs.org/verdaccio-openmetrics",
"registry": "https://registry.npmjs.org/verdaccio-openmetrics",
"latest": "1.2.0",
"downloads": 68
"downloads": 53
},
{
"name": "verdaccio-https",
@@ -1033,7 +1033,7 @@
"url": "https://www.npmjs.org/verdaccio-https",
"registry": "https://registry.npmjs.org/verdaccio-https",
"latest": "1.0.11",
"downloads": 27
"downloads": 5
},
{
"name": "verdaccio-badges",
@@ -1044,7 +1044,7 @@
"url": "https://www.npmjs.org/verdaccio-badges",
"registry": "https://registry.npmjs.org/verdaccio-badges",
"latest": "1.1.2",
"downloads": 40
"downloads": 13
},
{
"name": "verdaccio-npm-urls",
@@ -1055,7 +1055,7 @@
"url": "https://www.npmjs.org/verdaccio-npm-urls",
"registry": "https://registry.npmjs.org/verdaccio-npm-urls",
"latest": "1.0.1",
"downloads": 19
"downloads": 6
},
{
"name": "verdaccio-static-token",
@@ -1066,7 +1066,7 @@
"url": "https://www.npmjs.org/verdaccio-static-token",
"registry": "https://registry.npmjs.org/verdaccio-static-token",
"latest": "1.0.1",
"downloads": 298
"downloads": 151
},
{
"name": "verdaccio-apm-server",
@@ -1077,7 +1077,7 @@
"url": "https://www.npmjs.org/verdaccio-apm-server",
"registry": "https://registry.npmjs.org/verdaccio-apm-server",
"latest": "1.0.14",
"downloads": 38
"downloads": 1
},
{
"name": "verdaccio-gae-ah",
@@ -1088,7 +1088,7 @@
"url": "https://www.npmjs.org/verdaccio-gae-ah",
"registry": "https://registry.npmjs.org/verdaccio-gae-ah",
"latest": "0.0.3",
"downloads": 13
"downloads": 6
},
{
"name": "verdaccio-oidc-ui",
@@ -1099,7 +1099,7 @@
"url": "https://www.npmjs.org/verdaccio-oidc-ui",
"registry": "https://registry.npmjs.org/verdaccio-oidc-ui",
"latest": "2.2.7",
"downloads": 37
"downloads": 14
},
{
"name": "verdaccio-github-oauth-ui-without-groups",
@@ -1110,7 +1110,7 @@
"url": "https://www.npmjs.org/verdaccio-github-oauth-ui-without-groups",
"registry": "https://registry.npmjs.org/verdaccio-github-oauth-ui-without-groups",
"latest": "1.0.1",
"downloads": 7
"downloads": 2
},
{
"name": "verdaccio-zip",
@@ -1121,7 +1121,7 @@
"url": "https://www.npmjs.org/verdaccio-zip",
"registry": "https://registry.npmjs.org/verdaccio-zip",
"latest": "1.0.19",
"downloads": 114
"downloads": 551
},
{
"name": "verdaccio-utilities",
@@ -1132,7 +1132,7 @@
"url": "https://www.npmjs.org/verdaccio-utilities",
"registry": "https://registry.npmjs.org/verdaccio-utilities",
"latest": "1.3.5",
"downloads": 37
"downloads": 1
},
{
"name": "mlc-verdaccio-s3-archiver",
@@ -1143,7 +1143,7 @@
"url": "https://www.npmjs.org/mlc-verdaccio-s3-archiver",
"registry": "https://registry.npmjs.org/mlc-verdaccio-s3-archiver",
"latest": "1.0.3",
"downloads": 17
"downloads": 2
},
{
"name": "bulk-npm-publish",
@@ -1154,7 +1154,7 @@
"url": "https://www.npmjs.org/bulk-npm-publish",
"registry": "https://registry.npmjs.org/bulk-npm-publish",
"latest": "3.0.2",
"downloads": 56
"downloads": 27
},
{
"name": "tgz-checker",
@@ -1165,7 +1165,7 @@
"url": "https://www.npmjs.org/tgz-checker",
"registry": "https://registry.npmjs.org/tgz-checker",
"latest": "0.1.9",
"downloads": 122
"downloads": 50
},
{
"name": "npm-offline-packer",