Compare commits

..

2 Commits

Author SHA1 Message Date
Juan Picado
5b50143544 Update VERSIONS.md 2025-05-03 09:54:54 +02:00
Juan Picado
d9dfcaa404 Create MIGRATE.md 2025-05-03 09:44:18 +02:00
570 changed files with 8537 additions and 28556 deletions

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/loaders': minor
---
feat(loader): support scoped plugins in plugin folder

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): check token expiry on refresh/timer

View File

@@ -1,5 +0,0 @@
---
'verdaccio-memory': minor
---
feat: rewrite of memory storage

View File

@@ -1,10 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/file-locking': patch
'@verdaccio/core': patch
'verdaccio': patch
'@verdaccio/loaders': patch
'@verdaccio/config': patch
---
chore: replace conditional require(fs/promises) pattern

View File

@@ -1,18 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/test-helper': patch
'@verdaccio/ui-components': patch
'@verdaccio/tarball': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'verdaccio': patch
'@verdaccio/config': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
---
chore(utils): replace @verdaccio/utils dependency with core

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/core': patch
'@verdaccio/store': patch
---
fix(storage): check_owners with anonymous access

View File

@@ -1,21 +0,0 @@
---
'docusaurus-plugin-contributors': patch
'generator-verdaccio-plugin': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/local-scripts': patch
'@verdaccio/file-locking': patch
'@verdaccio/ui-theme': patch
'@verdaccio/server-fastify': patch
'@verdaccio/test-helper': patch
'@verdaccio/middleware': patch
'verdaccio': patch
'@verdaccio/node-api': patch
'@verdaccio/config': patch
'@verdaccio/hooks': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
---
chore(deps): built-in node imports

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/server': patch
---
chore(deps): express

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/ui-theme': minor
'@verdaccio/ui-components': minor
'@verdaccio/middleware': patch
'@verdaccio/ui-i18n': patch
---
feat: web v1 login frontend (experimental)

View File

@@ -1,7 +0,0 @@
---
'verdaccio-htpasswd': patch
'verdaccio-memory': patch
'verdaccio-audit': patch
---
chore(deps): plugins audit, htpasswd, memory

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/config': patch
'@verdaccio/logger-commons': patch
'@verdaccio/types': patch
---
feat(logger): support redacting sensitive data

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/node-api': patch
'@verdaccio/config': patch
---
fix(config): avoid warning for multiple addresses

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/test-helper': patch
'@verdaccio/api': patch
'@verdaccio/web': patch
---
chore: publish @verdaccio/test-helper

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/store': patch
'@verdaccio/types': patch
---
chore(types): use "Person" instead of "Author"

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/signature': patch
'@verdaccio/utils': patch
---
chore(deps): signature, utils

View File

@@ -1,5 +0,0 @@
---
'verdaccio': patch
---
chore(deps): verdaccio package

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
chore(web): move utils to web package

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/local-storage': patch
---
chore(deps): local-storage

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/config': patch
---
chore: add types for createConfigFolder

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/loaders': patch
---
add `@verdaccio/core` as a dependency

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/core': minor
'@verdaccio/node-api': minor
'@verdaccio/config': minor
---
feat: getListenAddress getConfigParsed methods

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/core': patch
---
chore(core): http status codes

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
chore(deps): web package

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/local-storage': patch
---
fix(local-storage): uncontrolled data used in path expression

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/e2e-cli-npm-common': patch
---
fix(e2e): test.each was not working as expected

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/server': patch
---
chore(express): housekeeping

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/website': patch
---
- Updated the docs to show how we can make AWS CodeArtifact work with Verdaccio
- Added the example uplinks configuration

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/e2e-cli-npm11': patch
'@verdaccio/e2e-cli-npm-common': patch
---
feat(e2e): add npm11

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/core': patch
'@verdaccio/config': patch
'@verdaccio/api': patch
---
feat: web v1 login backend (experimental)

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/signature': patch
'@verdaccio/config': patch
---
chore(signature): remove duplicate code

View File

