Compare commits
3 Commits
@verdaccio
...
auth-types
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28244477d2 | ||
|
|
1b6115f2d6 | ||
|
|
6ade2de358 |
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
chore(api): avoid double registration of JSON bodyParser
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): start storybook on windows
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): update react-json-view
|
||||
@@ -1,13 +0,0 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
'@verdaccio/server-fastify': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
'@verdaccio/api': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore: cleanup utils
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
---
|
||||
|
||||
chore: expose config utils
|
||||
7
.changeset/giant-years-appear.md
Normal file
7
.changeset/giant-years-appear.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'verdaccio-auth-memory': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/auth': minor
|
||||
---
|
||||
|
||||
fix: auth callback types
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/search': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
---
|
||||
|
||||
fix: uplink processing order
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/e2e-cli-npm10': patch
|
||||
---
|
||||
|
||||
fix(e2e): name for npm10 test
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
---
|
||||
|
||||
feat: add legacyMergeConfigs as option
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(config): harmonize configuration options
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): flags import and minor updates
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
fix: handling for uplink timeouts
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
fix(middleware): scoped package for allow checks
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'verdaccio-memory': patch
|
||||
---
|
||||
|
||||
fix: memory plugin limit error message
|
||||
@@ -60,8 +60,7 @@
|
||||
"@verdaccio/e2e-cli-pnpm-common": "1.0.2-next-8.0",
|
||||
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
|
||||
"docusaurus-plugin-downloads": "2.0.0",
|
||||
"@verdaccio/local-publish": "0.0.2",
|
||||
"@verdaccio/e2e-cli-npm10": "1.0.1"
|
||||
"@verdaccio/local-publish": "0.0.2"
|
||||
},
|
||||
"changesets": [
|
||||
"angry-doors-tan",
|
||||
@@ -69,7 +68,6 @@
|
||||
"blue-paws-cheer",
|
||||
"breezy-geckos-search",
|
||||
"bright-bobcats-ring",
|
||||
"brown-lions-talk",
|
||||
"brown-planets-approve",
|
||||
"calm-mangos-compare",
|
||||
"chatty-apricots-report",
|
||||
@@ -80,52 +78,34 @@
|
||||
"curvy-rockets-camp",
|
||||
"cyan-snakes-kiss",
|
||||
"early-eyes-float",
|
||||
"early-trainers-grin",
|
||||
"eight-countries-think",
|
||||
"eighty-apes-think",
|
||||
"eleven-rocks-dream",
|
||||
"few-ears-deny",
|
||||
"fifty-falcons-design",
|
||||
"forty-hounds-matter",
|
||||
"fresh-owls-hunt",
|
||||
"funny-fireants-tan",
|
||||
"gentle-stingrays-repeat",
|
||||
"gold-files-speak",
|
||||
"gold-squids-watch",
|
||||
"green-eagles-boil",
|
||||
"healthy-ducks-drive",
|
||||
"healthy-zoos-lie",
|
||||
"hip-eggs-serve",
|
||||
"hip-suns-jam",
|
||||
"hot-crews-live",
|
||||
"itchy-glasses-end",
|
||||
"large-turkeys-change",
|
||||
"long-eyes-drum",
|
||||
"long-singers-drive",
|
||||
"lucky-crabs-enjoy",
|
||||
"nasty-experts-bow",
|
||||
"nice-garlics-tie",
|
||||
"nine-countries-remember",
|
||||
"ninety-geese-do",
|
||||
"ninety-hotels-dance",
|
||||
"odd-fishes-cry",
|
||||
"old-clocks-destroy",
|
||||
"pink-jeans-lick",
|
||||
"popular-trees-grin",
|
||||
"proud-houses-switch",
|
||||
"purple-planes-do",
|
||||
"quick-avocados-type",
|
||||
"quick-seas-deny",
|
||||
"real-seahorses-change",
|
||||
"red-dolls-repair",
|
||||
"rotten-melons-notice",
|
||||
"rotton-readers-shave",
|
||||
"rude-birds-design",
|
||||
"rude-socks-walk",
|
||||
"serious-apes-rule",
|
||||
"shiny-buttons-laugh",
|
||||
"short-mails-smoke",
|
||||
"short-turkeys-boil",
|
||||
"silent-bags-listen",
|
||||
"silent-tips-admire",
|
||||
"silver-houses-remain",
|
||||
@@ -134,17 +114,13 @@
|
||||
"strange-pants-chew",
|
||||
"stupid-camels-build",
|
||||
"sweet-crabs-deliver",
|
||||
"ten-jeans-approve",
|
||||
"tender-buckets-smoke",
|
||||
"thirty-comics-trade",
|
||||
"tricky-impalas-shake",
|
||||
"tricky-knives-end",
|
||||
"twelve-games-wonder",
|
||||
"violet-baboons-beg",
|
||||
"violet-bobcats-allow",
|
||||
"violet-boxes-float",
|
||||
"weak-cherries-serve",
|
||||
"wet-cats-behave",
|
||||
"yellow-flies-sniff"
|
||||
"wet-cats-behave"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): format date distance test
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
chore: debug messages in loader
|
||||
@@ -1,41 +0,0 @@
|
||||
---
|
||||
'generator-verdaccio-plugin': patch
|
||||
'@verdaccio/logger-prettify': patch
|
||||
'@verdaccio/logger-commons': patch
|
||||
'@verdaccio/local-storage': patch
|
||||
'verdaccio-auth-memory': patch
|
||||
'@verdaccio/local-publish': patch
|
||||
'@verdaccio/local-scripts': patch
|
||||
'@verdaccio/file-locking': patch
|
||||
'verdaccio-htpasswd': patch
|
||||
'@verdaccio/ui-theme': patch
|
||||
'verdaccio-memory': patch
|
||||
'@verdaccio/search-indexer': patch
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/server-fastify': patch
|
||||
'@verdaccio/logger': patch
|
||||
'verdaccio-audit': patch
|
||||
'@verdaccio/test-helper': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
'@verdaccio/tarball': patch
|
||||
'@verdaccio/eslint-config': patch
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/cli-standalone': patch
|
||||
'@verdaccio/core': patch
|
||||
'verdaccio': patch
|
||||
'@verdaccio/url': patch
|
||||
'@verdaccio/node-api': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/hooks': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/api': patch
|
||||
'@verdaccio/cli': patch
|
||||
'@verdaccio/website': patch
|
||||
---
|
||||
|
||||
chore: update readme badges and license files
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): reduce build size
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
---
|
||||
|
||||
chore: remove obsolete test data from local-storage
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore: fix ui-component npmignore and readme
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
'@verdaccio/ui-i18n': patch
|
||||
---
|
||||
|
||||
fix(i18n): avoid fallback for en-us
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
'@verdaccio/search-indexer': patch
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
fix: add legacyMergeConfigs legacy plugins
|
||||
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -68,7 +68,9 @@ jobs:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node_version: [18, 20, 21, 22, 23]
|
||||
## updated according official maintained releases
|
||||
## https://nodejs.org/en/about/previous-releases
|
||||
node_version: [18, 20, 22, 23]
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
|
||||
67
.github/workflows/x-e2e-jest-workflow.yml
vendored
67
.github/workflows/x-e2e-jest-workflow.yml
vendored
@@ -166,4 +166,69 @@ jobs:
|
||||
yarn add left-pad --registry http://localhost:4873 --verbose
|
||||
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
|
||||
yarn jest module.test.js
|
||||
|
||||
pnpm8:
|
||||
name: 'pnpm8:jest example'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest pnpm'
|
||||
run: npm i -g pnpm@10.5.2
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
- name: 'Run verdaccio in the background'
|
||||
run: |
|
||||
nohup yarn node ./scripts/run-verdaccio.js &
|
||||
- name: 'Ping to verdaccio'
|
||||
run: |
|
||||
pnpm ping --registry http://localhost:4873
|
||||
- name: 'Running the integration test'
|
||||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
pnpm init
|
||||
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
||||
yarn add left-pad --registry http://localhost:4873 --verbose
|
||||
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
|
||||
yarn jest module.test.js
|
||||
pnpm9:
|
||||
name: 'pnpm:9:jest example'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest pnpm'
|
||||
run: npm i -g pnpm@10.5.2
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
- name: 'Run verdaccio in the background'
|
||||
run: |
|
||||
yarn node ./scripts/run-verdaccio.js &
|
||||
- name: 'Ping to verdaccio'
|
||||
run: |
|
||||
pnpm ping --registry http://localhost:4873
|
||||
- name: 'Running the integration test'
|
||||
run: |
|
||||
source scripts/e2e-setup-ci.sh
|
||||
pnpm init
|
||||
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
|
||||
|
||||
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
|
||||
yarn jest pass.test.js
|
||||
|
||||
yarn add left-pad --registry http://localhost:4873 --verbose
|
||||
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
|
||||
yarn jest module.test.js
|
||||
|
||||
57
README.md
57
README.md
@@ -22,20 +22,17 @@ For those looking to extend their storage capabilities, Verdaccio
|
||||
**supports various community-made plugins to hook into services such as Amazon's s3,
|
||||
Google Cloud Storage** or create your own plugin.
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://verdaccio.org/docs/en/docker.html)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](http://chat.verdaccio.org/)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
|
||||
|
||||
## Versions
|
||||
@@ -288,14 +285,14 @@ If you want to report a security vulnerability, please follow the steps which we
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses. Every company provides enough resources to move this project forward.
|
||||
|
||||
| Company | Logo | License |
|
||||
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
| JetBrains | [](https://www.jetbrains.com/) | JetBrains provides licenses for products for active maintainers, renewable yearly |
|
||||
| Crowdin | [](https://crowdin.com/) | Crowdin provides platform for translations |
|
||||
| BrowserStack | [](https://www.browserstack.com/) | BrowserStack provides plan to run End to End testing for the UI |
|
||||
| Netlify | [](https://www.netlify.com/) | Netlify provides pro plan for website deployment |
|
||||
| Algolia | [](https://algolia.com/) | Algolia provides search services for the website |
|
||||
| Docker | [](https://www.docker.com/community/open-source/application) | Docker offers unlimited pulls and unlimited egress to any and all users |
|
||||
| Company | Logo | License |
|
||||
| ------------ | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
|
||||
| JetBrains | [](https://www.jetbrains.com/) | JetBrains provides licenses for products for active maintainers, renewable yearly |
|
||||
| Crowdin | [](https://crowdin.com/) | Crowdin provides platform for translations |
|
||||
| BrowserStack | [](https://www.browserstack.com/) | BrowserStack provides plan to run End to End testing for the UI |
|
||||
| Netlify | [](https://www.netlify.com/) | Netlify provides pro plan for website deployment |
|
||||
| Algolia | [](https://algolia.com/) | Algolia provides search services for the website |
|
||||
| Docker | [](https://www.docker.com/community/open-source/application) | Docker offers unlimited pulls and unlimited egress to any and all users |
|
||||
|
||||
## Maintainers
|
||||
|
||||
@@ -334,7 +331,7 @@ You can find and chat with them over Discord, click [here](http://chat.verdaccio
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
@@ -349,32 +346,32 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
[](../../graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
### FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do no hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://github.com/sponsors/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/issues/new/choose)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
- [Chat](https://discord.gg/7qWJxBf)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Logos](https://verdaccio.org/docs/en/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/discussions/categories/q-a)
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
|
||||
BIN
assets/thanks/balsamiq/logo.jpg
Normal file
BIN
assets/thanks/balsamiq/logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
@@ -1,6 +1,6 @@
|
||||
# Verdaccio 6 Examples
|
||||
|
||||
> We recommend to have installed the latest docker-compose
|
||||
> We recommend to have installed [docker-compose >= 1.29.0](https://github.com/docker/compose/releases/tag/1.29.2)
|
||||
|
||||
## Mapping Volumes
|
||||
|
||||
@@ -20,5 +20,3 @@ Using plugins without `docker-compose` mapping volumes, all withing the `Dockerf
|
||||
|
||||
- [Docker + Local Build Auth Plugin (local development)](plugins/docker-build-install-plugin/README.md)
|
||||
- [Docker + Auth Plugin (from a registry)](plugins/docker-local-plugin/README.md)
|
||||
- [Docker + Localstack S3 + Verdaccio](amazon-s3-docker-example/README.md)
|
||||
- [Docker + GitHub OAuth + verdaccio-github-oauth-ui + Verdaccio](verdaccio-github-oauth-ui/README.md)
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# Amazon S3 Bucket (Localstack) and Verdaccio 6.x
|
||||
|
||||
This setup runs Verdaccio alongside Localstack, providing a simple test/mocking environment for
|
||||
developing cloud applications. In this case, we are simulating AWS S3 functionality.
|
||||
|
||||
## Usage
|
||||
|
||||
> You might need to create bucket manually here
|
||||
> aws --endpoint-url=http://localhost:4566 s3 mb s3://localstack.s3.plugin.test
|
||||
|
||||
```
|
||||
docker-compose up --force-recreate --build --always-recreate-deps
|
||||
```
|
||||
|
||||
## Articles
|
||||
|
||||
- [Set up S3 bucket using Docker / Compose](https://discuss.localstack.cloud/t/set-up-s3-bucket-using-docker-compose/646.html)
|
||||
@@ -1,29 +0,0 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
localstack-s3:
|
||||
container_name: '${LOCALSTACK_DOCKER_NAME-localstack-main}'
|
||||
image: localstack/localstack:s3-latest
|
||||
ports:
|
||||
- '127.0.0.1:4566:4566'
|
||||
volumes:
|
||||
- './init-s3.py:/etc/localstack/init/ready.d/init-s3.py'
|
||||
verdaccio:
|
||||
container_name: verdaccio-s3-plugin
|
||||
build: s3Plugin/
|
||||
environment:
|
||||
- DEBUG=verdaccio:*
|
||||
- AWS_ACCESS_KEY_ID=foobar
|
||||
- AWS_SECRET_ACCESS_KEY=foobar
|
||||
- AWS_DEFAULT_REGION=eu-west-2
|
||||
- AWS_S3_ENDPOINT=http://localstack-s3:4566
|
||||
- AWS_S3_PATH_STYLE=true
|
||||
ports:
|
||||
- '4874:4873'
|
||||
depends_on:
|
||||
- localstack-s3
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default:
|
||||
name: verdaccio-network
|
||||
@@ -1,10 +0,0 @@
|
||||
import boto3
|
||||
|
||||
s3_client = boto3.client(
|
||||
"s3",
|
||||
endpoint_url=f"http://localhost:4566",
|
||||
aws_access_key_id="test",
|
||||
aws_secret_access_key="test"
|
||||
)
|
||||
|
||||
s3_client.create_bucket(Bucket="localstack.s3.plugin.test")
|
||||
@@ -1,9 +0,0 @@
|
||||
FROM verdaccio/verdaccio:6.x-next
|
||||
LABEL Juan Picado <jotadeveloper@gmail.com>
|
||||
# Copy the configuration file into the container
|
||||
ADD config.yaml /verdaccio/conf/config.yaml
|
||||
USER root
|
||||
# This is the best way to install a plugin in Verdaccio
|
||||
RUN npm install --global verdaccio-aws-s3-storage
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
storage: /verdaccio/storage
|
||||
|
||||
store:
|
||||
aws-s3-storage:
|
||||
bucket: localstack.s3.plugin.test
|
||||
keyPrefix: docker-test-prefix
|
||||
region: eu-west-2
|
||||
endpoint: http://localstack-s3:4566
|
||||
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
'**':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
|
||||
log: { type: stdout, format: pretty, level: trace }
|
||||
|
||||
listen:
|
||||
- 0.0.0.0:4873
|
||||
@@ -1,18 +0,0 @@
|
||||
# GitHub OAuth Login with verdaccio-github-oauth-ui plugin and Verdaccio 6.x
|
||||
|
||||
This setup runs Verdaccio alongside Localstack, providing a simple test/mocking environment for
|
||||
developing cloud applications. In this case, we are simulating AWS S3 functionality.
|
||||
|
||||
https://github.com/n4bb12/verdaccio-github-oauth-ui
|
||||
|
||||
## Configuration
|
||||
|
||||
Open `config.yaml` and modify the required properties follow the official documentation.
|
||||
|
||||
https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
docker-compose up --force-recreate --build --always-recreate-deps
|
||||
```
|
||||
@@ -1,15 +0,0 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
verdaccio:
|
||||
container_name: verdaccio-oauth-plugin
|
||||
build: plugin/
|
||||
environment:
|
||||
- DEBUG=verdaccio:*
|
||||
ports:
|
||||
- '4874:4873'
|
||||
networks:
|
||||
- default
|
||||
networks:
|
||||
default:
|
||||
name: verdaccio-network
|
||||
@@ -1,9 +0,0 @@
|
||||
FROM verdaccio/verdaccio:6.x-next
|
||||
LABEL Juan Picado <jotadeveloper@gmail.com>
|
||||
# Copy the configuration file into the container
|
||||
ADD config.yaml /verdaccio/conf/config.yaml
|
||||
USER root
|
||||
# This is the best way to install a plugin in Verdaccio
|
||||
RUN npm install --global verdaccio-github-oauth-ui
|
||||
USER $VERDACCIO_USER_UID
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
storage: /verdaccio/storage
|
||||
|
||||
middlewares:
|
||||
github-oauth-ui:
|
||||
enabled: true
|
||||
|
||||
auth:
|
||||
# READ HERE https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
|
||||
github-oauth-ui:
|
||||
client-id: take_this_from_github
|
||||
client-secret: take_this_from_github
|
||||
token: my_github_token
|
||||
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
jquery:
|
||||
# Limit access to users:
|
||||
access: github/user/GITHUB_USER
|
||||
'**':
|
||||
access: $all
|
||||
publish: $all
|
||||
proxy: npmjs
|
||||
|
||||
log: { type: stdout, format: pretty, level: trace }
|
||||
|
||||
listen:
|
||||
- 0.0.0.0:4873
|
||||
@@ -4,16 +4,16 @@
|
||||
"version": "2.0.0-next-8.0",
|
||||
"main": "src/index.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"debug": "4.4.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"get-port": "5.1.1",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:8.0.0-next-8.15"
|
||||
"verdaccio": "workspace:8.0.0-next-8.12"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo no test",
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
# @verdaccio/e2e-cli-npm9
|
||||
|
||||
## 1.0.2-next-8.0
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- d4fc827: fix(e2e): name for npm10 test
|
||||
- @verdaccio/test-cli-commons@2.0.0-next-8.0
|
||||
|
||||
## 1.0.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"private": true,
|
||||
"name": "@verdaccio/e2e-cli-npm10",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"name": "@verdaccio/e2e-cli-npm9",
|
||||
"version": "1.0.1",
|
||||
"dependencies": {
|
||||
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
|
||||
"@verdaccio/e2e-cli-npm-common": "workspace:*",
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
"name": "@verdaccio/e2e-ui",
|
||||
"version": "2.0.0",
|
||||
"devDependencies": {
|
||||
"verdaccio": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.4",
|
||||
"verdaccio": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.3",
|
||||
"debug": "4.4.0",
|
||||
"cypress": "^13.6.0",
|
||||
"get-port": "5.1.1"
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,55 +1,5 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 8.1.0-next-8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [1f25d5f]
|
||||
- @verdaccio/auth@8.0.0-next-8.15
|
||||
- @verdaccio/core@8.0.0-next-8.15
|
||||
- @verdaccio/config@8.0.0-next-8.15
|
||||
- @verdaccio/middleware@8.0.0-next-8.15
|
||||
- @verdaccio/store@8.0.0-next-8.15
|
||||
- @verdaccio/utils@8.1.0-next-8.15
|
||||
- @verdaccio/logger@8.0.0-next-8.15
|
||||
|
||||
## 8.1.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 1e2f503: chore(api): avoid double registration of JSON bodyParser
|
||||
- b9fea38: chore: cleanup utils
|
||||
- Updated dependencies [b9fea38]
|
||||
- Updated dependencies [bb478f2]
|
||||
- Updated dependencies [2bcd3ca]
|
||||
- Updated dependencies [da1650c]
|
||||
- Updated dependencies [8f28186]
|
||||
- @verdaccio/middleware@8.0.0-next-8.14
|
||||
- @verdaccio/core@8.0.0-next-8.14
|
||||
- @verdaccio/config@8.0.0-next-8.14
|
||||
- @verdaccio/store@8.0.0-next-8.14
|
||||
- @verdaccio/utils@8.1.0-next-8.14
|
||||
- @verdaccio/auth@8.0.0-next-8.14
|
||||
- @verdaccio/logger@8.0.0-next-8.14
|
||||
|
||||
## 8.1.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
- Updated dependencies [b3fa5df]
|
||||
- Updated dependencies [2eb8cc2]
|
||||
- Updated dependencies [e4a1539]
|
||||
- Updated dependencies [0607e80]
|
||||
- @verdaccio/config@8.0.0-next-8.13
|
||||
- @verdaccio/store@8.0.0-next-8.13
|
||||
- @verdaccio/utils@8.1.0-next-8.13
|
||||
- @verdaccio/core@8.0.0-next-8.13
|
||||
- @verdaccio/logger@8.0.0-next-8.13
|
||||
- @verdaccio/middleware@8.0.0-next-8.13
|
||||
- @verdaccio/auth@8.0.0-next-8.13
|
||||
|
||||
## 8.1.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,19 +1,12 @@
|
||||
# @verdaccio/api - Verdaccio Registry API
|
||||
# @verdaccio/api
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/api)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
[](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
## Donations
|
||||
|
||||
@@ -27,7 +20,7 @@ If you want to report a security vulnerability, please follow the steps which we
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
@@ -42,9 +35,9 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "8.1.0-next-8.15",
|
||||
"version": "8.1.0-next-8.12",
|
||||
"description": "Verdaccio Registry API",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -42,13 +42,13 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.15",
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.12",
|
||||
"abortcontroller-polyfill": "1.7.8",
|
||||
"body-parser": "1.20.3",
|
||||
"cookies": "0.9.1",
|
||||
@@ -59,8 +59,8 @@
|
||||
"semver": "7.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.4",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.3",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"mockdate": "3.0.5",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import buildDebug from 'debug';
|
||||
import express, { Router } from 'express';
|
||||
|
||||
import { Auth } from '@verdaccio/auth';
|
||||
@@ -25,8 +24,6 @@ import v1Search from './v1/search';
|
||||
import token from './v1/token';
|
||||
import whoami from './whoami';
|
||||
|
||||
const debug = buildDebug('verdaccio:api');
|
||||
|
||||
export default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {
|
||||
/* eslint new-cap:off */
|
||||
const app = express.Router();
|
||||
@@ -47,14 +44,7 @@ export default function (config: Config, auth: Auth, storage: Storage, logger: L
|
||||
app.param('org_couchdb_user', match(/^org\.couchdb\.user:/));
|
||||
|
||||
app.use(auth.apiJWTmiddleware());
|
||||
|
||||
// middleware might have registered a json parser already
|
||||
if (hasBodyParser(app)) {
|
||||
debug('json parser already registered');
|
||||
} else {
|
||||
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
|
||||
}
|
||||
|
||||
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
|
||||
app.use(antiLoop(config));
|
||||
app.use(makeURLrelative);
|
||||
// encode / in a scoped package name to be matched as a single parameter in routes
|
||||
@@ -73,10 +63,3 @@ export default function (config: Config, auth: Auth, storage: Storage, logger: L
|
||||
pkg(app, auth, storage, logger);
|
||||
return app;
|
||||
}
|
||||
|
||||
function hasBodyParser(app: Router): boolean {
|
||||
const stack = app.stack || [];
|
||||
return stack.some((middleware) => {
|
||||
return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
HEADERS,
|
||||
HTTP_STATUS,
|
||||
errorUtils,
|
||||
validationUtils,
|
||||
validatioUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { USER_API_ENDPOINTS, rateLimit } from '@verdaccio/middleware';
|
||||
import { Logger } from '@verdaccio/types';
|
||||
@@ -77,7 +77,7 @@ export default function (route: Router, auth: Auth, config: Config, logger: Logg
|
||||
debug('login or adduser');
|
||||
const remoteName = req?.remote_user?.name;
|
||||
|
||||
if (!validationUtils.validateUserName(req.params.org_couchdb_user, name)) {
|
||||
if (!validatioUtils.validateUserName(req.params.org_couchdb_user, name)) {
|
||||
return next(errorUtils.getBadRequest(API_ERROR.USERNAME_MISMATCH));
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ export default function (route: Router, auth: Auth, config: Config, logger: Logg
|
||||
} else {
|
||||
debug('adduser: %o', name);
|
||||
if (
|
||||
validationUtils.validatePassword(
|
||||
validatioUtils.validatePassword(
|
||||
password,
|
||||
config?.serverSettings?.passwordValidationRegex
|
||||
) === false
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
HTTP_STATUS,
|
||||
SUPPORT_ERRORS,
|
||||
errorUtils,
|
||||
validationUtils,
|
||||
validatioUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { PROFILE_API_ENDPOINTS } from '@verdaccio/middleware';
|
||||
import { rateLimit } from '@verdaccio/middleware';
|
||||
@@ -72,7 +72,7 @@ export default function (route: Router, auth: Auth, config: Config): void {
|
||||
|
||||
if (_.isNil(password) === false) {
|
||||
if (
|
||||
validationUtils.validatePassword(
|
||||
validatioUtils.validatePassword(
|
||||
password.new,
|
||||
config?.serverSettings?.passwordValidationRegex
|
||||
) === false
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,50 +1,5 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 8.0.0-next-8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 1f25d5f: feat: add legacyMergeConfigs as option
|
||||
- @verdaccio/core@8.0.0-next-8.15
|
||||
- @verdaccio/config@8.0.0-next-8.15
|
||||
- @verdaccio/loaders@8.0.0-next-8.6
|
||||
- verdaccio-htpasswd@13.0.0-next-8.15
|
||||
- @verdaccio/utils@8.1.0-next-8.15
|
||||
- @verdaccio/signature@8.0.0-next-8.7
|
||||
|
||||
## 8.0.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 8f28186: fix: add legacyMergeConfigs legacy plugins
|
||||
- Updated dependencies [b9fea38]
|
||||
- Updated dependencies [bb478f2]
|
||||
- Updated dependencies [8f28186]
|
||||
- @verdaccio/core@8.0.0-next-8.14
|
||||
- @verdaccio/config@8.0.0-next-8.14
|
||||
- @verdaccio/utils@8.1.0-next-8.14
|
||||
- @verdaccio/loaders@8.0.0-next-8.6
|
||||
- verdaccio-htpasswd@13.0.0-next-8.14
|
||||
- @verdaccio/signature@8.0.0-next-8.6
|
||||
|
||||
## 8.0.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
- Updated dependencies [b3fa5df]
|
||||
- Updated dependencies [2eb8cc2]
|
||||
- Updated dependencies [e4a1539]
|
||||
- Updated dependencies [50f20aa]
|
||||
- Updated dependencies [0607e80]
|
||||
- @verdaccio/config@8.0.0-next-8.13
|
||||
- @verdaccio/utils@8.1.0-next-8.13
|
||||
- @verdaccio/core@8.0.0-next-8.13
|
||||
- verdaccio-htpasswd@13.0.0-next-8.13
|
||||
- @verdaccio/signature@8.0.0-next-8.5
|
||||
- @verdaccio/loaders@8.0.0-next-8.5
|
||||
|
||||
## 8.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,19 +1,12 @@
|
||||
# @verdaccio/auth - Verdaccio Authentication
|
||||
# @verdaccio/auth
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/auth)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
[](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
## Donations
|
||||
|
||||
@@ -27,7 +20,7 @@ If you want to report a security vulnerability, please follow the steps which we
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
@@ -42,39 +35,40 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://balsamiq.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
[](../../graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
### FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
- [Chat](http://chat.verdaccio.org/)
|
||||
- [Logos](https://verdaccio.org/docs/en/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"description": "Verdaccio Authentication",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
@@ -42,19 +42,19 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.6",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.7",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.15",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.4",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.4",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.12",
|
||||
"debug": "4.4.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.15"
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.12",
|
||||
"express": "4.21.2",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -59,14 +59,12 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
public secret: string;
|
||||
public logger: Logger;
|
||||
public plugins: pluginUtils.Auth<Config>[];
|
||||
public options: { legacyMergeConfigs: boolean };
|
||||
|
||||
public constructor(config: Config, logger: Logger, options = { legacyMergeConfigs: false }) {
|
||||
public constructor(config: Config, logger: Logger) {
|
||||
this.config = config;
|
||||
this.secret = config.secret;
|
||||
this.logger = logger;
|
||||
this.plugins = [];
|
||||
this.options = options;
|
||||
if (!this.secret) {
|
||||
throw new TypeError('secret it is required value on initialize the auth class');
|
||||
}
|
||||
@@ -125,7 +123,6 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
typeof allow_publish !== 'undefined'
|
||||
);
|
||||
},
|
||||
this.options.legacyMergeConfigs,
|
||||
this.config?.serverSettings?.pluginPrefix,
|
||||
PLUGIN_CATEGORY.AUTHENTICATION
|
||||
);
|
||||
@@ -194,7 +191,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
plugin.authenticate(username, password, function (err: VerdaccioError | null, groups): void {
|
||||
if (err) {
|
||||
debug('authenticating for user %o failed. Error: %o', username, err?.message);
|
||||
return cb(err);
|
||||
return cb(err, undefined);
|
||||
}
|
||||
|
||||
// Expect: SKIP if groups is falsey and not an array
|
||||
@@ -204,7 +201,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
// Caveat: STRING (if valid) will pass successfully
|
||||
// bug give unexpected results
|
||||
// Info: Cannot use `== false to check falsey values`
|
||||
if (!!groups && groups.length !== 0) {
|
||||
if (!!groups && groups?.length !== 0) {
|
||||
// TODO: create a better understanding of expectations
|
||||
if (_.isString(groups)) {
|
||||
throw new TypeError('plugin group error: invalid type for function');
|
||||
@@ -215,7 +212,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
}
|
||||
|
||||
debug('authentication for user %o was successfully. Groups: %o', username, groups);
|
||||
return cb(err, createRemoteUser(username, groups));
|
||||
return cb(err, createRemoteUser(username, groups as string[]));
|
||||
}
|
||||
next();
|
||||
});
|
||||
|
||||
@@ -161,7 +161,7 @@ export function getDefaultPlugins(logger: Logger): pluginUtils.Auth<Config> {
|
||||
return {
|
||||
authenticate(_user: string, _password: string, cb: pluginUtils.AuthCallback): void {
|
||||
debug('triggered default authenticate method');
|
||||
cb(errorUtils.getForbidden(API_ERROR.BAD_USERNAME_PASSWORD));
|
||||
cb(errorUtils.getForbidden(API_ERROR.BAD_USERNAME_PASSWORD), undefined);
|
||||
},
|
||||
|
||||
adduser(_user: string, _password: string, cb: pluginUtils.AuthUserCallback): void {
|
||||
|
||||
@@ -4,7 +4,14 @@ import supertest from 'supertest';
|
||||
import { describe, expect, test, vi } from 'vitest';
|
||||
|
||||
import { Config as AppConfig, ROLES, createRemoteUser, getDefaultConfig } from '@verdaccio/config';
|
||||
import { HEADERS, HTTP_STATUS, SUPPORT_ERRORS, TOKEN_BEARER, errorUtils } from '@verdaccio/core';
|
||||
import {
|
||||
API_ERROR,
|
||||
HEADERS,
|
||||
HTTP_STATUS,
|
||||
SUPPORT_ERRORS,
|
||||
TOKEN_BEARER,
|
||||
errorUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { logger, setup } from '@verdaccio/logger';
|
||||
import { errorReportingMiddleware, final, handleError } from '@verdaccio/middleware';
|
||||
import { Config } from '@verdaccio/types';
|
||||
@@ -96,7 +103,7 @@ describe('AuthTest', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test('should be a fail on login', async () => {
|
||||
test('should be a fail on login due plugin failure', async () => {
|
||||
const config: Config = new AppConfig(authPluginFailureConf);
|
||||
config.checkSecretKey('12345');
|
||||
const auth: Auth = new Auth(config, logger);
|
||||
@@ -107,7 +114,7 @@ describe('AuthTest', () => {
|
||||
|
||||
auth.authenticate('foo', 'bar', callback);
|
||||
expect(callback).toHaveBeenCalledTimes(1);
|
||||
expect(callback).toHaveBeenCalledWith(errorUtils.getInternalError());
|
||||
expect(callback).toHaveBeenCalledWith(errorUtils.getInternalError(), undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -131,6 +138,7 @@ describe('AuthTest', () => {
|
||||
auth.authenticate(null, value, callback);
|
||||
const call = callback.mock.calls[index++];
|
||||
expect(call[0]).toBeDefined();
|
||||
expect(call[0]).toEqual(errorUtils.getForbidden(API_ERROR.BAD_USERNAME_PASSWORD));
|
||||
expect(call[1]).toBeUndefined();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,40 +1,5 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 8.0.0-next-8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/node-api@8.0.0-next-8.15
|
||||
- @verdaccio/core@8.0.0-next-8.15
|
||||
- @verdaccio/config@8.0.0-next-8.15
|
||||
- @verdaccio/logger@8.0.0-next-8.15
|
||||
|
||||
## 8.0.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [b9fea38]
|
||||
- Updated dependencies [bb478f2]
|
||||
- @verdaccio/core@8.0.0-next-8.14
|
||||
- @verdaccio/config@8.0.0-next-8.14
|
||||
- @verdaccio/node-api@8.0.0-next-8.14
|
||||
- @verdaccio/logger@8.0.0-next-8.14
|
||||
|
||||
## 8.0.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
- Updated dependencies [b3fa5df]
|
||||
- Updated dependencies [2eb8cc2]
|
||||
- Updated dependencies [e4a1539]
|
||||
- Updated dependencies [0607e80]
|
||||
- @verdaccio/config@8.0.0-next-8.13
|
||||
- @verdaccio/core@8.0.0-next-8.13
|
||||
- @verdaccio/logger@8.0.0-next-8.13
|
||||
- @verdaccio/node-api@8.0.0-next-8.13
|
||||
|
||||
## 8.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,19 +1,12 @@
|
||||
# @verdaccio/cli - Verdaccio CLI
|
||||
# @verdaccio/cli
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/cli)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
[](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
## Donations
|
||||
|
||||
@@ -27,7 +20,7 @@ If you want to report a security vulnerability, please follow the steps which we
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
@@ -42,39 +35,40 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://balsamiq.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
[](../../graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
### FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
- [Chat](http://chat.verdaccio.org/)
|
||||
- [Logos](https://verdaccio.org/docs/en/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/cli",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -47,10 +47,10 @@
|
||||
"start": "ts-node src/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.12",
|
||||
"clipanion": "4.0.0-rc.4",
|
||||
"envinfo": "7.14.0",
|
||||
"kleur": "4.1.5",
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,36 +1,5 @@
|
||||
# @verdaccio/config
|
||||
|
||||
## 8.0.0-next-8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@8.0.0-next-8.15
|
||||
- @verdaccio/utils@8.1.0-next-8.15
|
||||
|
||||
## 8.0.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- b9fea38: chore: cleanup utils
|
||||
- bb478f2: chore: expose config utils
|
||||
- Updated dependencies [b9fea38]
|
||||
- @verdaccio/core@8.0.0-next-8.14
|
||||
- @verdaccio/utils@8.1.0-next-8.14
|
||||
|
||||
## 8.0.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- b3fa5df: fix: uplink processing order
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
- Updated dependencies [b3fa5df]
|
||||
- Updated dependencies [2eb8cc2]
|
||||
- Updated dependencies [e4a1539]
|
||||
- Updated dependencies [0607e80]
|
||||
- @verdaccio/utils@8.1.0-next-8.13
|
||||
- @verdaccio/core@8.0.0-next-8.13
|
||||
|
||||
## 8.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,19 +1,4 @@
|
||||
# @verdaccio/config - Verdaccio Configuration
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/config)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
# @verdaccio/config
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -84,66 +69,9 @@ const defaultConfig = getDefaultConfig();
|
||||
- `fromJStoYAML(config: ConfigYaml): string`: Converts a JavaScript configuration object to YAML format.
|
||||
- `parseConfigFile(filePath: string): ConfigYaml`: Parses a configuration file from the specified path and returns the configuration object.
|
||||
|
||||
## Donations
|
||||
|
||||
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
|
||||
|
||||
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
|
||||
|
||||
## Report a vulnerability
|
||||
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/config",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"description": "Verdaccio Configuration",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -42,8 +42,8 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.12",
|
||||
"debug": "4.4.0",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -4,38 +4,34 @@
|
||||
# improve security.
|
||||
#
|
||||
# Look here for more config file examples:
|
||||
# https://github.com/verdaccio/verdaccio/blob/master/docker-examples/README.md
|
||||
# https://github.com/verdaccio/verdaccio/tree/5.x/packages/config/src/conf/default.yaml
|
||||
#
|
||||
# Read about the best practices
|
||||
# https://verdaccio.org/docs/best
|
||||
|
||||
# Path to a directory with all packages
|
||||
# path to a directory with all packages
|
||||
storage: ./storage
|
||||
|
||||
# Path to a directory with plugins to include, the plugins folder has the higher priority for loading plugins
|
||||
# Disable this folder to avoid warnings if is not used
|
||||
# path to a directory with plugins to include, the plugins folder has the higher priority for loading plugins
|
||||
# disable this folder to avoid warnings if is not used
|
||||
# plugins: ./plugins
|
||||
|
||||
# Web UI settings
|
||||
# https://verdaccio.org/docs/webui
|
||||
web:
|
||||
title: Verdaccio
|
||||
# Disable complete web UI
|
||||
# enabled: false
|
||||
# Custom colors for header background and font
|
||||
# custom colors for header background and font
|
||||
# primaryColor: "#4b5e40"
|
||||
# Custom logos and favicon
|
||||
# custom logos and favicon
|
||||
# logo: ./path/to/logo.png
|
||||
# logoDark: ./path/to/logoDark.png
|
||||
# favicon: ./path/to/favicon.ico
|
||||
# Disable gravatar support
|
||||
# comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# By default, packages are ordered ascending
|
||||
# sort_packages: asc | desc
|
||||
# Convert your UI to the dark side
|
||||
# by default packages are ordercer ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
# convert your UI to the dark side
|
||||
# darkMode: true
|
||||
# html_cache: true
|
||||
# By default, all features are displayed
|
||||
# by default all features are displayed
|
||||
# login: true
|
||||
# showInfo: true
|
||||
# showSettings: true
|
||||
@@ -46,25 +42,20 @@ web:
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
#
|
||||
# HTML tags injected before ends </head>
|
||||
# metaScripts:
|
||||
# - '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
|
||||
# - '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
|
||||
# - '<meta name="robots" content="noindex">'
|
||||
#
|
||||
# HTML tags injected as first child in <body>
|
||||
# scriptsBodyBefore:
|
||||
# - '<div id="myId">html before webpack scripts</div>'
|
||||
#
|
||||
# HTML tags injected as last child in </body>
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
# scriptsBodyAfter:
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
#
|
||||
# Public path for template manifest scripts (only manifest)
|
||||
# publicPath: http://somedomain.org/
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
# HTML tags injected before ends </head>
|
||||
# metaScripts:
|
||||
# - '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
|
||||
# - '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
|
||||
# - '<meta name="robots" content="noindex" />'
|
||||
# HTML tags injected first child at <body/>
|
||||
# bodyBefore:
|
||||
# - '<div id="myId">html before webpack scripts</div>'
|
||||
# Public path for template manifest scripts (only manifest)
|
||||
# publicPath: http://somedomain.org/
|
||||
|
||||
# Settings for authentication plugin
|
||||
# https://verdaccio.org/docs/configuration#authentication
|
||||
auth:
|
||||
htpasswd:
|
||||
@@ -73,8 +64,8 @@ auth:
|
||||
# You can set this to -1 to disable registration.
|
||||
# max_users: 1000
|
||||
|
||||
# A list of other known repositories we can talk to
|
||||
# https://verdaccio.org/docs/configuration#uplinks
|
||||
# a list of other known repositories we can talk to
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
@@ -106,7 +97,7 @@ packages:
|
||||
# if package is not available locally, proxy requests to 'npmjs' registry
|
||||
proxy: npmjs
|
||||
|
||||
# To improve your security configuration and avoid dependency confusion
|
||||
# To improve your security configuration and avoid dependency confusion
|
||||
# consider removing the proxy property for private packages
|
||||
# https://verdaccio.org/docs/best#remove-proxy-to-increase-security-at-private-packages
|
||||
|
||||
@@ -116,14 +107,14 @@ packages:
|
||||
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
|
||||
server:
|
||||
keepAliveTimeout: 60
|
||||
# The pluginPrefix replaces the default plugins prefix which is `verdaccio`. Please don't include `-`. If `something` is provided
|
||||
# the resolved package will be `something-xxxx`.
|
||||
# The pluginPrefix replaces the default plugins prefix which is `verdaccio`, please don't include `-`. If `something` is provided
|
||||
# the resolve package will be `something-xxxx`.
|
||||
# pluginPrefix: something
|
||||
# A regex for the password validation /.{3}$/ (3 characters min)
|
||||
# An example to limit to 10 characters minimum
|
||||
# passwordValidationRegex: /.{10}$/
|
||||
# Allow `req.ip` to resolve properly when Verdaccio is behind a proxy or load-balancer
|
||||
# https://expressjs.com/en/guide/behind-proxies.html
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
@@ -132,24 +123,18 @@ server:
|
||||
# check_owners: false
|
||||
# keep_readmes: 'latest' | 'tagged' | 'all'
|
||||
|
||||
# Define public URL of registry in combination with VERDACCIO_PUBLIC_URL environment variable
|
||||
# https://verdaccio.org/docs/configuration#url-prefix
|
||||
# url_prefix: /verdaccio/
|
||||
#
|
||||
# Examples:
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
# url_prefix: '/my_prefix'
|
||||
# // url -> https://somedomain.org/my_prefix/
|
||||
#
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
# url_prefix: '/'
|
||||
# // url -> https://somedomain.org/
|
||||
#
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix';
|
||||
# url_prefix: '/second_prefix'
|
||||
# // url -> https://somedomain.org/second_prefix/
|
||||
# // url -> https://somedomain.org/second_prefix/'
|
||||
|
||||
# Security settings
|
||||
# https://verdaccio.org/docs/configuration#security
|
||||
# security:
|
||||
# api:
|
||||
@@ -175,12 +160,12 @@ server:
|
||||
|
||||
# https://verdaccio.org/docs/configuration#listen-port
|
||||
# listen:
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - "[::1]:4873" # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - "[::1]:4873" # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
|
||||
# The HTTPS configuration is useful if you do not consider use a HTTP Proxy
|
||||
# https://verdaccio.org/docs/configuration#https
|
||||
@@ -192,46 +177,36 @@ server:
|
||||
# https://verdaccio.org/docs/configuration#proxy
|
||||
# http_proxy: http://something.local/
|
||||
# https_proxy: https://something.local/
|
||||
# no_proxy: localhost,127.0.0.1,server.local
|
||||
|
||||
# https://verdaccio.org/docs/configuration#notifications
|
||||
# notify:
|
||||
# method: 'POST'
|
||||
# headers: '[{ "Content-Type": "application/json" }]'
|
||||
# endpoint: 'https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken'
|
||||
# method: POST
|
||||
# headers: [{ "Content-Type": "application/json" }]
|
||||
# endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken
|
||||
# content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'
|
||||
|
||||
# Settings for middleware plugins
|
||||
# https://verdaccio.org/docs/plugins#middleware-configuration
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
# timeout: 10000
|
||||
|
||||
# Log settings
|
||||
# https://verdaccio.org/docs/logger
|
||||
# log settings
|
||||
log: { type: stdout, format: pretty, level: http }
|
||||
|
||||
# Feature flags (experimental settings that can be changed or removed in the future)
|
||||
# https://verdaccio.org/docs/configuration#experiments
|
||||
# experiments:
|
||||
# # Support for npm token command
|
||||
#experiments:
|
||||
# # support for npm token command
|
||||
# token: false
|
||||
# # Enable tarball URL redirect for hosting tarball with a different server.
|
||||
# # The tarball_url_redirect can be a template string
|
||||
# # disable writing body size to logs, read more on ticket 1912
|
||||
# bytesin_off: false
|
||||
# # enable tarball URL redirect for hosting tarball with a different server, the tarball_url_redirect can be a template string
|
||||
# tarball_url_redirect: 'https://mycdn.com/verdaccio/${packageName}/${filename}'
|
||||
# # The tarball_url_redirect can be a function, takes packageName and filename and returns the url,
|
||||
# # when working with a js configuration file
|
||||
# # the tarball_url_redirect can be a function, takes packageName and filename and returns the url, when working with a js configuration file
|
||||
# tarball_url_redirect(packageName, filename) {
|
||||
# const signedUrl = // generate a signed url
|
||||
# return signedUrl;
|
||||
# }
|
||||
# Renamed from "experiments" to "flags" in next major release
|
||||
# flags:
|
||||
# changePassword: true
|
||||
# searchRemote: true
|
||||
|
||||
# Translate your registry, API and web UI
|
||||
# List of the available translations https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md
|
||||
# translate your registry, api i18n not available yet
|
||||
i18n:
|
||||
# list of the available translations https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md
|
||||
web: en-US
|
||||
|
||||
@@ -1,80 +1,75 @@
|
||||
#
|
||||
# This is the default configuration file. It allows all users to do anything,
|
||||
# please read carefully the documentation and best practices to
|
||||
# improve security.
|
||||
# This is the default configuration file. As it allows all users to do anything,
|
||||
# please read carefully the documentation and best practices to improve security.
|
||||
#
|
||||
# Do not configure host and port under `listen` in this file
|
||||
# as it will be ignored when using docker.
|
||||
# see https://verdaccio.org/docs/en/docker#docker-and-custom-port-configuration
|
||||
#
|
||||
# Look here for more config file examples:
|
||||
# https://github.com/verdaccio/verdaccio/blob/master/docker-examples/README.md
|
||||
# https://github.com/verdaccio/verdaccio/tree/5.x/packages/config/src/conf/docker.yaml
|
||||
#
|
||||
# Read about the best practices
|
||||
# https://verdaccio.org/docs/best
|
||||
|
||||
# Path to a directory with all packages
|
||||
# path to a directory with all packages
|
||||
storage: /verdaccio/storage/data
|
||||
|
||||
# Path to a directory with plugins to include, the plugins folder has the higher priority for loading plugins
|
||||
# Disable this folder to avoid warnings if is not used
|
||||
# path to a directory with plugins to include, the plugins folder has the higher priority for loading plugins
|
||||
# disable this folder to avoid warnings if is not used
|
||||
plugins: /verdaccio/plugins
|
||||
|
||||
# Web UI settings
|
||||
# https://verdaccio.org/docs/webui
|
||||
web:
|
||||
title: Verdaccio
|
||||
# Disable complete web UI
|
||||
# enabled: false
|
||||
# Custom colors for header background and font
|
||||
# custom colors for header background and font
|
||||
# primaryColor: "#4b5e40"
|
||||
# Custom logos and favicon
|
||||
# custom logos and favicon
|
||||
# logo: ./path/to/logo.png
|
||||
# logoDark: ./path/to/logoDark.png
|
||||
# favicon: ./path/to/favicon.ico
|
||||
# Disable gravatar support
|
||||
# Comment out to disable gravatar support
|
||||
# gravatar: false
|
||||
# By default, packages are ordered ascending
|
||||
# sort_packages: asc | desc
|
||||
# By default packages are ordered ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
# Convert your UI to the dark side
|
||||
# darkMode: true
|
||||
# html_cache: true
|
||||
# By default, all features are displayed
|
||||
# By default all features are displayed
|
||||
# login: true
|
||||
# showInfo: true
|
||||
# showSettings: true
|
||||
# In combination with darkMode you can force specific theme
|
||||
# In combination with darkMode you can force a specific theme
|
||||
# showThemeSwitch: true
|
||||
# showFooter: true
|
||||
# showSearch: true
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
#
|
||||
# HTML tags injected before ends </head>
|
||||
# metaScripts:
|
||||
# - '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
|
||||
# - '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
|
||||
# - '<meta name="robots" content="noindex">'
|
||||
#
|
||||
# HTML tags injected as first child in <body>
|
||||
# scriptsBodyBefore:
|
||||
# - '<div id="myId">html before webpack scripts</div>'
|
||||
#
|
||||
# HTML tags injected as last child in </body>
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
# scriptsBodyAfter:
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
#
|
||||
# Public path for template manifest scripts (only manifest)
|
||||
# publicPath: http://somedomain.org/
|
||||
# - '<script type="text/javascript" src="https://my.company.com/customJS.min.js"></script>'
|
||||
# HTML tags injected before end </head>
|
||||
# metaScripts:
|
||||
# - '<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>'
|
||||
# - '<script type="text/javascript" src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js"></script>'
|
||||
# - '<meta name="robots" content="noindex" />'
|
||||
# HTML tags injected as first child at <body/>
|
||||
# bodyBefore:
|
||||
# - '<div id="myId">html before webpack scripts</div>'
|
||||
# Public path for template manifest scripts (only manifest)
|
||||
# publicPath: http://somedomain.org/
|
||||
|
||||
# Settings for authentication plugin
|
||||
# https://verdaccio.org/docs/configuration#authentication
|
||||
|
||||
auth:
|
||||
htpasswd:
|
||||
file: /verdaccio/storage/htpasswd
|
||||
# Maximum amount of users allowed to register, defaults to "+inf".
|
||||
# Maximum amount of users allowed to register, defaults to "+infinity".
|
||||
# You can set this to -1 to disable registration.
|
||||
# max_users: 1000
|
||||
|
||||
# A list of other known repositories we can talk to
|
||||
# https://verdaccio.org/docs/configuration#uplinks
|
||||
# A list of other known repositories we can talk to
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
@@ -91,14 +86,14 @@ packages:
|
||||
proxy: npmjs
|
||||
|
||||
'**':
|
||||
# allow all users (including non-authenticated users) to read and
|
||||
# Allow all users (including non-authenticated users) to read and
|
||||
# publish all packages
|
||||
#
|
||||
# you can specify usernames/groupnames (depending on your auth plugin)
|
||||
# You can specify usernames/groupnames (depending on your auth plugin)
|
||||
# and three keywords: "$all", "$anonymous", "$authenticated"
|
||||
access: $all
|
||||
|
||||
# allow all known users to publish/unpublish packages
|
||||
# Allow all known users to publish/unpublish packages
|
||||
# (anyone can register by default, remember?)
|
||||
publish: $authenticated
|
||||
unpublish: $authenticated
|
||||
@@ -111,19 +106,21 @@ packages:
|
||||
# https://verdaccio.org/docs/best#remove-proxy-to-increase-security-at-private-packages
|
||||
|
||||
# https://verdaccio.org/docs/configuration#server
|
||||
# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
|
||||
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
|
||||
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
|
||||
# You can specify the HTTP/1.1 server keep alive timeout in seconds for incoming connections.
|
||||
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a
|
||||
# keep-alive timeout.
|
||||
# WORKAROUND: Through given configuration you can work around the following issue:
|
||||
# https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
|
||||
server:
|
||||
keepAliveTimeout: 60
|
||||
# The pluginPrefix replaces the default plugins prefix which is `verdaccio`. Please don't include `-`. If `something` is provided
|
||||
# the resolved package will be `something-xxxx`.
|
||||
# The pluginPrefix replaces the default plugins prefix which is `verdaccio`, please don't include `-`. If `something` is provided
|
||||
# the resolve package will be `something-xxxx`.
|
||||
# pluginPrefix: something
|
||||
# A regex for the password validation /.{3}$/ (3 characters min)
|
||||
# An example to limit to 10 characters minimum
|
||||
# passwordValidationRegex: /.{10}$/
|
||||
# Allow `req.ip` to resolve properly when Verdaccio is behind a proxy or load-balancer
|
||||
# https://expressjs.com/en/guide/behind-proxies.html
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
@@ -132,24 +129,18 @@ server:
|
||||
# check_owners: false
|
||||
# keep_readmes: 'latest' | 'tagged' | 'all'
|
||||
|
||||
# Define public URL of registry in combination with VERDACCIO_PUBLIC_URL environment variable
|
||||
# https://verdaccio.org/docs/configuration#url-prefix
|
||||
# url_prefix: /verdaccio/
|
||||
#
|
||||
# Examples:
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
# url_prefix: '/my_prefix'
|
||||
# // url -> https://somedomain.org/my_prefix/
|
||||
#
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
# url_prefix: '/'
|
||||
# // url -> https://somedomain.org/
|
||||
#
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix'
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org/first_prefix';
|
||||
# url_prefix: '/second_prefix'
|
||||
# // url -> https://somedomain.org/second_prefix/
|
||||
# // url -> https://somedomain.org/second_prefix/'
|
||||
|
||||
# Security settings
|
||||
# https://verdaccio.org/docs/configuration#security
|
||||
# security:
|
||||
# api:
|
||||
@@ -175,14 +166,14 @@ server:
|
||||
|
||||
# https://verdaccio.org/docs/configuration#listen-port
|
||||
# listen:
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - "[::1]:4873" # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
# - localhost:4873 # default value
|
||||
# - http://localhost:4873 # same thing
|
||||
# - 0.0.0.0:4873 # listen on all addresses (INADDR_ANY)
|
||||
# - https://example.org:4873 # if you want to use https
|
||||
# - "[::1]:4873" # ipv6
|
||||
# - unix:/tmp/verdaccio.sock # unix socket
|
||||
|
||||
# The HTTPS configuration is useful if you do not consider use a HTTP Proxy
|
||||
# The HTTPS configuration is useful if you do not consider using an HTTP Proxy
|
||||
# https://verdaccio.org/docs/configuration#https
|
||||
# https:
|
||||
# key: ./path/verdaccio-key.pem
|
||||
@@ -192,29 +183,23 @@ server:
|
||||
# https://verdaccio.org/docs/configuration#proxy
|
||||
# http_proxy: http://something.local/
|
||||
# https_proxy: https://something.local/
|
||||
# no_proxy: localhost,127.0.0.1,server.local
|
||||
|
||||
# https://verdaccio.org/docs/configuration#notifications
|
||||
# notify:
|
||||
# method: 'POST'
|
||||
# headers: '[{ "Content-Type": "application/json" }]'
|
||||
# endpoint: 'https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken'
|
||||
# method: POST
|
||||
# headers: [{ "Content-Type": "application/json" }]
|
||||
# endpoint: https://usagge.hipchat.com/v2/room/3729485/notification?auth_token=mySecretToken
|
||||
# content: '{"color":"green","message":"New package published: * {{ name }}*","notify":true,"message_format":"text"}'
|
||||
|
||||
# Settings for middleware plugins
|
||||
# https://verdaccio.org/docs/plugins#middleware-configuration
|
||||
middlewares:
|
||||
audit:
|
||||
enabled: true
|
||||
# timeout: 10000
|
||||
|
||||
# Log settings
|
||||
# https://verdaccio.org/docs/logger
|
||||
# log settings
|
||||
log: { type: stdout, format: pretty, level: http }
|
||||
|
||||
# Feature flags (experimental settings that can be changed or removed in the future)
|
||||
# https://verdaccio.org/docs/configuration#experiments
|
||||
# experiments:
|
||||
#experiments:
|
||||
# # Support for npm token command
|
||||
# token: false
|
||||
# # Enable tarball URL redirect for hosting tarball with a different server.
|
||||
@@ -226,12 +211,8 @@ log: { type: stdout, format: pretty, level: http }
|
||||
# const signedUrl = // generate a signed url
|
||||
# return signedUrl;
|
||||
# }
|
||||
# Renamed from "experiments" to "flags" in next major release
|
||||
# flags:
|
||||
# changePassword: true
|
||||
# searchRemote: true
|
||||
|
||||
# Translate your registry, API and web UI
|
||||
# List of the available translations https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md
|
||||
i18n:
|
||||
web: en-US
|
||||
# Translate your registry, api i18n not available yet
|
||||
# i18n:
|
||||
# list of the available translations https://github.com/verdaccio/verdaccio/blob/master/packages/plugins/ui-theme/src/i18n/ABOUT_TRANSLATIONS.md
|
||||
# web: en-US
|
||||
|
||||
@@ -2,7 +2,7 @@ import assert from 'assert';
|
||||
import buildDebug from 'debug';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { APP_ERROR, validationUtils, warningUtils } from '@verdaccio/core';
|
||||
import { APP_ERROR, warningUtils } from '@verdaccio/core';
|
||||
import { Codes } from '@verdaccio/core/build/warning-utils';
|
||||
import {
|
||||
Config as AppConfig,
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
Security,
|
||||
ServerSettingsConf,
|
||||
} from '@verdaccio/types';
|
||||
import { generateRandomHexString, getMatchedPackagesSpec } from '@verdaccio/utils';
|
||||
import { generateRandomHexString, getMatchedPackagesSpec, isObject } from '@verdaccio/utils';
|
||||
|
||||
import { getUserAgent } from './agent';
|
||||
import { normalisePackageAccess } from './package-access';
|
||||
@@ -124,7 +124,7 @@ class Config implements AppConfig {
|
||||
this.userRateLimit = { ...defaultUserRateLimiting, ...config?.userRateLimit };
|
||||
|
||||
// some weird shell scripts are valid yaml files parsed as string
|
||||
assert(validationUtils.isObject(config), APP_ERROR.CONFIG_NOT_VALID);
|
||||
assert(_.isObject(config), APP_ERROR.CONFIG_NOT_VALID);
|
||||
|
||||
// sanity check for strategic config properties
|
||||
strategicConfigProps.forEach(function (x): void {
|
||||
@@ -132,7 +132,7 @@ class Config implements AppConfig {
|
||||
self[x] = {};
|
||||
}
|
||||
|
||||
assert(validationUtils.isObject(self[x]), `CONFIG: bad "${x}" value (object expected)`);
|
||||
assert(isObject(self[x]), `CONFIG: bad "${x}" value (object expected)`);
|
||||
});
|
||||
|
||||
this.uplinks = sanityCheckUplinksProps(uplinkSanityCheck(this.uplinks));
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
export * from './config';
|
||||
export * from './config-path';
|
||||
export * from './token';
|
||||
export * from './config-utils';
|
||||
export * from './package-access';
|
||||
export { fromJStoYAML, parseConfigFile } from './parse';
|
||||
export * from './uplinks';
|
||||
|
||||
@@ -48,13 +48,9 @@ export function sanityCheckUplinksProps(configUpLinks: UpLinksConfList): UpLinks
|
||||
return uplinks;
|
||||
}
|
||||
|
||||
export function getProxiesForPackage(pkg: string, packages: PackageList): string[] {
|
||||
const matchedPkg = getMatchedPackagesSpec(pkg, packages);
|
||||
return matchedPkg?.proxy || [];
|
||||
}
|
||||
|
||||
export function hasProxyTo(pkg: string, upLink: string, packages: PackageList): boolean {
|
||||
const proxyList = getProxiesForPackage(pkg, packages);
|
||||
const matchedPkg = getMatchedPackagesSpec(pkg, packages);
|
||||
const proxyList = typeof matchedPkg !== 'undefined' ? matchedPkg.proxy : [];
|
||||
if (proxyList) {
|
||||
return proxyList.some((curr) => upLink === curr);
|
||||
}
|
||||
|
||||
@@ -80,25 +80,6 @@ describe('Package access utilities', () => {
|
||||
expect(all.publish).toContain('admin');
|
||||
});
|
||||
|
||||
test('should test multi proxy definition', () => {
|
||||
const { packages } = parseConfigFile(parseConfigurationFile('pkgs-multi-proxy'));
|
||||
const access = normalisePackageAccess(packages);
|
||||
|
||||
expect(access).toBeDefined();
|
||||
const scoped = access[`${PACKAGE_ACCESS.SCOPE}`];
|
||||
const all = access[`${PACKAGE_ACCESS.ALL}`];
|
||||
const testPackage = access['test-package'];
|
||||
|
||||
expect(scoped).toBeDefined();
|
||||
expect(scoped.proxy).toEqual(['github', 'npmjs']);
|
||||
|
||||
expect(all).toBeDefined();
|
||||
expect(all.proxy).toEqual(['npmjs', 'gitlab']);
|
||||
|
||||
expect(testPackage).toBeDefined();
|
||||
expect(testPackage.proxy).toEqual(['npmjs', 'gitlab', 'github']);
|
||||
});
|
||||
|
||||
test(
|
||||
'should normalize deprecated packages into the new ones ' + '(backward props compatible)',
|
||||
() => {
|
||||
@@ -111,7 +92,7 @@ describe('Package access utilities', () => {
|
||||
expect(react).toBeDefined();
|
||||
expect(react.access).toBeDefined();
|
||||
expect(react.access).toEqual([]);
|
||||
expect(react.publish?.[0]).toBe('admin');
|
||||
expect(react.publish[0]).toBe('admin');
|
||||
expect(react.proxy).toBeDefined();
|
||||
expect(react.proxy).toEqual([]);
|
||||
expect(react.storage).toBeDefined();
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
uplinks:
|
||||
github:
|
||||
url: 'https://npm.pkg.github.com/'
|
||||
auth:
|
||||
type: Bearer
|
||||
token: 'xxx123xxx'
|
||||
gitlab:
|
||||
url: 'https://gitlab.com/api/v4/projects/1/packages/npm/'
|
||||
auth:
|
||||
type: Basic
|
||||
token: 'xxx456xxx'
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
# Multiple proxies
|
||||
# https://verdaccio.org/docs/packages/#use-multiple-uplinks
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
proxy: github npmjs
|
||||
'test-package':
|
||||
access: $all
|
||||
proxy: npmjs gitlab github
|
||||
'**':
|
||||
access: $all
|
||||
proxy: npmjs gitlab
|
||||
@@ -1,12 +1,7 @@
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
import { normalisePackageAccess, parseConfigFile } from '../src';
|
||||
import {
|
||||
getProxiesForPackage,
|
||||
hasProxyTo,
|
||||
sanityCheckUplinksProps,
|
||||
uplinkSanityCheck,
|
||||
} from '../src/uplinks';
|
||||
import { hasProxyTo, sanityCheckUplinksProps, uplinkSanityCheck } from '../src/uplinks';
|
||||
import { parseConfigurationFile } from './utils';
|
||||
|
||||
describe('Uplinks Utilities', () => {
|
||||
@@ -29,7 +24,7 @@ describe('Uplinks Utilities', () => {
|
||||
});
|
||||
|
||||
describe('sanityCheckUplinksProps', () => {
|
||||
test('should fail if url prop is missing', () => {
|
||||
test('should fails if url prop is missing', () => {
|
||||
const { uplinks } = parseConfigFile(parseConfigurationFile('uplink-wrong'));
|
||||
expect(() => {
|
||||
sanityCheckUplinksProps(uplinks);
|
||||
@@ -42,31 +37,6 @@ describe('Uplinks Utilities', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('multiple uplinks with auth', () => {
|
||||
test('should fail if url or auth are missing', () => {
|
||||
const { uplinks } = parseConfigFile(parseConfigurationFile('pkgs-multi-proxy'));
|
||||
expect(sanityCheckUplinksProps(uplinks)).toEqual(uplinks);
|
||||
expect(Object.keys(uplinks)).toHaveLength(3);
|
||||
// No trailing slash in urls
|
||||
expect(uplinks.github.url).toEqual('https://npm.pkg.github.com');
|
||||
expect(uplinks.github?.auth?.type).toEqual('Bearer');
|
||||
expect(uplinks.github?.auth?.token).toEqual('xxx123xxx');
|
||||
expect(uplinks.gitlab.url).toEqual('https://gitlab.com/api/v4/projects/1/packages/npm');
|
||||
expect(uplinks.gitlab?.auth?.type).toEqual('Basic');
|
||||
expect(uplinks.gitlab?.auth?.token).toEqual('xxx456xxx');
|
||||
expect(uplinks.npmjs.url).toEqual('https://registry.npmjs.org');
|
||||
});
|
||||
|
||||
test('check proxy list for package access', () => {
|
||||
const packages = normalisePackageAccess(
|
||||
parseConfigFile(parseConfigurationFile('pkgs-multi-proxy')).packages
|
||||
);
|
||||
expect(getProxiesForPackage('@scope/test', packages)).toEqual(['github', 'npmjs']);
|
||||
expect(getProxiesForPackage('test', packages)).toEqual(['npmjs', 'gitlab']);
|
||||
expect(getProxiesForPackage('test-package', packages)).toEqual(['npmjs', 'gitlab', 'github']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('hasProxyTo', () => {
|
||||
test('should test basic config', () => {
|
||||
const packages = normalisePackageAccess(
|
||||
|
||||
@@ -1,19 +1,12 @@
|
||||
# @verdaccio/core
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/core)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
[](https://www.tickgit.com/browse?repo=github.com/verdaccio/verdaccio)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
## Donations
|
||||
|
||||
@@ -27,7 +20,7 @@ If you want to report a security vulnerability, please follow the steps which we
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio#sponsor)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
@@ -42,39 +35,40 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio#backer)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
[](https://balsamiq.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
[](../../graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
### FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [Running discussions](https://github.com/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
- [Chat](http://chat.verdaccio.org/)
|
||||
- [Logos](https://verdaccio.org/docs/en/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
### License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch) files within the /assets folder) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,21 +1,5 @@
|
||||
# @verdaccio/core
|
||||
|
||||
## 8.0.0-next-8.15
|
||||
|
||||
## 8.0.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- b9fea38: chore: cleanup utils
|
||||
|
||||
## 8.0.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 2eb8cc2: fix: handling for uplink timeouts
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
|
||||
## 8.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
Copyright (c) 2019 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,80 +1,19 @@
|
||||
# @verdaccio/core - Verdaccio Core Components
|
||||
# Core
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/core)
|
||||
[](https://circleci.com/gh/ayusharma/@verdaccio/streams)
|
||||
[](https://codecov.io/gh/verdaccio/streams)
|
||||
[](https://www.npmjs.com/package/@verdaccio/streams)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](http://chat.verdaccio.org/)
|
||||

|
||||
[](https://www.npmjs.com/package/@verdaccio/streams)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
This project provides an extension of `PassThrough` stream.
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
## Detail
|
||||
|
||||
## Donations
|
||||
|
||||
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
|
||||
|
||||
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
|
||||
|
||||
## Report a vulnerability
|
||||
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
It provides 2 additional methods `abort()` and `done()`. Those implementations are widely use in the verdaccio core for handle `tarballs`.
|
||||
|
||||
## License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/core",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"description": "Verdaccio Core Components",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -41,7 +41,7 @@
|
||||
"semver": "7.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"lodash": "4.17.21",
|
||||
"typedoc": "0.23.25",
|
||||
"typedoc-plugin-missing-exports": "latest"
|
||||
|
||||
@@ -78,9 +78,6 @@ export const HTTP_STATUS = {
|
||||
SERVICE_UNAVAILABLE: httpCodes.SERVICE_UNAVAILABLE,
|
||||
LOOP_DETECTED: 508,
|
||||
CANNOT_HANDLE: 590,
|
||||
REQUEST_TIMEOUT: httpCodes.REQUEST_TIMEOUT, // 408
|
||||
BAD_GATEWAY: httpCodes.BAD_GATEWAY, // 502
|
||||
GATEWAY_TIMEOUT: httpCodes.GATEWAY_TIMEOUT, // 504
|
||||
};
|
||||
|
||||
export const ERROR_CODE = {
|
||||
|
||||
@@ -7,7 +7,7 @@ import * as searchUtils from './search-utils';
|
||||
import * as streamUtils from './stream-utils';
|
||||
import * as stringUtils from './string-utils';
|
||||
import * as tarballUtils from './tarball-utils';
|
||||
import * as validationUtils from './validation-utils';
|
||||
import * as validatioUtils from './validation-utils';
|
||||
import * as warningUtils from './warning-utils';
|
||||
|
||||
export { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';
|
||||
@@ -28,12 +28,16 @@ export {
|
||||
PLUGIN_CATEGORY,
|
||||
HtpasswdHashAlgorithm,
|
||||
} from './constants';
|
||||
export * from './plugin-utils';
|
||||
const validationUtils = validatioUtils;
|
||||
export {
|
||||
fileUtils,
|
||||
pkgUtils,
|
||||
searchUtils,
|
||||
streamUtils,
|
||||
errorUtils,
|
||||
// TODO: remove this typo
|
||||
validatioUtils,
|
||||
validationUtils,
|
||||
stringUtils,
|
||||
constants,
|
||||
|
||||
@@ -98,7 +98,7 @@ export interface Storage<PluginConfig> extends Plugin<PluginConfig> {
|
||||
*
|
||||
* ```ts
|
||||
* import express, { Request, Response } from 'express';
|
||||
*
|
||||
*
|
||||
* class Middleware extends Plugin {
|
||||
* // instances of auth and storage are injected
|
||||
* register_middlewares(app, auth, storage) {
|
||||
@@ -119,7 +119,10 @@ export interface ExpressMiddleware<PluginConfig, Storage, Auth> extends Plugin<P
|
||||
|
||||
// --- AUTH PLUGIN ---
|
||||
|
||||
export type AuthCallback = (error: VerdaccioError | null, groups?: string[] | false) => void;
|
||||
export type AuthCallback = (
|
||||
error: VerdaccioError | null,
|
||||
user: string[] | false | undefined
|
||||
) => void;
|
||||
|
||||
export type AuthAccessCallback = (error: VerdaccioError | null, access?: boolean) => void;
|
||||
export type AuthUserCallback = (error: VerdaccioError | null, access?: boolean | string) => void;
|
||||
@@ -147,7 +150,7 @@ export interface Auth<T> extends Plugin<T> {
|
||||
return done(errorUtils.getUnauthorized(API_ERROR.BAD_USERNAME_PASSWORD));
|
||||
}
|
||||
// always return an array of users
|
||||
return done(null, [user]);
|
||||
return done(null, [user]);
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
@@ -161,7 +164,7 @@ export interface Auth<T> extends Plugin<T> {
|
||||
return done(errorUtils.getUnauthorized(API_ERROR.BAD_USERNAME_PASSWORD));
|
||||
}
|
||||
// return boolean
|
||||
return done(null, true);
|
||||
return done(null, true);
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,12 +1,5 @@
|
||||
# Change Log
|
||||
|
||||
## 13.0.0-next-8.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
|
||||
## 13.0.0-next-8.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
Copyright (c) 2019 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,80 +1,20 @@
|
||||
# @verdaccio/file-locking - Verdaccio File Locking Library
|
||||
## Deprecated repository
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/file-locking)
|
||||
**This repository has been moved to a monorepo you can find in [verdaccio/monorepo](https://github.com/verdaccio/monorepo). This package is located in [`core/file-locking` folder](https://github.com/verdaccio/monorepo/tree/master/core/file-locking)**
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
---
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
# File Locking
|
||||
|
||||
## Donations
|
||||
This an utility to lock and unlock files
|
||||
|
||||
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://verdaccio.org/docs/en/docker.html)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](https://stackshare.io/verdaccio)
|
||||
[](http://chat.verdaccio.org/)
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||

|
||||
[](https://crowdin.com/project/verdaccio)
|
||||
|
||||
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
|
||||
|
||||
## Report a vulnerability
|
||||
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/file-locking",
|
||||
"version": "13.0.0-next-8.3",
|
||||
"version": "13.0.0-next-8.2",
|
||||
"description": "Verdaccio File Locking Library",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -39,7 +39,7 @@
|
||||
"lockfile": "1.0.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5"
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "rimraf ./build",
|
||||
|
||||
@@ -1,6 +1 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
src/*
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
# @verdaccio/ui-i18n
|
||||
|
||||
## 8.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- dbe6a76: fix(i18n): avoid fallback for en-us
|
||||
|
||||
## 8.0.0-next-8.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,80 +0,0 @@
|
||||
# @verdaccio/ui-i18n - Verdaccio UI Internationalization (i18n)
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/ui-i18n)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
|
||||
## Donations
|
||||
|
||||
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
|
||||
|
||||
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
|
||||
|
||||
## Report a vulnerability
|
||||
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
|
||||
## License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/ui-i18n",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"version": "8.0.0-next-8.11",
|
||||
"description": "Verdaccio UI Internationalization (i18n)",
|
||||
"keywords": [
|
||||
"private",
|
||||
|
||||
@@ -1 +1 @@
|
||||
export { loadTranslationFile as default, DEFAULT_LANGUAGE } from './loadTranslationFile';
|
||||
export { loadTranslationFile as default } from './loadTranslationFile';
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
export const DEFAULT_LANGUAGE = 'en-US';
|
||||
/**
|
||||
* In development mode translations files might be not available,
|
||||
* crowdin translations are only available in CI.
|
||||
*/
|
||||
export function loadTranslationFile(lng) {
|
||||
try {
|
||||
// avoid fallback and console warning
|
||||
if (lng === DEFAULT_LANGUAGE) {
|
||||
return require(`./crowdin/ui.json`);
|
||||
}
|
||||
return require(`./download_translations/${lng}/ui.json`);
|
||||
} catch {
|
||||
// eslint-disable-next-line no-console
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,36 +1,5 @@
|
||||
# Change Log
|
||||
|
||||
## 13.0.0-next-8.15
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@8.0.0-next-8.15
|
||||
- @verdaccio/url@13.0.0-next-8.15
|
||||
- @verdaccio/utils@8.1.0-next-8.15
|
||||
|
||||
## 13.0.0-next-8.14
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [b9fea38]
|
||||
- @verdaccio/core@8.0.0-next-8.14
|
||||
- @verdaccio/utils@8.1.0-next-8.14
|
||||
- @verdaccio/url@13.0.0-next-8.14
|
||||
|
||||
## 13.0.0-next-8.13
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- e4a1539: chore: package.json maintenance
|
||||
- 0607e80: chore: update readme badges and license files
|
||||
- Updated dependencies [b3fa5df]
|
||||
- Updated dependencies [2eb8cc2]
|
||||
- Updated dependencies [e4a1539]
|
||||
- Updated dependencies [0607e80]
|
||||
- @verdaccio/utils@8.1.0-next-8.13
|
||||
- @verdaccio/core@8.0.0-next-8.13
|
||||
- @verdaccio/url@13.0.0-next-8.13
|
||||
|
||||
## 13.0.0-next-8.12
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Verdaccio contributors
|
||||
Copyright (c) 2019 Verdaccio
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,80 +1,19 @@
|
||||
# @verdaccio/tarball - Verdaccio Tarball Utilities
|
||||
# Streams
|
||||
|
||||
[](https://verdaccio.org)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/tarball)
|
||||
[](https://circleci.com/gh/ayusharma/@verdaccio/streams)
|
||||
[](https://codecov.io/gh/verdaccio/streams)
|
||||
[](https://www.npmjs.com/package/@verdaccio/streams)
|
||||
[](https://opencollective.com/verdaccio)
|
||||
[](http://chat.verdaccio.org/)
|
||||

|
||||
[](https://www.npmjs.com/package/@verdaccio/streams)
|
||||
|
||||
[](https://verdaccio.org/docs)
|
||||
[](https://discord.com/channels/388674437219745793)
|
||||
[](https://bsky.app/profile/verdaccio.org)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
[](https://opencollective.com/verdaccio/contribute)
|
||||
This project provides an extension of `PassThrough` stream.
|
||||
|
||||
[](https://www.npmjs.com/package/verdaccio)
|
||||
[](https://hub.docker.com/r/verdaccio/verdaccio)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
## Detail
|
||||
|
||||
## Donations
|
||||
|
||||
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
|
||||
|
||||
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
|
||||
|
||||
## Report a vulnerability
|
||||
|
||||
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
|
||||
|
||||
## Open Collective Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/sponsor/0/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/1/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/2/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/3/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/4/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/5/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/6/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/7/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/8/website)
|
||||
[](https://opencollective.com/verdaccio/sponsor/9/website)
|
||||
|
||||
## Open Collective Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
Thanks to the following companies to help us to achieve our goals providing free open source licenses.
|
||||
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
If you have any issue you can try the following options. Do not hesitate to ask or check our issues database. Perhaps someone has asked already what you are looking for.
|
||||
|
||||
- [Blog](https://verdaccio.org/blog/)
|
||||
- [Donations](https://opencollective.com/verdaccio)
|
||||
- [Reporting an issue](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md#reporting-a-bug)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.com/channels/388674437219745793)
|
||||
- [Logos](https://verdaccio.org/docs/logo)
|
||||
- [Docker Examples](https://github.com/verdaccio/verdaccio/tree/master/docker-examples)
|
||||
- [FAQ](https://github.com/verdaccio/verdaccio/issues?utf8=%E2%9C%93&q=is%3Aissue%20label%3Aquestion%20)
|
||||
It provides 2 additional methods `abort()` and `done()`. Those implementations are widely use in the verdaccio core for handle `tarballs`.
|
||||
|
||||
## License
|
||||
|
||||
Verdaccio is [MIT licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
|
||||
The Verdaccio documentation and logos (excluding /thanks, e.g., .md, .png, .sketch files within the /assets folder) are
|
||||
[Creative Commons licensed](https://creativecommons.org/licenses/by/4.0/).
|
||||
MIT (http://www.opensource.org/licenses/mit-license.php)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user