Compare commits

...

63 Commits

Author SHA1 Message Date
Juan Picado
489631bda9 chore: update versions (next-7) (#4746)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-01 18:36:08 +02:00
dependabot[bot]
112f1d60b8 chore(deps): bump github/codeql-action from 3.25.11 to 3.25.15 (#4751) 2024-08-01 18:02:15 +02:00
verdacciobot
e87b29885b chore: updated static data 2024-08-01 00:15:46 +00:00
Marc Bernard
ccc7bd1df5 fix(middleware): link to favicon in template (#4744) 2024-07-30 23:20:18 +02:00
Marc Bernard
3c6e6b9af7 chore: revert changes (#4745)
* chore: revert "Fix sidebar test"

This reverts commit 096d634917.

Sorry, this push should have gone to my fork only.

* chore: revert "Merge branch 'apm' into pr/mbtools/2"

This reverts commit 87fa9270a5, reversing
changes made to dc2cd48a78.

Sorry, this push should have gone to my fork only.
2024-07-30 23:15:34 +02:00
Marc Bernard
096d634917 Fix sidebar test 2024-07-29 11:12:30 -04:00
Marc Bernard
87fa9270a5 Merge branch 'apm' into pr/mbtools/2 2024-07-29 09:51:18 -04:00
verdacciobot
dc2cd48a78 chore: updated static data 2024-07-29 00:14:47 +00:00
Juan Picado
4c54c0c67d feat: update dependencies (#4738)
* udapte deps step1

* udpate 2

* update 3
2024-07-28 14:06:47 +02:00
renovate[bot]
6bed536f80 chore(deps): update typescript dependencies (master) (#4733)
* chore(deps): update typescript dependencies

* restore dep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2024-07-28 08:41:50 +02:00
verdacciobot
1f4fa441ae chore: updated static data 2024-07-25 00:14:10 +00:00
Juan Picado
c5f5e75818 chore: remove node 22 from generator flow
npm sort of broken
2024-07-23 22:33:52 +02:00
verdacciobot
b3f52486f7 chore: updated static data 2024-07-22 00:14:48 +00:00
Juan Picado
bbfb4118bf chore: update versions (next-7) (#4711)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-21 18:06:35 +02:00
Marc Bernard
6c5f7a4fa0 fix(middleware): link to favicon in template (#4727) 2024-07-21 18:00:37 +02:00
Marc Bernard
2274e483ac apm: update action 2024-07-19 13:19:00 -04:00
Marc Bernard
d0dacd75c5 apm: update action 2024-07-19 13:18:02 -04:00
Marc Bernard
5bcfd7e2e2 apm: update docker 2024-07-19 13:02:49 -04:00
Marc Bernard
71fcd2de91 Merge branch 'verdaccio:master' into apm 2024-07-19 12:56:08 -04:00
Michael Ryan
39f7fd6057 docs: update logger level precedence stated in docs, moving http between info and debug (#4723)
Fixes #4654
2024-07-19 18:46:48 +02:00
Marc Bernard
96b28575a3 chore(ui): update babel dependencies (#4721) 2024-07-18 07:54:46 +02:00
verdacciobot
6249cbf562 chore: updated static data 2024-07-18 00:13:15 +00:00
Leo Wang(草鞋没号)
136e992bb9 feat: verdaccio-audit support timeout option (#4718)
* feat: verdaccio-audit support timeout option

* Create many-bees-tickle.md

* Update audit.ts

* update docs

* Update README.md

---------

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2024-07-17 21:59:36 +02:00
Marc Bernard
2ee690638d Merge branch 'verdaccio:master' into apm 2024-07-17 15:39:05 -04:00
Marc Bernard
c31aec8336 fix: typo in config docs regarding check_owners (#4720) 2024-07-17 15:14:44 -04:00
Marc Bernard
5a0c23f900 fix: Dockerfile error FromAsCasing (#4713) 2024-07-17 19:57:35 +02:00
Marc Bernard
19df355e3c chore(api): update comment about route parameters (#4719) 2024-07-17 19:57:03 +02:00
Marc Bernard
39f71f5d7d apm: remove chip from searchitem 2024-07-17 11:35:02 -04:00
Marc Bernard
a985ddc246 Docker, healthcheck, list hover 2024-07-16 19:19:00 -04:00
Marc Bernard
2a6ee33071 fix(middleware): custom favicon (#4716) 2024-07-16 13:28:45 -04:00
Marc Bernard
919795c804 Create docker-apm.yml 2024-07-16 10:12:05 -04:00
Marc Bernard
d60bf44c43 lockfile 2024-07-15 18:19:34 -04:00
Marc Bernard
6626e77766 config 2024-07-15 17:59:12 -04:00
Marc Bernard
03a903d924 fix favicon 2024-07-15 17:41:02 -04:00
verdacciobot
6ee0afb13a chore: updated static data 2024-07-15 00:14:05 +00:00
Marc Bernard
016812b12c Docker image for apm 2024-07-14 14:10:08 -04:00
Marc Bernard
3b3cf86b54 chore: sync dependency defs between ui-components and ui-theme (#4712) 2024-07-13 06:38:04 -04:00
Marc Bernard
5a77414eb6 chore: fix type for country flags and hover titles (#4709)
* chore: fix type for country flags

* add text for Canada, fix Australia flag

* add flag texts

* fix text keys

* update changeset

* Add lock file

* Add Austria
2024-07-12 09:20:22 +02:00
verdacciobot
da6d8e5f38 chore: updated static data 2024-07-11 00:14:23 +00:00
verdacciobot
c7ba6b95f6 chore: updated static data 2024-07-08 00:14:35 +00:00
dependabot[bot]
744a806411 chore(deps): bump docker/build-push-action from 4 to 6 (#4693)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  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-07-07 21:15:56 +02:00
dependabot[bot]
1deb734b3e chore(deps): bump github/codeql-action from 3.25.7 to 3.25.11 (#4695)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.7 to 3.25.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f079b84933...b611370bb5)

---
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-07-07 20:17:29 +02:00
Juan Picado
9caca4b573 Update generator.yaml 2024-07-07 19:44:10 +02:00
Juan Picado
fec5a46b22 Update plugin-generator-e2e.yaml 2024-07-07 19:33:22 +02:00
Juan Picado
6aa850a8b4 chore: disable window ci 2024-07-07 19:32:18 +02:00
Juan Picado
85ef861cab Update plugin-generator-e2e.yaml 2024-07-07 19:22:55 +02:00
Juan Picado
3bc24bc4a7 chore: update versions (next-7) (#4703)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-07 18:45:32 +02:00
dependabot[bot]
26eeb022bb chore(deps): bump actions/cache from 3.3.3 to 4.0.2 (#4704) 2024-07-07 17:26:03 +02:00
dependabot[bot]
4c41982d9c chore(deps): bump actions/checkout from 3.6.0 to 4.1.7 (#4705) 2024-07-07 17:25:53 +02:00
dependabot[bot]
88c2885cb6 chore(deps): bump actions/setup-node from 3.8.2 to 4.0.2 (#4706) 2024-07-07 17:25:45 +02:00
renovate[bot]
e0ffae411d chore(deps): pin dependencies (#4697) 2024-07-07 14:46:35 +02:00
renovate[bot]
693b57c949 chore(deps): update actions/upload-artifact digest to a8a3f3a (#4698) 2024-07-07 14:46:20 +02:00
Marc Bernard
10dd81f473 feat: complete overhaul of web user interface (#4687)
* fix: ui-component updates

* Update all

* Update tests

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Dark logo

* Add showUplinks parameter

* Fix DependencyBlock links

* Update

* Fix highlight dark

* Update

* Color

* Fix uncaught exception

* changeset

* Fix Install Settingsmenu, tsconfig

* Remove duplicate function (merge issue)

* Fix SideBar test and CodeQL issue
2024-07-07 14:12:24 +02:00
verdacciobot
2ee28c0988 chore: updated static data 2024-07-04 00:13:45 +00:00
verdacciobot
533abbd6e3 chore: updated static data 2024-07-01 00:15:22 +00:00
verdacciobot
33e25d2876 chore: updated static data 2024-06-27 00:13:32 +00:00
verdacciobot
7d4adac1fc chore: updated static data 2024-06-24 00:14:52 +00:00
verdacciobot
0f94336a9e chore: updated static data 2024-06-20 00:12:45 +00:00
verdacciobot
36feb886ee chore: updated static data 2024-06-17 00:14:12 +00:00
Juan Picado
e54fc76f8e chore: e2e plugin generator (#4686) 2024-06-16 18:36:20 +02:00
Juan Picado
8be0d4882e chore: disable unstable test generator 2024-06-16 12:42:13 +02:00
Juan Picado
0905d04801 Revert "migrate helm chart (#4685)"
This reverts commit e7517acff9.
2024-06-16 11:09:44 +02:00
Juan Picado
e7517acff9 migrate helm chart (#4685)
* migrate heml chart

* refactor

* Update helm-lint-test.yaml

* Update package.json

* Update Chart.yaml

* Update Chart.yaml

* rename

* Update helm-chart-lint-test.yaml
2024-06-16 10:40:37 +02:00
291 changed files with 9173 additions and 6967 deletions

View File

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

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): custom favicon

View File

@@ -0,0 +1,10 @@
---
'@verdaccio/ui-components': minor
'@verdaccio/ui-theme': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/config': patch
'@verdaccio/cli': patch
---
feat: complete overhaul of web user interface

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-components': patch
'@verdaccio/ui-theme': patch
---
chore: fix type for country flags

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): link to favicon in template

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore: sync dependency defs between ui-components and ui-theme

View File

@@ -0,0 +1,5 @@
---
'verdaccio-audit': minor
---
feat: verdaccio-audit support timeout option

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/middleware': patch
'@verdaccio/url': patch
---
fix(middleware): link to favicon in template

View File

@@ -66,15 +66,22 @@
"breezy-mayflies-pull",
"chilled-carrots-guess",
"chilly-rivers-chew",
"cuddly-camels-relax",
"dirty-dolphins-try",
"dirty-islands-push",
"dry-shoes-report",
"eight-icons-heal",
"eight-squids-judge",
"eighty-lobsters-study",
"fluffy-onions-act",
"good-cups-train",
"good-lions-rush",
"grumpy-pots-watch",
"itchy-mangos-wink",
"long-jars-collect",
"long-moles-attend",
"many-bees-tickle",
"mighty-gorillas-fail",
"nervous-fireants-design",
"old-turkeys-heal",
"olive-bananas-wink",
@@ -94,6 +101,8 @@
"spicy-birds-flow",
"strange-points-repair",
"stupid-dancers-relate",
"ten-kids-tan",
"thin-snails-flow",
"thirty-toes-swim",
"twenty-queens-protect",
"unlucky-cycles-sparkle",
@@ -102,6 +111,7 @@
"wicked-kiwis-check",
"wicked-worms-wash",
"wild-otters-talk",
"witty-meals-nail",
"young-donuts-own"
]
}

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): update babel dependencies

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/config': patch
'@verdaccio/website': patch
---
fix: typo in config docs regarding check_owners

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/api': patch
---
chore(api): update comment about route parameters

View File

@@ -18,21 +18,23 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
run: |
corepack enable
corepack install
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --registry http://localhost:4873
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -43,14 +45,14 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -67,14 +69,14 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -96,14 +98,14 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -122,13 +124,13 @@ jobs:
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
with:
fetch-depth: 0

View File

@@ -30,7 +30,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -46,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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -57,7 +57,7 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -66,7 +66,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -82,7 +82,7 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -91,7 +91,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -112,7 +112,7 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -121,7 +121,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -140,7 +140,7 @@ jobs:
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
@@ -148,7 +148,7 @@ jobs:
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -34,7 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v2
uses: github/codeql-action/init@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # 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@f079b8493333aace61c81488f8bd40919487bd9f # v2
uses: github/codeql-action/autobuild@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # 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@f079b8493333aace61c81488f8bd40919487bd9f # v2
uses: github/codeql-action/analyze@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build

View File

@@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # tag=v1
- uses: docker/setup-buildx-action@v1
with:
@@ -46,7 +46,7 @@ jobs:
{{major}}
{{major}}.{{minor}}
- name: Build & Push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile

View File

@@ -18,7 +18,7 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # 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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -114,7 +114,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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -141,7 +141,7 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node }}
@@ -149,7 +149,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -158,7 +158,7 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --loglevel debug --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -186,7 +186,7 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node }}
@@ -194,7 +194,7 @@ jobs:
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -203,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@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
@@ -33,7 +33,7 @@ jobs:
run: pnpm build
- name: Test UI
run: pnpm test:e2e:ui
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v3
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
with:
name: videos
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos

View File

@@ -0,0 +1,47 @@
name: E2E Generator Verdaccio Plugin
on:
pull_request:
workflow_dispatch:
push:
branches:
- 'master'
jobs:
e2e-plugin-generator:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18,20, 21]
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: install
run: pnpm install
- name: build
run: pnpm build
- name: install verdaccio
run: npm install -g verdaccio@5
- name: Start server
run: verdaccio -c e2e/docker/generator-e2e/generator.yaml &
- name: ping server
run: curl http://localhost:4873/-/ping
- name: login
run: npx npm-cli-login -u test -p test -e test@domain.test -r http://localhost:4873
- name: publish
run: pnpm local:publish
- name: install yeoman
run: npm install -g yo@4 --loglevel=info
- name: install generator
run: npm install -g generator-verdaccio-plugin --loglevel=info --registry http://localhost:4873
# Future: add a test to verify the plugin is working with prompt

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
with:
persist-credentials: false
fetch-depth: 0

View File

@@ -23,7 +23,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
@@ -31,7 +31,7 @@ jobs:
node-version-file: '.nvmrc'
- name: Cache pnpm modules
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
env:
cache-name: cache-pnpm-modules
with:

View File

@@ -26,7 +26,7 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
@@ -43,7 +43,7 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -54,7 +54,7 @@ jobs:
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: Cache Docusaurus Build
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}

View File

@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:21-alpine as builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:21-alpine AS builder
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org

View File

@@ -1,7 +1,7 @@
# Docs based on https://github.com/xlts-dev/verdaccio-prometheus-middleware#installation
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
RUN mkdir -p /verdaccio/plugins

View File

@@ -2,7 +2,7 @@
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
# Install the metrics middleware plugin
# npm docs

View File

@@ -1,7 +1,7 @@
# Docs based on https://github.com/xlts-dev/verdaccio-prometheus-middleware#installation
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
RUN mkdir -p /verdaccio/plugins

View File

@@ -5,16 +5,16 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"debug": "4.3.4",
"fs-extra": "11.2.0",
"get-port": "5.1.1",
"got": "11.8.6",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"verdaccio": "workspace:7.0.0-next-7.17"
"verdaccio": "workspace:7.0.0-next-7.20"
},
"scripts": {
"test": "jest",

View File

@@ -0,0 +1,43 @@
storage: ./storage
web:
title: Verdaccio E2E Local
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@verdaccio/*':
access: $all
publish: $all
unpublish: $all
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'verdaccio-*':
access: $all
publish: $all
unpublish: $all
'generator-verdaccio-plugin':
access: $all
publish: $all
unpublish: $all
'verdaccio':
access: $all
publish: $all
unpublish: $all
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
middlewares:
audit:
enabled: false
log: { type: stdout, format: json, level: http }

View File

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

View File

@@ -15,83 +15,81 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.23.9",
"@babel/core": "7.23.9",
"@babel/eslint-parser": "7.23.3",
"@babel/node": "7.23.9",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.23.9",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-function-sent": "7.23.3",
"@babel/plugin-proposal-json-strings": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-numeric-separator": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/plugin-proposal-optional-chaining": "7.21.0",
"@babel/plugin-proposal-throw-expressions": "7.23.3",
"@babel/cli": "7.24.8",
"@babel/core": "7.24.9",
"@babel/eslint-parser": "7.25.0",
"@babel/node": "7.25.0",
"@babel/plugin-proposal-decorators": "7.24.7",
"@babel/plugin-proposal-function-sent": "7.24.7",
"@babel/plugin-proposal-throw-expressions": "7.24.7",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.23.3",
"@babel/plugin-transform-classes": "7.23.8",
"@babel/plugin-transform-runtime": "7.23.9",
"@babel/preset-env": "7.23.9",
"@babel/preset-react": "7.23.3",
"@babel/preset-typescript": "7.23.3",
"@babel/register": "7.23.7",
"@babel/runtime": "7.23.9",
"@babel/plugin-transform-async-to-generator": "7.24.7",
"@babel/plugin-transform-class-properties": "7.24.7",
"@babel/plugin-transform-classes": "7.25.0",
"@babel/plugin-transform-export-namespace-from": "7.24.7",
"@babel/plugin-transform-json-strings": "7.24.7",
"@babel/plugin-transform-nullish-coalescing-operator": "7.24.7",
"@babel/plugin-transform-numeric-separator": "7.24.7",
"@babel/plugin-transform-object-rest-spread": "7.24.7",
"@babel/plugin-transform-optional-chaining": "7.24.8",
"@babel/plugin-transform-runtime": "7.24.7",
"@babel/preset-env": "7.25.0",
"@babel/preset-react": "7.24.7",
"@babel/preset-typescript": "7.24.7",
"@babel/register": "7.24.6",
"@babel/runtime": "7.25.0",
"@changesets/changelog-github": "0.5.0",
"@changesets/cli": "2.27.1",
"@changesets/get-dependents-graph": "1.3.6",
"@crowdin/cli": "3.16.1",
"@changesets/cli": "2.27.7",
"@changesets/get-dependents-graph": "2.1.1",
"@crowdin/cli": "4.1.1",
"@dianmora/contributors": "5.0.0",
"@emotion/react": "11.10.6",
"@emotion/styled": "11.10.6",
"@testing-library/dom": "9.3.4",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.4.8",
"@testing-library/react": "16.0.0",
"@testing-library/user-event": "14.5.2",
"aria-query": "5.1.3",
"@testing-library/react": "14.2.1",
"@trivago/prettier-plugin-sort-imports": "4.3.0",
"@types/body-parser": "1.19.5",
"@types/connect": "3.4.38",
"@types/cookiejar": "2.1.5",
"@types/debug": "4.1.12",
"@types/express": "4.17.21",
"@types/express-serve-static-core": "4.17.42",
"@types/express-serve-static-core": "4.19.5",
"@types/http-errors": "2.0.4",
"@types/jest": "29.5.11",
"@types/jsonwebtoken": "9.0.5",
"@types/jest": "29.5.12",
"@types/jsonwebtoken": "9.0.6",
"@types/lodash": "4.17.7",
"@types/mime": "3.0.4",
"@types/minimatch": "5.1.2",
"@types/node": "20.14.12",
"@types/node-fetch": "2.6.11",
"@types/qs": "6.9.15",
"@types/range-parser": "1.2.7",
"@types/react": "18.3.3",
"@types/react-dom": "18.3.0",
"@types/react-router-dom": "5.3.3",
"@types/react-virtualized": "9.21.30",
"@types/semver": "7.5.8",
"@types/send": "0.17.4",
"@types/serve-static": "1.15.7",
"@types/superagent": "4.1.24",
"@types/supertest": "2.0.16",
"@types/validator": "13.12.0",
"@types/webpack": "5.28.5",
"@types/webpack-env": "1.18.5",
"@types/yeoman-environment": "2.10.11",
"@types/yeoman-generator": "5.2.14",
"@types/yeoman-test": "4.0.6",
"@types/lodash": "4.14.202",
"@types/mime": "3.0.4",
"@types/minimatch": "5.1.2",
"@types/node": "20.11.7",
"@types/node-fetch": "2.6.11",
"@types/qs": "6.9.11",
"@types/range-parser": "1.2.7",
"@types/react": "18.2.48",
"@types/react-dom": "18.2.18",
"@types/react-router-dom": "5.3.3",
"@types/react-virtualized": "9.21.29",
"@types/redux": "3.6.0",
"@types/semver": "7.5.6",
"@types/send": "0.17.4",
"@types/serve-static": "1.15.5",
"@types/superagent": "4.1.24",
"@types/supertest": "2.0.16",
"@types/testing-library__jest-dom": "6.0.0",
"@types/validator": "13.11.8",
"@types/webpack": "5.28.5",
"@types/webpack-env": "1.18.4",
"@typescript-eslint/eslint-plugin": "6.19.1",
"@typescript-eslint/parser": "6.19.1",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"@verdaccio/crowdin-translations": "workspace:*",
"@verdaccio/eslint-config": "workspace:*",
"@verdaccio/types": "workspace:*",
"@verdaccio/ui-theme": "workspace:*",
"@vitest/coverage-v8": "0.34.6",
"aria-query": "5.1.3",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "29.7.0",
"babel-plugin-dynamic-import-node": "2.3.3",
@@ -121,11 +119,11 @@
"react-dom": "18.2.0",
"rimraf": "5.0.5",
"selfsigned": "2.4.1",
"supertest": "6.3.4",
"supertest": "7.0.0",
"ts-node": "10.9.2",
"typescript": "5.3.3",
"undici-types": "5.28.2",
"update-ts-references": "3.2.1",
"update-ts-references": "3.3.0",
"verdaccio-audit": "workspace:*",
"verdaccio-auth-memory": "workspace:*",
"verdaccio-htpasswd": "workspace:*",

View File

@@ -1,5 +1,47 @@
# @verdaccio/api
## 7.0.0-next-7.20
### Patch Changes
- Updated dependencies [ccc7bd1]
- @verdaccio/middleware@7.0.0-next-7.20
- @verdaccio/auth@7.0.0-next-7.20
- @verdaccio/store@7.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- 19df355: chore(api): update comment about route parameters
- Updated dependencies [2a6ee33]
- Updated dependencies [6c5f7a4]
- Updated dependencies [c31aec8]
- @verdaccio/middleware@7.0.0-next-7.19
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/auth@7.0.0-next-7.19
- @verdaccio/store@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/middleware@7.0.0-next-7.18
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/auth@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- @verdaccio/store@7.0.0-next-7.18
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,13 +38,13 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/middleware": "workspace:7.0.0-next-7.17",
"@verdaccio/store": "workspace:7.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/auth": "workspace:7.0.0-next-7.20",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/middleware": "workspace:7.0.0-next-7.20",
"@verdaccio/store": "workspace:7.0.0-next-7.20",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"abortcontroller-polyfill": "1.7.5",
"body-parser": "1.20.2",
"cookies": "0.9.0",
@@ -52,14 +52,14 @@
"express": "4.19.2",
"lodash": "4.17.21",
"mime": "2.6.0",
"semver": "7.6.2"
"semver": "7.6.3"
},
"devDependencies": {
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"mockdate": "3.0.5",
"nock": "13.5.1",
"supertest": "6.3.4"
"supertest": "7.0.0"
},
"funding": {
"type": "opencollective",

View File

@@ -37,10 +37,11 @@ export default function (config: Config, auth: Auth, storage: Storage): Router {
app.param('revision', validateName);
app.param('token', validateName);
// these can't be safely put into express url for some reason
// TODO: For some reason? what reason?
// Express route parameter names must be valid JavaScript identifiers, which means
// they cannot start with a hyphen (-) or contain special characters like dots (.)
app.param('_rev', match(/^-rev$/));
app.param('org_couchdb_user', match(/^org\.couchdb\.user:/));
app.use(auth.apiJWTmiddleware());
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
app.use(antiLoop(config));

View File

@@ -1,5 +1,43 @@
# @verdaccio/auth
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/loaders@7.0.0-next-7.20
- verdaccio-htpasswd@12.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/loaders@7.0.0-next-7.19
- verdaccio-htpasswd@12.0.0-next-7.19
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/loaders@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- verdaccio-htpasswd@12.0.0-next-7.18
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,21 +38,21 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/loaders": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/loaders": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/signature": "workspace:7.0.0-next-7.5",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"debug": "4.3.4",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:12.0.0-next-7.17"
"verdaccio-htpasswd": "workspace:12.0.0-next-7.20"
},
"devDependencies": {
"@verdaccio/middleware": "workspace:7.0.0-next-7.20",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"express": "4.19.2",
"supertest": "6.3.4",
"@verdaccio/middleware": "workspace:7.0.0-next-7.17",
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"supertest": "7.0.0"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,35 @@
# @verdaccio/cli
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/node-api@7.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/node-api@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- @verdaccio/node-api@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"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.17",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/node-api": "workspace:7.0.0-next-7.17",
"clipanion": "3.2.1",
"envinfo": "7.11.0",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/node-api": "workspace:7.0.0-next-7.20",
"clipanion": "4.0.0-rc.3",
"envinfo": "7.13.0",
"kleur": "4.1.5",
"semver": "7.6.2"
"semver": "7.6.3"
},
"devDependencies": {
"ts-node": "10.9.2"

View File

@@ -1,5 +1,28 @@
# @verdaccio/config
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- c31aec8: fix: typo in config docs regarding check_owners
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,17 +38,15 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"debug": "4.3.4",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"minimatch": "7.4.6",
"yup": "0.32.11"
"minimatch": "7.4.6"
},
"devDependencies": {
"@types/minimatch": "5.1.2",
"@types/yup": "0.32.0"
"@types/minimatch": "5.1.2"
},
"funding": {
"type": "opencollective",

View File

@@ -18,6 +18,12 @@ storage: ./storage
# https://verdaccio.org/docs/webui
web:
title: Verdaccio
# custom colors for header background and font
# primaryColor: "#4b5e40"
# custom logos and favicon
# logo: ./path/to/logo.png
# logoDark: ./path/to/logoDark.png
# favicon: ./path/to/favicon.ico
# comment out to disable gravatar support
# gravatar: false
# by default packages are ordercer ascendant (asc|desc)
@@ -35,6 +41,7 @@ web:
# showSearch: true
# showRaw: true
# showDownloadTarball: true
# showUplinks: true
# HTML tags injected after manifest <scripts/>
# scriptsBodyAfter:
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
@@ -113,7 +120,7 @@ server:
# https://verdaccio.org/docs/configuration#offline-publish
# publish:
# allow_offline: false
# check_owner: false
# check_owners: false
# https://verdaccio.org/docs/configuration#url-prefix
# url_prefix: /verdaccio/
@@ -180,6 +187,7 @@ server:
middlewares:
audit:
enabled: true
# timeout: 10000
# https://verdaccio.org/docs/logger
# log settings

View File

@@ -21,6 +21,12 @@ plugins: /verdaccio/plugins
# https://verdaccio.org/docs/webui
web:
title: Verdaccio
# custom colors for header background and font
# primaryColor: "#4b5e40"
# custom logos and favicon
# logo: ./path/to/logo.png
# logoDark: ./path/to/logoDark.png
# favicon: ./path/to/favicon.ico
# Comment out to disable gravatar support
# gravatar: false
# By default packages are ordered ascendant (asc|desc)
@@ -38,6 +44,7 @@ web:
# showSearch: true
# showRaw: true
# showDownloadTarball: true
# showUplinks: true
# HTML tags injected after manifest <scripts/>
# scriptsBodyAfter:
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
@@ -119,7 +126,7 @@ server:
# https://verdaccio.org/docs/configuration#offline-publish
# publish:
# allow_offline: false
# check_owner: false
# check_owners: false
# https://verdaccio.org/docs/configuration#url-prefix
# url_prefix: /verdaccio/
@@ -186,6 +193,7 @@ server:
middlewares:
audit:
enabled: true
# timeout: 10000
# https://verdaccio.org/docs/logger
# log settings

View File

@@ -1,5 +1,11 @@
# @verdaccio/core
## 7.0.0-next-7.20
## 7.0.0-next-7.19
## 7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/core",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "core utilities",
"keywords": [
"private",
@@ -33,18 +33,18 @@
"access": "public"
},
"dependencies": {
"ajv": "8.12.0",
"core-js": "3.35.0",
"http-errors": "2.0.0",
"http-status-codes": "2.3.0",
"semver": "7.6.2",
"ajv": "8.12.0",
"process-warning": "1.0.0",
"core-js": "3.35.0"
"semver": "7.6.3"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"lodash": "4.17.21",
"typedoc": "0.23.25",
"typedoc-plugin-missing-exports": "latest",
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"typedoc-plugin-missing-exports": "latest"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -39,7 +39,7 @@
"lockfile": "1.0.4"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"@verdaccio/types": "workspace:12.0.0-next-7.5"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,30 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- Updated dependencies [ccc7bd1]
- @verdaccio/url@12.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/url@12.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/url@12.0.0-next-7.18
- @verdaccio/utils@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -33,16 +33,16 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/url": "workspace:12.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/url": "workspace:12.0.0-next-7.20",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"debug": "4.3.4",
"gunzip-maybe": "^1.4.2",
"lodash": "4.17.21",
"tar-stream": "^3.1.7"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"node-mocks-http": "1.14.1"
},
"scripts": {

View File

@@ -1,5 +1,11 @@
# Change Log
## 12.0.0-next-7.5
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
## 12.0.0-next-7.4
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/types",
"version": "12.0.0-next-7.4",
"version": "12.0.0-next-7.5",
"description": "verdaccio types definitions",
"keywords": [
"private",

View File

@@ -83,6 +83,7 @@ export type PackageManagers = 'pnpm' | 'yarn' | 'npm';
export type CommonWebConf = {
title?: string;
logo?: string;
logoDark?: string;
favicon?: string;
gravatar?: boolean;
sort_packages?: string;
@@ -98,6 +99,7 @@ export type CommonWebConf = {
showFooter?: boolean;
showThemeSwitch?: boolean;
showDownloadTarball?: boolean;
showUplinks?: boolean;
hideDeprecatedVersions?: boolean;
primaryColor: string;
showRaw?: boolean;

View File

@@ -1,5 +1,24 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- ccc7bd1: fix(middleware): link to favicon in template
- @verdaccio/core@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/url",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "url utilities resolver",
"keywords": [
"private",
@@ -33,13 +33,13 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"debug": "4.3.4",
"lodash": "4.17.21",
"validator": "13.11.0"
"validator": "13.12.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"node-mocks-http": "1.14.1"
},
"scripts": {

View File

@@ -102,7 +102,7 @@ describe('host', () => {
});
expect(
getPublicUrl(null, {
getPublicUrl(undefined, {
host: req.hostname,
headers: req.headers as any,
protocol: req.protocol,

View File

@@ -1,5 +1,26 @@
# @verdaccio/hooks
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

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

View File

@@ -1,5 +1,23 @@
# @verdaccio/loaders
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

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

View File

@@ -1,5 +1,23 @@
# @verdaccio/logger-7
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-7",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "logger for verdaccio 5.x version",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,11 +38,11 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.17",
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.20",
"pino": "7.11.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"@verdaccio/types": "workspace:12.0.0-next-7.5"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,23 @@
# @verdaccio/logger-commons
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-commons",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,14 +38,14 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/logger-prettify": "workspace:7.0.0-next-7.3",
"debug": "4.3.4",
"colorette": "2.0.20"
},
"devDependencies": {
"pino": "7.11.0",
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"@verdaccio/types": "workspace:12.0.0-next-7.5"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,23 @@
# @verdaccio/logger
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,11 +38,11 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.17",
"@verdaccio/logger-commons": "workspace:7.0.0-next-7.20",
"pino": "8.17.2"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"@verdaccio/types": "workspace:12.0.0-next-7.5"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,39 @@
# @verdaccio/middleware
## 7.0.0-next-7.20
### Patch Changes
- ccc7bd1: fix(middleware): link to favicon in template
- Updated dependencies [ccc7bd1]
- @verdaccio/url@12.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- 2a6ee33: fix(middleware): custom favicon
- 6c5f7a4: fix(middleware): link to favicon in template
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/url@12.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/url@12.0.0-next-7.18
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/middleware",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "express middleware utils",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -35,27 +35,28 @@
"build:js": "babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\" --source-maps",
"watch": "pnpm build:js -- --watch",
"test": "jest",
"test:snap": "jest --updateSnapshot",
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/url": "workspace:12.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/url": "workspace:12.0.0-next-7.20",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"debug": "4.3.4",
"lru-cache": "7.18.3",
"express": "4.19.2",
"express-rate-limit": "5.5.1",
"lodash": "4.17.21",
"mime": "2.6.0",
"express-rate-limit": "5.5.1"
"lru-cache": "7.18.3",
"mime": "2.6.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"body-parser": "1.20.2",
"supertest": "6.3.4"
"supertest": "7.0.0"
}
}

View File

@@ -37,39 +37,59 @@ export function renderWebMiddleware(config, tokenMiddleware, pluginOptions) {
// any match within the static is routed to the file system
router.get('/-/static/*', function (req, res, next) {
const filename = req.params[0];
const file = `${staticPath}/${filename}`;
let file = `${staticPath}/${filename}`;
if (filename === 'favicon.ico' && config?.web?.favicon) {
file = config?.web?.favicon;
if (isURLhasValidProtocol(file)) {
debug('redirect to favicon %s', file);
req.url = file;
return next();
}
}
debug('render static file %o', file);
res.sendFile(file, sendFileCallback(next));
});
// check the origin of the logo
if (config?.web?.logo && !isURLhasValidProtocol(config?.web?.logo)) {
// URI related to a local file
const absoluteLocalFile = path.posix.resolve(config.web.logo);
debug('serve local logo %s', absoluteLocalFile);
try {
// TODO: replace existsSync by async alternative
if (
fs.existsSync(absoluteLocalFile) &&
typeof fs.accessSync(absoluteLocalFile, fs.constants.R_OK) === 'undefined'
) {
// Note: `path.join` will break on Windows, because it transforms `/` to `\`
// Use POSIX version `path.posix.join` instead.
config.web.logo = path.posix.join('/-/static/', path.basename(config.web.logo));
router.get(config.web.logo, function (_req, res, next) {
// @ts-ignore
debug('serve custom logo web:%s - local:%s', config.web.logo, absoluteLocalFile);
res.sendFile(absoluteLocalFile, sendFileCallback(next));
});
debug('enabled custom logo %s', config.web.logo);
} else {
config.web.logo = undefined;
function renderLogo(logo: string | undefined): string | undefined {
// check the origin of the logo
if (logo && !isURLhasValidProtocol(logo)) {
// URI related to a local file
const absoluteLocalFile = path.posix.resolve(logo);
debug('serve local logo %s', absoluteLocalFile);
try {
// TODO: replace existsSync by async alternative
if (
fs.existsSync(absoluteLocalFile) &&
typeof fs.accessSync(absoluteLocalFile, fs.constants.R_OK) === 'undefined'
) {
// Note: `path.join` will break on Windows, because it transforms `/` to `\`
// Use POSIX version `path.posix.join` instead.
logo = path.posix.join('/-/static/', path.basename(logo));
router.get(logo, function (_req, res, next) {
// @ts-ignore
debug('serve custom logo web:%s - local:%s', logo, absoluteLocalFile);
res.sendFile(absoluteLocalFile, sendFileCallback(next));
});
debug('enabled custom logo %s', logo);
} else {
logo = undefined;
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
}
} catch {
logo = undefined;
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
}
} catch {
config.web.logo = undefined;
debug(`web logo is wrong, path ${absoluteLocalFile} does not exist or is not readable`);
}
return logo;
}
const logo = renderLogo(config?.web?.logo);
if (config?.web?.logo) {
config.web.logo = logo;
}
const logoDark = renderLogo(config?.web?.logoDark);
if (config?.web?.logoDark) {
config.web.logoDark = logoDark;
}
router.get('/-/web/:section/*', function (req, res) {

View File

@@ -16,8 +16,16 @@ export function getManifestValue(
): string[] {
return manifestItems?.map((item) => {
debug('resolve item %o', item);
const resolvedItem = `${basePath}${manifest[item]}`;
const resolvedItem = `${stripTrailingSlash(basePath)}/${stripLeadingSlash(manifest[item])}`;
debug('resolved item %o', resolvedItem);
return resolvedItem;
});
}
function stripTrailingSlash(path: string): string {
return path.replace(/\/$/, '');
}
function stripLeadingSlash(path: string): string {
return path.replace(/^\//, '');
}

View File

@@ -26,16 +26,20 @@ const defaultManifestFiles: Manifest = {
css: [],
};
export function resolveLogo(config: ConfigYaml, requestOptions: RequestOptions) {
if (typeof config?.web?.logo !== 'string') {
export function resolveLogo(
logo: string | undefined,
url_prefix: string | undefined,
requestOptions: RequestOptions
) {
if (typeof logo !== 'string') {
return '';
}
const isLocalFile = config?.web?.logo && !isURLhasValidProtocol(config?.web?.logo);
const isLocalFile = logo && !isURLhasValidProtocol(logo);
if (isLocalFile) {
return `${getPublicUrl(config?.url_prefix, requestOptions)}-/static/${path.basename(config?.web?.logo)}`;
} else if (isURLhasValidProtocol(config?.web?.logo)) {
return config?.web?.logo;
return `${getPublicUrl(url_prefix, requestOptions)}-/static/${path.basename(logo)}`;
} else if (isURLhasValidProtocol(logo)) {
return logo;
} else {
return '';
}
@@ -61,7 +65,9 @@ export default function renderHTML(
const title = config?.web?.title ?? WEB_TITLE;
const login = hasLogin(config);
const scope = config?.web?.scope ?? '';
const logo = resolveLogo(config, requestOptions);
const favicon = resolveLogo(config?.web?.favicon, config?.url_prefix, requestOptions);
const logo = resolveLogo(config?.web?.logo, config?.url_prefix, requestOptions);
const logoDark = resolveLogo(config?.web?.logoDark, config?.url_prefix, requestOptions);
const pkgManagers = config?.web?.pkgManagers ?? ['yarn', 'pnpm', 'npm'];
const version = res.locals.app_version ?? '';
const flags = {
@@ -81,6 +87,8 @@ export default function renderHTML(
showFooter,
showSearch,
showDownloadTarball,
showRaw,
showUplinks,
} = Object.assign(
{},
{
@@ -97,6 +105,8 @@ export default function renderHTML(
showFooter,
showSearch,
showDownloadTarball,
showRaw,
showUplinks,
darkMode,
url_prefix,
basename,
@@ -104,6 +114,8 @@ export default function renderHTML(
primaryColor,
version,
logo,
logoDark,
favicon,
flags,
login,
pkgManagers,

View File

@@ -25,24 +25,24 @@ export default function renderTemplate(template: Template, manifest: WebpackMani
return `
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="${template?.options.base}">
<title>${template?.options?.title ?? ''}</title>
<title>${template?.options?.title ?? ''}</title>
<link rel="icon" href="${template?.options.base}-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS=${JSON.stringify(template.options)}
</script>
${template?.metaScripts ? template.metaScripts.join('') : ''}
</head>
</head>
<body class="body">
${template?.scriptsbodyBefore ? template.scriptsbodyBefore.join('') : ''}
${template?.scriptsbodyBefore ? template.scriptsbodyBefore.join('') : ''}
<div id="root"></div>
${getManifestValue(template.manifest.js, manifest, template?.options.base)
.map((item) => `<script defer="defer" src="${item}"></script>`)
.join('')}
.join(`\n `)}
${template?.scriptsBodyAfter ? template.scriptsBodyAfter.join('') : ''}
</body>
</html>

View File

@@ -3,22 +3,23 @@
exports[`template custom body after 1`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title></title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="http://domain.com/">
<title></title>
<link rel="icon" href="http://domain.com/-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com"}
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com/"}
</script>
</head>
</head>
<body class="body">
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script src="foo"/>
</body>
</html>
@@ -28,22 +29,23 @@ exports[`template custom body after 1`] = `
exports[`template custom body before 1`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title></title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="http://domain.com/">
<title></title>
<link rel="icon" href="http://domain.com/-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com"}
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com/"}
</script>
</head>
</head>
<body class="body">
<script src="fooBefore"/><script src="barBefore"/>
<script src="fooBefore"/><script src="barBefore"/>
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
</body>
</html>
@@ -53,22 +55,23 @@ exports[`template custom body before 1`] = `
exports[`template custom render 1`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title></title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="http://domain.com/">
<title></title>
<link rel="icon" href="http://domain.com/-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com"}
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com/"}
</script>
</head>
</head>
<body class="body">
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
</body>
</html>
@@ -78,47 +81,23 @@ exports[`template custom render 1`] = `
exports[`template custom title 1`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title>foo title</title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="http://domain.com/">
<title>foo title</title>
<link rel="icon" href="http://domain.com/-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com","title":"foo title"}
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com/","title":"foo title"}
</script>
</head>
</head>
<body class="body">
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
</body>
</html>
"
`;
exports[`template custom title 2`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title>foo title</title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com","title":"foo title"}
</script>
</head>
<body class="body">
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
</body>
</html>
@@ -128,22 +107,23 @@ exports[`template custom title 2`] = `
exports[`template meta scripts 1`] = `
"
<!DOCTYPE html>
<html lang="en-us">
<html lang="en-us">
<head>
<meta charset="utf-8">
<base href="http://domain.com">
<title></title>
<link rel="icon" href="http://domain.com-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<base href="http://domain.com/">
<title></title>
<link rel="icon" href="http://domain.com/-/static/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script>
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com"}
window.__VERDACCIO_BASENAME_UI_OPTIONS={"base":"http://domain.com/"}
</script>
<style>.someclass{font-size:10px;}</style>
</head>
</head>
<body class="body">
<div id="root"></div>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script><script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/runtime.6126058572f989c948b1.js"></script>
<script defer="defer" src="http://domain.com/-/static/main.6126058572f989c948b1.js"></script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -14,6 +14,8 @@ web:
showRaw: true
primary_color: '#ffffff'
logo: './test/config/dark-logo.png'
logoDark: './test/config/dark-logo.png'
favicon: './test/config/favicon.ico'
html_cache: false
url_prefix: /prefix

View File

@@ -0,0 +1,26 @@
web:
title: verdaccio web
login: true
scope: '@scope'
pkgManagers:
- pnpm
- yarn
showInfo: true
showSettings: true
showSearch: true
showFooter: true
showThemeSwitch: true
showDownloadTarball: true
showRaw: true
primary_color: '#ffffff'
logo: https://raw.githubusercontent.com/verdaccio/verdaccio/master/assets/svg/logo-small.svg
logoDark: https://raw.githubusercontent.com/verdaccio/verdaccio/master/assets/svg/logo-blackwhite.svg
favicon: https://raw.githubusercontent.com/verdaccio/verdaccio/master/website/static/img/favicon/favicon.ico
html_cache: false
url_prefix: /prefix
log: { type: stdout, format: pretty, level: trace }
flags:
changePassword: true

View File

@@ -14,6 +14,7 @@ web:
showRaw: true
primary_color: '#ffffff'
logo:
favicon:
html_cache: false
url_prefix: /prefix

View File

@@ -8,4 +8,16 @@ describe('manifest', () => {
'/-/static/main.6126058572f989c948b1.js',
]);
});
test('getManifestValue with base', () => {
expect(getManifestValue(['favicon.ico'], manifest, 'http://domain.com')).toEqual([
'http://domain.com/-/static/favicon.ico',
]);
});
test('getManifestValue with base with trailing slash', () => {
expect(getManifestValue(['favicon.ico'], manifest, 'http://domain.com/')).toEqual([
'http://domain.com/-/static/favicon.ico',
]);
});
});

View File

@@ -79,6 +79,28 @@ describe('test web server', () => {
return loadLogo('file-logo.yaml', '/-/static/dark-logo.png');
});
test('should render dark logo as file', async () => {
const {
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
} = await render('file-logo.yaml');
expect(__VERDACCIO_BASENAME_UI_OPTIONS.logoDark).toMatch('/prefix/-/static/dark-logo.png');
});
test('should render favicon as file', async () => {
const {
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
} = await render('file-logo.yaml');
expect(__VERDACCIO_BASENAME_UI_OPTIONS.favicon).toMatch('/prefix/-/static/favicon.ico');
});
test('should render logo and favicon as URL', async () => {
const {
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
} = await render('http-logo.yaml');
expect(__VERDACCIO_BASENAME_UI_OPTIONS.logo).toMatch(/https:.*logo-small.svg/i);
expect(__VERDACCIO_BASENAME_UI_OPTIONS.favicon).toMatch(/https:.*favicon.ico/i);
});
test('should not render logo as absolute file is wrong', async () => {
const {
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
@@ -91,6 +113,7 @@ describe('test web server', () => {
window: { __VERDACCIO_BASENAME_UI_OPTIONS },
} = await render('no-logo.yaml');
expect(__VERDACCIO_BASENAME_UI_OPTIONS.logo).toEqual('');
expect(__VERDACCIO_BASENAME_UI_OPTIONS.favicon).toEqual('');
});
test.todo('should default title');

View File

@@ -2,32 +2,27 @@ import template from '../src/middlewares/web/utils/template';
const manifest = require('./partials/manifest/manifest.json');
// manifest expected to have leading slash
// see packages\middleware\test\partials\manifest\manifest.json
const exampleManifest = {
css: ['main.css'],
js: ['runtime.js', 'main.js'],
ico: '/static/foo.ico',
ico: 'favicon.ico',
};
// "base" is expected to be result of getPublicUrl
// i.e. it must be valid URL with trailing slash
describe('template', () => {
test('custom render', () => {
expect(
template({ options: { base: 'http://domain.com' }, manifest: exampleManifest }, manifest)
template({ options: { base: 'http://domain.com/' }, manifest: exampleManifest }, manifest)
).toMatchSnapshot();
});
test('custom title', () => {
expect(
template(
{ options: { base: 'http://domain.com', title: 'foo title' }, manifest: exampleManifest },
manifest
)
).toMatchSnapshot();
});
test('custom title', () => {
expect(
template(
{ options: { base: 'http://domain.com', title: 'foo title' }, manifest: exampleManifest },
{ options: { base: 'http://domain.com/', title: 'foo title' }, manifest: exampleManifest },
manifest
)
).toMatchSnapshot();
@@ -37,7 +32,7 @@ describe('template', () => {
expect(
template(
{
options: { base: 'http://domain.com' },
options: { base: 'http://domain.com/' },
metaScripts: [`<style>.someclass{font-size:10px;}</style>`],
manifest: exampleManifest,
},
@@ -50,7 +45,7 @@ describe('template', () => {
expect(
template(
{
options: { base: 'http://domain.com' },
options: { base: 'http://domain.com/' },
scriptsBodyAfter: [`<script src="foo"/>`],
manifest: exampleManifest,
},
@@ -63,7 +58,7 @@ describe('template', () => {
expect(
template(
{
options: { base: 'http://domain.com' },
options: { base: 'http://domain.com/' },
scriptsbodyBefore: [`<script src="fooBefore"/>`, `<script src="barBefore"/>`],
manifest: exampleManifest,
},

View File

@@ -1,5 +1,37 @@
# @verdaccio/node-api
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/server@7.0.0-next-7.20
- @verdaccio/server-fastify@7.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/server@7.0.0-next-7.19
- @verdaccio/server-fastify@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- @verdaccio/server-fastify@7.0.0-next-7.18
- @verdaccio/server@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/node-api",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "node API",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -38,20 +38,20 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/server": "workspace:7.0.0-next-7.17",
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/server": "workspace:7.0.0-next-7.20",
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.20",
"core-js": "3.35.0",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"jest": "29.7.0",
"selfsigned": "2.4.1",
"supertest": "6.3.4"
"supertest": "7.0.0"
},
"publishConfig": {
"access": "public"

View File

@@ -1,5 +1,32 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
## 12.0.0-next-7.19
### Minor Changes
- 136e992: feat: verdaccio-audit support timeout option
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -26,6 +26,7 @@ middlewares:
audit:
enabled: true
strict_ssl: true # optional, defaults to true
timeout: 1000
```
### Strict SSL

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-audit",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"keywords": [
"private",
@@ -30,18 +30,18 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"express": "4.19.2",
"https-proxy-agent": "5.0.1",
"node-fetch": "cjs"
},
"devDependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/auth": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"nock": "13.5.1",
"supertest": "6.3.4"
"supertest": "7.0.0"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -19,11 +19,13 @@ export default class ProxyAudit
public enabled: boolean;
public logger: Logger;
public strict_ssl: boolean;
public timeout: number;
public constructor(config: ConfigAudit, options: pluginUtils.PluginOptions) {
super(config, options);
this.enabled = config.enabled || false;
this.strict_ssl = config.strict_ssl !== undefined ? config.strict_ssl : true;
this.timeout = config.timeout ?? 1000 * 60 * 1;
this.logger = options.logger;
}
@@ -57,7 +59,17 @@ export default class ProxyAudit
const auditEndpoint = `${REGISTRY_DOMAIN}${req.baseUrl}${req.route.path}`;
this.logger.debug('fetching audit from ' + auditEndpoint);
const response = await fetch(auditEndpoint, requestOptions);
const controller = new AbortController();
setTimeout(
() => controller.abort(`Fetch ${auditEndpoint} timeout ${this.timeout}ms`),
this.timeout
);
const response = await fetch(auditEndpoint, {
...requestOptions,
signal: controller.signal,
});
if (response.ok) {
res.status(response.status).send(await response.json());

View File

@@ -2,4 +2,5 @@ export interface ConfigAudit {
enabled: boolean;
max_body?: string;
strict_ssl?: boolean;
timeout?: number;
}

View File

@@ -1,5 +1,23 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-auth-memory",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "Auth plugin for Verdaccio that keeps users in memory",
"keywords": [
"private",
@@ -30,13 +30,13 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"debug": "4.3.4"
},
"devDependencies": {
"@types/debug": "^4.1.12",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/types": "workspace:12.0.0-next-7.4"
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/types": "workspace:12.0.0-next-7.5"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,24 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/file-locking@12.0.0-next.1
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-htpasswd",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "htpasswd auth plugin for Verdaccio",
"keywords": [
"private",
@@ -33,7 +33,7 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/file-locking": "workspace:12.0.0-next.1",
"apache-md5": "1.1.8",
"bcryptjs": "2.4.3",
@@ -44,9 +44,9 @@
},
"devDependencies": {
"@types/bcryptjs": "2.4.6",
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"mockdate": "3.0.5"
},
"scripts": {

View File

@@ -1,5 +1,27 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/file-locking@12.0.0-next.1
- @verdaccio/utils@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/local-storage",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "Local storage implementation",
"keywords": [
"private",
@@ -36,9 +36,9 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"@verdaccio/file-locking": "workspace:12.0.0-next.1",
"@verdaccio/utils": "workspace:7.0.0-next-7.17",
"@verdaccio/utils": "workspace:7.0.0-next-7.20",
"core-js": "3.35.0",
"debug": "4.3.4",
"globby": "11.1.0",
@@ -50,10 +50,10 @@
},
"devDependencies": {
"@types/minimatch": "5.1.2",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"minimatch": "9.0.4"
},
"scripts": {

View File

@@ -1,5 +1,23 @@
# Change Log
## 12.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
## 12.0.0-next-7.19
### Patch Changes
- @verdaccio/core@7.0.0-next-7.19
## 12.0.0-next-7.18
### Patch Changes
- @verdaccio/core@7.0.0-next-7.18
## 12.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-memory",
"version": "12.0.0-next-7.17",
"version": "12.0.0-next-7.20",
"description": "Storage implementation in memory",
"keywords": [
"private",
@@ -30,15 +30,15 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.17",
"@verdaccio/core": "workspace:7.0.0-next-7.20",
"memory-fs": "0.5.0",
"debug": "4.3.4",
"memfs": "3.5.3"
},
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next-7.4",
"@verdaccio/config": "workspace:7.0.0-next-7.17",
"@verdaccio/logger": "workspace:7.0.0-next-7.17"
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"@verdaccio/config": "workspace:7.0.0-next-7.20",
"@verdaccio/logger": "workspace:7.0.0-next-7.20"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,19 @@
# @verdaccio/ui-theme
## 7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- 5a77414: chore: fix type for country flags
## 7.0.0-next-7.18
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
## 7.0.0-next-7.17
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-theme",
"version": "7.0.0-next-7.17",
"version": "7.0.0-next-7.20",
"description": "Verdaccio User Interface",
"author": {
"name": "Verdaccio Contributors",
@@ -18,27 +18,27 @@
"@emotion/jest": "11.11.0",
"@emotion/react": "11.10.6",
"@emotion/styled": "11.10.6",
"@mui/icons-material": "5.15.6",
"@mui/material": "5.15.6",
"@mui/styles": "5.15.6",
"@mui/icons-material": "5.16.5",
"@mui/material": "5.16.5",
"@mui/styles": "5.16.5",
"@rematch/core": "2.2.0",
"@rematch/loading": "2.1.2",
"@rematch/persist": "2.1.2",
"@testing-library/dom": "9.3.4",
"@testing-library/jest-dom": "6.3.0",
"@testing-library/react": "14.1.2",
"@verdaccio/node-api": "workspace:7.0.0-next-7.17",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.4.8",
"@testing-library/react": "16.0.0",
"@verdaccio/node-api": "workspace:7.0.0-next-7.20",
"@verdaccio/types": "workspace:*",
"@verdaccio/ui-components": "workspace:3.0.0-next-7.7",
"@verdaccio/ui-components": "workspace:3.0.0-next-7.9",
"babel-loader": "8.3.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"country-flag-icons": "1.5.9",
"country-flag-icons": "1.5.13",
"css-loader": "6.9.1",
"dayjs": "1.11.10",
"dompurify": "3.0.8",
"dompurify": "3.1.6",
"friendly-errors-webpack-plugin": "1.7.0",
"harmony-reflect": "1.6.2",
"highlight.js": "11.9.0",
"highlight.js": "11.10.0",
"history": "4.10.1",
"html-webpack-plugin": "5.6.0",
"i18next": "20.6.1",
@@ -79,9 +79,9 @@
"supertest": "6.3.4",
"terser-webpack-plugin": "5.3.10",
"url-loader": "4.1.1",
"validator": "13.11.0",
"webpack": "5.90.0",
"webpack-bundle-analyzer": "4.10.1",
"validator": "13.12.0",
"webpack": "5.93.0",
"webpack-bundle-analyzer": "4.10.2",
"webpack-bundle-size-analyzer": "3.1.0",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "3.11.3",

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { renderWithStore, screen } from 'verdaccio-ui/utils/test-react-testing-library';
import { act, renderWithStore, screen } from 'verdaccio-ui/utils/test-react-testing-library';
import { store } from '@verdaccio/ui-components';
@@ -13,17 +13,21 @@ jest.spyOn(HTMLElement.prototype, 'offsetWidth', 'get').mockReturnValue(600);
/* eslint-disable react/jsx-no-bind*/
describe('<App />', () => {
describe('footer', () => {
test('should display the Header component', () => {
renderWithStore(<App />, store);
test('should display the Header component', async () => {
await act(() => {
renderWithStore(<App />, store);
});
expect(screen.getByTestId('footer')).toBeInTheDocument();
});
test('should not display the Header component', () => {
test('should not display the Header component', async () => {
// @ts-ignore
window.__VERDACCIO_BASENAME_UI_OPTIONS = {
showFooter: false,
};
renderWithStore(<App />, store);
await act(() => {
renderWithStore(<App />, store);
});
expect(screen.queryByTestId('footer')).toBeFalsy();
});
});

View File

@@ -19,6 +19,10 @@
"username": "priscilawebdev",
"id": 29228205
},
{
"username": "mbtools",
"id": 59966492
},
{
"username": "griffithtp",
"id": 20119184
@@ -35,10 +39,6 @@
"username": "dianmorales",
"id": 558740
},
{
"username": "mbtools",
"id": 59966492
},
{
"username": "anikethsaha",
"id": 26347874
@@ -363,6 +363,10 @@
"username": "plitex",
"id": 2946823
},
{
"username": "somethingSTRANGE",
"id": 6905832
},
{
"username": "varijkapil13",
"id": 8291077
@@ -891,10 +895,6 @@
"username": "recallwei",
"id": 62941121
},
{
"username": "ChadKillingsworth",
"id": 1247639
},
{
"username": "ngash",
"id": 6511656
@@ -1087,6 +1087,10 @@
"username": "LekoArts",
"id": 16143594
},
{
"username": "caoxiemeihao",
"id": 26263658
},
{
"username": "mavimo",
"id": 43941
@@ -1111,10 +1115,6 @@
"username": "0815fox",
"id": 8955528
},
{
"username": "somethingSTRANGE",
"id": 6905832
},
{
"username": "morlay",
"id": 1667873

View File

@@ -6,7 +6,8 @@
"visit-home-page": "Visit homepage",
"open-an-issue": "Open an issue",
"download-tarball": "Download tarball",
"raw": "Raw Manifest"
"raw": "View manifest",
"raw-title": "Manifest of {{package}}"
},
"dialog": {
"registry-info": {
@@ -59,7 +60,7 @@
"hide-deprecated": "All deprecated versions are hidden by global configuration"
},
"package": {
"published-on": "Published on {{time}}",
"published-on": "Published {{time}}",
"version": "v{{version}}",
"visit-home-page": "Visit homepage",
"homepage": "Homepage",
@@ -84,7 +85,7 @@
},
"form-validation": {
"required-field": "This field is required",
"required-min-length": "This field required the min length of {{length}}",
"required-min-length": "This field required with a minimum length of {{length}}",
"unable-to-sign-in": "Unable to sign in",
"username-or-password-cant-be-empty": "Username or password can't be empty!"
},
@@ -105,6 +106,7 @@
},
"installation": {
"title": "Installation",
"latest": "latest version",
"global": "global package",
"yarnModern": "yarn modern syntax"
},
@@ -115,10 +117,13 @@
"title": "Author"
},
"distribution": {
"title": "Latest Distribution",
"title": "Distribution",
"license": "License",
"size": "Size",
"file-count": "file count"
"file-count": "File Count"
},
"keywords": {
"title": "Keywords"
},
"maintainers": {
"title": "Maintainers"
@@ -176,7 +181,9 @@
},
"flag": {
"austria": "Austria",
"australia": "Australia",
"brazil": "Brazil",
"canada": "Canada",
"spain": "Spain",
"nicaragua": "Nicaragua",
"india": "India",

View File

@@ -1,12 +1,11 @@
import Flags from 'country-flag-icons/react/3x2';
import React from 'react';
export const DEFAULT_LANGUAGE = 'en-US';
export type LanguageConfiguration = {
lng: string;
menuKey: string;
icon: React.ReactElement;
icon: Flags.FlagComponent;
};
export const listLanguages: LanguageConfiguration[] = [

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