@@ -61,153 +61,90 @@
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
"docusaurus-plugin-downloads": "2.0.0",
"@verdaccio/local-publish": "0.0.2",
"@verdaccio/e2e-cli-npm10": "1.0.1",
"@verdaccio/e2e-cli-npm11": "1.0.2-next-8.0"
"@verdaccio/e2e-cli-npm10": "1.0.1"
},
"changesets": [
"afraid-cars-sneeze",
"afraid-cheetahs-rule",
"angry-doors-tan",
"beige-cars-raise",
"beige-lions-type",
"beige-timers-greet",
"blue-paws-cheer",
"brave-ears-drive",
"brave-rockets-remember",
"breezy-geckos-search",
"breezy-toys-judge",
"bright-bobcats-ring",
"bright-mugs-buy",
"brown-lions-talk",
"brown-planets-approve",
"calm-mangos-compare",
"chatty-apricots-report",
"clean-beds-wash",
"clean-dryers-hug",
"clean-rings-listen",
"clever-bees-happen",
"cool-balloons-search",
"cool-seals-watch",
"cuddly-paws-laugh",
"curly-mirrors-smile",
"curvy-bananas-complain",
"curvy-rockets-camp",
"cyan-snakes-kiss",
"dirty-countries-play",
"dry-cups-hear",
"early-eyes-float",
"early-trainers-grin",
"eight-countries-think",
"eighty-apes-think",
"eleven-rocks-dream",
"few-beds-itch",
"few-ears-deny",
"few-poets-bathe",
"fifty-falcons-design",
"flat-rules-design",
"forty-hounds-matter",
"four-buttons-remember",
"fresh-owls-hunt",
"friendly-feet-sing",
"friendly-worms-drum",
"funny-fireants-tan",
"fuzzy-ears-yawn",
"gentle-stingrays-repeat",
"gold-files-speak",
"gold-parents-shave",
"gold-squids-watch",
"great-candles-hang",
"green-eagles-boil",
"healthy-ducks-drive",
"healthy-zoos-lie",
"hip-deers-join",
"hip-eggs-serve",
"hip-suns-jam",
"hot-crews-live",
"hungry-books-bathe",
"hungry-dolls-destroy",
"itchy-glasses-end",
"large-turkeys-change",
"long-eyes-drum",
"long-singers-drive",
"loud-dingos-cough",
"lucky-crabs-enjoy",
"mean-timers-look",
"modern-llamas-know",
"nasty-cooks-watch",
"nasty-experts-bow",
"nice-garlics-tie",
"nine-countries-remember",
"nine-onions-talk",
"ninety-geese-do",
"ninety-hotels-dance",
"odd-fishes-cry",
"old-clocks-destroy",
"pink-jeans-lick",
"pink-pants-try",
"poor-hats-smile",
"poor-queens-shop",
"popular-trees-grin",
"pretty-beds-destroy",
"pretty-carrots-smash",
"pretty-news-do",
"proud-houses-switch",
"purple-planes-do",
"quick-avocados-type",
"quick-seas-deny",
"rare-mirrors-notice",
"real-balloons-travel",
"real-seahorses-change",
"red-dolls-repair",
"rotten-bananas-attend",
"rotten-melons-notice",
"rotton-readers-shave",
"rude-birds-design",
"rude-socks-walk",
"serious-apes-rule",
"seven-peas-obey",
"seven-suits-kneel",
"sharp-queens-rhyme",
"shiny-buttons-laugh",
"short-mails-smoke",
"short-turkeys-boil",
"silent-bags-listen",
"silent-tips-admire",
"silver-houses-remain",
"silver-insects-train",
"six-planes-appear",
"slow-cars-guess",
"smooth-games-share",
"soft-berries-fail",
"strange-pants-chew",
"stupid-camels-build",
"stupid-socks-grow",
"sweet-bulldogs-doubt",
"sweet-crabs-deliver",
"swift-knives-shop",
"swift-mangos-grab",
"swift-zebras-cheer",
"tame-hairs-drive",
"ten-jeans-approve",
"tender-buckets-smoke",
"thick-dolphins-rule",
"thick-insects-run",
"thirty-comics-trade",
"tidy-socks-battle",
"tricky-impalas-shake",
"tricky-kiwis-thank",
"tricky-knives-end",
"twelve-games-wonder",
"twelve-socks-accept",
"violet-baboons-beg",
"violet-bobcats-allow",
"violet-boxes-float",
"violet-poems-walk",
"weak-cherries-serve",
"wet-cats-behave",
"wet-comics-listen",
"wicked-points-relate",
"wild-coins-lie",
"yellow-flies-sniff"
]
}

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/core': patch
---
fix: restore minimatch major version

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
Fix inconsistency in filter plugin invocation upon receiving 304 from uplink after uplink.maxage has passed

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/types': patch
---
fix: minor logger missing type

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/auth': patch
---
chore(auth): typings

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
fix: config web login default

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/auth': patch
---
chore(auth): multiple plugins test

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/file-locking': patch
'@verdaccio/tarball': patch
'@verdaccio/core': patch
'@verdaccio/url': patch
---
chore(deps): clean up core modules

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/proxy': patch
---
chore(proxy): update tests

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): avoid ts errors for CircularProgress

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/logger-prettify': patch
'@verdaccio/logger-commons': patch
'@verdaccio/loaders': patch
'@verdaccio/hooks': patch
---
chore(deps): hooks, loaders, logger

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): update deps and storybook

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
chore(deps): middleware

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-scripts': patch
'@verdaccio/website': patch
---
fix(docs): warnings during website build (2)

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/core': patch
'@verdaccio/utils': patch
---
chore(core): move more utils to core

