Compare commits

..

38 Commits

Author SHA1 Message Date
Juan Picado
93c49bd36d chore: update versions (next-7) (#4553)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-23 20:53:44 +01:00
Juan Picado
41eb167943 Update ui.json 2024-03-23 20:43:53 +01:00
Juan Picado
ba53d1edc8 feat: versions filter by semver range (#4555)
* fix: improve dark mode styles

* fix background color

* feat: ui improvements

* add tests
2024-03-23 20:41:19 +01:00
Itamar Gronich
a99a4bb1b3 fix config builder erroring when passed partial config (#4552)
* fix config builder erroring when passed partial config

* add tests and changeset

* update readme

* update readme

---------

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2024-03-23 12:19:41 +01:00
Juan Picado
ff1bd1ab7d chore: enable pnpm e2e ci (#4554)
* enable pnpm ci

* Update ci.yml

* remove pnpm 6 and 7

* update readme ci

* Update SECURITY.md

* Update README.md
2024-03-23 11:32:13 +01:00
divdavem
9db15542dc Avoid displaying "prettify pipeline error" if there is no error (#4551) 2024-03-22 09:37:54 +01:00
verdacciobot
9e3085d107 chore: updated static data 2024-03-21 00:13:30 +00:00
dependabot[bot]
51b0f2f4da chore(deps): bump actions/checkout from 3.6.0 to 4.1.2 (#4547)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](f43a0e5ff2...9bb56186c3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 20:03:27 +01:00
dependabot[bot]
755b49bceb chore(deps): bump github/codeql-action from 3.24.6 to 3.24.7 (#4548)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.6 to 3.24.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](8a470fddaf...3ab4101902)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 20:03:19 +01:00
verdacciobot
db4b669cfb chore: updated static data 2024-03-18 00:13:50 +00:00
Bruce
3f93858452 Update who-is-using.md (#4546) 2024-03-17 10:16:36 +01:00
Juan Picado
6fbbc40aa0 Update package.json 2024-03-16 18:19:32 +01:00
Juan Picado
4aa4aceafa Update netlify.toml 2024-03-16 18:13:21 +01:00
Juan Picado
487976bd53 Update ui-components.yml 2024-03-16 18:11:30 +01:00
Juan Picado
f7930684f4 Update package.json 2024-03-16 17:58:22 +01:00
Juan Picado
a8e906f935 chore: refactor ui-components ci 2024-03-16 17:54:48 +01:00
verdacciobot
70095c994d chore: updated static data 2024-03-14 00:12:06 +00:00
renovate[bot]
2aa94c3390 fix(deps): update dependency express to v4.18.3 (#4537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 22:19:11 +01:00
verdacciobot
a542aafda2 chore: updated static data 2024-03-11 00:13:13 +00:00
Juan Picado
56713db9a3 chore: update versions (next-7) (#4536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-10 18:50:50 +01:00
Juan Picado
cce258e4d4 refactor: search package bump up 2024-03-10 18:21:03 +01:00
Juan Picado
87c16127b4 refactor: search package (#4489)
* refactor: search package

refactor: search package

* update deps

* refactor

* refactor tests

* add tests
2024-03-10 17:58:39 +01:00
Timo Peters
bed68b2ceb docs: fix typos in different areas (#4535) 2024-03-07 12:24:52 +01:00
verdacciobot
5328b6cb05 chore: updated static data 2024-03-07 00:10:56 +00:00
dependabot[bot]
16954c3b85 chore(deps): bump github/codeql-action from 3.24.5 to 3.24.6 (#4533)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.5 to 3.24.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](47b3d888fe...8a470fddaf)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 20:53:14 +01:00
dependabot[bot]
1e63e05dc0 chore(deps): bump actions/cache from 3.3.3 to 4.0.1 (#4532)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.3 to 4.0.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](e12d46a63a...ab5e6d0c87)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-04 20:53:06 +01:00
verdacciobot
8ecf7adf29 chore: updated static data 2024-03-04 00:12:49 +00:00
Juan Picado
2c9fe963ff chore: update versions (next-7) (#4525)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-03 19:22:16 +01:00
renovate[bot]
31844e2e77 fix(deps): update dependency semver to v7.6.0 (#4524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 19:13:10 +01:00
dependabot[bot]
605cff9099 chore(deps): bump github/codeql-action from 3.24.0 to 3.24.5 (#4520)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.0 to 3.24.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e8893c57a1...47b3d888fe)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-03 19:08:15 +01:00
Juan Picado
c9962fe1d5 feat: forbidden user interface (#4523)
* feat: forbidden user interface

* Delete App.stories.tsx

* Update package.json

* Delete package.svg

* fix
2024-03-03 19:06:39 +01:00
Juan Picado
4a81ed791a Delete .netlify directory 2024-03-03 14:09:03 +01:00
Juan Picado
8783e3a88a chore: update website deployment (#4320)
* test

* Update website.yml

* Update website.yml

* test2

* Update package.json

* Update package.json

* Update package.json

* clean up

* Update website.yml

* remove dependency
2024-03-03 13:49:00 +01:00
Gweesin Chan
7034c358d5 docs: fix typos in CONTRIBUTING (#4521) 2024-03-02 10:40:51 +01:00
verdacciobot
f09f30cada chore: updated static data 2024-02-29 00:12:05 +00:00
verdacciobot
03acf73a56 chore: updated static data 2024-02-26 00:12:56 +00:00
Juan Picado
dabf77d32d website: update banners url 2024-02-24 20:52:02 +01:00
verdacciobot
fbcc36fbb6 chore: updated static data 2024-02-22 00:12:51 +00:00
224 changed files with 3103 additions and 2965 deletions

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
feat: versions filter by semver range

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/search': patch
'@verdaccio/search-indexer': patch
---
refactor: search package

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/ui-theme': minor
'@verdaccio/ui-components': minor
'@verdaccio/config': minor
---
feat: forbidden user interface

View File

@@ -39,7 +39,7 @@
"verdaccio-memory": "11.0.0",
"@verdaccio/ui-theme": "6.0.0",
"@verdaccio/proxy": "6.0.0",
"@verdaccio/search": "6.0.0",
"@verdaccio/search-indexer": "6.0.0",
"@verdaccio/server": "6.0.0",
"@verdaccio/server-fastify": "6.0.0",
"@verdaccio/signature": "6.0.0",
@@ -55,21 +55,28 @@
"verdaccio": "6.0.0",
"@verdaccio/web": "6.0.0",
"@verdaccio/website": "5.20.2",
"@verdaccio/local-publish": "0.0.1"
"@verdaccio/local-publish": "0.0.1",
"@verdaccio/search": "7.0.0-next.0",
"@verdaccio/e2e-cli-pnpm9": "1.0.1"
},
"changesets": [
"angry-trees-tie",
"breezy-mayflies-pull",
"chilled-carrots-guess",
"eight-squids-judge",
"eighty-lobsters-study",
"good-cups-train",
"long-jars-collect",
"old-turkeys-heal",
"olive-bananas-wink",
"perfect-chairs-act",
"pink-apples-nail",
"real-socks-vanish",
"shiny-worms-retire",
"shy-carrots-compare",
"shy-garlics-cry",
"silent-shirts-knock",
"slow-wasps-glow",
"spicy-birds-flow",
"strange-points-repair",
"thirty-toes-swim",

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/config': patch
---
fix config builder erroring when passed partial config

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/logger-prettify': patch
---
Avoid displaying "prettify pipeline error" if there is no error

View File

@@ -20,7 +20,7 @@ jobs:
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
with:
fetch-depth: 0

View File

@@ -18,7 +18,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -36,7 +36,7 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -47,14 +47,14 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -71,14 +71,14 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -100,14 +100,14 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -126,13 +126,13 @@ jobs:
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -14,6 +14,9 @@ on:
- 'pnpm-workspace.yaml'
permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
prepare:
@@ -27,7 +30,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -43,7 +46,7 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -54,7 +57,7 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -63,7 +66,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -79,7 +82,7 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -88,7 +91,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -109,7 +112,7 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -118,7 +121,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -137,7 +140,7 @@ jobs:
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
@@ -145,7 +148,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v2
uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v2
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -42,7 +42,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v2
uses: github/codeql-action/autobuild@3ab4101902695724f9365a384f86c1074d94e18c # v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 # v2
uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v2

View File

@@ -16,7 +16,7 @@ jobs:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build

View File

@@ -13,7 +13,7 @@ jobs:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build

View File

@@ -23,7 +23,7 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # tag=v1
- uses: docker/setup-buildx-action@v1
with:

View File

@@ -18,7 +18,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -34,7 +34,7 @@ jobs:
- name: Install
run: pnpm install --reporter=silence --ignore-scripts --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -44,7 +44,7 @@ jobs:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node 16
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -53,7 +53,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -65,7 +65,7 @@ jobs:
- name: build
run: pnpm build
- name: Cache packages
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
id: cache-packages
with:
path: ./packages/
@@ -97,7 +97,7 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node }}
@@ -105,7 +105,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -114,7 +114,51 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# with:
# path: ./e2e/
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: build e2e
run: pnpm --filter @verdaccio/test-cli-commons build
- name: Test CLI
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-pnpm:
needs: [prepare, build]
strategy:
fail-fast: true
matrix:
pkg:
[
pnpm8,
pnpm9,
]
node: [20, 21]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --loglevel debug --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -126,51 +170,6 @@ jobs:
run: pnpm --filter @verdaccio/test-cli-commons build
- name: Test CLI
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
# TODO: fix pnpm setup
# e2e-cli-pnpm:
# needs: [prepare, build]
# strategy:
# fail-fast: true
# matrix:
# pkg:
# [
# pnpm6,
# pnpm7,
# pnpm8
# ]
# node: [20, 21]
# name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
# - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
# with:
# node-version: ${{ matrix.node }}
# - name: Install pnpm
# run: |
# corepack enable
# corepack prepare
# - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
# with:
# path: ~/.pnpm-store
# key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - name: set store
# run: |
# pnpm config set store-dir ~/.pnpm-store
# - name: Install
# run: pnpm install --loglevel debug --ignore-scripts --registry http://localhost:4873
# - uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
# with:
# path: ./packages/
# key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# # - uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# # with:
# # path: ./e2e/
# # key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - name: build e2e
# run: pnpm --filter @verdaccio/test-cli-commons build
# - name: Test CLI
# run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-yarn:
needs: [prepare, build]
strategy:
@@ -187,7 +186,7 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node }}
@@ -195,7 +194,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -204,7 +203,7 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -18,7 +18,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:

View File

@@ -19,7 +19,7 @@ jobs:
name: Run script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
with:
persist-credentials: false
fetch-depth: 0

View File

@@ -1,7 +1,9 @@
name: UI Components
on:
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
permissions:
contents: read # to fetch code (actions/checkout)
@@ -20,7 +22,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
@@ -28,7 +30,7 @@ jobs:
node-version-file: '.nvmrc'
- name: Cache pnpm modules
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
env:
cache-name: cache-pnpm-modules
with:
@@ -48,24 +50,8 @@ jobs:
- name: Copy public content
# the msw.js worker is need it at the storybook-static folder in production
run: cp -R packages/ui-components/public/* packages/ui-components/storybook-static
- name: 🔥 Deploy Production UI Netlify
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
uses: verdaccio/action-netlify-deploy@1c086d59169edeec9254672c7de17d2ceac3928f # v2.0.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_UI_SITE_ID }}
build-dir: './packages/ui-components/storybook-static'
- name: 🤖 Deploy Preview UI Components Netlify
if: github.repository == 'verdaccio/verdaccio'
uses: semoal/action-netlify-deploy@1a53f098745bf78555d11b436f5ee3af87e6b566
id: netlify_preview_ui
with:
draft: true
comment-on-pull-request: true
github-deployment-is-production: false
github-deployment-is-transient: true
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_UI_SITE_ID }}
build-dir: './packages/ui-components/storybook-static'
- name: Deploy to Netlify
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_UI_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
run: pnpm --filter ...@verdaccio/ui-components netlify:ui:deploy

View File

@@ -2,13 +2,6 @@ name: Verdaccio Website CI
on:
workflow_dispatch:
pull_request:
branches-ignore:
- 'renovate/*'
- 'dependabot/*'
paths:
- 'website/**'
- './.github/workflows/website.yml'
schedule:
- cron: '0 0 * * *'
@@ -34,7 +27,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
@@ -51,7 +44,7 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -62,94 +55,21 @@ jobs:
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: Cache Docusaurus Build
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: cache/webpack-${{github.ref}}
# Will deploy to production on:
# 1st: When a push occurs on master branch
# 2nd: When we force the worflow dispatch through the UI
- name: Build Production
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
SENTRY_KEY: ${{ secrets.SENTRY_KEY }}
CONTEXT: production
run: pnpm --filter @verdaccio/website netlify:build:production
- name: 🔥 Deploy Production Netlify
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
uses: semoal/action-netlify-deploy@1a53f098745bf78555d11b436f5ee3af87e6b566
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }}
build-dir: './website/build'
# Will deploy to Preview URL, only when a pull request is open with changes on the website
- name: Build Deployment Preview
run: pnpm --filter @verdaccio/website netlify:build
- name: Deploy to Netlify
env:
CONTEXT: deploy-preview
run: pnpm --filter ...@verdaccio/website netlify:build:deployPreview
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
run: pnpm --filter ...@verdaccio/website netlify:deploy
- name: 🤖 Deploy Preview Netlify
if: github.repository == 'verdaccio/verdaccio'
uses: semoal/action-netlify-deploy@1a53f098745bf78555d11b436f5ee3af87e6b566
id: netlify_preview
with:
draft: true
comment-on-pull-request: true
github-deployment-is-production: false
github-deployment-is-transient: true
github-token: ${{ secrets.GITHUB_TOKEN }}
netlify-auth-token: ${{ secrets.NETLIFY_AUTH_TOKEN }}
netlify-site-id: ${{ secrets.NETLIFY_SITE_ID }}
build-dir: './website/build'
- name: Audit preview URL with Lighthouse
if: github.repository == 'verdaccio/verdaccio'
id: lighthouse_audit
uses: treosh/lighthouse-ci-action@1b0e7c33270fbba31a18a0fbb1de7cc5256b6d39 # tag=11.4.0
with:
urls: |
${{ steps.netlify_preview.outputs.preview-url }}
uploadArtifacts: true
temporaryPublicStorage: true
- name: Format lighthouse score
id: format_lighthouse_score
uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 # v6
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const result = ${{ steps.lighthouse_audit.outputs.manifest }}[0].summary
const links = ${{ steps.lighthouse_audit.outputs.links }}
const formatResult = (res) => Math.round((res * 100))
Object.keys(result).forEach(key => result[key] = formatResult(result[key]))
const score = res => res >= 90 ? '🟢' : res >= 50 ? '🟠' : '🔴'
const comment = [
`⚡️ [Lighthouse report](${Object.values(links)[0]}) for the changes in this PR:`,
'| Category | Score |',
'| --- | --- |',
`| ${score(result.performance)} Performance | ${result.performance} |`,
`| ${score(result.accessibility)} Accessibility | ${result.accessibility} |`,
`| ${score(result['best-practices'])} Best practices | ${result['best-practices']} |`,
`| ${score(result.seo)} SEO | ${result.seo} |`,
' ',
`*Lighthouse ran on [${Object.keys(links)[0]}](${Object.keys(links)[0]})*`
].join('\n')
core.setOutput("comment", comment);
- name: Add comment to PR
if: github.repository == 'verdaccio/verdaccio'
id: comment_to_pr
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.issue.number }}
delete: true
header: lighthouse
message: |
${{ steps.format_lighthouse_score.outputs.comment }}

View File

@@ -1,10 +0,0 @@
module.exports = {
onPreBuild: async ({ utils: { build, run } }) => {
try {
await run.command("npm install -g pnpm")
await run.command("pnpm install --ignore-scripts --frozen-lockfile")
} catch (error) {
return build.failBuild(error)
}
}
}

View File

@@ -1,2 +0,0 @@
name: netlify-plugin-pnpm
inputs: []

View File

@@ -78,14 +78,14 @@ pnpm build
pnpm test
```
Verdaccio is a mono repository. To run the tests for for a specific package:
Verdaccio is a mono repository. To run the tests for a specific package:
```shell
cd packages/store
pnpm test
```
or an specific test in that package:
or a specific test in that package:
```shell
pnpm test test/merge.dist.tags.spec.ts
@@ -129,7 +129,7 @@ The user interface is split in two packages, the `/packages/plugins/ui-theme` an
Go to `/packages/ui-component` and run `pnpm watch` to enable _babel_ in watch mode, every change on the components will be hot reloaded in combination with the `pnpm start` command.
Any change on the server packages, must be build independently (server do not has hot reload, `pnpm start` should be triggered again).
Any change on the server packages, must be build independently (server does not have hot reload, `pnpm start` should be triggered again).
Any interaction with the server should be done through the port `8000` eg: `npm login --registry http://localhost:8000` .
@@ -142,7 +142,7 @@ Any interaction with the server should be done through the port `8000` eg: `npm
#### Debugging compiled code {#debugging-compiled-code}
Currently you can only run pre-compiled packages in debug mode. To enable debug
Currently, you can only run pre-compiled packages in debug mode. To enable debug
while running add the `verdaccio` namespace using the `DEBUG` environment
variable, like this:
@@ -164,7 +164,7 @@ of the output is sent to the logger module.
#### Testing your changes in a local registry {#testing-local-registry}
Once you have perform your changes in the code base, the build and tests passes you can publish a local version:
Once you have performed your changes in the code base, the build and tests passes you can publish a local version:
- Ensure you have built all modules by running `pnpm build` (or the one you have modified)
- Run `pnpm local:publish:release` to launch a local registry and publish all packages into it. This command will be alive until server is killed (Control Key + C)
@@ -181,7 +181,7 @@ npm i -g verdaccio --registry=http://localhost:4873
verdaccio
```
If you perform more changes in the source code, repeat this process, there is not _hot reloading_ support.
If you perform more changes in the source code, repeat this process, there is no _hot reloading_ support.
## Feature Request {#feature-request}
@@ -208,7 +208,7 @@ a report in our [issue tracker](https://github.com/verdaccio/verdaccio/issues),
> **NOTE: Verdaccio still does not support all npm commands. Some were not
> considered important and others have not been requested yet.**
### What's is not considered a bug?
### What is not considered a bug?
- _Third party integrations_: proxies integrations, external plugins
- _Package managers_: If a package manager does not support a specific command
@@ -272,7 +272,7 @@ information on [rebasing](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)
#### Caveats
Feel free to commit as much times you want in your branch, but keep on mind on
Feel free to commit as many times you want in your branch, but keep on mind on
this repository we `git squash` on merge by default, as we like to maintain a
clean git history.
@@ -359,7 +359,7 @@ The last step is to confirm your changeset or abort the operation:
🦋 info /Users/user/verdaccio.clone/.changeset/light-scissors-smell.md
```
Once the changeset is added (all will have an unique name) you can freely edit
Once the changeset is added (all will have a unique name) you can freely edit
using markdown, adding additional information, code snippets or whatever else
you consider to be relevant.
@@ -395,7 +395,7 @@ For adding a new **language** on the UI follow these steps:
1. Ensure the **language** has been enabled, must be visible in the `crowdin` platform.
2. Find in the explorer the file `en.US.json` in the path `packages/plugins/ui-theme/src/i18n/crowdin/ui.json` and complete the translations, **not need to find approval on this**.
3. Into the project, add a new field into `packages/plugins/ui-theme/src/i18n/crowdin/ui.json` file, in the section `lng`, the new language, eg: `{ lng: {korean:"Korean"}}`. (This file is English based, once the PR has been merged, this string will be available in crowdin for translate to the targeted language).
4. Add the language, [flag icon](https://www.npmjs.com/package/country-flag-icons), and the menu key fort he new language eg: `menuKey: 'lng.korean'` to the file `packages/plugins/ui-theme/src/i18n/enabledLanguages.ts`.
4. Add the language, [flag icon](https://www.npmjs.com/package/country-flag-icons), and the menu key for the new language eg: `menuKey: 'lng.korean'` to the file `packages/plugins/ui-theme/src/i18n/enabledLanguages.ts`.
5. For local testing, read `packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md`.
6. Add a `changeset` file, see more info below.

View File

@@ -1,4 +1,4 @@
[![BannerUK](https://cdn.verdaccio.dev/readme/banner-uk.svg)](https://donate.redcrossredcrescent.org/ua/donate/~my-donation?_cv=1)
[![BannerHelp](https://cdn.verdaccio.dev/readme/banner-uk.svg)](https://u24.gov.ua)
> Verdaccio stands for **peace**, stop the war, we will be yellow / blue 🇺🇦 until that happens.
@@ -85,6 +85,28 @@ npm install --location=global generator-verdaccio-plugin
Learn more [here](https://verdaccio.org/docs/dev-plugins) how to develop plugins. Share your plugins with the community.
## Integration Tests
In our compatibility testing project, we're dedicated to ensuring that your favorite commands work seamlessly across different versions of npm, pnpm, and Yarn. From publishing packages to managing dependencies.
Our goal is to give you the confidence to use your preferred package manager without any issues. So dive in, check out our matrix, and see how your commands fare across the board!
[Learn or contribute here](https://github.com/verdaccio/verdaccio/tree/master/e2e/cli)
### Commands
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm8 | pnpm9 (beta) | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ------------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
## Donations
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider doing a long support donation - **and your logo will be on this section of the readme.**
@@ -123,7 +145,7 @@ Furthermore, here few examples how to start:
## Watch our Videos
**Node Congress 2022, February 2022, Online Free**
**Node 2022, February 2022, Online Free**
<div>
<a href="https://portal.gitnation.org/contents/five-ways-of-taking-advantage-of-verdaccio-your-private-and-proxy-nodejs-registry">

View File

@@ -34,7 +34,7 @@ Note that time-frame and processes are subject to each programs own policy.
- Report the security issue to the project maintainers directly at verdaccio@pm.me. If the report contains highly sensitive information, please be advised to encrypt your findings using our [PGP key](https://cdn.verdaccio.dev/gpg/publickey.verdaccio@pm.me.asc) which is also available in this document.
Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.
Your efforts to responsibly disclose your findings are sincerely appreciated. There isn't a security bounty program available, but any security contributions will be duly acknowledged to recognize your valuable input.
## PGP key

View File

@@ -88,7 +88,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -90,7 +90,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -88,7 +88,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -90,7 +90,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -7,18 +7,18 @@
### Commands Tested
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm6 | pnpm7 | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm8 | pnpm9 (beta) | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ------------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
> notes:
>

View File

@@ -5,8 +5,8 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2",
"debug": "4.3.4",
"fs-extra": "11.2.0",
@@ -14,7 +14,7 @@
"got": "11.8.6",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"verdaccio": "workspace:7.0.0-next-7.10"
"verdaccio": "workspace:7.0.0-next-7.13"
},
"scripts": {
"test": "jest",

View File

@@ -1,63 +0,0 @@
# @verdaccio/e2e-cli-pnpm6
## 1.0.1
### Patch Changes
- 351aeeaa8: fix(deps): @verdaccio/utils should be a prod dep of local-storage
- Updated dependencies [351aeeaa8]
- Updated dependencies [d167f92e1]
- Updated dependencies [c383eb68c]
- @verdaccio/test-cli-commons@1.1.0
## 1.0.1-6-next.7
### Patch Changes
- Updated dependencies [c383eb68]
- @verdaccio/test-cli-commons@1.1.0-6-next.7
## 1.0.1-6-next.6
### Patch Changes
- Updated dependencies [d167f92e]
- @verdaccio/test-cli-commons@1.1.0-6-next.6
## 1.0.1-6-next.5
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.5
## 1.0.1-6-next.4
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.4
## 1.0.1-6-next.3
### Patch Changes
- 351aeeaa: fix(deps): @verdaccio/utils should be a prod dep of local-storage
- Updated dependencies [351aeeaa]
- @verdaccio/test-cli-commons@1.0.1-6-next.3
## 1.0.1-6-next.2
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.2
## 1.0.1-6-next.1
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.1
## 1.0.1-6-next.0
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.0

View File

@@ -1,45 +0,0 @@
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('audit a package', () => {
jest.setTimeout(10000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test.each([['verdaccio-memory', '@verdaccio/cli']])(
'should audit a package %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl(),
{ jquery: '3.6.1' }
);
// install is required to create package lock file
await pnpm({ cwd: tempFolder }, 'install', ...addRegistry(registry.getRegistryUrl()));
const resp = await pnpm(
{ cwd: tempFolder },
'audit',
'--json',
...addRegistry(registry.getRegistryUrl())
);
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.metadata).toBeDefined();
expect(parsedBody.actions).toBeDefined();
expect(parsedBody.advisories).toBeDefined();
expect(parsedBody.muted).toBeDefined();
}
);
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,14 +0,0 @@
import { SpawnOptions } from 'child_process';
import { join } from 'path';
import { exec } from '@verdaccio/test-cli-commons';
function getCommand() {
return join(__dirname, './node_modules/.bin/pnpm');
}
function pnpm(options: SpawnOptions, ...args: string[]) {
return exec(options, getCommand(), args);
}
export { pnpm };

View File

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

View File

@@ -1,7 +0,0 @@
{
"rules": {
"no-console": 0,
"@typescript-eslint/no-var-requires": 0,
"@typescript-eslint/explicit-member-accessibility": 0
}
}

View File

@@ -1,63 +0,0 @@
# @verdaccio/e2e-cli-pnpm7
## 1.0.1
### Patch Changes
- 351aeeaa8: fix(deps): @verdaccio/utils should be a prod dep of local-storage
- Updated dependencies [351aeeaa8]
- Updated dependencies [d167f92e1]
- Updated dependencies [c383eb68c]
- @verdaccio/test-cli-commons@1.1.0
## 1.0.1-6-next.7
### Patch Changes
- Updated dependencies [c383eb68]
- @verdaccio/test-cli-commons@1.1.0-6-next.7
## 1.0.1-6-next.6
### Patch Changes
- Updated dependencies [d167f92e]
- @verdaccio/test-cli-commons@1.1.0-6-next.6
## 1.0.1-6-next.5
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.5
## 1.0.1-6-next.4
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.4
## 1.0.1-6-next.3
### Patch Changes
- 351aeeaa: fix(deps): @verdaccio/utils should be a prod dep of local-storage
- Updated dependencies [351aeeaa]
- @verdaccio/test-cli-commons@1.0.1-6-next.3
## 1.0.1-6-next.2
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.2
## 1.0.1-6-next.1
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.1
## 1.0.1-6-next.0
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.0

View File

@@ -1,115 +0,0 @@
import {
addRegistry,
initialSetup,
pnpmUtils,
prepareGenericEmptyProject,
} from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('deprecate a package', () => {
jest.setTimeout(20000);
let registry;
async function deprecate(tempFolder, packageVersion, registry, message) {
await pnpm(
{ cwd: tempFolder },
'deprecate',
packageVersion,
message,
'--json',
...addRegistry(registry.getRegistryUrl())
);
}
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test.each([['@verdaccio/deprecated-1']])(
'should deprecate a single package %s',
async (pkgName) => {
const message = 'some message';
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// deprecate one version
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, message);
// verify is deprecated
const infoBody = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
expect(infoBody.name).toEqual(pkgName);
expect(infoBody.deprecated).toEqual(message);
}
);
test.each([['@verdaccio/deprecated-2']])('should un-deprecate a package %s', async (pkgName) => {
const message = 'some message';
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// deprecate one version
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, message);
// verify is deprecated
const infoBody = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
expect(infoBody.deprecated).toEqual(message);
// empty string is same as undeprecate
await deprecate(tempFolder, `${pkgName}@1.0.0`, registry, '');
const infoBody2 = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}`, registry);
expect(infoBody2.deprecated).toBeUndefined();
});
test.each([['@verdaccio/deprecated-3']])(
'should deprecate a multiple packages %s',
async (pkgName) => {
const message = 'some message';
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
// publish 1.0.0
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// publish 1.1.0
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// publish 1.2.0
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// publish 1.3.0
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
// // deprecate all version
await deprecate(tempFolder, pkgName, registry, message);
// verify is deprecated
for (let v of ['1.0.0', '1.1.0', '1.2.0', '1.3.0']) {
const infoResp = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}@${v}`, registry);
expect(infoResp.deprecated).toEqual(message);
}
// publish normal version
// publish 1.4.0
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
const infoResp = await pnpmUtils.getInfoVersions(pnpm, `${pkgName}@1.4.0`, registry);
// must be not deprecated
expect(infoResp.deprecated).toBeUndefined();
}
);
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,91 +0,0 @@
import {
addRegistry,
initialSetup,
pnpmUtils,
prepareGenericEmptyProject,
} from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('publish a package', () => {
jest.setTimeout(20000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
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 pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await pnpm(
{ 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(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await pnpm(
{ cwd: tempFolder },
'dist-tag',
'rm',
`${pkgName}@1.1.0`,
'beta',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('-beta: @verdaccio/bar@1.1.0');
});
test.each([['@verdaccio/five']])(
'should add tag to package and version with dist-tags for %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
await pnpmUtils.bumbUp(pnpm, tempFolder, registry);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
const resp2 = await pnpm(
{ cwd: tempFolder },
'dist-tag',
'add',
`${pkgName}@1.1.0`,
'alfa',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual(`+alfa: ${pkgName}@1.1.0`);
}
);
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,31 +0,0 @@
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('install a package', () => {
jest.setTimeout(10000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test('should run pnpm info json body', async () => {
const resp = await pnpm(
{},
'info',
'verdaccio',
'--json',
...addRegistry(registry.getRegistryUrl())
);
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.name).toEqual('verdaccio');
expect(parsedBody.dependencies).toBeDefined();
});
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,36 +0,0 @@
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('install a project packages', () => {
jest.setTimeout(80000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test('should run npm install json body', async () => {
const { tempFolder } = await prepareGenericEmptyProject(
'something',
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl(),
{ react: '18.2.0' }
);
const resp = await pnpm(
{ cwd: tempFolder },
'install',
'--reporter=default',
...addRegistry(registry.getRegistryUrl())
);
expect(resp.stdout).toMatch(/react/);
});
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,3 +0,0 @@
const config = require('../jest.config');
module.exports = { ...config };

View File

@@ -1,12 +0,0 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-pnpm7",
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"pnpm": "^7.27.1"
},
"scripts": {
"test": "jest"
}
}

View File

@@ -1,24 +0,0 @@
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('ping registry', () => {
jest.setTimeout(10000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test('should ping registry', async () => {
const resp = await pnpm({}, 'ping', '--json', ...addRegistry(registry.getRegistryUrl()));
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.registry).toEqual(registry.getRegistryUrl() + '/');
});
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,41 +0,0 @@
import { addRegistry, initialSetup, prepareGenericEmptyProject } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('install a package', () => {
jest.setTimeout(10000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test.each([['verdaccio-memory', 'verdaccio', '@verdaccio/foo', '@verdaccio/some-foo']])(
'should publish a package %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
const resp = await pnpm(
{ cwd: tempFolder },
'publish',
'--json',
...addRegistry(registry.getRegistryUrl())
);
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.name).toEqual(pkgName);
expect(parsedBody.files).toBeDefined();
expect(parsedBody.files).toBeDefined();
}
);
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,33 +0,0 @@
import { addRegistry, initialSetup } from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('search a package', () => {
jest.setTimeout(10000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test('should search a package', async () => {
const resp = await pnpm(
{},
'search',
'@verdaccio/cli',
'--json',
...addRegistry(registry.getRegistryUrl())
);
const parsedBody = JSON.parse(resp.stdout as string);
const pkgFind = parsedBody.find((item) => {
return item.name === '@verdaccio/cli';
});
expect(pkgFind.name).toEqual('@verdaccio/cli');
});
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,89 +0,0 @@
import {
addRegistry,
initialSetup,
pnpmUtils,
prepareGenericEmptyProject,
} from '@verdaccio/test-cli-commons';
import { pnpm } from './utils';
describe('star a package', () => {
jest.setTimeout(20000);
let registry;
beforeAll(async () => {
const setup = await initialSetup();
registry = setup.registry;
await registry.init();
});
test.each([['@verdaccio/foo']])('should star a package %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
const resp = await pnpm(
{ cwd: tempFolder },
'star',
pkgName,
...addRegistry(registry.getRegistryUrl())
);
expect(resp.stdout).toEqual(`${pkgName}`);
});
test.each([['@verdaccio/bar']])('should unstar a package %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
const resp = await pnpm(
{ cwd: tempFolder },
'star',
pkgName,
...addRegistry(registry.getRegistryUrl())
);
expect(resp.stdout).toEqual(`${pkgName}`);
const resp1 = await pnpm(
{ cwd: tempFolder },
'unstar',
pkgName,
...addRegistry(registry.getRegistryUrl())
);
expect(resp1.stdout).toEqual(`${pkgName}`);
});
test('should list stars of a user %s', async () => {
const pkgName = '@verdaccio/stars';
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await pnpmUtils.publish(pnpm, tempFolder, pkgName, registry);
await pnpm({ cwd: tempFolder }, 'star', pkgName, ...addRegistry(registry.getRegistryUrl()));
const resp = await pnpm(
{ cwd: tempFolder },
'stars',
...addRegistry(registry.getRegistryUrl())
);
// side effects: this result is affected the the package published in the previous step
expect(resp.stdout).toEqual(`@verdaccio/foo@verdaccio/stars`);
});
afterAll(async () => {
registry.stop();
});
});

View File

@@ -1,8 +0,0 @@
{
"extends": "../../../tsconfig.reference.json",
"references": [
{
"path": "../cli-commons"
}
]
}

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"pnpm": "^8.0.0-alpha.0"
"pnpm": "8.15.5"
},
"scripts": {
"test": "jest"

View File

@@ -1,10 +1,10 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-pnpm6",
"name": "@verdaccio/e2e-cli-pnpm9",
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"pnpm": "^6.35.1"
"pnpm": "9.0.0-alpha.10"
},
"scripts": {
"test": "jest"

View File

@@ -3,9 +3,9 @@
"name": "@verdaccio/e2e-ui",
"version": "2.0.0",
"devDependencies": {
"verdaccio": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"verdaccio": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"debug": "4.3.4",
"cypress": "^13.6.0",

View File

@@ -1,27 +1,7 @@
[build]
command = "pnpm build"
publish = "build/"
[build.environment]
NPM_FLAGS="--prefix=/dev/null"
NODE_VERSION = "14"
[context.production]
command = "pnpm netlify:build:production"
[context.deploy-preview]
command = "pnpm netlify:build:deployPreview"
[context.branch-deploy]
command = "pnpm netlify:build:deployPreview"
[[plugins]]
package = "../.netlify/netlify-plugin-pnpm"
[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-Frame-Options = "SAMEORIGIN"
X-XSS-Protection = "1; mode=block"
X-Content-Type-Options = "nosniff"
Referrer-Policy = "no-referrer"

View File

@@ -137,7 +137,7 @@
"docker": "docker build -t verdaccio/verdaccio:local . --no-cache",
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
"lint": "eslint --max-warnings 100 \"**/*.{js,jsx,ts,tsx}\"",
"lint": "eslint --max-warnings 70 \"**/*.{js,jsx,ts,tsx}\"",
"test": "pnpm --filter \"./packages/**\" test",
"test:e2e:cli": "pnpm --filter ...@verdaccio/e2e-cli-* test -- --coverage=false",
"test:e2e:ui": "pnpm --filter ...@verdaccio/e2e-ui test",

View File

@@ -1,5 +1,43 @@
# @verdaccio/api
## 7.0.0-next-7.13
### Patch Changes
- Updated dependencies [a99a4bb]
- @verdaccio/config@7.0.0-next-7.13
- @verdaccio/auth@7.0.0-next-7.13
- @verdaccio/middleware@7.0.0-next-7.13
- @verdaccio/store@7.0.0-next-7.13
- @verdaccio/logger@7.0.0-next-7.13
- @verdaccio/core@7.0.0-next-7.13
- @verdaccio/utils@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/store@7.0.0-next-7.12
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/config@7.0.0-next-7.12
- @verdaccio/auth@7.0.0-next-7.12
- @verdaccio/middleware@7.0.0-next-7.12
- @verdaccio/utils@7.0.0-next-7.12
- @verdaccio/logger@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/auth@7.0.0-next-7.11
- @verdaccio/middleware@7.0.0-next-7.11
- @verdaccio/store@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,21 +38,21 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/middleware": "workspace:7.0.0-next-7.13",
"@verdaccio/store": "workspace:7.0.0-next-7.13",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"abortcontroller-polyfill": "1.7.5",
"body-parser": "1.20.2",
"cookies": "0.9.0",
"debug": "4.3.4",
"express": "4.18.2",
"express": "4.18.3",
"lodash": "4.17.21",
"mime": "2.6.0",
"semver": "7.5.4"
"semver": "7.6.0"
},
"devDependencies": {
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",

View File

@@ -67,7 +67,7 @@ export default function (route: Router, auth: Auth, storage: Storage): void {
const { package: pkgName, filename } = req.params;
const abort = new AbortController();
try {
const stream = (await storage.getTarballNext(pkgName, filename, {
const stream = (await storage.getTarball(pkgName, filename, {
signal: abort.signal,
// TODO: review why this param
// enableRemote: true,

View File

@@ -50,12 +50,13 @@ export default function (route, auth: Auth, storage: Storage): void {
from = parseInt(from, 10) || 0;
try {
debug('storage search initiated');
data = await storage.search({
query,
url,
abort,
});
debug('stream finish');
debug('storage items tota: %o', data.length);
const checkAccessPromises: searchUtils.SearchItemPkg[] = await Promise.all(
data.map((pkgItem) => {
return checkAccess(pkgItem, auth, req.remote_user);

View File

@@ -10,7 +10,7 @@ auth:
uplinks:
ver:
url: https://registry.verdaccio.org
url: https://registry.npmjs.org
security:
api:

View File

@@ -7,7 +7,7 @@ web:
uplinks:
ver:
url: https://registry.verdaccio.org
url: https://registry.npmjs.org
log: { type: stdout, format: pretty, level: trace }

View File

@@ -1,5 +1,43 @@
# @verdaccio/auth
## 7.0.0-next-7.13
### Patch Changes
- Updated dependencies [a99a4bb]
- @verdaccio/config@7.0.0-next-7.13
- @verdaccio/loaders@7.0.0-next-7.13
- verdaccio-htpasswd@12.0.0-next-7.13
- @verdaccio/signature@7.0.0-next.3
- @verdaccio/logger@7.0.0-next-7.13
- @verdaccio/core@7.0.0-next-7.13
- @verdaccio/utils@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/config@7.0.0-next-7.12
- @verdaccio/loaders@7.0.0-next-7.12
- verdaccio-htpasswd@12.0.0-next-7.12
- @verdaccio/utils@7.0.0-next-7.12
- @verdaccio/signature@7.0.0-next.3
- @verdaccio/logger@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/loaders@7.0.0-next-7.11
- verdaccio-htpasswd@12.0.0-next-7.11
- @verdaccio/signature@7.0.0-next.3
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,20 +38,20 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/loaders": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/loaders": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/signature": "workspace:7.0.0-next.3",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"debug": "4.3.4",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:12.0.0-next-7.10"
"verdaccio-htpasswd": "workspace:12.0.0-next-7.13"
},
"devDependencies": {
"express": "4.18.2",
"express": "4.18.3",
"supertest": "6.3.4",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2"
},
"funding": {

View File

@@ -558,9 +558,10 @@ describe('AuthTest', () => {
const getServer = async function (auth) {
const app = express();
app.use(express.json({ strict: false, limit: '10mb' }));
app.use(auth.apiJWTmiddleware());
// @ts-expect-error
app.use(errorReportingMiddleware(logger));
app.use(auth.apiJWTmiddleware());
app.get('/*', (req, res, next) => {
if ((req as $RequestExtend).remote_user.error) {
next(new Error((req as $RequestExtend).remote_user.error));
@@ -575,6 +576,7 @@ describe('AuthTest', () => {
app.use(final);
return app;
};
describe('legacy signature', () => {
describe('error cases', () => {
test('should handle invalid auth token', async () => {

View File

@@ -1,5 +1,34 @@
# @verdaccio/cli
## 7.0.0-next-7.13
### Patch Changes
- Updated dependencies [a99a4bb]
- @verdaccio/config@7.0.0-next-7.13
- @verdaccio/node-api@7.0.0-next-7.13
- @verdaccio/logger@7.0.0-next-7.13
- @verdaccio/core@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/node-api@7.0.0-next-7.12
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/config@7.0.0-next-7.12
- @verdaccio/logger@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/node-api@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"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.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/node-api": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/node-api": "workspace:7.0.0-next-7.13",
"clipanion": "3.2.1",
"envinfo": "7.11.0",
"kleur": "4.1.5",
"semver": "7.5.4"
"semver": "7.6.0"
},
"devDependencies": {
"ts-node": "10.9.2"

View File

@@ -1,5 +1,31 @@
# @verdaccio/config
## 7.0.0-next-7.13
### Patch Changes
- a99a4bb: fix config builder erroring when passed partial config
- @verdaccio/core@7.0.0-next-7.13
- @verdaccio/utils@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/utils@7.0.0-next-7.12
## 7.0.0-next-7.11
### Minor Changes
- c9962fe: feat: forbidden user interface
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,5 +1,74 @@
# @verdaccio/config
## Overview
The `@verdaccio/config` package provides a powerful configuration builder constructor for programmatically creating configuration objects for Verdaccio, a lightweight private npm proxy registry. With this package, users can easily manage various configuration aspects such as package access, uplinks, security settings, authentication, logging, and storage options.
## Installation
You can install via npm:
```bash
npm install @verdaccio/config
```
## Usage
To start using `@verdaccio/config`, import the `ConfigBuilder` class and begin constructing your configuration object:
## `ConfigBuilder` constructor
The `ConfigBuilder` class is a helper configuration builder constructor used to programmatically create configuration objects for testing or other purposes.
```typescript
import { ConfigBuilder } from '@verdaccio/config';
// Create a new configuration builder instance
const config = ConfigBuilder.build({ security: { api: { legacy: false } } });
// Add package access configuration
configBuilder.addPackageAccess('@scope/*', { access: 'read', publish: 'write' });
// Add an uplink configuration
configBuilder.addUplink('npmjs', { url: 'https://registry.npmjs.org/' });
// Add security configuration
configBuilder.addSecurity({ allow_offline: true });
// Get the configuration object
const config = configBuilder.getConfig();
// Get the configuration yaml text
const config = configBuilder.getAsYaml();
```
### Methods
- `addPackageAccess(pattern: string, pkgAccess: PackageAccessYaml)`: Adds package access configuration.
- `addUplink(id: string, uplink: UpLinkConf)`: Adds an uplink configuration.
- `addSecurity(security: Partial<Security>)`: Adds security configuration.
- `addAuth(auth: Partial<AuthConf>)`: Adds authentication configuration.
- `addLogger(log: LoggerConfItem)`: Adds logger configuration.
- `addStorage(storage: string | object)`: Adds storage configuration.
- `getConfig(): ConfigYaml`: Retrieves the configuration object.
- `getAsYaml(): string`: Retrieves the configuration object as YAML format.
## `getDefaultConfig`
This method is available in the package's index and retrieves the default configuration object.
```typescript
import { getDefaultConfig } from '@verdaccio/config';
const defaultConfig = getDefaultConfig();
```
## Other Methods
- `fromJStoYAML(config: ConfigYaml): string`: Converts a JavaScript configuration object to YAML format.
- `parseConfigFile(filePath: string): ConfigYaml`: Parses a configuration file from the specified path and returns the configuration object.
### License
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"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.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"debug": "4.3.4",
"js-yaml": "4.1.0",
"lodash": "4.17.21",

View File

@@ -19,8 +19,7 @@ export default class ConfigBuilder {
private config: ConfigYaml;
public constructor(config?: Partial<ConfigYaml>) {
// @ts-ignore
this.config = config ?? { uplinks: {}, packages: {}, security: {} };
this.config = merge(config, { uplinks: {}, packages: {}, security: {} });
}
public static build(config?: Partial<ConfigYaml>): ConfigBuilder {

View File

@@ -82,7 +82,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish/publish packages
# allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -86,7 +86,7 @@ packages:
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# Allow all known users to publish/publish packages
# Allow all known users to publish/unpublish packages
# (anyone can register by default, remember?)
publish: $authenticated
unpublish: $authenticated

View File

@@ -1,9 +1,12 @@
import assert from 'assert';
import buildDebug from 'debug';
import _ from 'lodash';
import { errorUtils } from '@verdaccio/core';
import { PackageAccess } from '@verdaccio/types';
const debug = buildDebug('verdaccio:config:utils');
export interface LegacyPackageList {
[key: string]: PackageAccess;
}
@@ -61,6 +64,7 @@ export function normalisePackageAccess(packages: LegacyPackageList): LegacyPacka
for (const pkg in packages) {
if (Object.prototype.hasOwnProperty.call(packages, pkg)) {
const packageAccess = packages[pkg];
debug('package access %s for %s ', packageAccess, pkg);
const isInvalid = _.isObject(packageAccess) && _.isArray(packageAccess) === false;
assert(isInvalid, `CONFIG: bad "'${pkg}'" package description (object expected)`);

View File

@@ -67,5 +67,58 @@ describe('Config builder', () => {
.addStorage('/tmp/verdaccio')
.addSecurity({ api: { legacy: true } });
expect(config.getAsYaml()).toMatchSnapshot();
expect(config.getConfig()).toEqual({
uplinks: {
upstream: {
url: 'https://registry.verdaccio.org',
},
upstream2: {
url: 'https://registry.verdaccio.org',
},
},
packages: {
'upstream/*': {
access: 'public',
publish: 'foo, bar',
unpublish: 'foo, bar',
proxy: 'some',
},
},
security: {
api: {
legacy: true,
},
},
log: {
level: 'info',
type: 'stdout',
format: 'json',
},
storage: '/tmp/verdaccio',
});
});
test('should merge configurations', () => {
// @ts-expect-error
const config = ConfigBuilder.build({ security: { api: { legacy: false } } });
config.addSecurity({ web: { verify: {}, sign: { algorithm: 'ES256' } } });
config.addStorage('/tmp/verdaccio');
expect(config.getConfig()).toEqual({
security: {
api: {
legacy: false,
},
web: {
verify: {},
sign: {
algorithm: 'ES256',
},
},
},
uplinks: {},
packages: {},
storage: '/tmp/verdaccio',
});
});
});

View File

@@ -1,5 +1,11 @@
# @verdaccio/core
## 7.0.0-next-7.13
## 7.0.0-next-7.12
## 7.0.0-next-7.11
## 7.0.0-next-7.10
## 7.0.0-next-7.9

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/core",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"description": "core utilities",
"keywords": [
"private",
@@ -35,7 +35,7 @@
"dependencies": {
"http-errors": "2.0.0",
"http-status-codes": "2.3.0",
"semver": "7.5.4",
"semver": "7.6.0",
"ajv": "8.12.0",
"process-warning": "1.0.0",
"core-js": "3.35.0"

View File

@@ -1,5 +1,29 @@
# Change Log
## 12.0.0-next-7.13
### Patch Changes
- @verdaccio/core@7.0.0-next-7.13
- @verdaccio/url@12.0.0-next-7.13
- @verdaccio/utils@7.0.0-next-7.13
## 12.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/url@12.0.0-next-7.12
- @verdaccio/utils@7.0.0-next-7.12
## 12.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/url@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
## 12.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "12.0.0-next-7.10",
"version": "12.0.0-next-7.13",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -34,9 +34,9 @@
},
"dependencies": {
"debug": "4.3.4",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/url": "workspace:12.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/url": "workspace:12.0.0-next-7.13",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"lodash": "4.17.21"
},
"devDependencies": {

View File

@@ -1,5 +1,23 @@
# Change Log
## 12.0.0-next-7.13
### Patch Changes
- @verdaccio/core@7.0.0-next-7.13
## 12.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
## 12.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
## 12.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/url",
"version": "12.0.0-next-7.10",
"version": "12.0.0-next-7.13",
"description": "url utilities resolver",
"keywords": [
"private",
@@ -33,7 +33,7 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"debug": "4.3.4",
"lodash": "4.17.21",
"validator": "13.11.0"

View File

@@ -1,5 +1,26 @@
# @verdaccio/hooks
## 7.0.0-next-7.13
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.13
- @verdaccio/core@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
- @verdaccio/logger@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,16 +29,16 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"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.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2",
"nock": "13.5.1"
},

View File

@@ -1,5 +1,23 @@
# @verdaccio/loaders
## 7.0.0-next-7.13
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/loaders",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -13,13 +13,13 @@
"url": "https://github.com/verdaccio/verdaccio"
},
"dependencies": {
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2",
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
"verdaccio-auth-memory": "workspace:*",

View File

@@ -1,5 +1,23 @@
# @verdaccio/logger-7
## 7.0.0-next-7.13
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

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

View File

@@ -1,5 +1,25 @@
# @verdaccio/logger-commons
## 7.0.0-next-7.13
### Patch Changes
- Updated dependencies [9db1554]
- @verdaccio/logger-prettify@7.0.0-next-7.2
- @verdaccio/core@7.0.0-next-7.13
## 7.0.0-next-7.12
### Patch Changes
- @verdaccio/core@7.0.0-next-7.12
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-commons",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.13",
"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.10",
"@verdaccio/logger-prettify": "workspace:7.0.0-next.1",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/logger-prettify": "workspace:7.0.0-next-7.2",
"debug": "4.3.4",
"colorette": "2.0.20"
},

View File

@@ -1,5 +1,11 @@
# @verdaccio/logger-prettify
## 7.0.0-next-7.2
### Patch Changes
- 9db1554: Avoid displaying "prettify pipeline error" if there is no error
## 7.0.0-next.1
### Major Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-prettify",
"version": "7.0.0-next.1",
"version": "7.0.0-next-7.2",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",

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