Compare commits

..

11 Commits

Author SHA1 Message Date
Juan Picado
2c9fe963ff chore: update versions (next-7) (#4525)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-03 19:22:16 +01:00
renovate[bot]
31844e2e77 fix(deps): update dependency semver to v7.6.0 (#4524)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-03 19:13:10 +01:00
dependabot[bot]
605cff9099 chore(deps): bump github/codeql-action from 3.24.0 to 3.24.5 (#4520)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.0 to 3.24.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e8893c57a1...47b3d888fe)

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

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

* Delete App.stories.tsx

* Update package.json

* Delete package.svg

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

* Update website.yml

* Update website.yml

* test2

* Update package.json

* Update package.json

* Update package.json

* clean up

* Update website.yml

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

View File

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

View File

@@ -66,6 +66,7 @@
"old-turkeys-heal",
"olive-bananas-wink",
"perfect-chairs-act",
"pink-apples-nail",
"real-socks-vanish",
"shiny-worms-retire",
"shy-carrots-compare",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
[![BannerUK](https://cdn.verdaccio.dev/readme/banner-uk.svg)](https://donate.redcrossredcrescent.org/ua/donate/~my-donation?_cv=1)
[![BannerHelp](https://cdn.verdaccio.dev/readme/banner-uk.svg)](https://u24.gov.ua)
> Verdaccio stands for **peace**, stop the war, we will be yellow / blue 🇺🇦 until that happens.

View File

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

View File

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

View File

@@ -1,23 +1,3 @@
[build]
command = "pnpm build"
publish = "build/"
[build.environment]
NPM_FLAGS="--prefix=/dev/null"
NODE_VERSION = "14"
[context.production]
command = "pnpm netlify:build:production"
[context.deploy-preview]
command = "pnpm netlify:build:deployPreview"
[context.branch-deploy]
command = "pnpm netlify:build:deployPreview"
[[plugins]]
package = "../.netlify/netlify-plugin-pnpm"
[[headers]]
for = "/*"
[headers.values]

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"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.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/middleware": "workspace:7.0.0-next-7.11",
"@verdaccio/store": "workspace:7.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"abortcontroller-polyfill": "1.7.5",
"body-parser": "1.20.2",
"cookies": "0.9.0",
@@ -52,7 +52,7 @@
"express": "4.18.2",
"lodash": "4.17.21",
"mime": "2.6.0",
"semver": "7.5.4"
"semver": "7.6.0"
},
"devDependencies": {
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"author": {
"name": "Juan Picado",
"email": "juanpicado19@gmail.com"
@@ -43,14 +43,14 @@
"start": "ts-node src/index.ts"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/node-api": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/node-api": "workspace:7.0.0-next-7.11",
"clipanion": "3.2.1",
"envinfo": "7.11.0",
"kleur": "4.1.5",
"semver": "7.5.4"
"semver": "7.6.0"
},
"devDependencies": {
"ts-node": "10.9.2"

View File

@@ -1,5 +1,16 @@
# @verdaccio/config
## 7.0.0-next-7.11
### Minor Changes
- c9962fe: feat: forbidden user interface
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

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

View File

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

View File

@@ -1,5 +1,7 @@
# @verdaccio/core
## 7.0.0-next-7.11
## 7.0.0-next-7.10
## 7.0.0-next-7.9

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,16 +29,16 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"core-js": "3.35.0",
"debug": "4.3.4",
"got-cjs": "12.5.4",
"handlebars": "4.7.8"
},
"devDependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:12.0.0-next.2",
"nock": "13.5.1"
},

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,11 @@
# @verdaccio/logger-commons
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

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

View File

@@ -1,5 +1,11 @@
# @verdaccio/logger
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/logger-commons@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

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

View File

@@ -1,5 +1,15 @@
# @verdaccio/middleware
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/url@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/middleware",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "express middleware utils",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,10 +38,10 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/url": "workspace:12.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/url": "workspace:12.0.0-next-7.11",
"debug": "4.3.4",
"lru-cache": "7.18.3",
"express": "4.18.2",
@@ -54,7 +54,7 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"body-parser": "1.20.2",
"supertest": "6.3.4"
}

View File

@@ -1,5 +1,16 @@
# @verdaccio/node-api
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/server@7.0.0-next-7.11
- @verdaccio/server-fastify@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/node-api",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "node API",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -38,11 +38,11 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/server": "workspace:7.0.0-next-7.10",
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/server": "workspace:7.0.0-next-7.11",
"@verdaccio/server-fastify": "workspace:7.0.0-next-7.11",
"core-js": "3.35.0",
"debug": "4.3.4",
"lodash": "4.17.21"

View File

@@ -1,5 +1,13 @@
# Change Log
## 12.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
## 12.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-audit",
"version": "12.0.0-next-7.10",
"version": "12.0.0-next-7.11",
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"keywords": [
"private",
@@ -30,15 +30,15 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"express": "4.18.2",
"https-proxy-agent": "5.0.1",
"node-fetch": "cjs"
},
"devDependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:12.0.0-next.2",
"nock": "13.5.1",
"supertest": "6.3.4"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,5 +1,11 @@
# @verdaccio/ui-theme
## 7.0.0-next-7.11
### Minor Changes
- c9962fe: feat: forbidden user interface
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-theme",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "Verdaccio User Interface",
"author": {
"name": "Verdaccio Contributors",
@@ -27,9 +27,9 @@
"@testing-library/dom": "9.3.4",
"@testing-library/jest-dom": "6.3.0",
"@testing-library/react": "14.1.2",
"@verdaccio/node-api": "workspace:7.0.0-next-7.10",
"@verdaccio/node-api": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:*",
"@verdaccio/ui-components": "workspace:3.0.0-next-7.4",
"@verdaccio/ui-components": "workspace:3.0.0-next-7.5",
"babel-loader": "8.3.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"country-flag-icons": "1.5.9",

View File

@@ -147,9 +147,11 @@
"error": {
"unspecific": "Something went wrong.",
"404": {
"page-not-found": "404 - Page not found",
"sorry-we-could-not-find-it": "Sorry, we couldn't find it..."
},
"401": {
"sorry-no-access": "Sorry, you need credentials access to see this page."
},
"app-context-not-correct-used": "The app context was not used correctly",
"theme-context-not-correct-used": "The theme context was not used correctly",
"package-meta-is-required-at-detail-context": "packageMeta is required at DetailContext"

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { useSelector } from 'react-redux';
import { Loading, NotFound, RootState, VersionLayout } from '@verdaccio/ui-components';
import { Forbidden, Loading, NotFound, RootState, VersionLayout } from '@verdaccio/ui-components';
const Version: React.FC = () => {
const manifestStore = useSelector((state: RootState) => state.manifest);
@@ -11,10 +11,13 @@ const Version: React.FC = () => {
return <Loading />;
}
if (manifestStore.forbidden) {
return <Forbidden />;
}
if (manifestStore.hasNotBeenFound) {
return <NotFound />;
}
return <VersionLayout />;
};

View File

@@ -1,5 +1,14 @@
# @verdaccio/proxy
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/proxy",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "verdaccio proxy fetcher",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,9 +38,9 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"JSONStream": "1.3.5",
"debug": "4.3.4",
"got-cjs": "12.5.4",
@@ -48,13 +48,13 @@
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:12.0.0-next.2",
"get-stream": "^6.0.1",
"nock": "13.5.1",
"node-mocks-http": "1.14.1",
"p-cancelable": "2.1.1",
"semver": "7.5.4"
"semver": "7.6.0"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,22 @@
# @verdaccio/server
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/api@7.0.0-next-7.11
- @verdaccio/auth@7.0.0-next-7.11
- @verdaccio/loaders@7.0.0-next-7.11
- @verdaccio/middleware@7.0.0-next-7.11
- verdaccio-audit@12.0.0-next-7.11
- @verdaccio/store@7.0.0-next-7.11
- @verdaccio/web@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/server",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "server logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,17 +29,17 @@
"node": ">=18"
},
"dependencies": {
"@verdaccio/api": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/loaders": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/web": "workspace:7.0.0-next-7.10",
"verdaccio-audit": "workspace:12.0.0-next-7.10",
"@verdaccio/api": "workspace:7.0.0-next-7.11",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/loaders": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/middleware": "workspace:7.0.0-next-7.11",
"@verdaccio/store": "workspace:7.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"@verdaccio/web": "workspace:7.0.0-next-7.11",
"verdaccio-audit": "workspace:12.0.0-next-7.11",
"compression": "1.7.4",
"cors": "2.8.5",
"debug": "4.3.4",
@@ -47,7 +47,7 @@
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/proxy": "workspace:7.0.0-next-7.10",
"@verdaccio/proxy": "workspace:7.0.0-next-7.11",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"http-errors": "2.0.0"
},

View File

@@ -1,5 +1,18 @@
# @verdaccio/server-fastify
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/auth@7.0.0-next-7.11
- @verdaccio/store@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/tarball@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/server-fastify",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "fastify server api implementation",
"keywords": [
"private",
@@ -33,13 +33,13 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/tarball": "workspace:12.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/store": "workspace:7.0.0-next-7.11",
"@verdaccio/tarball": "workspace:12.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"core-js": "3.35.0",
"debug": "4.3.4",
"fastify": "4.25.2",

View File

@@ -42,7 +42,7 @@
"debug": "4.3.4"
},
"devDependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:12.0.0-next.2"
},
"funding": {

View File

@@ -32,8 +32,8 @@
"homepage": "https://verdaccio.org",
"license": "MIT",
"devDependencies": {
"@verdaccio/cli": "workspace:7.0.0-next-7.10",
"@verdaccio/ui-theme": "workspace:7.0.0-next-7.10",
"@verdaccio/cli": "workspace:7.0.0-next-7.11",
"@verdaccio/ui-theme": "workspace:7.0.0-next-7.11",
"fs-extra": "11.2.0",
"webpack": "5.90.0",
"webpack-bundle-analyzer": "4.10.1",

View File

@@ -1,5 +1,21 @@
# @verdaccio/store
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/hooks@7.0.0-next-7.11
- @verdaccio/loaders@7.0.0-next-7.11
- @verdaccio/local-storage@12.0.0-next-7.11
- @verdaccio/proxy@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/tarball@12.0.0-next-7.11
- @verdaccio/url@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/store",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,21 +38,21 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/hooks": "workspace:7.0.0-next-7.10",
"@verdaccio/loaders": "workspace:7.0.0-next-7.10",
"@verdaccio/local-storage": "workspace:12.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/proxy": "workspace:7.0.0-next-7.10",
"@verdaccio/tarball": "workspace:12.0.0-next-7.10",
"@verdaccio/url": "workspace:12.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/hooks": "workspace:7.0.0-next-7.11",
"@verdaccio/loaders": "workspace:7.0.0-next-7.11",
"@verdaccio/local-storage": "workspace:12.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/proxy": "workspace:7.0.0-next-7.11",
"@verdaccio/tarball": "workspace:12.0.0-next-7.11",
"@verdaccio/url": "workspace:12.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"JSONStream": "1.3.5",
"debug": "4.3.4",
"lodash": "4.17.21",
"merge2": "1.4.1",
"semver": "7.5.4"
"semver": "7.6.0"
},
"devDependencies": {
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",

View File

@@ -3,11 +3,11 @@
{
"id": 558752,
"login": "juanpicado",
"contributions": 5225,
"contributions": 5229,
"repositories": [
{
"name": "verdaccio",
"contributions": 2882
"contributions": 2885
},
{
"name": "verdaccio-cookbook",
@@ -127,7 +127,7 @@
},
{
"name": "cdn-assets",
"contributions": 34
"contributions": 35
},
{
"name": "e2e-tests",
@@ -4956,7 +4956,7 @@
"full_name": "verdaccio/verdaccio",
"html_url": "https://github.com/verdaccio/verdaccio",
"description": "📦🔐 A lightweight Node.js private proxy registry",
"stargazers_count": 15698,
"stargazers_count": 15728,
"archived": false
},
{
@@ -5109,7 +5109,7 @@
"full_name": "verdaccio/website",
"html_url": "https://github.com/verdaccio/website",
"description": "📺Verdaccio documentation website",
"stargazers_count": 36,
"stargazers_count": 37,
"archived": true
},
{

View File

@@ -9,13 +9,13 @@
"main": "build/index.js",
"types": "build/index.d.ts",
"devDependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/middleware": "workspace:7.0.0-next-7.11",
"@verdaccio/types": "workspace:12.0.0-next.2",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"body-parser": "1.20.2",
"debug": "4.3.4",
"express": "4.18.2",

View File

@@ -10,9 +10,9 @@
"types": "build/index.d.ts",
"devDependencies": {
"@verdaccio/types": "workspace:12.0.0-next.2",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"verdaccio": "7.0.0-next-7.10"
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"verdaccio": "7.0.0-next-7.11"
},
"scripts": {
"start": "ts-node src/index.ts",

View File

@@ -5,15 +5,15 @@
},
"de": {
"translationProgress": 16,
"approvalProgress": 15
"approvalProgress": 16
},
"es-ES": {
"translationProgress": 20,
"approvalProgress": 20
"translationProgress": 21,
"approvalProgress": 21
},
"fr": {
"translationProgress": 27,
"approvalProgress": 20
"approvalProgress": 27
},
"gl": {
"translationProgress": 1,
@@ -21,7 +21,7 @@
},
"it": {
"translationProgress": 99,
"approvalProgress": 85
"approvalProgress": 99
},
"ja": {
"translationProgress": 1,
@@ -33,15 +33,15 @@
},
"ko": {
"translationProgress": 8,
"approvalProgress": 1
"approvalProgress": 8
},
"pl": {
"translationProgress": 17,
"approvalProgress": 16
"approvalProgress": 17
},
"pt-BR": {
"translationProgress": 28,
"approvalProgress": 27
"translationProgress": 29,
"approvalProgress": 29
},
"ru": {
"translationProgress": 42,
@@ -53,11 +53,11 @@
},
"tr": {
"translationProgress": 4,
"approvalProgress": 2
"approvalProgress": 4
},
"uk": {
"translationProgress": 1,
"approvalProgress": 0
"approvalProgress": 1
},
"vi": {
"translationProgress": 6,
@@ -68,8 +68,8 @@
"approvalProgress": 14
},
"zh-CN": {
"translationProgress": 60,
"approvalProgress": 59
"translationProgress": 61,
"approvalProgress": 61
},
"zh-TW": {
"translationProgress": 15,

View File

@@ -1,5 +1,11 @@
# @verdaccio/ui-components
## 3.0.0-next-7.5
### Minor Changes
- c9962fe: feat: forbidden user interface
## 3.0.0-next-7.4
### Patch Changes

View File

@@ -37,7 +37,7 @@ module.exports = Object.assign({}, config, {
branches: 70,
functions: 76,
lines: 80,
statements: 82,
statements: 81,
},
},
});

View File

@@ -31,6 +31,15 @@ export const handlers = [
rest.get('http://localhost:9000/-/verdaccio/data/sidebar/jquery', (req, res, ctx) => {
return res(ctx.json(require('./api/jquery-sidebar.json')));
}),
rest.get('http://localhost:9000/-/verdaccio/data/sidebar/JSONStream', (req, res, ctx) => {
return res(ctx.status(401));
}),
rest.get('http://localhost:9000/-/verdaccio/data/sidebar/semver', (req, res, ctx) => {
return res(ctx.status(500));
}),
rest.get('http://localhost:9000/-/verdaccio/data/sidebar/kleur', (req, res, ctx) => {
return res(ctx.status(404));
}),
rest.get('http://localhost:9000/-/verdaccio/data/sidebar/glob', (req, res, ctx) => {
return res(ctx.json(require('./api/glob-sidebar.json')));
}),

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/ui-components",
"version": "3.0.0-next-7.4",
"version": "3.0.0-next-7.5",
"description": "theme ui component",
"author": "Juan Picado <juanpicado19@gmail.com>",
"license": "MIT",

View File

@@ -0,0 +1,32 @@
import React from 'react';
import { MemoryRouter } from 'react-router';
import AppRoute from './AppRoute';
export default {
title: 'App/Main',
};
export const ApplicationStoryBook: any = () => (
<MemoryRouter initialEntries={[`/-/web/detail/storybook`]}>
<AppRoute />
</MemoryRouter>
);
export const ApplicationjQuery: any = () => (
<MemoryRouter initialEntries={[`/-/web/detail/jquery`]}>
<AppRoute />
</MemoryRouter>
);
export const ApplicationForbidden: any = () => (
<MemoryRouter initialEntries={[`/-/web/detail/JSONStream`]}>
<AppRoute />
</MemoryRouter>
);
export const ApplicationNotFound: any = () => (
<MemoryRouter initialEntries={[`/-/web/detail/kleur`]}>
<AppRoute />
</MemoryRouter>
);

View File

@@ -0,0 +1,42 @@
import React from 'react';
import { Route as ReactRouterDomRoute, Switch } from 'react-router-dom';
import { NotFound, Route, VersionProvider, loadable } from '../index';
const VersionPage = loadable(() => import(/* webpackChunkName: "Version" */ './pages/Version'));
const Front = loadable(() => import(/* webpackChunkName: "Home" */ './pages/Front'));
const AppRoute: React.FC = () => {
return (
<Switch>
<ReactRouterDomRoute exact={true} path={Route.ROOT}>
<Front />
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.PACKAGE}>
<VersionProvider>
<VersionPage />
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.PACKAGE_VERSION}>
<VersionProvider>
<VersionPage />
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE_VERSION}>
<VersionProvider>
<VersionPage />
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute exact={true} path={Route.SCOPE_PACKAGE}>
<VersionProvider>
<VersionPage />
</VersionProvider>
</ReactRouterDomRoute>
<ReactRouterDomRoute>
<NotFound />
</ReactRouterDomRoute>
</Switch>
);
};
export default AppRoute;

View File

@@ -0,0 +1,3 @@
import { Home } from '../../../index';
export default Home;

View File

@@ -0,0 +1 @@
export { default } from './Home';

View File

@@ -0,0 +1,28 @@
import React from 'react';
import { useSelector } from 'react-redux';
import Forbidden from '../../../components/Forbidden';
import { Loading, NotFound, RootState, VersionLayout } from '../../../index';
const Version: React.FC = () => {
const manifestStore = useSelector((state: RootState) => state.manifest);
const isLoading = useSelector((state: RootState) => state?.loading?.models.manifest);
if (isLoading) {
return <Loading />;
}
// @ts-expect-error
if (manifestStore.forbidden) {
return <Forbidden />;
}
// @ts-expect-error
if (manifestStore.hasNotBeenFound) {
return <NotFound />;
}
return <VersionLayout />;
};
export default Version;

View File

@@ -0,0 +1 @@
export { default } from './Version';

View File

@@ -0,0 +1,38 @@
import React from 'react';
import { MemoryRouter } from 'react-router';
import { fireEvent, render, screen } from '../../test/test-react-testing-library';
import Forbidden from './Forbidden';
const mockHistory = jest.fn();
jest.mock('react-router-dom', () => ({
useHistory: () => ({
push: mockHistory,
}),
}));
describe('<Forbidden /> component', () => {
test('should load the component in default state', () => {
render(
<MemoryRouter>
<Forbidden />
</MemoryRouter>
);
expect(screen.getByTestId('LockIcon')).toBeInTheDocument();
expect(screen.getByText('error.401.sorry-no-access')).toBeInTheDocument();
expect(screen.getByText('button.go-to-the-home-page')).toBeInTheDocument();
});
test('go to Home Page button click', async () => {
const { getByTestId } = render(
<MemoryRouter>
<Forbidden />
</MemoryRouter>
);
const node = getByTestId('not-found-go-to-home-button');
fireEvent.click(node);
expect(mockHistory).toHaveBeenCalled();
});
});

View File

@@ -0,0 +1,56 @@
/* eslint-disable react/forbid-component-props */
/* eslint-disable verdaccio/jsx-no-style */
import styled from '@emotion/styled';
import LockIcon from '@mui/icons-material/Lock';
import Box from '@mui/material/Box';
import Button from '@mui/material/Button';
import React, { useCallback } from 'react';
import { useTranslation } from 'react-i18next';
import { useHistory } from 'react-router-dom';
import { Theme } from '../..';
import Heading from '../Heading';
const Foebidden: React.FC = () => {
const history = useHistory();
const { t } = useTranslation();
const handleGoHome = useCallback(() => {
history.push('/');
}, [history]);
return (
<Box
alignItems="center"
data-testid="404"
display="flex"
flexDirection="column"
flexGrow={1}
justifyContent="center"
p={2}
>
<Container>
<LockIcon color="primary" style={{ fontSize: 236 }} />
</Container>
<StyledHeading className="not-found-text" variant="h4">
{t('error.401.sorry-no-access')}
</StyledHeading>
<Button data-testid="not-found-go-to-home-button" onClick={handleGoHome} variant="contained">
{t('button.go-to-the-home-page')}
</Button>
</Box>
);
};
export default Foebidden;
const Container = styled('div')({
margin: '0 auto',
});
const StyledHeading = styled(Heading)<{ theme?: Theme }>(({ theme }) => ({
color: theme?.palette.mode === 'light' ? theme?.palette.primary.main : theme?.palette.white,
marginBottom: 16,
}));

View File

@@ -0,0 +1 @@
export { default } from './Forbidden';

View File

@@ -1,4 +1,6 @@
/* eslint-disable verdaccio/jsx-no-style */
import styled from '@emotion/styled';
import FolderOffIcon from '@mui/icons-material/FolderOff';
import Box from '@mui/material/Box';
import Button from '@mui/material/Button';
import React, { useCallback } from 'react';
@@ -7,8 +9,6 @@ import { useHistory } from 'react-router-dom';
import { Theme } from '../../';
import Heading from '../Heading';
// @ts-ignore
import PackageImg from './img/package.svg';
const NotFound: React.FC = () => {
const history = useHistory();
@@ -28,7 +28,9 @@ const NotFound: React.FC = () => {
justifyContent="center"
p={2}
>
<EmptyPackage alt={t('error.404.page-not-found')} src={PackageImg} />
<Container>
<FolderOffIcon color="primary" style={{ fontSize: 236 }} />
</Container>
<StyledHeading className="not-found-text" variant="h4">
{t('error.404.sorry-we-could-not-find-it')}
</StyledHeading>
@@ -41,8 +43,7 @@ const NotFound: React.FC = () => {
export default NotFound;
const EmptyPackage = styled('img')({
width: '150px',
const Container = styled('div')({
margin: '0 auto',
});

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { MemoryRouter } from 'react-router';
import { fireEvent, render } from '../../test/test-react-testing-library';
import { fireEvent, render, screen } from '../../test/test-react-testing-library';
import NotFound from './NotFound';
const mockHistory = jest.fn();
@@ -14,12 +14,15 @@ jest.mock('react-router-dom', () => ({
describe('<NotFound /> component', () => {
test('should load the component in default state', () => {
const { container } = render(
render(
<MemoryRouter>
<NotFound />
</MemoryRouter>
);
expect(container.firstChild).toMatchSnapshot();
expect(screen.getByTestId('FolderOffIcon')).toBeInTheDocument();
expect(screen.getByText('button.go-to-the-home-page')).toBeInTheDocument();
expect(screen.getByText('error.404.sorry-we-could-not-find-it')).toBeInTheDocument();
});
test('go to Home Page button click', async () => {

View File

@@ -1,171 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`<NotFound /> component should load the component in default state 1`] = `
.emotion-0 {
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-flex: 1;
-webkit-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
padding: 16px;
}
.emotion-1 {
width: 150px;
margin: 0 auto;
}
.emotion-4 {
margin: 0;
font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
font-weight: 400;
font-size: 2.125rem;
line-height: 1.235;
color: #4b5e40;
margin-bottom: 16px;
}
.emotion-5 {
display: -webkit-inline-box;
display: -webkit-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
position: relative;
box-sizing: border-box;
-webkit-tap-highlight-color: transparent;
background-color: transparent;
outline: 0;
border: 0;
margin: 0;
border-radius: 0;
padding: 0;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
vertical-align: middle;
-moz-appearance: none;
-webkit-appearance: none;
-webkit-text-decoration: none;
text-decoration: none;
color: inherit;
font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
font-weight: 500;
font-size: 0.875rem;
line-height: 1.75;
text-transform: uppercase;
min-width: 64px;
padding: 6px 16px;
border-radius: 4px;
-webkit-transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
color: #fff;
background-color: #4b5e40;
box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);
}
.emotion-5::-moz-focus-inner {
border-style: none;
}
.emotion-5.Mui-disabled {
pointer-events: none;
cursor: default;
}
@media print {
.emotion-5 {
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
}
.emotion-5:hover {
-webkit-text-decoration: none;
text-decoration: none;
background-color: rgb(52, 65, 44);
box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12);
}
@media (hover: none) {
.emotion-5:hover {
background-color: #4b5e40;
}
}
.emotion-5:active {
box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12);
}
.emotion-5.Mui-focusVisible {
box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12);
}
.emotion-5.Mui-disabled {
color: rgba(0, 0, 0, 0.26);
box-shadow: none;
background-color: rgba(0, 0, 0, 0.12);
}
.emotion-6 {
overflow: hidden;
pointer-events: none;
position: absolute;
z-index: 0;
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: inherit;
}
<div
class="MuiBox-root emotion-0"
data-testid="404"
>
<img
alt="error.404.page-not-found"
class="emotion-1 emotion-2"
src="[object Object]"
/>
<h4
class="MuiTypography-root MuiTypography-h4 not-found-text emotion-3 emotion-4"
>
error.404.sorry-we-could-not-find-it
</h4>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium emotion-5"
data-testid="not-found-go-to-home-button"
tabindex="0"
type="button"
>
button.go-to-the-home-page
<span
class="MuiTouchRipple-root emotion-6"
/>
</button>
</div>
`;

View File

@@ -22,6 +22,7 @@ export { default as Label } from './components/Label';
export { default as Logo } from './components/Logo';
export { default as MenuItem } from './components/MenuItem';
export { default as NotFound } from './components/NotFound';
export { default as Forbidden } from './components/Forbidden';
export { default as LoginDialog } from './components/LoginDialog';
export { default as Search } from './components/Search';
export { default as HeaderInfoDialog } from './components/HeaderInfoDialog';

View File

@@ -27,3 +27,13 @@ export const DetailJquery: any = () => (
</Route>
</MemoryRouter>
);
export const DetailForbidden: any = () => (
<MemoryRouter initialEntries={[`/-/web/detail/JSONStream`]}>
<Route exact={true} path="/-/web/detail/:package">
<VersionProvider>
<Detail />
</VersionProvider>
</Route>
</MemoryRouter>
);

View File

@@ -14,7 +14,8 @@ describe('api', () => {
const handled = await handleResponseType(response);
expect(handled).toEqual([ok, responseText]);
expect(handled[0]).toBeFalsy();
expect(handled[1]).toBeDefined();
});
test('should test tgz scenario', async () => {
@@ -123,7 +124,7 @@ describe('api', () => {
})
);
await expect(api.request('/resource')).rejects.toThrow(new Error('something went wrong'));
await expect(api.request('/resource')).rejects.toThrow(new Error('Unknown error'));
});
test('when api returns an error 5.x.x', async () => {

View File

@@ -1,5 +1,10 @@
import storage from './storage';
class CustomError extends Error {
// @ts-ignore
code: number;
}
/**
* Handles response according to content type
* @param {object} response
@@ -25,7 +30,8 @@ export function handleResponseType(response: Response): Promise<[boolean, any]>
}
}
return Promise.all([response.ok, response.text()]);
// error handling
return Promise.all([response.ok, response]);
}
const AuthHeader = 'Authorization';
@@ -55,12 +61,13 @@ class API {
})
.then(handleResponseType)
.then((response) => {
if (response[0]) {
resolve(response[1]);
const [ok, data] = response;
if (ok === true) {
resolve(data);
} else {
// eslint-disable-next-line no-console
console.error(response);
reject(new Error('something went wrong'));
const error = new CustomError(data?.statusText ?? 'Unknown error');
error.code = data?.status ?? 500;
reject(error);
}
})
.catch((error) => {

View File

@@ -33,6 +33,18 @@ export const manifest = createModel<RootModel>()({
return {
...state,
hasNotBeenFound: true,
forbidden: false,
manifest: undefined,
packageName: undefined,
packageVersion: undefined,
readme: undefined,
};
},
forbidden(state) {
return {
...state,
forbidden: true,
hasNotBeenFound: false,
manifest: undefined,
packageName: undefined,
packageVersion: undefined,
@@ -50,6 +62,7 @@ export const manifest = createModel<RootModel>()({
...state,
isError: true,
hasNotBeenFound: false,
forbidden: false,
manifest: undefined,
packageName: undefined,
packageVersion: undefined,
@@ -64,6 +77,7 @@ export const manifest = createModel<RootModel>()({
packageVersion,
readme,
hasNotBeenFound: false,
forbidden: false,
};
},
},
@@ -91,7 +105,11 @@ export const manifest = createModel<RootModel>()({
);
dispatch.manifest.saveManifest({ packageName, packageVersion, manifest, readme });
} catch (error: any) {
dispatch.manifest.notFound();
if (error.code === 404) {
dispatch.manifest.notFound();
} else {
dispatch.manifest.forbidden();
}
}
},
}),

View File

@@ -1,5 +1,11 @@
# @verdaccio/utils
## 7.0.0-next-7.11
### Patch Changes
- @verdaccio/core@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/utils",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "verdaccio utilities",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,9 +29,9 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"minimatch": "7.4.6",
"semver": "7.5.4",
"semver": "7.6.0",
"lodash": "4.17.21"
},
"scripts": {

View File

@@ -1,5 +1,19 @@
# verdaccio
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/ui-theme@7.0.0-next-7.11
- @verdaccio/cli@7.0.0-next-7.11
- @verdaccio/hooks@7.0.0-next-7.11
- @verdaccio/node-api@7.0.0-next-7.11
- verdaccio-audit@12.0.0-next-7.11
- verdaccio-htpasswd@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "A lightweight private npm proxy registry",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -38,20 +38,20 @@
},
"homepage": "https://verdaccio.org",
"dependencies": {
"@verdaccio/cli": "workspace:7.0.0-next-7.10",
"@verdaccio/hooks": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/node-api": "workspace:7.0.0-next-7.10",
"@verdaccio/ui-theme": "workspace:7.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"verdaccio-audit": "workspace:12.0.0-next-7.10",
"verdaccio-htpasswd": "workspace:12.0.0-next-7.10"
"@verdaccio/cli": "workspace:7.0.0-next-7.11",
"@verdaccio/hooks": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/node-api": "workspace:7.0.0-next-7.11",
"@verdaccio/ui-theme": "workspace:7.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"verdaccio-audit": "workspace:12.0.0-next-7.11",
"verdaccio-htpasswd": "workspace:12.0.0-next-7.11"
},
"devDependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/store": "workspace:7.0.0-next-7.11",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"fastify": "4.25.2",
"get-port": "5.1.1",

View File

@@ -1,5 +1,21 @@
# @verdaccio/web
## 7.0.0-next-7.11
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/config@7.0.0-next-7.11
- @verdaccio/auth@7.0.0-next-7.11
- @verdaccio/loaders@7.0.0-next-7.11
- @verdaccio/middleware@7.0.0-next-7.11
- @verdaccio/store@7.0.0-next-7.11
- @verdaccio/core@7.0.0-next-7.11
- @verdaccio/tarball@12.0.0-next-7.11
- @verdaccio/url@12.0.0-next-7.11
- @verdaccio/utils@7.0.0-next-7.11
- @verdaccio/logger@7.0.0-next-7.11
## 7.0.0-next-7.10
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/web",
"version": "7.0.0-next-7.10",
"version": "7.0.0-next-7.11",
"description": "web ui middleware",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -24,30 +24,30 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.10",
"@verdaccio/config": "workspace:7.0.0-next-7.10",
"@verdaccio/core": "workspace:7.0.0-next-7.10",
"@verdaccio/loaders": "workspace:7.0.0-next-7.10",
"@verdaccio/logger": "workspace:7.0.0-next-7.10",
"@verdaccio/middleware": "workspace:7.0.0-next-7.10",
"@verdaccio/store": "workspace:7.0.0-next-7.10",
"@verdaccio/tarball": "workspace:12.0.0-next-7.10",
"@verdaccio/url": "workspace:12.0.0-next-7.10",
"@verdaccio/utils": "workspace:7.0.0-next-7.10",
"@verdaccio/auth": "workspace:7.0.0-next-7.11",
"@verdaccio/config": "workspace:7.0.0-next-7.11",
"@verdaccio/core": "workspace:7.0.0-next-7.11",
"@verdaccio/loaders": "workspace:7.0.0-next-7.11",
"@verdaccio/logger": "workspace:7.0.0-next-7.11",
"@verdaccio/middleware": "workspace:7.0.0-next-7.11",
"@verdaccio/store": "workspace:7.0.0-next-7.11",
"@verdaccio/tarball": "workspace:12.0.0-next-7.11",
"@verdaccio/url": "workspace:12.0.0-next-7.11",
"@verdaccio/utils": "workspace:7.0.0-next-7.11",
"debug": "4.3.4",
"express": "4.18.2",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/api": "workspace:7.0.0-next-7.10",
"@verdaccio/api": "workspace:7.0.0-next-7.11",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"@verdaccio/types": "workspace:12.0.0-next.2",
"jsdom": "20.0.3",
"nock": "13.5.1",
"node-html-parser": "4.1.5",
"supertest": "6.3.4",
"verdaccio-auth-memory": "workspace:12.0.0-next-7.10",
"verdaccio-memory": "workspace:12.0.0-next-7.10"
"verdaccio-auth-memory": "workspace:12.0.0-next-7.11",
"verdaccio-memory": "workspace:12.0.0-next-7.11"
},
"scripts": {
"clean": "rimraf ./build",

424
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,12 @@
# @verdaccio/website
## 6.0.0-next-7.5
### Patch Changes
- Updated dependencies [c9962fe]
- @verdaccio/ui-components@3.0.0-next-7.5
## 6.0.0-next-7.4
### Patch Changes

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