View File

@@ -1,12 +0,0 @@
---
'@verdaccio/server': patch
'@verdaccio/core': patch
'@verdaccio/loaders': patch
'@verdaccio/config': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/web': patch
---
fix(config): server settings

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/search-indexer': patch
'@verdaccio/node-api': patch
'@verdaccio/search': patch
'@verdaccio/proxy': patch
---
chore(deps): node-api, proxy, search, search-indexer

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
chore(deps): storage

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/core': patch
---
fix(core): remove `lodash` from a dependency

View File

@@ -1,18 +0,0 @@
---
'@verdaccio/test-cli-commons': patch
'@verdaccio/e2e-cli-pnpm10': patch
'@verdaccio/e2e-cli-npm10': patch
'@verdaccio/e2e-cli-npm11': patch
'@verdaccio/e2e-cli-pnpm8': patch
'@verdaccio/e2e-cli-pnpm9': patch
'@verdaccio/e2e-cli-yarn1': patch
'@verdaccio/e2e-cli-yarn2': patch
'@verdaccio/e2e-cli-yarn3': patch
'@verdaccio/e2e-cli-yarn4': patch
'@verdaccio/e2e-cli-npm6': patch
'@verdaccio/e2e-cli-npm7': patch
'@verdaccio/e2e-cli-npm8': patch
'@verdaccio/e2e-cli-npm9': patch
---
chore(deps): e2e-cli

View File

@@ -1,12 +0,0 @@
---
'verdaccio-auth-memory': patch
'@verdaccio/local-scripts': patch
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
'@verdaccio/tarball': patch
'@verdaccio/proxy': patch
'@verdaccio/website': patch
'@verdaccio/e2e-ui': patch
---
chore(deps): sync and pin dependencies

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/api': patch
---
chore(api): remove obsolete tests

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-scripts': patch
'@verdaccio/website': patch
---
fix(docs): warnings during website build

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/auth': patch
'@verdaccio/signature': patch
'@verdaccio/types': patch
---
fix: support JWT sign and verify options

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/tarball': patch
---
chore(tarball): remove lodash, fix typing

View File

@@ -16,7 +16,7 @@ runs:
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node-version }}
node-version: ${{ inputs.node_version }}
- name: build
run: pnpm build
shell: bash

View File

@@ -6,7 +6,7 @@ runs:
steps:
- name: Cache Packages
id: cache-packages
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -6,7 +6,7 @@ runs:
steps:
- name: Cache .pnpm-store
id: cache-npm
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}

View File

@@ -12,7 +12,7 @@ jobs:
if: github.event.pull_request.head.repo.fork == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download

View File

@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download

View File

