Compare commits
35 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3bc24bc4a7 | ||
|
|
26eeb022bb | ||
|
|
4c41982d9c | ||
|
|
88c2885cb6 | ||
|
|
e0ffae411d | ||
|
|
693b57c949 | ||
|
|
10dd81f473 | ||
|
|
2ee28c0988 | ||
|
|
533abbd6e3 | ||
|
|
33e25d2876 | ||
|
|
7d4adac1fc | ||
|
|
0f94336a9e | ||
|
|
36feb886ee | ||
|
|
e54fc76f8e | ||
|
|
8be0d4882e | ||
|
|
0905d04801 | ||
|
|
e7517acff9 | ||
|
|
15a86b7dd2 | ||
|
|
73f81ee7a9 | ||
|
|
e7ceb8c9e6 | ||
|
|
a528af49bc | ||
|
|
117eb1ca42 | ||
|
|
199aea375a | ||
|
|
de6ff5cb0d | ||
|
|
b270f7a975 | ||
|
|
6e764e3c49 | ||
|
|
ecbc569f23 | ||
|
|
34be970100 | ||
|
|
fd79e7c637 | ||
|
|
d4b9a6c374 | ||
|
|
441c226fbb | ||
|
|
b06b2e7ef1 | ||
|
|
9d1f6ee54d | ||
|
|
3433d7ec0b | ||
|
|
f604ec8a34 |
5
.changeset/chilly-rivers-chew.md
Normal file
5
.changeset/chilly-rivers-chew.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/cli': patch
|
||||
---
|
||||
|
||||
chore: add config location and loglevel to startup log
|
||||
10
.changeset/dirty-dolphins-try.md
Normal file
10
.changeset/dirty-dolphins-try.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
'@verdaccio/ui-components': minor
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/cli': patch
|
||||
---
|
||||
|
||||
feat: complete overhaul of web user interface
|
||||
9
.changeset/grumpy-pots-watch.md
Normal file
9
.changeset/grumpy-pots-watch.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
feat: add support for npm owner
|
||||
5
.changeset/nervous-fireants-design.md
Normal file
5
.changeset/nervous-fireants-design.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'generator-verdaccio-plugin': major
|
||||
---
|
||||
|
||||
feat: migration to monorepo
|
||||
@@ -57,21 +57,26 @@
|
||||
"@verdaccio/website": "5.20.2",
|
||||
"@verdaccio/local-publish": "0.0.1",
|
||||
"@verdaccio/search": "7.0.0-next.0",
|
||||
"@verdaccio/e2e-cli-pnpm9": "1.0.1"
|
||||
"@verdaccio/e2e-cli-pnpm9": "1.0.1",
|
||||
"generator-verdaccio-plugin": "4.1.0"
|
||||
},
|
||||
"changesets": [
|
||||
"angry-trees-tie",
|
||||
"big-cameras-invent",
|
||||
"breezy-mayflies-pull",
|
||||
"chilled-carrots-guess",
|
||||
"chilly-rivers-chew",
|
||||
"dirty-dolphins-try",
|
||||
"dry-shoes-report",
|
||||
"eight-icons-heal",
|
||||
"eight-squids-judge",
|
||||
"eighty-lobsters-study",
|
||||
"good-cups-train",
|
||||
"grumpy-pots-watch",
|
||||
"itchy-mangos-wink",
|
||||
"long-jars-collect",
|
||||
"long-moles-attend",
|
||||
"nervous-fireants-design",
|
||||
"old-turkeys-heal",
|
||||
"olive-bananas-wink",
|
||||
"perfect-chairs-act",
|
||||
@@ -80,6 +85,7 @@
|
||||
"poor-seals-turn",
|
||||
"quick-buses-scream",
|
||||
"real-socks-vanish",
|
||||
"rich-shrimps-check",
|
||||
"sharp-wolves-carry",
|
||||
"shiny-worms-retire",
|
||||
"shy-carrots-compare",
|
||||
@@ -90,6 +96,7 @@
|
||||
"strange-points-repair",
|
||||
"stupid-dancers-relate",
|
||||
"thirty-toes-swim",
|
||||
"twenty-queens-protect",
|
||||
"unlucky-cycles-sparkle",
|
||||
"weak-fans-explain",
|
||||
"wet-balloons-give",
|
||||
|
||||
6
.changeset/rich-shrimps-check.md
Normal file
6
.changeset/rich-shrimps-check.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
fix: update fields for abbreviated manifest
|
||||
7
.changeset/twenty-queens-protect.md
Normal file
7
.changeset/twenty-queens-protect.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
'@verdaccio/types': patch
|
||||
---
|
||||
|
||||
fix: change bundleDependencies to array
|
||||
2
.github/workflows/changesets.yml
vendored
2
.github/workflows/changesets.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- name: checkout code repository
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
10
.github/workflows/ci-windows.yml
vendored
10
.github/workflows/ci-windows.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
name: Lint
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
name: Format
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -96,7 +96,7 @@ jobs:
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -122,7 +122,7 @@ jobs:
|
||||
runs-on: windows-latest
|
||||
name: UI Test E2E
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
10
.github/workflows/ci.yml
vendored
10
.github/workflows/ci.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
name: Lint
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -82,7 +82,7 @@ jobs:
|
||||
name: Format
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -112,7 +112,7 @@ jobs:
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -140,7 +140,7 @@ jobs:
|
||||
name: synchronize translations
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
@@ -16,7 +16,7 @@ jobs:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
|
||||
- name: Start containers
|
||||
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
|
||||
|
||||
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
|
||||
- name: Start containers
|
||||
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
|
||||
|
||||
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # tag=v1
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
|
||||
10
.github/workflows/e2e-ci.yml
vendored
10
.github/workflows/e2e-ci.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
needs: [prepare]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
@@ -186,7 +186,7 @@ jobs:
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version: ${{ matrix.node }}
|
||||
|
||||
4
.github/workflows/e2e-ui.yml
vendored
4
.github/workflows/e2e-ui.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
||||
env:
|
||||
NODE_ENV: production
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
run: pnpm build
|
||||
- name: Test UI
|
||||
run: pnpm test:e2e:ui
|
||||
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v3
|
||||
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
|
||||
with:
|
||||
name: videos
|
||||
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos
|
||||
|
||||
47
.github/workflows/plugin-generator-e2e.yaml
vendored
Normal file
47
.github/workflows/plugin-generator-e2e.yaml
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
name: E2E Generator Verdaccio Plugin
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
jobs:
|
||||
e2e-plugin-generator:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [18,20, 22]
|
||||
steps:
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack install
|
||||
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: install
|
||||
run: pnpm install
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: install verdaccio
|
||||
run: npm install -g verdaccio@5
|
||||
- name: Start server
|
||||
run: verdaccio -c e2e/docker/generator-e2e/generator.yaml &
|
||||
- name: ping server
|
||||
run: curl http://localhost:4873/-/ping
|
||||
- name: login
|
||||
run: npx npm-cli-login -u test -p test -e test@domain.test -r http://localhost:4873
|
||||
- name: publish
|
||||
run: pnpm local:publish
|
||||
- name: install yeoman
|
||||
run: npm install -g yo@4
|
||||
- name: install generator
|
||||
run: npm install -g generator-verdaccio-plugin --registry http://localhost:4873
|
||||
# Future: add a test to verify the plugin is working with prompt
|
||||
2
.github/workflows/static-data.yml
vendored
2
.github/workflows/static-data.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
fetch-depth: 0
|
||||
|
||||
2
.github/workflows/ui-components.yml
vendored
2
.github/workflows/ui-components.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
|
||||
2
.github/workflows/website.yml
vendored
2
.github/workflows/website.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v3
|
||||
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
|
||||
|
||||
- name: Node
|
||||
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -41,7 +41,7 @@ packages/plugins/ui-theme/static
|
||||
# CI Pnpm cache
|
||||
.pnpm-store/
|
||||
|
||||
#docs
|
||||
#docs
|
||||
website/docs/api/**/*.md
|
||||
website/docs/api/**/*.yml
|
||||
!website/docs/api/index.md
|
||||
@@ -53,3 +53,6 @@ e2e/ui/cypress/screenshots/**/*
|
||||
|
||||
# storybook
|
||||
packages/ui-components/storybook-static
|
||||
|
||||
# plugin generator
|
||||
packages/tools/generator-verdaccio-plugin/generators/
|
||||
|
||||
@@ -251,7 +251,7 @@ Verdaccio aims to support all features of a standard npm client that make sense
|
||||
|
||||
- Registering new users (`npm adduser {newuser}`) - **supported**
|
||||
- Change password (`npm profile set password`) - **supported**
|
||||
- Transferring ownership (`npm owner add {user} {pkg}`) - not supported, _PR-welcome_
|
||||
- Transferring ownership (`npm owner`) - **supported**
|
||||
- Token (`npm token`) - **supported**
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"debug": "4.3.4",
|
||||
"fs-extra": "11.2.0",
|
||||
"get-port": "5.1.1",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:7.0.0-next-7.16"
|
||||
"verdaccio": "workspace:7.0.0-next-7.18"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest",
|
||||
|
||||
39
e2e/docker/generator-e2e/generator.yaml
Normal file
39
e2e/docker/generator-e2e/generator.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
storage: ./storage
|
||||
|
||||
web:
|
||||
title: Verdaccio E2E Local
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
packages:
|
||||
'@verdaccio/*':
|
||||
access: $all
|
||||
publish: $all
|
||||
unpublish: $all
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
proxy: npmjs
|
||||
'verdaccio-*':
|
||||
access: $all
|
||||
publish: $all
|
||||
unpublish: $all
|
||||
'verdaccio':
|
||||
access: $all
|
||||
publish: $all
|
||||
unpublish: $all
|
||||
'**':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
proxy: npmjs
|
||||
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: false
|
||||
|
||||
log: { type: stdout, format: json, level: http }
|
||||
@@ -3,9 +3,9 @@
|
||||
"name": "@verdaccio/e2e-ui",
|
||||
"version": "2.0.0",
|
||||
"devDependencies": {
|
||||
"verdaccio": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"verdaccio": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
|
||||
"debug": "4.3.4",
|
||||
"cypress": "^13.6.0",
|
||||
|
||||
@@ -61,6 +61,9 @@
|
||||
"@types/http-errors": "2.0.4",
|
||||
"@types/jest": "29.5.11",
|
||||
"@types/jsonwebtoken": "9.0.5",
|
||||
"@types/yeoman-environment": "2.10.11",
|
||||
"@types/yeoman-generator": "5.2.14",
|
||||
"@types/yeoman-test": "4.0.6",
|
||||
"@types/lodash": "4.14.202",
|
||||
"@types/mime": "3.0.4",
|
||||
"@types/minimatch": "5.1.2",
|
||||
@@ -127,7 +130,7 @@
|
||||
"verdaccio-auth-memory": "workspace:*",
|
||||
"verdaccio-htpasswd": "workspace:*",
|
||||
"verdaccio-memory": "workspace:*",
|
||||
"vitest": "0.34.6"
|
||||
"vitest": "1.6.0"
|
||||
},
|
||||
"scripts": {
|
||||
"prepare": "husky install",
|
||||
|
||||
@@ -1,5 +1,33 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/middleware@7.0.0-next-7.18
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/auth@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- @verdaccio/store@7.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6e764e3: feat: add support for npm owner
|
||||
- Updated dependencies [6e764e3]
|
||||
- Updated dependencies [de6ff5c]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/store@7.0.0-next-7.17
|
||||
- @verdaccio/auth@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- @verdaccio/middleware@7.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -38,13 +38,13 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/middleware": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/store": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/middleware": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/store": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"abortcontroller-polyfill": "1.7.5",
|
||||
"body-parser": "1.20.2",
|
||||
"cookies": "0.9.0",
|
||||
@@ -52,11 +52,11 @@
|
||||
"express": "4.19.2",
|
||||
"lodash": "4.17.21",
|
||||
"mime": "2.6.0",
|
||||
"semver": "7.6.0"
|
||||
"semver": "7.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"mockdate": "3.0.5",
|
||||
"nock": "13.5.1",
|
||||
"supertest": "6.3.4"
|
||||
|
||||
@@ -28,6 +28,7 @@ export default function (route: Router, auth: Auth, storage: Storage): void {
|
||||
const name = req.params.package;
|
||||
let version = req.params.version;
|
||||
const write = req.query.write === 'true';
|
||||
const username = req?.remote_user?.name;
|
||||
const abbreviated =
|
||||
stringUtils.getByQualityPriorityValue(req.get('Accept')) === Storage.ABBREVIATED_HEADER;
|
||||
const requestOptions = {
|
||||
@@ -37,6 +38,7 @@ export default function (route: Router, auth: Auth, storage: Storage): void {
|
||||
host: req.host,
|
||||
remoteAddress: req.socket.remoteAddress,
|
||||
byPassCache: write,
|
||||
username,
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -76,11 +76,11 @@ const debug = buildDebug('verdaccio:api:publish');
|
||||
*
|
||||
* 3. Star a package
|
||||
*
|
||||
* Permissions: start a package depends of the publish and unpublish permissions, there is no
|
||||
* specific flag for star or un start.
|
||||
* Permissions: staring a package depends of the publish and unpublish permissions, there is no
|
||||
* specific flag for star or unstar.
|
||||
* The URL for star is similar to the unpublish (change package format)
|
||||
*
|
||||
* npm has no endpoint for star a package, rather mutate the metadata and acts as, the difference
|
||||
* npm has no endpoint for staring a package, rather mutate the metadata and acts as, the difference
|
||||
* is the users property which is part of the payload and the body only includes
|
||||
*
|
||||
* {
|
||||
@@ -89,7 +89,24 @@ const debug = buildDebug('verdaccio:api:publish');
|
||||
"users": {
|
||||
[username]: boolean value (true, false)
|
||||
}
|
||||
}
|
||||
}
|
||||
*
|
||||
* 4. Change owners of a package
|
||||
*
|
||||
* Similar to staring a package, changing owners (maintainers) of a package uses the publish
|
||||
* endpoint.
|
||||
*
|
||||
* The body includes a list of the new owners with the following format
|
||||
*
|
||||
* {
|
||||
"_id": pkgName,
|
||||
"_rev": "4-b0cdaefc9bdb77c8",
|
||||
"maintainers": [
|
||||
{ "name": "first owner", "email": "me@verdaccio.org" },
|
||||
{ "name": "second owner", "email": "you@verdaccio.org" },
|
||||
...
|
||||
]
|
||||
}
|
||||
*
|
||||
*/
|
||||
export default function publish(router: Router, auth: Auth, storage: Storage): void {
|
||||
@@ -127,10 +144,11 @@ export default function publish(router: Router, auth: Auth, storage: Storage): v
|
||||
async function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {
|
||||
const packageName = req.params.package;
|
||||
const rev = req.params.revision;
|
||||
const username = req?.remote_user?.name;
|
||||
|
||||
logger.debug({ packageName }, `unpublishing @{packageName}`);
|
||||
try {
|
||||
await storage.removePackage(packageName, rev);
|
||||
await storage.removePackage(packageName, rev, username);
|
||||
debug('package %s unpublished', packageName);
|
||||
res.status(HTTP_STATUS.CREATED);
|
||||
return next({ ok: API_MESSAGE.PKG_REMOVED });
|
||||
@@ -155,13 +173,14 @@ export default function publish(router: Router, auth: Auth, storage: Storage): v
|
||||
): Promise<void> {
|
||||
const packageName = req.params.package;
|
||||
const { filename, revision } = req.params;
|
||||
const username = req?.remote_user?.name;
|
||||
|
||||
logger.debug(
|
||||
{ packageName, filename, revision },
|
||||
`removing a tarball for @{packageName}-@{tarballName}-@{revision}`
|
||||
);
|
||||
try {
|
||||
await storage.removeTarball(packageName, filename, revision);
|
||||
await storage.removeTarball(packageName, filename, revision, username);
|
||||
res.status(HTTP_STATUS.CREATED);
|
||||
|
||||
logger.debug(
|
||||
@@ -188,6 +207,12 @@ export function publishPackage(storage: Storage): any {
|
||||
const metadata = req.body;
|
||||
const username = req?.remote_user?.name;
|
||||
|
||||
debug('publishing package %o for user %o', packageName, username);
|
||||
logger.debug(
|
||||
{ packageName, username },
|
||||
'publishing package @{packageName} for user @{username}'
|
||||
);
|
||||
|
||||
try {
|
||||
const message = await storage.updateManifest(metadata, {
|
||||
name: packageName,
|
||||
|
||||
@@ -27,10 +27,22 @@ export default function (route: Router, auth: Auth, config: Config): void {
|
||||
rateLimit(config?.userRateLimit),
|
||||
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
|
||||
debug('verifying user');
|
||||
|
||||
if (typeof req.remote_user.name !== 'string' || req.remote_user.name === '') {
|
||||
debug('user not logged in');
|
||||
res.status(HTTP_STATUS.OK);
|
||||
return next({ ok: false });
|
||||
}
|
||||
|
||||
const username = req.params.org_couchdb_user.split(':')[1];
|
||||
const message = getAuthenticatedMessage(req.remote_user.name);
|
||||
debug('user authenticated message %o', message);
|
||||
res.status(HTTP_STATUS.OK);
|
||||
next({
|
||||
// 'npm owner' requires user info
|
||||
// TODO: we don't have the email
|
||||
name: username,
|
||||
email: '',
|
||||
ok: message,
|
||||
});
|
||||
}
|
||||
@@ -61,6 +73,10 @@ export default function (route: Router, auth: Auth, config: Config): void {
|
||||
debug('login or adduser');
|
||||
const remoteName = req?.remote_user?.name;
|
||||
|
||||
if (!validatioUtils.validateUserName(req.params.org_couchdb_user, name)) {
|
||||
return next(errorUtils.getBadRequest(API_ERROR.USERNAME_MISMATCH));
|
||||
}
|
||||
|
||||
if (typeof remoteName !== 'undefined' && typeof name === 'string' && remoteName === name) {
|
||||
debug('login: no remote user detected');
|
||||
auth.authenticate(
|
||||
@@ -97,6 +113,7 @@ export default function (route: Router, auth: Auth, config: Config): void {
|
||||
}
|
||||
);
|
||||
} else {
|
||||
debug('adduser: %o', name);
|
||||
if (
|
||||
validatioUtils.validatePassword(
|
||||
password,
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
generatePackageMetadata,
|
||||
initializeServer as initializeServerHelper,
|
||||
} from '@verdaccio/test-helper';
|
||||
import { GenericBody, PackageUsers } from '@verdaccio/types';
|
||||
import { Author, GenericBody, PackageUsers } from '@verdaccio/types';
|
||||
import { buildToken, generateRandomHexString } from '@verdaccio/utils';
|
||||
|
||||
import apiMiddleware from '../../src';
|
||||
@@ -142,6 +142,37 @@ export function starPackage(
|
||||
return test;
|
||||
}
|
||||
|
||||
export function changeOwners(
|
||||
app,
|
||||
options: {
|
||||
maintainers: Author[];
|
||||
name: string;
|
||||
_rev: string;
|
||||
_id?: string;
|
||||
},
|
||||
token?: string
|
||||
): supertest.Test {
|
||||
const { _rev, _id, maintainers } = options;
|
||||
const ownerManifest = {
|
||||
_rev,
|
||||
_id,
|
||||
maintainers,
|
||||
};
|
||||
|
||||
const test = supertest(app)
|
||||
.put(`/${encodeURIComponent(options.name)}`)
|
||||
.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON)
|
||||
.send(JSON.stringify(ownerManifest))
|
||||
.set('accept', HEADERS.GZIP)
|
||||
.set(HEADER_TYPE.ACCEPT_ENCODING, HEADERS.JSON);
|
||||
|
||||
if (typeof token === 'string') {
|
||||
test.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, token));
|
||||
}
|
||||
|
||||
return test;
|
||||
}
|
||||
|
||||
export function getDisTags(app, pkgName) {
|
||||
return supertest(app)
|
||||
.get(`/-/package/${encodeURIComponent(pkgName)}/dist-tags`)
|
||||
|
||||
24
packages/api/test/integration/config/owner.yaml
Normal file
24
packages/api/test/integration/config/owner.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
storage: ./storage
|
||||
|
||||
auth:
|
||||
htpasswd:
|
||||
file: ./htpasswd-owner
|
||||
|
||||
web:
|
||||
enable: true
|
||||
title: verdaccio
|
||||
|
||||
log: { type: stdout, format: pretty, level: info }
|
||||
|
||||
# TODO: Add test case for $owner access
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
'**':
|
||||
access: $all
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
|
||||
_debug: true
|
||||
118
packages/api/test/integration/owner.spec.ts
Normal file
118
packages/api/test/integration/owner.spec.ts
Normal file
@@ -0,0 +1,118 @@
|
||||
/* eslint-disable jest/no-commented-out-tests */
|
||||
import nock from 'nock';
|
||||
|
||||
import { HTTP_STATUS } from '@verdaccio/core';
|
||||
|
||||
import {
|
||||
changeOwners,
|
||||
createUser,
|
||||
getPackage,
|
||||
initializeServer,
|
||||
publishVersionWithToken,
|
||||
} from './_helper';
|
||||
|
||||
describe('owner', () => {
|
||||
test.each([['foo', '@scope%2Ffoo']])('should get owner of package', async (pkgName) => {
|
||||
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
|
||||
const app = await initializeServer('owner.yaml');
|
||||
const credentials = { name: 'test', password: 'test' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
|
||||
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
|
||||
HTTP_STATUS.CREATED
|
||||
);
|
||||
|
||||
// expect publish to set owner to logged in user
|
||||
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
|
||||
const maintainers = manifest.body.maintainers;
|
||||
expect(maintainers).toHaveLength(1);
|
||||
// TODO: This should eventually include the email of the user
|
||||
expect(maintainers).toEqual([{ name: credentials.name, email: '' }]);
|
||||
});
|
||||
|
||||
test.each([['foo', '@scope%2Ffoo']])('should add/remove owner to package', async (pkgName) => {
|
||||
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
|
||||
const app = await initializeServer('owner.yaml');
|
||||
const credentials = { name: 'test', password: 'test' };
|
||||
const firstOwner = { name: 'test', email: '' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
|
||||
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
|
||||
HTTP_STATUS.CREATED
|
||||
);
|
||||
|
||||
// publish sets owner to logged in user
|
||||
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
|
||||
const maintainers = manifest.body.maintainers;
|
||||
expect(maintainers).toHaveLength(1);
|
||||
expect(maintainers).toEqual([firstOwner]);
|
||||
|
||||
// add another owner
|
||||
const secondOwner = { name: 'tester', email: 'test@verdaccio.org' };
|
||||
const newOwners = [...maintainers, secondOwner];
|
||||
await changeOwners(
|
||||
app,
|
||||
{
|
||||
_rev: manifest.body._rev,
|
||||
_id: manifest.body._id,
|
||||
name: pkgName,
|
||||
maintainers: newOwners,
|
||||
},
|
||||
response.body.token
|
||||
).expect(HTTP_STATUS.CREATED);
|
||||
|
||||
const manifest2 = await getPackage(app, '', decodeURIComponent(pkgName));
|
||||
const maintainers2 = manifest2.body.maintainers;
|
||||
expect(maintainers2).toHaveLength(2);
|
||||
expect(maintainers2).toEqual([firstOwner, secondOwner]);
|
||||
|
||||
// remove original owner
|
||||
await changeOwners(
|
||||
app,
|
||||
{
|
||||
_rev: manifest2.body._rev,
|
||||
_id: manifest2.body._id,
|
||||
name: pkgName,
|
||||
maintainers: [secondOwner],
|
||||
},
|
||||
response.body.token
|
||||
).expect(HTTP_STATUS.CREATED);
|
||||
|
||||
const manifest3 = await getPackage(app, '', decodeURIComponent(pkgName));
|
||||
const maintainers3 = manifest3.body.maintainers;
|
||||
expect(maintainers3).toHaveLength(1);
|
||||
expect(maintainers3).toEqual([secondOwner]);
|
||||
});
|
||||
|
||||
test.each([['foo', '@scope%2Ffoo']])('should fail if user is not logged in', async (pkgName) => {
|
||||
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
|
||||
const app = await initializeServer('owner.yaml');
|
||||
const credentials = { name: 'test', password: 'test' };
|
||||
const firstOwner = { name: 'test', email: '' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
|
||||
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
|
||||
HTTP_STATUS.CREATED
|
||||
);
|
||||
|
||||
// publish sets owner to logged in user
|
||||
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
|
||||
const maintainers = manifest.body.maintainers;
|
||||
expect(maintainers).toHaveLength(1);
|
||||
expect(maintainers).toEqual([firstOwner]);
|
||||
|
||||
// try adding another owner
|
||||
const secondOwner = { name: 'tester', email: 'test@verdaccio.org' };
|
||||
const newOwners = [...maintainers, secondOwner];
|
||||
await changeOwners(
|
||||
app,
|
||||
{
|
||||
_rev: manifest.body._rev,
|
||||
_id: manifest.body._id,
|
||||
name: pkgName,
|
||||
maintainers: newOwners,
|
||||
},
|
||||
'' // no token
|
||||
).expect(HTTP_STATUS.UNAUTHORIZED);
|
||||
});
|
||||
});
|
||||
@@ -43,6 +43,12 @@ describe('search', () => {
|
||||
links: {
|
||||
npm: '',
|
||||
},
|
||||
maintainers: [
|
||||
{
|
||||
email: '',
|
||||
name: 'test',
|
||||
},
|
||||
],
|
||||
name: pkg,
|
||||
publisher: {},
|
||||
scope: '',
|
||||
@@ -97,6 +103,12 @@ describe('search', () => {
|
||||
links: {
|
||||
npm: '',
|
||||
},
|
||||
maintainers: [
|
||||
{
|
||||
email: '',
|
||||
name: 'test',
|
||||
},
|
||||
],
|
||||
name: pkg,
|
||||
publisher: {},
|
||||
scope: '@scope',
|
||||
|
||||
@@ -148,6 +148,25 @@ describe('token', () => {
|
||||
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
||||
.expect(HTTP_STATUS.OK);
|
||||
expect(response2.body.ok).toBe(`you are authenticated as '${credentials.name}'`);
|
||||
expect(response2.body.name).toBe(credentials.name);
|
||||
}
|
||||
);
|
||||
|
||||
test.each([['user.yaml'], ['user.jwt.yaml']])(
|
||||
'should return name of requested user',
|
||||
async (conf) => {
|
||||
const app = await initializeServer(conf);
|
||||
const username = 'yeti';
|
||||
const credentials = { name: 'jota', password: 'secretPass' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
|
||||
const response3 = await supertest(app)
|
||||
.get(`/-/user/org.couchdb.user:${username}`)
|
||||
.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, response.body.token))
|
||||
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
||||
.expect(HTTP_STATUS.OK);
|
||||
expect(response3.body.ok).toBe(`you are authenticated as '${credentials.name}'`);
|
||||
expect(response3.body.name).toBe(username);
|
||||
}
|
||||
);
|
||||
|
||||
@@ -165,5 +184,38 @@ describe('token', () => {
|
||||
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
||||
.expect(HTTP_STATUS.OK);
|
||||
});
|
||||
|
||||
test.each([['user.yaml'], ['user.jwt.yaml']])(
|
||||
'should return "false" if user is not logged in',
|
||||
async (conf) => {
|
||||
const app = await initializeServer(conf);
|
||||
const credentials = { name: 'jota', password: '' };
|
||||
const response = await supertest(app)
|
||||
.get(`/-/user/org.couchdb.user:${credentials.name}`)
|
||||
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
||||
.expect(HTTP_STATUS.OK);
|
||||
expect(response.body.ok).toBe(false);
|
||||
}
|
||||
);
|
||||
|
||||
test.each([['user.yaml'], ['user.jwt.yaml']])(
|
||||
'should fail if URL does not match user in request body',
|
||||
async (conf) => {
|
||||
const app = await initializeServer(conf);
|
||||
const credentials = { name: 'jota', password: 'secretPass' };
|
||||
const response = await createUser(app, credentials.name, credentials.password);
|
||||
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
|
||||
const response2 = await supertest(app)
|
||||
.put('/-/user/org.couchdb.user:yeti') // different user
|
||||
.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, response.body.token))
|
||||
.send({
|
||||
name: credentials.name,
|
||||
password: credentials.password,
|
||||
})
|
||||
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
|
||||
.expect(HTTP_STATUS.BAD_REQUEST);
|
||||
expect(response2.body.error).toBe(API_ERROR.USERNAME_MISMATCH);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/loaders@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- verdaccio-htpasswd@12.0.0-next-7.18
|
||||
- @verdaccio/signature@7.0.0-next-7.5
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/loaders@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- verdaccio-htpasswd@12.0.0-next-7.17
|
||||
- @verdaccio/signature@7.0.0-next-7.5
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -38,21 +38,21 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/loaders": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/loaders": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/signature": "workspace:7.0.0-next-7.5",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:12.0.0-next-7.16"
|
||||
"verdaccio-htpasswd": "workspace:12.0.0-next-7.18"
|
||||
},
|
||||
"devDependencies": {
|
||||
"express": "4.19.2",
|
||||
"supertest": "6.3.4",
|
||||
"@verdaccio/middleware": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/middleware": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 10dd81f: feat: complete overhaul of web user interface
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- @verdaccio/node-api@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 199aea3: chore: add config location and loglevel to startup log
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- @verdaccio/node-api@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/cli",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -43,14 +43,14 @@
|
||||
"start": "ts-node src/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/node-api": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/node-api": "workspace:7.0.0-next-7.18",
|
||||
"clipanion": "3.2.1",
|
||||
"envinfo": "7.11.0",
|
||||
"kleur": "4.1.5",
|
||||
"semver": "7.6.0"
|
||||
"semver": "7.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ts-node": "10.9.2"
|
||||
|
||||
@@ -58,6 +58,8 @@ export class InitCommand extends Command {
|
||||
const configPathLocation = findConfigFile(this.config as string);
|
||||
const configParsed = parseConfigFile(configPathLocation);
|
||||
this.initLogger(configParsed);
|
||||
logger.info({ file: configPathLocation }, 'using config file: @{file}');
|
||||
logger.info('log level: %s', configParsed.log?.level || 'default');
|
||||
const { web } = configParsed;
|
||||
|
||||
process.title = web?.title || DEFAULT_PROCESS_NAME;
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# @verdaccio/config
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 10dd81f: feat: complete overhaul of web user interface
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6e764e3: feat: add support for npm owner
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/config",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"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:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -18,6 +18,12 @@ storage: ./storage
|
||||
# https://verdaccio.org/docs/webui
|
||||
web:
|
||||
title: Verdaccio
|
||||
# custom colors for header background and font
|
||||
# primaryColor: "#4b5e40"
|
||||
# custom logos and favicon
|
||||
# logo: ./path/to/logo.png
|
||||
# logoDark: ./path/to/logoDark.png
|
||||
# favicon: ./path/to/favicon.ico
|
||||
# comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# by default packages are ordercer ascendant (asc|desc)
|
||||
@@ -35,6 +41,7 @@ web:
|
||||
# showSearch: true
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
# scriptsBodyAfter:
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
@@ -113,6 +120,7 @@ server:
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
# publish:
|
||||
# allow_offline: false
|
||||
# check_owner: false
|
||||
|
||||
# https://verdaccio.org/docs/configuration#url-prefix
|
||||
# url_prefix: /verdaccio/
|
||||
|
||||
@@ -21,6 +21,12 @@ plugins: /verdaccio/plugins
|
||||
# https://verdaccio.org/docs/webui
|
||||
web:
|
||||
title: Verdaccio
|
||||
# custom colors for header background and font
|
||||
# primaryColor: "#4b5e40"
|
||||
# custom logos and favicon
|
||||
# logo: ./path/to/logo.png
|
||||
# logoDark: ./path/to/logoDark.png
|
||||
# favicon: ./path/to/favicon.ico
|
||||
# Comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# By default packages are ordered ascendant (asc|desc)
|
||||
@@ -38,6 +44,7 @@ web:
|
||||
# showSearch: true
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
# scriptsBodyAfter:
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
@@ -119,6 +126,7 @@ server:
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
# publish:
|
||||
# allow_offline: false
|
||||
# check_owner: false
|
||||
|
||||
# https://verdaccio.org/docs/configuration#url-prefix
|
||||
# url_prefix: /verdaccio/
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# @verdaccio/core
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6e764e3: feat: add support for npm owner
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
## 7.0.0-next-7.15
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/core",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "core utilities",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -35,7 +35,7 @@
|
||||
"dependencies": {
|
||||
"http-errors": "2.0.0",
|
||||
"http-status-codes": "2.3.0",
|
||||
"semver": "7.6.0",
|
||||
"semver": "7.6.2",
|
||||
"ajv": "8.12.0",
|
||||
"process-warning": "1.0.0",
|
||||
"core-js": "3.35.0"
|
||||
@@ -44,7 +44,7 @@
|
||||
"lodash": "4.17.21",
|
||||
"typedoc": "0.23.25",
|
||||
"typedoc-plugin-missing-exports": "latest",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -6,6 +6,7 @@ export const TIME_EXPIRATION_1H = '1h';
|
||||
export const DIST_TAGS = 'dist-tags';
|
||||
export const LATEST = 'latest';
|
||||
export const USERS = 'users';
|
||||
export const MAINTAINERS = 'maintainers';
|
||||
export const DEFAULT_USER = 'Anonymous';
|
||||
|
||||
export const HEADER_TYPE = {
|
||||
|
||||
@@ -39,6 +39,7 @@ export const API_ERROR = {
|
||||
BAD_PACKAGE_DATA: 'bad incoming package data',
|
||||
USERNAME_PASSWORD_REQUIRED: 'username and password is required',
|
||||
USERNAME_ALREADY_REGISTERED: 'username is already registered',
|
||||
USERNAME_MISMATCH: 'username does not match logged in user',
|
||||
};
|
||||
|
||||
export const SUPPORT_ERRORS = {
|
||||
|
||||
@@ -23,6 +23,7 @@ export {
|
||||
DEFAULT_PASSWORD_VALIDATION,
|
||||
DEFAULT_USER,
|
||||
USERS,
|
||||
MAINTAINERS,
|
||||
HtpasswdHashAlgorithm,
|
||||
} from './constants';
|
||||
const validationUtils = validatioUtils;
|
||||
|
||||
@@ -2,7 +2,7 @@ import assert from 'assert';
|
||||
|
||||
import { Manifest } from '@verdaccio/types';
|
||||
|
||||
import { DEFAULT_PASSWORD_VALIDATION, DIST_TAGS } from './constants';
|
||||
import { DEFAULT_PASSWORD_VALIDATION, DIST_TAGS, MAINTAINERS } from './constants';
|
||||
|
||||
export { validatePublishSingleVersion } from './schemes/publish-manifest';
|
||||
|
||||
@@ -67,7 +67,6 @@ export function validatePackage(name: string): boolean {
|
||||
* @param {*} manifest
|
||||
* @param {*} name
|
||||
* @return {Object} the object with additional properties as dist-tags ad versions
|
||||
* FUTURE: rename to normalizeMetadata
|
||||
*/
|
||||
export function normalizeMetadata(manifest: Manifest, name: string): Manifest {
|
||||
assert.strictEqual(manifest.name, name);
|
||||
@@ -77,7 +76,11 @@ export function normalizeMetadata(manifest: Manifest, name: string): Manifest {
|
||||
_manifest[DIST_TAGS] = {};
|
||||
}
|
||||
|
||||
// This may not be nee dit
|
||||
if (!Array.isArray(manifest[MAINTAINERS])) {
|
||||
_manifest[MAINTAINERS] = [];
|
||||
}
|
||||
|
||||
// This may not be needed
|
||||
if (!isObject(manifest['versions'])) {
|
||||
_manifest['versions'] = {};
|
||||
}
|
||||
@@ -114,3 +117,11 @@ export function validatePassword(
|
||||
? password.match(validation) !== null
|
||||
: false;
|
||||
}
|
||||
|
||||
export function validateUserName(userName: any, expectedName: string): boolean {
|
||||
return (
|
||||
typeof userName === 'string' &&
|
||||
userName.split(':')[0] === 'org.couchdb.user' &&
|
||||
userName.split(':')[1] === expectedName
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
validateName,
|
||||
validatePackage,
|
||||
validatePassword,
|
||||
validateUserName,
|
||||
} from '../src/validation-utils';
|
||||
|
||||
describe('validatePackage', () => {
|
||||
@@ -224,3 +225,17 @@ describe('validatePassword', () => {
|
||||
expect(validatePassword('1235678910')).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
describe('validateUserName', () => {
|
||||
test('should validate username according to expected name', () => {
|
||||
expect(validateUserName('org.couchdb.user:test', 'test')).toBeTruthy();
|
||||
});
|
||||
|
||||
test('should fail to validate username if different from expected name', () => {
|
||||
expect(validateUserName('org.couchdb.user:foouser', 'test')).toBeFalsy();
|
||||
});
|
||||
|
||||
test('should fail to validate username if not given', () => {
|
||||
expect(validateUserName(undefined, 'test')).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"lockfile": "1.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/url@12.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/url@12.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/tarball",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "tarball utilities resolver",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -33,16 +33,16 @@
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/url": "workspace:12.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/url": "workspace:12.0.0-next-7.18",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"gunzip-maybe": "^1.4.2",
|
||||
"lodash": "4.17.21",
|
||||
"tar-stream": "^3.1.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"node-mocks-http": "1.14.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,19 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 10dd81f: feat: complete overhaul of web user interface
|
||||
|
||||
## 12.0.0-next-7.4
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 6e764e3: feat: add support for npm owner
|
||||
- de6ff5c: fix: update fields for abbreviated manifest
|
||||
- 117eb1c: fix: change bundleDependencies to array
|
||||
|
||||
## 12.0.0-next-7.3
|
||||
|
||||
### Minor Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/types",
|
||||
"version": "12.0.0-next-7.3",
|
||||
"version": "12.0.0-next-7.5",
|
||||
"description": "verdaccio types definitions",
|
||||
"keywords": [
|
||||
"private",
|
||||
|
||||
@@ -83,6 +83,7 @@ export type PackageManagers = 'pnpm' | 'yarn' | 'npm';
|
||||
export type CommonWebConf = {
|
||||
title?: string;
|
||||
logo?: string;
|
||||
logoDark?: string;
|
||||
favicon?: string;
|
||||
gravatar?: boolean;
|
||||
sort_packages?: string;
|
||||
@@ -98,6 +99,7 @@ export type CommonWebConf = {
|
||||
showFooter?: boolean;
|
||||
showThemeSwitch?: boolean;
|
||||
showDownloadTarball?: boolean;
|
||||
showUplinks?: boolean;
|
||||
hideDeprecatedVersions?: boolean;
|
||||
primaryColor: string;
|
||||
showRaw?: boolean;
|
||||
@@ -196,6 +198,7 @@ export interface Security {
|
||||
|
||||
export interface PublishOptions {
|
||||
allow_offline: boolean;
|
||||
check_owners: boolean;
|
||||
}
|
||||
|
||||
export interface ListenAddress {
|
||||
|
||||
@@ -123,7 +123,8 @@ export interface Version {
|
||||
devDependencies?: Dependencies;
|
||||
optionalDependencies?: Dependencies;
|
||||
peerDependenciesMeta?: PeerDependenciesMeta;
|
||||
bundleDependencies?: Dependencies;
|
||||
bundleDependencies?: string[];
|
||||
acceptDependencies?: Dependencies;
|
||||
keywords?: string | string[];
|
||||
nodeVersion?: string;
|
||||
_id: string;
|
||||
@@ -178,7 +179,9 @@ export interface FullRemoteManifest {
|
||||
'dist-tags': GenericBody;
|
||||
time: GenericBody;
|
||||
versions: Versions;
|
||||
/** store owners of this package */
|
||||
maintainers?: Author[];
|
||||
contributors?: Author[];
|
||||
/** store the latest readme **/
|
||||
readme?: string;
|
||||
/** store star assigned to this packages by users */
|
||||
@@ -223,7 +226,6 @@ export type AbbreviatedVersion = Pick<
|
||||
Version,
|
||||
| 'name'
|
||||
| 'version'
|
||||
| 'description'
|
||||
| 'dependencies'
|
||||
| 'devDependencies'
|
||||
| 'bin'
|
||||
@@ -231,6 +233,15 @@ export type AbbreviatedVersion = Pick<
|
||||
| 'engines'
|
||||
| 'funding'
|
||||
| 'peerDependencies'
|
||||
| 'cpu'
|
||||
| 'deprecated'
|
||||
| 'directories'
|
||||
| 'hasInstallScript'
|
||||
| 'optionalDependencies'
|
||||
| 'os'
|
||||
| 'peerDependenciesMeta'
|
||||
| 'acceptDependencies'
|
||||
| '_hasShrinkwrap'
|
||||
>;
|
||||
|
||||
export interface AbbreviatedVersions {
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/url",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "url utilities resolver",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -33,13 +33,13 @@
|
||||
"access": "public"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"lodash": "4.17.21",
|
||||
"validator": "13.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"node-mocks-http": "1.14.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# @verdaccio/hooks
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/hooks",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -29,17 +29,17 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"core-js": "3.35.0",
|
||||
"debug": "4.3.4",
|
||||
"got-cjs": "12.5.4",
|
||||
"handlebars": "4.7.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"nock": "13.5.1"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @verdaccio/loaders
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/loaders",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -13,14 +13,14 @@
|
||||
"url": "https://github.com/verdaccio/verdaccio"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"lodash": "4.17.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
|
||||
"verdaccio-auth-memory": "workspace:*",
|
||||
"customprefix-auth": "2.0.0-next.0"
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @verdaccio/logger-7
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger-commons@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger-commons@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/logger-7",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "logger for verdaccio 5.x version",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -38,11 +38,11 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.18",
|
||||
"pino": "7.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# @verdaccio/logger-commons
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/logger-commons",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -38,14 +38,14 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger-prettify": "workspace:7.0.0-next-7.3",
|
||||
"debug": "4.3.4",
|
||||
"colorette": "2.0.20"
|
||||
},
|
||||
"devDependencies": {
|
||||
"pino": "7.11.0",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @verdaccio/logger
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger-commons@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/logger-commons@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/logger",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -38,11 +38,11 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.18",
|
||||
"pino": "8.17.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -1,5 +1,26 @@
|
||||
# @verdaccio/middleware
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 10dd81f: feat: complete overhaul of web user interface
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/url@12.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/url@12.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/middleware",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"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:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/url": "workspace:12.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/url": "workspace:12.0.0-next-7.18",
|
||||
"debug": "4.3.4",
|
||||
"lru-cache": "7.18.3",
|
||||
"express": "4.19.2",
|
||||
@@ -54,7 +54,7 @@
|
||||
"url": "https://opencollective.com/verdaccio"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"body-parser": "1.20.2",
|
||||
"supertest": "6.3.4"
|
||||
}
|
||||
|
||||
@@ -42,34 +42,46 @@ export function renderWebMiddleware(config, tokenMiddleware, pluginOptions) {
|
||||
res.sendFile(file, sendFileCallback(next));
|
||||
});
|
||||
|
||||
// check the origin of the logo
|
||||
if (config?.web?.logo && !isURLhasValidProtocol(config?.web?.logo)) {
|
||||
// URI related to a local file
|
||||
const absoluteLocalFile = path.posix.resolve(config.web.logo);
|
||||
debug('serve local logo %s', absoluteLocalFile);
|
||||
try {
|
||||
// TODO: replace existsSync by async alternative
|
||||
if (
|
||||
fs.existsSync(absoluteLocalFile) &&
|
||||
typeof fs.accessSync(absoluteLocalFile, fs.constants.R_OK) === 'undefined'
|
||||
) {
|
||||
// Note: `path.join` will break on Windows, because it transforms `/` to `\`
|
||||
// Use POSIX version `path.posix.join` instead.
|
||||
config.web.logo = path.posix.join('/-/static/', path.basename(config.web.logo));
|
||||
router.get(config.web.logo, function (_req, res, next) {
|
||||
// @ts-ignore
|
||||
debug('serve custom logo web:%s - local:%s', config.web.logo, absoluteLocalFile);
|
||||
res.sendFile(absoluteLocalFile, sendFileCallback(next));
|
||||
});
|
||||
debug('enabled custom logo %s', config.web.logo);
|
||||
} else {
|
||||
config.web.logo = undefined;
|
||||
function renderLogo(logo: string | undefined): string | undefined {
|
||||
// check the origin of the logo
|
||||
if (logo && !isURLhasValidProtocol(logo)) {
|
||||
// URI related to a local file
|
||||
const absoluteLocalFile = path.posix.resolve(logo);
|
||||
debug('serve local logo %s', absoluteLocalFile);
|
||||
try {
|
||||
// TODO: replace existsSync by async alternative
|
||||
if (
|
||||
fs.existsSync(absoluteLocalFile) &&
|
||||
typeof fs.accessSync(absoluteLocalFile, fs.constants.R_OK) === 'undefined'
|
||||
) {
|
||||
// Note: `path.join` will break on Windows, because it transforms `/` to `\`
|
||||
// Use POSIX version `path.posix.join` instead.
|
||||
logo = path.posix.join('/-/static/', path.basename(logo));
|
||||
router.get(logo, function (_req, res, next) {
|
||||
// @ts-ignore
|
||||
debug('serve custom logo web:%s - local:%s', logo, absoluteLocalFile);
|
||||
res.sendFile(absoluteLocalFile, sendFileCallback(next));
|
||||
});
|
||||
debug('enabled custom logo %s', logo);
|
||||
} else {
|
||||
logo = undefined;
|
||||
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
|
||||
}
|
||||
} catch {
|
||||
logo = undefined;
|
||||
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
|
||||
}
|
||||
} catch {
|
||||
config.web.logo = undefined;
|
||||
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
|
||||
}
|
||||
return logo;
|
||||
}
|
||||
|
||||
const logo = renderLogo(config?.web?.logo);
|
||||
if (config?.web?.logo) {
|
||||
config.web.logo = logo;
|
||||
}
|
||||
const logoDark = renderLogo(config?.web?.logoDark);
|
||||
if (config?.web?.logoDark) {
|
||||
config.web.logoDark = logoDark;
|
||||
}
|
||||
|
||||
router.get('/-/web/:section/*', function (req, res) {
|
||||
|
||||
@@ -26,16 +26,20 @@ const defaultManifestFiles: Manifest = {
|
||||
css: [],
|
||||
};
|
||||
|
||||
export function resolveLogo(config: ConfigYaml, requestOptions: RequestOptions) {
|
||||
if (typeof config?.web?.logo !== 'string') {
|
||||
export function resolveLogo(
|
||||
logo: string | undefined,
|
||||
url_prefix: string | undefined,
|
||||
requestOptions: RequestOptions
|
||||
) {
|
||||
if (typeof logo !== 'string') {
|
||||
return '';
|
||||
}
|
||||
const isLocalFile = config?.web?.logo && !isURLhasValidProtocol(config?.web?.logo);
|
||||
const isLocalFile = logo && !isURLhasValidProtocol(logo);
|
||||
|
||||
if (isLocalFile) {
|
||||
return `${getPublicUrl(config?.url_prefix, requestOptions)}-/static/${path.basename(config?.web?.logo)}`;
|
||||
} else if (isURLhasValidProtocol(config?.web?.logo)) {
|
||||
return config?.web?.logo;
|
||||
return `${getPublicUrl(url_prefix, requestOptions)}-/static/${path.basename(logo)}`;
|
||||
} else if (isURLhasValidProtocol(logo)) {
|
||||
return logo;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
@@ -61,7 +65,8 @@ export default function renderHTML(
|
||||
const title = config?.web?.title ?? WEB_TITLE;
|
||||
const login = hasLogin(config);
|
||||
const scope = config?.web?.scope ?? '';
|
||||
const logo = resolveLogo(config, requestOptions);
|
||||
const logo = resolveLogo(config?.web?.logo, config?.url_prefix, requestOptions);
|
||||
const logoDark = resolveLogo(config?.web?.logoDark, config?.url_prefix, requestOptions);
|
||||
const pkgManagers = config?.web?.pkgManagers ?? ['yarn', 'pnpm', 'npm'];
|
||||
const version = res.locals.app_version ?? '';
|
||||
const flags = {
|
||||
@@ -81,6 +86,8 @@ export default function renderHTML(
|
||||
showFooter,
|
||||
showSearch,
|
||||
showDownloadTarball,
|
||||
showRaw,
|
||||
showUplinks,
|
||||
} = Object.assign(
|
||||
{},
|
||||
{
|
||||
@@ -97,6 +104,8 @@ export default function renderHTML(
|
||||
showFooter,
|
||||
showSearch,
|
||||
showDownloadTarball,
|
||||
showRaw,
|
||||
showUplinks,
|
||||
darkMode,
|
||||
url_prefix,
|
||||
basename,
|
||||
@@ -104,6 +113,7 @@ export default function renderHTML(
|
||||
primaryColor,
|
||||
version,
|
||||
logo,
|
||||
logoDark,
|
||||
flags,
|
||||
login,
|
||||
pkgManagers,
|
||||
|
||||
@@ -14,6 +14,7 @@ web:
|
||||
showRaw: true
|
||||
primary_color: '#ffffff'
|
||||
logo: './test/config/dark-logo.png'
|
||||
logoDark: './test/config/dark-logo.png'
|
||||
html_cache: false
|
||||
|
||||
url_prefix: /prefix
|
||||
|
||||
@@ -79,6 +79,13 @@ describe('test web server', () => {
|
||||
return loadLogo('file-logo.yaml', '/-/static/dark-logo.png');
|
||||
});
|
||||
|
||||
test('should render dark logo as file', async () => {
|
||||
const {
|
||||
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
|
||||
} = await render('file-logo.yaml');
|
||||
expect(__VERDACCIO_BASENAME_UI_OPTIONS.logoDark).toMatch('/prefix/-/static/dark-logo.png');
|
||||
});
|
||||
|
||||
test('should not render logo as absolute file is wrong', async () => {
|
||||
const {
|
||||
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# @verdaccio/node-api
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- @verdaccio/server-fastify@7.0.0-next-7.18
|
||||
- @verdaccio/server@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- @verdaccio/server-fastify@7.0.0-next-7.17
|
||||
- @verdaccio/server@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/node-api",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "node API",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -38,17 +38,17 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/server": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/server": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.18",
|
||||
"core-js": "3.35.0",
|
||||
"debug": "4.3.4",
|
||||
"lodash": "4.17.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"jest": "29.7.0",
|
||||
"selfsigned": "2.4.1",
|
||||
"supertest": "6.3.4"
|
||||
|
||||
@@ -1,5 +1,21 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "verdaccio-audit",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -30,16 +30,16 @@
|
||||
"node": ">=12"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"express": "4.19.2",
|
||||
"https-proxy-agent": "5.0.1",
|
||||
"node-fetch": "cjs"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/auth": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"nock": "13.5.1",
|
||||
"supertest": "6.3.4"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "verdaccio-auth-memory",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "Auth plugin for Verdaccio that keeps users in memory",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -30,13 +30,13 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"debug": "4.3.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/debug": "^4.1.12",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3"
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,5 +1,20 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/file-locking@12.0.0-next.1
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/file-locking@12.0.0-next.1
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "verdaccio-htpasswd",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "htpasswd auth plugin for Verdaccio",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -33,7 +33,7 @@
|
||||
"node": ">=12"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/file-locking": "workspace:12.0.0-next.1",
|
||||
"apache-md5": "1.1.8",
|
||||
"bcryptjs": "2.4.3",
|
||||
@@ -44,9 +44,9 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bcryptjs": "2.4.6",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"mockdate": "3.0.5"
|
||||
},
|
||||
"scripts": {
|
||||
|
||||
@@ -1,5 +1,22 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/file-locking@12.0.0-next.1
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/file-locking@12.0.0-next.1
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/local-storage",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "Local storage implementation",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -36,9 +36,9 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/file-locking": "workspace:12.0.0-next.1",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"core-js": "3.35.0",
|
||||
"debug": "4.3.4",
|
||||
"globby": "11.1.0",
|
||||
@@ -50,11 +50,11 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/minimatch": "5.1.2",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"minimatch": "9.0.3"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"minimatch": "9.0.4"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# Change Log
|
||||
|
||||
## 12.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
|
||||
## 12.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
|
||||
## 12.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "verdaccio-memory",
|
||||
"version": "12.0.0-next-7.16",
|
||||
"version": "12.0.0-next-7.18",
|
||||
"description": "Storage implementation in memory",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -30,15 +30,15 @@
|
||||
"node": ">=18"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"memory-fs": "0.5.0",
|
||||
"debug": "4.3.4",
|
||||
"memfs": "3.5.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16"
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @verdaccio/ui-theme
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 10dd81f: feat: complete overhaul of web user interface
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 117eb1c: fix: change bundleDependencies to array
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
## 7.0.0-next-7.15
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/ui-theme",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "Verdaccio User Interface",
|
||||
"author": {
|
||||
"name": "Verdaccio Contributors",
|
||||
@@ -27,9 +27,9 @@
|
||||
"@testing-library/dom": "9.3.4",
|
||||
"@testing-library/jest-dom": "6.3.0",
|
||||
"@testing-library/react": "14.1.2",
|
||||
"@verdaccio/node-api": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/node-api": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"@verdaccio/ui-components": "workspace:3.0.0-next-7.6",
|
||||
"@verdaccio/ui-components": "workspace:3.0.0-next-7.8",
|
||||
"babel-loader": "8.3.0",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
"country-flag-icons": "1.5.9",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React from 'react';
|
||||
import { renderWithStore, screen } from 'verdaccio-ui/utils/test-react-testing-library';
|
||||
import { act, renderWithStore, screen } from 'verdaccio-ui/utils/test-react-testing-library';
|
||||
|
||||
import { store } from '@verdaccio/ui-components';
|
||||
|
||||
@@ -13,17 +13,21 @@ jest.spyOn(HTMLElement.prototype, 'offsetWidth', 'get').mockReturnValue(600);
|
||||
/* eslint-disable react/jsx-no-bind*/
|
||||
describe('<App />', () => {
|
||||
describe('footer', () => {
|
||||
test('should display the Header component', () => {
|
||||
renderWithStore(<App />, store);
|
||||
test('should display the Header component', async () => {
|
||||
await act(() => {
|
||||
renderWithStore(<App />, store);
|
||||
});
|
||||
expect(screen.getByTestId('footer')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('should not display the Header component', () => {
|
||||
test('should not display the Header component', async () => {
|
||||
// @ts-ignore
|
||||
window.__VERDACCIO_BASENAME_UI_OPTIONS = {
|
||||
showFooter: false,
|
||||
};
|
||||
renderWithStore(<App />, store);
|
||||
await act(() => {
|
||||
renderWithStore(<App />, store);
|
||||
});
|
||||
expect(screen.queryByTestId('footer')).toBeFalsy();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
"username": "030",
|
||||
"id": 7524528
|
||||
},
|
||||
{
|
||||
"username": "dianmorales",
|
||||
"id": 558740
|
||||
},
|
||||
{
|
||||
"username": "mbtools",
|
||||
"id": 59966492
|
||||
},
|
||||
{
|
||||
"username": "dianmorales",
|
||||
"id": 558740
|
||||
},
|
||||
{
|
||||
"username": "anikethsaha",
|
||||
"id": 26347874
|
||||
@@ -203,14 +203,14 @@
|
||||
"username": "CrispyConductor",
|
||||
"id": 2132722
|
||||
},
|
||||
{
|
||||
"username": "greshilov",
|
||||
"id": 814614
|
||||
},
|
||||
{
|
||||
"username": "semoal",
|
||||
"id": 22656541
|
||||
},
|
||||
{
|
||||
"username": "greshilov",
|
||||
"id": 814614
|
||||
},
|
||||
{
|
||||
"username": "Jason-Cooke",
|
||||
"id": 5185660
|
||||
@@ -256,40 +256,44 @@
|
||||
"id": 216737
|
||||
},
|
||||
{
|
||||
"username": "osher",
|
||||
"id": 803101
|
||||
},
|
||||
{
|
||||
"username": "wiggisser",
|
||||
"id": 3647678
|
||||
},
|
||||
{
|
||||
"username": "kuoruan",
|
||||
"id": 8685618
|
||||
"username": "rmkanda",
|
||||
"id": 38713281
|
||||
},
|
||||
{
|
||||
"username": "rluvaton",
|
||||
"id": 16746759
|
||||
},
|
||||
{
|
||||
"username": "rmkanda",
|
||||
"id": 38713281
|
||||
"username": "Tobbe",
|
||||
"id": 30793
|
||||
},
|
||||
{
|
||||
"username": "kfatehi",
|
||||
"id": 175305
|
||||
"username": "kuoruan",
|
||||
"id": 8685618
|
||||
},
|
||||
{
|
||||
"username": "gkalpak",
|
||||
"id": 8604205
|
||||
"username": "wiggisser",
|
||||
"id": 3647678
|
||||
},
|
||||
{
|
||||
"username": "osher",
|
||||
"id": 803101
|
||||
},
|
||||
{
|
||||
"username": "brenordr",
|
||||
"id": 19731692
|
||||
},
|
||||
{
|
||||
"username": "karfau",
|
||||
"id": 135657
|
||||
},
|
||||
{
|
||||
"username": "brenordr",
|
||||
"id": 19731692
|
||||
"username": "gkalpak",
|
||||
"id": 8604205
|
||||
},
|
||||
{
|
||||
"username": "kfatehi",
|
||||
"id": 175305
|
||||
},
|
||||
{
|
||||
"username": "frimuchkov",
|
||||
@@ -359,10 +363,6 @@
|
||||
"username": "plitex",
|
||||
"id": 2946823
|
||||
},
|
||||
{
|
||||
"username": "Tobbe",
|
||||
"id": 30793
|
||||
},
|
||||
{
|
||||
"username": "varijkapil13",
|
||||
"id": 8291077
|
||||
@@ -443,14 +443,14 @@
|
||||
"username": "marnel",
|
||||
"id": 3189424
|
||||
},
|
||||
{
|
||||
"username": "kba",
|
||||
"id": 273367
|
||||
},
|
||||
{
|
||||
"username": "MasterOdin",
|
||||
"id": 1845314
|
||||
},
|
||||
{
|
||||
"username": "kba",
|
||||
"id": 273367
|
||||
},
|
||||
{
|
||||
"username": "aledbf",
|
||||
"id": 161571
|
||||
@@ -571,10 +571,6 @@
|
||||
"username": "todpunk",
|
||||
"id": 1166358
|
||||
},
|
||||
{
|
||||
"username": "fhp",
|
||||
"id": 374671
|
||||
},
|
||||
{
|
||||
"username": "simon-lorenz",
|
||||
"id": 34041551
|
||||
@@ -603,6 +599,10 @@
|
||||
"username": "rostislav-simonik",
|
||||
"id": 25525736
|
||||
},
|
||||
{
|
||||
"username": "fhp",
|
||||
"id": 374671
|
||||
},
|
||||
{
|
||||
"username": "stephanebachelier",
|
||||
"id": 172615
|
||||
@@ -639,10 +639,6 @@
|
||||
"username": "Tiny-Fendy",
|
||||
"id": 8954107
|
||||
},
|
||||
{
|
||||
"username": "tomcoonen",
|
||||
"id": 988013
|
||||
},
|
||||
{
|
||||
"username": "morrain",
|
||||
"id": 9381634
|
||||
@@ -711,6 +707,10 @@
|
||||
"username": "RodrigoBalest",
|
||||
"id": 4810463
|
||||
},
|
||||
{
|
||||
"username": "tomcoonen",
|
||||
"id": 988013
|
||||
},
|
||||
{
|
||||
"username": "iketiunn",
|
||||
"id": 10249208
|
||||
@@ -879,10 +879,6 @@
|
||||
"username": "divdavem",
|
||||
"id": 1152706
|
||||
},
|
||||
{
|
||||
"username": "hedocode",
|
||||
"id": 22884999
|
||||
},
|
||||
{
|
||||
"username": "iambrandonn",
|
||||
"id": 1644549
|
||||
@@ -895,10 +891,6 @@
|
||||
"username": "recallwei",
|
||||
"id": 62941121
|
||||
},
|
||||
{
|
||||
"username": "ChadKillingsworth",
|
||||
"id": 1247639
|
||||
},
|
||||
{
|
||||
"username": "ngash",
|
||||
"id": 6511656
|
||||
@@ -959,6 +951,14 @@
|
||||
"username": "ericmutta",
|
||||
"id": 20465797
|
||||
},
|
||||
{
|
||||
"username": "Joon",
|
||||
"id": 94231
|
||||
},
|
||||
{
|
||||
"username": "hedocode",
|
||||
"id": 22884999
|
||||
},
|
||||
{
|
||||
"username": "itsabdelrahman",
|
||||
"id": 11808903
|
||||
@@ -1043,14 +1043,6 @@
|
||||
"username": "bchenSyd",
|
||||
"id": 8207081
|
||||
},
|
||||
{
|
||||
"username": "einfallstoll",
|
||||
"id": 619048
|
||||
},
|
||||
{
|
||||
"username": "Joon",
|
||||
"id": 94231
|
||||
},
|
||||
{
|
||||
"username": "Mearman",
|
||||
"id": 1331872
|
||||
@@ -1115,10 +1107,18 @@
|
||||
"username": "0815fox",
|
||||
"id": 8955528
|
||||
},
|
||||
{
|
||||
"username": "somethingSTRANGE",
|
||||
"id": 6905832
|
||||
},
|
||||
{
|
||||
"username": "morlay",
|
||||
"id": 1667873
|
||||
},
|
||||
{
|
||||
"username": "einfallstoll",
|
||||
"id": 619048
|
||||
},
|
||||
{
|
||||
"username": "felipeplets",
|
||||
"id": 119980
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
"visit-home-page": "Visit homepage",
|
||||
"open-an-issue": "Open an issue",
|
||||
"download-tarball": "Download tarball",
|
||||
"raw": "Raw Manifest"
|
||||
"raw": "View manifest",
|
||||
"raw-title": "Manifest of {{package}}"
|
||||
},
|
||||
"dialog": {
|
||||
"registry-info": {
|
||||
@@ -59,7 +60,7 @@
|
||||
"hide-deprecated": "All deprecated versions are hidden by global configuration"
|
||||
},
|
||||
"package": {
|
||||
"published-on": "Published on {{time}} •",
|
||||
"published-on": "Published {{time}}",
|
||||
"version": "v{{version}}",
|
||||
"visit-home-page": "Visit homepage",
|
||||
"homepage": "Homepage",
|
||||
@@ -71,7 +72,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"has-no-dependencies": "{{package}} has no dependencies.",
|
||||
"dependency-block": "{{package}}@{{version}}"
|
||||
"dependency-block": "{{package}}: {{version}}",
|
||||
"dependency-block-bundle": "{{package}}"
|
||||
},
|
||||
"form": {
|
||||
"username": "Username",
|
||||
@@ -83,7 +85,7 @@
|
||||
},
|
||||
"form-validation": {
|
||||
"required-field": "This field is required",
|
||||
"required-min-length": "This field required the min length of {{length}}",
|
||||
"required-min-length": "This field required with a minimum length of {{length}}",
|
||||
"unable-to-sign-in": "Unable to sign in",
|
||||
"username-or-password-cant-be-empty": "Username or password can't be empty!"
|
||||
},
|
||||
@@ -104,6 +106,7 @@
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation",
|
||||
"latest": "latest version",
|
||||
"global": "global package",
|
||||
"yarnModern": "yarn modern syntax"
|
||||
},
|
||||
@@ -114,10 +117,13 @@
|
||||
"title": "Author"
|
||||
},
|
||||
"distribution": {
|
||||
"title": "Latest Distribution",
|
||||
"title": "Distribution",
|
||||
"license": "License",
|
||||
"size": "Size",
|
||||
"file-count": "file count"
|
||||
"file-count": "File Count"
|
||||
},
|
||||
"keywords": {
|
||||
"title": "Keywords"
|
||||
},
|
||||
"maintainers": {
|
||||
"title": "Maintainers"
|
||||
|
||||
@@ -1,5 +1,23 @@
|
||||
# @verdaccio/proxy
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/proxy",
|
||||
"version": "7.0.0-next-7.16",
|
||||
"version": "7.0.0-next-7.18",
|
||||
"description": "verdaccio proxy fetcher",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -38,9 +38,9 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/utils": "workspace:7.0.0-next-7.18",
|
||||
"JSONStream": "1.3.5",
|
||||
"debug": "4.3.4",
|
||||
"got-cjs": "12.5.4",
|
||||
@@ -48,13 +48,13 @@
|
||||
"lodash": "4.17.21"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"get-stream": "^6.0.1",
|
||||
"nock": "13.5.1",
|
||||
"node-mocks-http": "1.14.1",
|
||||
"p-cancelable": "2.1.1",
|
||||
"semver": "7.6.0"
|
||||
"semver": "7.6.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"build": "esbuild src/index.ts --bundle --outfile=build/dist.js --platform=node --target=node12 && pnpm run build:types"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"@orama/orama": "1.2.4",
|
||||
"debug": "4.3.4",
|
||||
"esbuild": "0.14.10"
|
||||
|
||||
@@ -1,5 +1,25 @@
|
||||
# @verdaccio/search
|
||||
|
||||
## 7.0.0-next-7.7
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- @verdaccio/proxy@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.6
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- @verdaccio/proxy@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/search",
|
||||
"version": "7.0.0-next-7.5",
|
||||
"version": "7.0.0-next-7.7",
|
||||
"description": "verdaccio search proxy",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -40,13 +40,13 @@
|
||||
"dependencies": {
|
||||
"debug": "4.3.4",
|
||||
"lodash": "4.17.21",
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.16",
|
||||
"@verdaccio/proxy": "workspace:7.0.0-next-7.16"
|
||||
"@verdaccio/config": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/core": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/logger": "workspace:7.0.0-next-7.18",
|
||||
"@verdaccio/proxy": "workspace:7.0.0-next-7.18"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.3",
|
||||
"@verdaccio/types": "workspace:12.0.0-next-7.5",
|
||||
"mockdate": "3.0.5",
|
||||
"nock": "13.5.1",
|
||||
"node-mocks-http": "1.14.1"
|
||||
|
||||
@@ -1,5 +1,40 @@
|
||||
# @verdaccio/server
|
||||
|
||||
## 7.0.0-next-7.18
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [10dd81f]
|
||||
- @verdaccio/middleware@7.0.0-next-7.18
|
||||
- @verdaccio/config@7.0.0-next-7.18
|
||||
- @verdaccio/api@7.0.0-next-7.18
|
||||
- @verdaccio/auth@7.0.0-next-7.18
|
||||
- @verdaccio/core@7.0.0-next-7.18
|
||||
- @verdaccio/loaders@7.0.0-next-7.18
|
||||
- @verdaccio/logger@7.0.0-next-7.18
|
||||
- verdaccio-audit@12.0.0-next-7.18
|
||||
- @verdaccio/store@7.0.0-next-7.18
|
||||
- @verdaccio/web@7.0.0-next-7.18
|
||||
- @verdaccio/utils@7.0.0-next-7.18
|
||||
|
||||
## 7.0.0-next-7.17
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [6e764e3]
|
||||
- Updated dependencies [de6ff5c]
|
||||
- @verdaccio/config@7.0.0-next-7.17
|
||||
- @verdaccio/core@7.0.0-next-7.17
|
||||
- @verdaccio/store@7.0.0-next-7.17
|
||||
- @verdaccio/api@7.0.0-next-7.17
|
||||
- @verdaccio/auth@7.0.0-next-7.17
|
||||
- @verdaccio/loaders@7.0.0-next-7.17
|
||||
- @verdaccio/logger@7.0.0-next-7.17
|
||||
- verdaccio-audit@12.0.0-next-7.17
|
||||
- @verdaccio/web@7.0.0-next-7.17
|
||||
- @verdaccio/middleware@7.0.0-next-7.17
|
||||
- @verdaccio/utils@7.0.0-next-7.17
|
||||
|
||||
## 7.0.0-next-7.16
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user