@@ -35,7 +35,7 @@ jobs:
--health-timeout=20s
--health-retries=6
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
lint:
@@ -43,7 +43,7 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
with:
@@ -55,7 +55,7 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
with:
@@ -68,11 +68,11 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 22, 24]
node_version: [18, 20, 21, 22, 23]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
with:
@@ -85,7 +85,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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
@@ -94,7 +94,7 @@ jobs:
npm install --global corepack@latest
corepack enable
corepack install
- uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -29,7 +29,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -37,7 +37,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.29.5
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
with:
config: |
paths-ignore:
@@ -50,7 +50,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.29.5
uses: github/codeql-action/autobuild@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@3599b3baa15b485a2e49ef411a7a4bb2452e7f93 # v3.29.5
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16

View File

@@ -20,7 +20,7 @@ jobs:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Start containers
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build

View File

@@ -18,7 +18,7 @@ jobs:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Start containers
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build

View File

@@ -2,49 +2,50 @@ name: Docker publish to docker.io
on:
push:
paths:
- .github/workflows/docker-publish.yml
- .github/workflows/docker-publish.yml
- 'packages/**'
- 'docker-bin/**'
- 'package.json'
- 'pnpm-*.yaml'
- 'Dockerfile'
- '.dockerignore'
branches:
- 'master'
tags:
- 'v*'
permissions:
contents: read
contents: read # to fetch code (actions/checkout)
jobs:
docker:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
- name: Log in to Docker Hub
uses: docker/login-action@v3
- uses: docker/login-action@v1
name: Login Docker Hub
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Prepare Docker image tags
- name: Prepare docker image tags
id: docker_meta
uses: docker/metadata-action@c1e51972afc2121e065aed6d45c65596fe445f3f # v5
uses: crazy-max/ghaction-docker-meta@v1
with:
images: ${{ github.repository }}
tags: |
type=raw,value=nightly-master
type=raw,value=latest,enable=false
labels: |
org.opencontainers.image.source=${{ github.repositoryUrl }}
org.opencontainers.image.created=${{ steps.docker_meta.outputs.created }}
org.opencontainers.image.version=${{ steps.docker_meta.outputs.version }}
tag-custom: nightly-master
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
tag-latest: false
tag-semver: |
{{version}}
{{major}}
{{major}}.{{minor}}
- name: Build & Push
uses: docker/build-push-action@v6
with:

View File

@@ -1,14 +1,11 @@
name: E2E CLI
on: [pull_request]
permissions:
contents: read
concurrency:
group: e2e-ci-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare:
runs-on: ubuntu-latest
@@ -21,12 +18,22 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
e2e-cli-npm:
build:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node_version }}
- name: Cache packages
uses: ./.github/actions/cache-packages
e2e-cli-npm:
needs: [prepare, build]
strategy:
fail-fast: false
matrix:
@@ -36,29 +43,26 @@ jobs:
npm7,
npm8,
npm9,
npm10,
npm11,
npm10
]
node: [22, 24]
name: ${{ matrix.pkg }} / ubuntu-latest / ${{ matrix.node }}
node: [22]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Build application with Node ${{ matrix.node }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node }}
- name: Install dependencies with a custom registry version ${{ matrix.node }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ matrix.node }}
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
e2e-cli-pnpm:
needs: [prepare]
needs: [prepare, build]
strategy:
fail-fast: true
matrix:
@@ -68,26 +72,23 @@ jobs:
pnpm9,
pnpm10,
]
node: [22, 24]
name: ${{ matrix.pkg }} / ubuntu-latest / ${{ matrix.node }}
node: [22]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Build application with Node ${{ matrix.node }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node }}
- name: Install dependencies with a custom registry version ${{ matrix.node }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ matrix.node }}
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
e2e-cli-yarn:
needs: [prepare]
needs: [prepare, build]
strategy:
fail-fast: false
matrix:
@@ -98,20 +99,19 @@ jobs:
yarn3,
yarn4
]
node: [22, 24]
name: ${{ matrix.pkg }} / ubuntu-latest / ${{ matrix.node }}
node: [22]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Build application with Node ${{ matrix.node }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node }}
- name: Install dependencies with a custom registry version ${{ matrix.node }}
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ matrix.node }}
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test

View File

@@ -19,7 +19,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
with:

View File

@@ -16,15 +16,15 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20, 22, 24]
node-version: [20, 22, 23]
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
with:
node-version: ${{ matrix.node_version }}
- name: install verdaccio
run: npm install -g verdaccio@6
run: npm install -g verdaccio@5
- name: Start server
run: verdaccio -c e2e/docker/generator-e2e/generator.yaml &
- name: ping server

View File

@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: docker/setup-buildx-action@v1
with:

View File

@@ -21,7 +21,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
fetch-depth: 0
@@ -36,7 +36,7 @@ jobs:
- name: Get docker downloads
run: pnpm --filter @verdaccio/local-scripts run pull:docker
- name: Get npmjs monhtly downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:monthly
run: pnpm --filter @verdaccio/local-scripts run downloads:mounthly
- name: Get npmjs year downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:yearly
- name: update contributors

View File

@@ -6,25 +6,8 @@ jobs:
name: Test Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Build Docker image
run: docker build -t verdaccio-test .
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build
run: docker build .
env:
VERDACCIO_BUILD_REGISTRY: https://registry.npmjs.org
- name: Run Verdaccio in background
run: |
docker run -d --name verdaccio-test -p 4873:4873 verdaccio-test
sleep 10 # Give Verdaccio some time to start
- name: Test npm install from local Verdaccio
run: |
npm set registry http://localhost:4873
npm install -g verdaccio
- name: Show Verdaccio logs (for debugging)
if: always()
run: docker logs verdaccio-test
- name: Stop Verdaccio
if: always()
run: docker stop verdaccio-test

View File

@@ -1,20 +1,13 @@
on:
workflow_call:
inputs:
verdaccio-version:
description: 'Verdaccio version to use'
required: false
default: 'latest'
type: string
jobs:
testVerdaccio:
name: Test Verdaccio Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Publish
uses: verdaccio/github-actions/publish@master # always latest by design
uses: verdaccio/github-actions/publish@f2e0370cfa5d74d24c325017b701bfddc9cc2e5d # tag=v0.4.0
with:
args: -d
verdaccio-version: ${{ inputs.verdaccio-version }}

View File

@@ -21,7 +21,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download

View File

@@ -31,7 +31,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
with:
@@ -39,7 +39,7 @@ jobs:
- name: Build Translations percentage
run: pnpm --filter @verdaccio/local-scripts build
- name: Cache Docusaurus Build
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -44,7 +44,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -80,7 +80,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -42,7 +42,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0

View File

@@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -38,7 +38,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -72,7 +72,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -105,7 +105,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
@@ -138,7 +138,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0

View File

@@ -6,7 +6,7 @@ jobs:
name: Release Snapshot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:

View File

@@ -6,7 +6,7 @@ jobs:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:

View File

@@ -16,7 +16,6 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'

View File

@@ -10,7 +10,7 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:

View File

@@ -6,7 +6,7 @@ jobs:
name: Node Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:

View File

@@ -9,7 +9,7 @@ jobs:
name: Node ${{ inputs.node_version }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node ${{ inputs.node_version }}
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:

View File

@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:24-alpine AS builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:22-alpine AS builder
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org
@@ -21,7 +21,7 @@ RUN npm -g i corepack && \
# NODE_ENV=production pnpm install --frozen-lockfile --ignore-scripts
# RUN pnpm install --prod --ignore-scripts
FROM node:24-alpine
FROM node:22-alpine
LABEL maintainer="https://github.com/verdaccio/verdaccio"
ENV VERDACCIO_APPDIR=/opt/verdaccio \
@@ -45,8 +45,8 @@ ADD packages/config/src/conf/docker.yaml /verdaccio/conf/config.yaml
RUN adduser -u $VERDACCIO_USER_UID -S -D -h $VERDACCIO_APPDIR -g "$VERDACCIO_USER_NAME user" -s /sbin/nologin $VERDACCIO_USER_NAME && \
chmod -R +x $VERDACCIO_APPDIR/packages/verdaccio/bin $VERDACCIO_APPDIR/docker-bin && \
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage /verdaccio/conf && \
chmod -R g=u /verdaccio/storage /verdaccio/conf /etc/passwd
chown -R $VERDACCIO_USER_UID:root /verdaccio/storage && \
chmod -R g=u /verdaccio/storage /etc/passwd
USER $VERDACCIO_USER_UID

14
MIGRATE.md Normal file
View File

@@ -0,0 +1,14 @@
# Migration Guidelines
## From 5.x to 6.x
### Breaking Changes
- Dropped support for Node.js 16: [#4835](https://github.com/verdaccio/verdaccio/pull/4835)
## From Below 5.x
Several blog articles are available to assist with migrating from older versions. However, please note that these versions are [deprecated](VERSIONS.md) and no longer receive any form of support.
- [Migrating Verdaccio (2019)](https://verdaccio.org/blog/2019/02/24/migrating-verdaccio/)
- [Verdaccio 5 Migration Guide (2021)](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide)

View File

@@ -100,21 +100,19 @@ Our goal is to give you the confidence to use your preferred package manager wit
### Commands
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | npm11 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
<!-- n6 n7 n8 n9 n10 n11 p8 p9 p10 y1 y2 y3 y4 -->
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ❌ | ❌ | ❌ | ❌ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
> notes:
>
@@ -329,7 +327,7 @@ You can find and chat with them over Discord, click [here](http://chat.verdaccio
- [NX](https://github.com/nrwl/nx) _(+6.1k ⭐️)_
- [Mozilla Neutrino](https://github.com/neutrinojs/neutrino) _(+3.7k ⭐️)_
- [workshopper how to npm](https://github.com/workshopper/how-to-npm) _(+1k ⭐️)_
- [Amazon SDK for JavaScript (v3)](https://github.com/aws/aws-sdk-js-v3)
- [Amazon SDK v3](https://github.com/aws/aws-sdk-js-v3)
- [Amazon Encryption SDK for Javascript](https://github.com/aws/aws-encryption-sdk-javascript)
🤓 Don't be shy, add yourself to this readme.

View File

@@ -12,9 +12,7 @@ The following table describes the versions of this project:
## Migration Guide
The migration from Verdaccio v5/v6 to v7 contains breaking changes. Refer to the priliminary [migration guide](https://github.com/verdaccio/verdaccio/blob/master/docs/migration-v5-to-v6.md) for more information.
For migrations from older versions to v5/6 refer to the [v5 migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide/).
Read [the migration guidelines](MIGRATE.md)
### Deprecated Versions

View File

@@ -16,9 +16,9 @@
"build": "babel src/ --out-dir lib/ --copy-files --ignore ___tests___"
},
"dependencies": {
"@verdaccio/streams": "10.2.1",
"@verdaccio/streams": "^1.0.0",
"http-errors": "1.6.3",
"memory-fs": "0.5.0"
"memory-fs": "^0.4.1"
},
"devDependencies": {
"@commitlint/cli": "7.0.0",

View File

@@ -8,7 +8,7 @@
## Proxy
- [Docker + Nginx + Verdaccio](reverse_proxy/nginx/README.md)
- [Docker + Nginx + Verdaccio](proxy/reverse_proxy/nginx/README.md)
- [Docker + Apache + Verdaccio](proxy/apache-verdaccio/README.md)
- [Docker + HTTPS Portal + Verdaccio](proxy/https-portal-example/README.md)

View File

@@ -1,11 +1,5 @@
# @verdaccio/test-cli-commons
## 2.0.0-next-8.1
### Patch Changes
- 9da5308: chore(deps): e2e-cli
## 2.0.0-next-8.0
### Major Changes

View File

@@ -1,19 +1,19 @@
{
"private": true,
"name": "@verdaccio/test-cli-commons",
"version": "2.0.0-next-8.1",
"version": "2.0.0-next-8.0",
"main": "src/index.ts",
"devDependencies": {
"@verdaccio/config": "workspace:8.0.0-next-8.24",
"@verdaccio/core": "workspace:8.0.0-next-8.24",
"@verdaccio/types": "workspace:13.0.0-next-8.8",
"debug": "4.4.3",
"@verdaccio/config": "workspace:8.0.0-next-8.15",
"@verdaccio/core": "workspace:8.0.0-next-8.15",
"@verdaccio/types": "workspace:13.0.0-next-8.5",
"debug": "4.4.0",
"fs-extra": "11.2.0",
"get-port": "5.1.1",
"got": "11.8.6",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"verdaccio": "workspace:8.0.0-next-8.24"
"verdaccio": "workspace:8.0.0-next-8.15"
},
"scripts": {
"test": "echo no test",

View File

@@ -1,6 +1,7 @@
import { spawn } from 'child_process';
import { SpawnOptions } from 'child_process';
import buildDebug from 'debug';
import { SpawnOptions, spawn } from 'node:child_process';
import { createInterface } from 'node:readline';
import { createInterface } from 'readline';
const debug = buildDebug('verdaccio:e2e:process');
const debugRead = buildDebug('verdaccio:e2e:line');

View File

@@ -1,7 +1,7 @@
import buildDebug from 'debug';
import fs from 'fs-extra';
import { cp, readFile, writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { cp, readFile, writeFile } from 'fs/promises';
import { join } from 'path';
import { fileUtils } from '@verdaccio/core';

View File

@@ -1,7 +1,7 @@
import { cp, writeFile } from 'fs/promises';
import YAML from 'js-yaml';
import { cp, writeFile } from 'node:fs/promises';
import { join } from 'node:path';
import { URL } from 'node:url';
import { join } from 'path';
import { URL } from 'url';
import { Dependencies } from '@verdaccio/types';

View File

@@ -1,16 +0,0 @@
# @verdaccio/e2e-cli-npm-common
## 1.0.1-next-8.1
### Patch Changes
- Updated dependencies [9da5308]
- @verdaccio/test-cli-commons@2.0.0-next-8.1
## 1.0.1-next-8.0
### Patch Changes
- d945bfe: fix(e2e): test.each was not working as expected
- 534fafd: feat(e2e): add npm11
- @verdaccio/test-cli-commons@2.0.0-next-8.0

View File

@@ -12,7 +12,7 @@ export function runAudit(npm) {
await registry.init();
});
test.each([['verdaccio-memory'], ['@verdaccio/cli']])(
test.each([['verdaccio-memory', '@verdaccio/cli']])(
'should audit a package %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(

View File

@@ -17,30 +17,26 @@ export function runDistTag(npm) {
await registry.init();
});
test.each([['@foo/verdaccio-foo'], ['verdaccio-foo']])(
'should list dist-tags for %s',
async (pkgName) => {
// Packages must not exist in npm registry to avoid conflicts with data from uplink
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await npmUtils.publish(npm, tempFolder, pkgName, registry);
await npmUtils.bumbUp(npm, tempFolder, registry);
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await npm(
{ cwd: tempFolder },
'dist-tag',
'ls',
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
}
);
test.each([['@foo/foo', 'foo']])('should list dist-tags for %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await npmUtils.publish(npm, tempFolder, pkgName, registry);
await npmUtils.bumbUp(npm, tempFolder, registry);
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await npm(
{ cwd: tempFolder },
'dist-tag',
'ls',
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
});
test.each([['@verdaccio/bar']])('should remove tag with dist-tags for %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(

View File

@@ -1,9 +1,9 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm-common",
"version": "1.0.1-next-8.1",
"version": "1.0.0",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.1"
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0"
},
"scripts": {
"test": "echo no test"

View File

@@ -12,18 +12,12 @@ export function runPublish(npm) {
await registry.init();
});
test.each([['verdaccio-memory'], ['verdaccio'], ['@verdaccio/foo'], ['@verdaccio/some-foo']])(
test.each([['verdaccio-memory', 'verdaccio', '@verdaccio/foo', '@verdaccio/some-foo']])(
'should publish a package %s',
async (pkgName) => {
// As of npm v11, npm will fetch the packument from the npm registry before publishing (from the uplink),
// and there are more checks in the client:
// - "You cannot publish over the previously published versions"
// - "You must specify a tag using --tag when publishing a prerelease version"
// - "Cannot implicitly apply the 'latest' tag because previously published version x.y.z is higher than the new version a.b.c"
// Therefore, we pick a version that is higher than any of the published versions for the test packages (and not a pre-release).
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'99.0.0',
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -37,6 +31,7 @@ export function runPublish(npm) {
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.name).toEqual(pkgName);
expect(parsedBody.files).toBeDefined();
expect(parsedBody.files).toBeDefined();
}
);

Some files were not shown because too many files have changed in this diff Show More