Compare commits
70 Commits
auth-types
...
migrate-do
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b50143544 | ||
|
|
d9dfcaa404 | ||
|
|
4236e54e2a | ||
|
|
89b72d0761 | ||
|
|
30d2949471 | ||
|
|
e5a53628b6 | ||
|
|
8f8297ebd9 | ||
|
|
2dc16f3308 | ||
|
|
68b814e786 | ||
|
|
45e6d08647 | ||
|
|
2bd520ef07 | ||
|
|
6561485453 | ||
|
|
04c4e5b14f | ||
|
|
3a3bbe34ab | ||
|
|
219abed928 | ||
|
|
7d7cffb3a7 | ||
|
|
e5100e0844 | ||
|
|
46eeee5f70 | ||
|
|
9dfe5d5aaf | ||
|
|
50fef56371 | ||
|
|
c988566d70 | ||
|
|
76308ff456 | ||
|
|
481ea6ef3d | ||
|
|
fdf44a66c9 | ||
|
|
4115860d6e | ||
|
|
a9a77a5012 | ||
|
|
8ea4b04740 | ||
|
|
8c18c8963c | ||
|
|
6f410af147 | ||
|
|
5f036c0b57 | ||
|
|
ebc6171829 | ||
|
|
651f60a8af | ||
|
|
1f25d5f5e8 | ||
|
|
bf566cb6f5 | ||
|
|
0518506efe | ||
|
|
3d642d7325 | ||
|
|
c69ec207d2 | ||
|
|
588614d6a7 | ||
|
|
78614b79f6 | ||
|
|
6a0e3553c7 | ||
|
|
8f28186645 | ||
|
|
da1650c421 | ||
|
|
bb478f2ab8 | ||
|
|
b9fea389b6 | ||
|
|
1e2f5037d5 | ||
|
|
2bcd3ca5b6 | ||
|
|
00c6afe869 | ||
|
|
209a650898 | ||
|
|
d4fc8275aa | ||
|
|
817ec3d0e8 | ||
|
|
41aa893b1a | ||
|
|
2eb8cc24e8 | ||
|
|
b3fa5df7bb | ||
|
|
d633685d9e | ||
|
|
a0968ba1f7 | ||
|
|
30fec6fd3c | ||
|
|
50f20aa004 | ||
|
|
dbe6a76eab | ||
|
|
96bd6109ac | ||
|
|
c1faf6d473 | ||
|
|
0607e802ba | ||
|
|
493366301f | ||
|
|
3763df19b4 | ||
|
|
648aaf93bb | ||
|
|
99f6e118e2 | ||
|
|
e67336cef2 | ||
|
|
c81bd75616 | ||
|
|
1a8f8b020c | ||
|
|
5130a67f90 | ||
|
|
44b3a45813 |
5
.changeset/breezy-toys-judge.md
Normal file
5
.changeset/breezy-toys-judge.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
---
|
||||
|
||||
fix(server): web-enabled test
|
||||
5
.changeset/dirty-countries-play.md
Normal file
5
.changeset/dirty-countries-play.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): avoid ts error for Alerts
|
||||
5
.changeset/early-trainers-grin.md
Normal file
5
.changeset/early-trainers-grin.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
chore(api): avoid double registration of JSON bodyParser
|
||||
5
.changeset/eight-countries-think.md
Normal file
5
.changeset/eight-countries-think.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): start storybook on windows
|
||||
6
.changeset/eighty-apes-think.md
Normal file
6
.changeset/eighty-apes-think.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): update react-json-view
|
||||
13
.changeset/few-ears-deny.md
Normal file
13
.changeset/few-ears-deny.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
'@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
|
||||
5
.changeset/fresh-owls-hunt.md
Normal file
5
.changeset/fresh-owls-hunt.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
---
|
||||
|
||||
chore: expose config utils
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
'verdaccio-auth-memory': minor
|
||||
'@verdaccio/core': minor
|
||||
'@verdaccio/auth': minor
|
||||
---
|
||||
|
||||
fix: auth callback types
|
||||
9
.changeset/gold-files-speak.md
Normal file
9
.changeset/gold-files-speak.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/search': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
---
|
||||
|
||||
fix: uplink processing order
|
||||
5
.changeset/great-candles-hang.md
Normal file
5
.changeset/great-candles-hang.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
---
|
||||
|
||||
chore(ui): minor app improvements
|
||||
5
.changeset/hip-suns-jam.md
Normal file
5
.changeset/hip-suns-jam.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/e2e-cli-npm10': patch
|
||||
---
|
||||
|
||||
fix(e2e): name for npm10 test
|
||||
5
.changeset/large-turkeys-change.md
Normal file
5
.changeset/large-turkeys-change.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/auth': patch
|
||||
---
|
||||
|
||||
feat: add legacyMergeConfigs as option
|
||||
8
.changeset/nasty-experts-bow.md
Normal file
8
.changeset/nasty-experts-bow.md
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/types': patch
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(config): harmonize configuration options
|
||||
6
.changeset/nice-garlics-tie.md
Normal file
6
.changeset/nice-garlics-tie.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): flags import and minor updates
|
||||
5
.changeset/nine-onions-talk.md
Normal file
5
.changeset/nine-onions-talk.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): search chips when showUplinks is false
|
||||
7
.changeset/ninety-hotels-dance.md
Normal file
7
.changeset/ninety-hotels-dance.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
fix: handling for uplink timeouts
|
||||
5
.changeset/odd-fishes-cry.md
Normal file
5
.changeset/odd-fishes-cry.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
fix(middleware): scoped package for allow checks
|
||||
5
.changeset/old-clocks-destroy.md
Normal file
5
.changeset/old-clocks-destroy.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'verdaccio-memory': patch
|
||||
---
|
||||
|
||||
fix: memory plugin limit error message
|
||||
6
.changeset/pink-pants-try.md
Normal file
6
.changeset/pink-pants-try.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
fix(express): error loading middleware plugins
|
||||
@@ -60,7 +60,8 @@
|
||||
"@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/local-publish": "0.0.2",
|
||||
"@verdaccio/e2e-cli-npm10": "1.0.1"
|
||||
},
|
||||
"changesets": [
|
||||
"angry-doors-tan",
|
||||
@@ -68,6 +69,7 @@
|
||||
"blue-paws-cheer",
|
||||
"breezy-geckos-search",
|
||||
"bright-bobcats-ring",
|
||||
"brown-lions-talk",
|
||||
"brown-planets-approve",
|
||||
"calm-mangos-compare",
|
||||
"chatty-apricots-report",
|
||||
@@ -78,34 +80,52 @@
|
||||
"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",
|
||||
@@ -114,13 +134,17 @@
|
||||
"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"
|
||||
"wet-cats-behave",
|
||||
"yellow-flies-sniff"
|
||||
]
|
||||
}
|
||||
|
||||
5
.changeset/purple-planes-do.md
Normal file
5
.changeset/purple-planes-do.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui): format date distance test
|
||||
5
.changeset/red-dolls-repair.md
Normal file
5
.changeset/red-dolls-repair.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
chore: debug messages in loader
|
||||
41
.changeset/shiny-buttons-laugh.md
Normal file
41
.changeset/shiny-buttons-laugh.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
'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
|
||||
5
.changeset/short-turkeys-boil.md
Normal file
5
.changeset/short-turkeys-boil.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): reduce build size
|
||||
5
.changeset/silver-insects-train.md
Normal file
5
.changeset/silver-insects-train.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(ui): fix ts error due to excluded test folder
|
||||
5
.changeset/swift-zebras-cheer.md
Normal file
5
.changeset/swift-zebras-cheer.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/api': patch
|
||||
---
|
||||
|
||||
fix(api): cidr whitelist for tokens
|
||||
5
.changeset/ten-jeans-approve.md
Normal file
5
.changeset/ten-jeans-approve.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/local-storage': patch
|
||||
---
|
||||
|
||||
chore: remove obsolete test data from local-storage
|
||||
5
.changeset/tender-buckets-smoke.md
Normal file
5
.changeset/tender-buckets-smoke.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore: fix ui-component npmignore and readme
|
||||
5
.changeset/thick-dolphins-rule.md
Normal file
5
.changeset/thick-dolphins-rule.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
fix(middleware): properly derive the html cache key
|
||||
5
.changeset/twelve-games-wonder.md
Normal file
5
.changeset/twelve-games-wonder.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-i18n': patch
|
||||
---
|
||||
|
||||
fix(i18n): avoid fallback for en-us
|
||||
10
.changeset/yellow-flies-sniff.md
Normal file
10
.changeset/yellow-flies-sniff.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
'@verdaccio/search-indexer': patch
|
||||
'@verdaccio/server': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
fix: add legacyMergeConfigs legacy plugins
|
||||
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
39
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -17,24 +17,27 @@ assignees: ''
|
||||
- If you are willing to fix it, there is a checkbox at the bottom.
|
||||
-->
|
||||
|
||||
**Your Environment**
|
||||
<!-- bug below the version 5.x will be closed, see SECURITY.md for more details -->
|
||||
* **verdaccio version**: 5.x.x
|
||||
* **node version** [12.x.x, 14.x.x]:
|
||||
* **package manager**: [npm@7, pnpm@6, yarn@2]
|
||||
* **os**: [mac, windows@10, linux]
|
||||
* **platform**: [npm, docker, helm, other]
|
||||
**Your environment**
|
||||
|
||||
<!-- bugs below the version 6.x will be closed, see SECURITY.md and VERSIONS.md for more details -->
|
||||
<!-- Please paste the results of running `verdaccio --version` -->
|
||||
* **verdaccio version**: 6.x.x
|
||||
|
||||
<!-- Please paste the results of running `verdaccio --info` -->
|
||||
* **node version** [20.x.x, 22.x.x]:
|
||||
* **package manager**: [npm@10.x.x, pnpm@10.x.x, yarn@2.x.x]
|
||||
* **os**: [mac, windows@11, linux]
|
||||
* **platform**: [node, docker, helm, other]
|
||||
* **reverse proxy**: [yes, no]
|
||||
|
||||
**Describe the bug**
|
||||
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
**To Reproduce**
|
||||
**Steps to reproduce**
|
||||
|
||||
<!-- IMPORTANT:
|
||||
- How to reproduce the issue
|
||||
- Steps to reproduce the issue
|
||||
|
||||
Add step-by-step instructions on how to reproduce the bug.
|
||||
Be aware, the lack of reproducible steps the issue might cause your ticket to be closed.
|
||||
-->
|
||||
|
||||
@@ -42,17 +45,14 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
|
||||
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
**Screenshots, server logs, package manager log**
|
||||
**Screenshots, Verdaccio server log, package manager log**
|
||||
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
|
||||
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
|
||||
**Configuration file**
|
||||
|
||||
<!-- Please be careful do not leak any sensitive information, remove tokens -->
|
||||
|
||||
**Environment information**
|
||||
|
||||
<!-- Please paste the results of running `verdaccio --info` -->
|
||||
<!-- cat ~/.config/verdaccio/config.yaml -->
|
||||
<!-- Please be careful do not leak any sensitive information, remove usernames and tokens -->
|
||||
|
||||
**Debugging output**
|
||||
|
||||
@@ -66,6 +66,5 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
|
||||
- [ ] I'm willing to fix this bug 🥇
|
||||
|
||||
<!--
|
||||
|
||||
IMPORTANT: please do not attach external files, all content should be visible from any device.
|
||||
-->
|
||||
|
||||
2
.github/actions/cache-packages/action.yml
vendored
2
.github/actions/cache-packages/action.yml
vendored
@@ -6,7 +6,7 @@ runs:
|
||||
steps:
|
||||
- name: Cache Packages
|
||||
id: cache-packages
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ./packages/
|
||||
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
|
||||
|
||||
2
.github/actions/cache-store/action.yml
vendored
2
.github/actions/cache-store/action.yml
vendored
@@ -6,7 +6,7 @@ runs:
|
||||
steps:
|
||||
- name: Cache .pnpm-store
|
||||
id: cache-npm
|
||||
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}
|
||||
|
||||
2
.github/actions/install-app-node/action.yml
vendored
2
.github/actions/install-app-node/action.yml
vendored
@@ -22,7 +22,7 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
- name: Install pnpm
|
||||
|
||||
2
.github/actions/install-app/action.yml
vendored
2
.github/actions/install-app/action.yml
vendored
@@ -15,7 +15,7 @@ runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
|
||||
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -68,9 +68,7 @@ jobs:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
## updated according official maintained releases
|
||||
## https://nodejs.org/en/about/previous-releases
|
||||
node_version: [18, 20, 22, 23]
|
||||
node_version: [18, 20, 21, 22, 23]
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
@@ -88,7 +86,7 @@ jobs:
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
@@ -96,7 +94,7 @@ jobs:
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack install
|
||||
- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
|
||||
6
.github/workflows/codeql-analysis.yml
vendored
6
.github/workflows/codeql-analysis.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
|
||||
with:
|
||||
config: |
|
||||
paths-ignore:
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/autobuild@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -64,4 +64,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: npm setup
|
||||
|
||||
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
2
.github/workflows/docker-proxy-nginx-e2e.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
|
||||
|
||||
- name: Install node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: npm setup
|
||||
|
||||
2
.github/workflows/e2e-ui.yml
vendored
2
.github/workflows/e2e-ui.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
node-version: 20
|
||||
- name: Test UI
|
||||
run: pnpm test:e2e:ui
|
||||
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: videos
|
||||
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos
|
||||
|
||||
2
.github/workflows/website.yml
vendored
2
.github/workflows/website.yml
vendored
@@ -39,7 +39,7 @@ jobs:
|
||||
- name: Build Translations percentage
|
||||
run: pnpm --filter @verdaccio/local-scripts build
|
||||
- name: Cache Docusaurus Build
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
with:
|
||||
path: website/node_modules/.cache/webpack
|
||||
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm'
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 9'
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
|
||||
2
.github/workflows/x-e2e-audit-workflow.yml
vendored
2
.github/workflows/x-e2e-audit-workflow.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install npm 9'
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install npm 10'
|
||||
|
||||
77
.github/workflows/x-e2e-jest-workflow.yml
vendored
77
.github/workflows/x-e2e-jest-workflow.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install Dependencies
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install Dependencies
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm'
|
||||
@@ -108,7 +108,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 9'
|
||||
@@ -141,7 +141,7 @@ jobs:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: 'Use Node.js'
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
@@ -166,69 +166,4 @@ 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
|
||||
|
||||
2
.github/workflows/x-release-snapshot.yml
vendored
2
.github/workflows/x-release-snapshot.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/x-release.yml
vendored
2
.github/workflows/x-release.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/x-smok-test-docker.yml
vendored
2
.github/workflows/x-smok-test-docker.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Docker test
|
||||
|
||||
2
.github/workflows/x-smok-test-module.yml
vendored
2
.github/workflows/x-smok-test-module.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node (latest)
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Docker test
|
||||
|
||||
2
.github/workflows/yarn-ci-lint.yml
vendored
2
.github/workflows/yarn-ci-lint.yml
vendored
@@ -8,7 +8,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/yarn-ci.yml
vendored
2
.github/workflows/yarn-ci.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Use Node ${{ inputs.node_version }}
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||
with:
|
||||
node-version: ${{ inputs.node_version }}
|
||||
- name: Install
|
||||
|
||||
14
MIGRATE.md
Normal file
14
MIGRATE.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Migration Guidelines
|
||||
|
||||
## From 5.x to 6.x
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- Dropped support for Node.js 16: [#4835](https://github.com/verdaccio/verdaccio/pull/4835)
|
||||
|
||||
## From Below 5.x
|
||||
|
||||
Several blog articles are available to assist with migrating from older versions. However, please note that these versions are [deprecated](VERSIONS.md) and no longer receive any form of support.
|
||||
|
||||
- [Migrating Verdaccio (2019)](https://verdaccio.org/blog/2019/02/24/migrating-verdaccio/)
|
||||
- [Verdaccio 5 Migration Guide (2021)](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide)
|
||||
57
README.md
57
README.md
@@ -22,17 +22,20 @@ 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://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)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
|
||||
[](http://chat.verdaccio.org/)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://crowdin.com/project/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)
|
||||
[](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
|
||||
|
||||
## Versions
|
||||
@@ -285,14 +288,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
|
||||
|
||||
@@ -331,7 +334,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#sponsor)]
|
||||
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)
|
||||
@@ -346,32 +349,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#backer)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](../../graphs/contributors)
|
||||
[](https://github.com/verdaccio/verdaccio/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/verdaccio/verdaccio/issues?q=is%3Aissue+is%3Aopen+label%3Adiscuss)
|
||||
- [Running discussions](https://github.com/orgs/verdaccio/discussions)
|
||||
- [Chat](https://discord.gg/7qWJxBf)
|
||||
- [Logos](https://verdaccio.org/docs/en/logo)
|
||||
- [Logos](https://verdaccio.org/docs/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) is
|
||||
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/).
|
||||
|
||||
@@ -12,9 +12,7 @@ The following table describes the versions of this project:
|
||||
|
||||
## Migration Guide
|
||||
|
||||
The migration from Verdaccio v5/v6 to v7 contains breaking changes. Refer to the priliminary [migration guide](https://github.com/verdaccio/verdaccio/blob/master/docs/migration-v5-to-v6.md) for more information.
|
||||
|
||||
For migrations from older versions to v5/6 refer to the [v5 migration guide](https://verdaccio.org/blog/2021/04/14/verdaccio-5-migration-guide/).
|
||||
Read [the migration guidelines](MIGRATE.md)
|
||||
|
||||
### Deprecated Versions
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 KiB |
@@ -1,6 +1,6 @@
|
||||
# Verdaccio 6 Examples
|
||||
|
||||
> We recommend to have installed [docker-compose >= 1.29.0](https://github.com/docker/compose/releases/tag/1.29.2)
|
||||
> We recommend to have installed the latest docker-compose
|
||||
|
||||
## Mapping Volumes
|
||||
|
||||
@@ -20,3 +20,5 @@ 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)
|
||||
|
||||
17
docker-examples/v6/amazon-s3-docker-example/README.md
Normal file
17
docker-examples/v6/amazon-s3-docker-example/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# 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)
|
||||
@@ -0,0 +1,29 @@
|
||||
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
|
||||
10
docker-examples/v6/amazon-s3-docker-example/init-s3.py
Normal file
10
docker-examples/v6/amazon-s3-docker-example/init-s3.py
Normal file
@@ -0,0 +1,10 @@
|
||||
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")
|
||||
@@ -0,0 +1,9 @@
|
||||
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
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
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
|
||||
17
docker-examples/v6/verdaccio-github-oauth-ui/README.md
Normal file
17
docker-examples/v6/verdaccio-github-oauth-ui/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# GitHub OAuth Login with verdaccio-github-oauth-ui plugin and Verdaccio 6.x
|
||||
|
||||
This setup runs Verdaccio alongside verdaccio-github-oauth-ui plugin.
|
||||
|
||||
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
|
||||
```
|
||||
@@ -0,0 +1,15 @@
|
||||
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
|
||||
@@ -0,0 +1,9 @@
|
||||
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
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
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.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.12",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"debug": "4.4.0",
|
||||
"fs-extra": "11.2.0",
|
||||
"get-port": "5.1.1",
|
||||
"got": "11.8.6",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio": "workspace:8.0.0-next-8.12"
|
||||
"verdaccio": "workspace:8.0.0-next-8.15"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo no test",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @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-npm9",
|
||||
"version": "1.0.1",
|
||||
"name": "@verdaccio/e2e-cli-npm10",
|
||||
"version": "1.0.2-next-8.0",
|
||||
"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.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",
|
||||
"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",
|
||||
"debug": "4.4.0",
|
||||
"cypress": "^13.6.0",
|
||||
"get-port": "5.1.1"
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
"@babel/preset-typescript": "7.24.7",
|
||||
"@babel/register": "7.25.9",
|
||||
"@babel/runtime": "7.26.9",
|
||||
"@changesets/changelog-github": "0.5.0",
|
||||
"@changesets/changelog-github": "0.5.1",
|
||||
"@changesets/cli": "2.27.12",
|
||||
"@changesets/get-dependents-graph": "2.1.2",
|
||||
"@changesets/get-dependents-graph": "2.1.3",
|
||||
"@crowdin/cli": "4.4.1",
|
||||
"@dianmora/contributors": "5.0.0",
|
||||
"@emotion/react": "11.10.6",
|
||||
|
||||
6
packages/api/.npmignore
Normal file
6
packages/api/.npmignore
Normal file
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,5 +1,55 @@
|
||||
# @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
|
||||
|
||||
21
packages/api/LICENSE
Normal file
21
packages/api/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
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,12 +1,19 @@
|
||||
# @verdaccio/api
|
||||
# @verdaccio/api - Verdaccio Registry 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)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/api)
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](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
|
||||
|
||||
@@ -20,7 +27,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#sponsor)]
|
||||
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)
|
||||
@@ -35,9 +42,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#backer)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
[](https://opencollective.com/verdaccio/contributes)
|
||||
|
||||
## Special Thanks
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "8.1.0-next-8.12",
|
||||
"version": "8.1.0-next-8.15",
|
||||
"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.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",
|
||||
"@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",
|
||||
"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.3",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.4",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"mockdate": "3.0.5",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import buildDebug from 'debug';
|
||||
import express, { Router } from 'express';
|
||||
|
||||
import { Auth } from '@verdaccio/auth';
|
||||
@@ -24,6 +25,8 @@ 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();
|
||||
@@ -44,7 +47,14 @@ export default function (config: Config, auth: Auth, storage: Storage, logger: L
|
||||
app.param('org_couchdb_user', match(/^org\.couchdb\.user:/));
|
||||
|
||||
app.use(auth.apiJWTmiddleware());
|
||||
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
|
||||
|
||||
// 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(antiLoop(config));
|
||||
app.use(makeURLrelative);
|
||||
// encode / in a scoped package name to be matched as a single parameter in routes
|
||||
@@ -63,3 +73,10 @@ 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,
|
||||
validatioUtils,
|
||||
validationUtils,
|
||||
} 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 (!validatioUtils.validateUserName(req.params.org_couchdb_user, name)) {
|
||||
if (!validationUtils.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 (
|
||||
validatioUtils.validatePassword(
|
||||
validationUtils.validatePassword(
|
||||
password,
|
||||
config?.serverSettings?.passwordValidationRegex
|
||||
) === false
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
HTTP_STATUS,
|
||||
SUPPORT_ERRORS,
|
||||
errorUtils,
|
||||
validatioUtils,
|
||||
validationUtils,
|
||||
} 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 (
|
||||
validatioUtils.validatePassword(
|
||||
validationUtils.validatePassword(
|
||||
password.new,
|
||||
config?.serverSettings?.passwordValidationRegex
|
||||
) === false
|
||||
|
||||
@@ -14,12 +14,15 @@ import { mask, stringToMD5 } from '@verdaccio/utils';
|
||||
import { $NextFunctionVer, $RequestExtend } from '../../types/custom';
|
||||
|
||||
export type NormalizeToken = Token & {
|
||||
cidr_whitelist: string[];
|
||||
created: string;
|
||||
};
|
||||
|
||||
// npm expects "cidr_whitelist" for token list
|
||||
function normalizeToken(token: Token): NormalizeToken {
|
||||
return {
|
||||
...token,
|
||||
cidr_whitelist: token.cidr || [],
|
||||
created: new Date(token.created).toISOString(),
|
||||
};
|
||||
}
|
||||
|
||||
6
packages/auth/.npmignore
Normal file
6
packages/auth/.npmignore
Normal file
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,5 +1,50 @@
|
||||
# @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
|
||||
|
||||
21
packages/auth/LICENSE
Normal file
21
packages/auth/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
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,12 +1,19 @@
|
||||
# @verdaccio/auth
|
||||
# @verdaccio/auth - Verdaccio Authentication
|
||||
|
||||
[](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)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/auth)
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](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
|
||||
|
||||
@@ -20,7 +27,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#sponsor)]
|
||||
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)
|
||||
@@ -35,40 +42,39 @@ 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#backer)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
[](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/)
|
||||
[](https://balsamiq.com/)
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](../../graphs/contributors)
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
### FAQ / Contact / Troubleshoot
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
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.
|
||||
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/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)
|
||||
- [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) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
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/auth",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"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.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",
|
||||
"@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",
|
||||
"debug": "4.4.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.12"
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.15"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@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",
|
||||
"@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",
|
||||
"express": "4.21.2",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -59,12 +59,14 @@ 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) {
|
||||
public constructor(config: Config, logger: Logger, options = { legacyMergeConfigs: false }) {
|
||||
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');
|
||||
}
|
||||
@@ -123,6 +125,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
typeof allow_publish !== 'undefined'
|
||||
);
|
||||
},
|
||||
this.options.legacyMergeConfigs,
|
||||
this.config?.serverSettings?.pluginPrefix,
|
||||
PLUGIN_CATEGORY.AUTHENTICATION
|
||||
);
|
||||
@@ -191,7 +194,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, undefined);
|
||||
return cb(err);
|
||||
}
|
||||
|
||||
// Expect: SKIP if groups is falsey and not an array
|
||||
@@ -201,7 +204,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');
|
||||
@@ -212,7 +215,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 as string[]));
|
||||
return cb(err, createRemoteUser(username, groups));
|
||||
}
|
||||
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), undefined);
|
||||
cb(errorUtils.getForbidden(API_ERROR.BAD_USERNAME_PASSWORD));
|
||||
},
|
||||
|
||||
adduser(_user: string, _password: string, cb: pluginUtils.AuthUserCallback): void {
|
||||
|
||||
@@ -4,14 +4,7 @@ import supertest from 'supertest';
|
||||
import { describe, expect, test, vi } from 'vitest';
|
||||
|
||||
import { Config as AppConfig, ROLES, createRemoteUser, getDefaultConfig } from '@verdaccio/config';
|
||||
import {
|
||||
API_ERROR,
|
||||
HEADERS,
|
||||
HTTP_STATUS,
|
||||
SUPPORT_ERRORS,
|
||||
TOKEN_BEARER,
|
||||
errorUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { 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';
|
||||
@@ -103,7 +96,7 @@ describe('AuthTest', () => {
|
||||
});
|
||||
});
|
||||
|
||||
test('should be a fail on login due plugin failure', async () => {
|
||||
test('should be a fail on login', async () => {
|
||||
const config: Config = new AppConfig(authPluginFailureConf);
|
||||
config.checkSecretKey('12345');
|
||||
const auth: Auth = new Auth(config, logger);
|
||||
@@ -114,7 +107,7 @@ describe('AuthTest', () => {
|
||||
|
||||
auth.authenticate('foo', 'bar', callback);
|
||||
expect(callback).toHaveBeenCalledTimes(1);
|
||||
expect(callback).toHaveBeenCalledWith(errorUtils.getInternalError(), undefined);
|
||||
expect(callback).toHaveBeenCalledWith(errorUtils.getInternalError());
|
||||
});
|
||||
});
|
||||
|
||||
@@ -138,7 +131,6 @@ 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();
|
||||
}
|
||||
});
|
||||
|
||||
6
packages/cli/.npmignore
Normal file
6
packages/cli/.npmignore
Normal file
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,5 +1,40 @@
|
||||
# @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
|
||||
|
||||
21
packages/cli/LICENSE
Normal file
21
packages/cli/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
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,12 +1,19 @@
|
||||
# @verdaccio/cli
|
||||
# @verdaccio/cli - 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)
|
||||
[](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
|
||||
[](https://github.com/verdaccio/verdaccio)
|
||||
[](https://npmjs.com/package/@verdaccio/cli)
|
||||
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](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
|
||||
|
||||
@@ -20,7 +27,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#sponsor)]
|
||||
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)
|
||||
@@ -35,40 +42,39 @@ 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#backer)]
|
||||
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/verdaccio/contribute)]
|
||||
|
||||
[](https://opencollective.com/verdaccio#backers)
|
||||
[](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/)
|
||||
[](https://balsamiq.com/)
|
||||
[](https://www.jetbrains.com/)
|
||||
[](https://crowdin.com/)
|
||||
|
||||
## Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].
|
||||
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/verdaccio/verdaccio/blob/master/CONTRIBUTING.md)].
|
||||
|
||||
[](../../graphs/contributors)
|
||||
[](https://github.com/verdaccio/verdaccio/graphs/contributors)
|
||||
|
||||
### FAQ / Contact / Troubleshoot
|
||||
## FAQ / Contact / Troubleshoot
|
||||
|
||||
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.
|
||||
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/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)
|
||||
- [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) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
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/cli",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"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.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",
|
||||
"@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",
|
||||
"clipanion": "4.0.0-rc.4",
|
||||
"envinfo": "7.14.0",
|
||||
"kleur": "4.1.5",
|
||||
|
||||
6
packages/config/.npmignore
Normal file
6
packages/config/.npmignore
Normal file
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
!/bin/**/*
|
||||
!/build/**/*
|
||||
!index.js
|
||||
!LICENSE
|
||||
!README.md
|
||||
@@ -1,5 +1,36 @@
|
||||
# @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
|
||||
|
||||
21
packages/config/LICENSE
Normal file
21
packages/config/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
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,4 +1,19 @@
|
||||
# @verdaccio/config
|
||||
# @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)
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -69,9 +84,66 @@ 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.
|
||||
|
||||
### License
|
||||
## 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) is
|
||||
[Creative Commons licensed](https://github.com/verdaccio/verdaccio/blob/master/LICENSE-docs).
|
||||
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/config",
|
||||
"version": "8.0.0-next-8.12",
|
||||
"version": "8.0.0-next-8.15",
|
||||
"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.12",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.12",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.15",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.15",
|
||||
"debug": "4.4.0",
|
||||
"js-yaml": "4.1.0",
|
||||
"lodash": "4.17.21",
|
||||
|
||||
@@ -4,34 +4,38 @@
|
||||
# improve security.
|
||||
#
|
||||
# Look here for more config file examples:
|
||||
# https://github.com/verdaccio/verdaccio/tree/5.x/packages/config/src/conf/default.yaml
|
||||
# https://github.com/verdaccio/verdaccio/blob/master/docker-examples/README.md
|
||||
#
|
||||
# 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
|
||||
# custom colors for header background and font
|
||||
# Disable complete web UI
|
||||
# enabled: false
|
||||
# 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
|
||||
# comment out to disable gravatar support
|
||||
# Disable gravatar support
|
||||
# gravatar: false
|
||||
# by default packages are ordercer ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
# convert your UI to the dark side
|
||||
# By default, packages are ordered ascending
|
||||
# sort_packages: asc | desc
|
||||
# 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
|
||||
@@ -42,20 +46,25 @@ web:
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
#
|
||||
# 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>
|
||||
# scriptsBodyAfter:
|
||||
# - '<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/
|
||||
# - '<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/
|
||||
|
||||
# Settings for authentication plugin
|
||||
# https://verdaccio.org/docs/configuration#authentication
|
||||
auth:
|
||||
htpasswd:
|
||||
@@ -64,8 +73,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/
|
||||
@@ -97,7 +106,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
|
||||
|
||||
@@ -107,14 +116,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 resolve package will be `something-xxxx`.
|
||||
# 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`.
|
||||
# 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
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
@@ -123,18 +132,24 @@ 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/
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
#
|
||||
# Examples:
|
||||
# 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:
|
||||
@@ -160,12 +175,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
|
||||
@@ -177,36 +192,46 @@ 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 }
|
||||
#experiments:
|
||||
# # support for npm token command
|
||||
|
||||
# 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
|
||||
# token: false
|
||||
# # 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
|
||||
# # 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 i18n not available yet
|
||||
# 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:
|
||||
# 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,75 +1,80 @@
|
||||
#
|
||||
# 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
|
||||
# This is the default configuration file. It allows all users to do anything,
|
||||
# please read carefully the documentation and best practices to
|
||||
# improve security.
|
||||
#
|
||||
# Look here for more config file examples:
|
||||
# https://github.com/verdaccio/verdaccio/tree/5.x/packages/config/src/conf/docker.yaml
|
||||
# https://github.com/verdaccio/verdaccio/blob/master/docker-examples/README.md
|
||||
#
|
||||
# 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
|
||||
# custom colors for header background and font
|
||||
# Disable complete web UI
|
||||
# enabled: false
|
||||
# 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
|
||||
# Comment out to disable gravatar support
|
||||
# Disable gravatar support
|
||||
# gravatar: false
|
||||
# By default packages are ordered ascendant (asc|desc)
|
||||
# sort_packages: asc
|
||||
# By default, packages are ordered ascending
|
||||
# sort_packages: asc | desc
|
||||
# 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 a specific theme
|
||||
# In combination with darkMode you can force specific theme
|
||||
# showThemeSwitch: true
|
||||
# showFooter: true
|
||||
# showSearch: true
|
||||
# showRaw: true
|
||||
# showDownloadTarball: true
|
||||
# showUplinks: true
|
||||
# HTML tags injected after manifest <scripts/>
|
||||
#
|
||||
# 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>
|
||||
# scriptsBodyAfter:
|
||||
# - '<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/
|
||||
# - '<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/
|
||||
|
||||
# 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 "+infinity".
|
||||
# Maximum amount of users allowed to register, defaults to "+inf".
|
||||
# You can set this to -1 to disable registration.
|
||||
# max_users: 1000
|
||||
|
||||
# https://verdaccio.org/docs/configuration#uplinks
|
||||
# A list of other known repositories we can talk to
|
||||
# https://verdaccio.org/docs/configuration#uplinks
|
||||
uplinks:
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
@@ -86,14 +91,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
|
||||
@@ -106,21 +111,19 @@ packages:
|
||||
# https://verdaccio.org/docs/best#remove-proxy-to-increase-security-at-private-packages
|
||||
|
||||
# https://verdaccio.org/docs/configuration#server
|
||||
# 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.
|
||||
# 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.
|
||||
server:
|
||||
keepAliveTimeout: 60
|
||||
# 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`.
|
||||
# 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`.
|
||||
# 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
|
||||
# See: https://expressjs.com/en/guide/behind-proxies.html
|
||||
# https://expressjs.com/en/guide/behind-proxies.html
|
||||
# trustProxy: '127.0.0.1'
|
||||
|
||||
# https://verdaccio.org/docs/configuration#offline-publish
|
||||
@@ -129,18 +132,24 @@ 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/
|
||||
# VERDACCIO_PUBLIC_URL='https://somedomain.org';
|
||||
#
|
||||
# Examples:
|
||||
# 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:
|
||||
@@ -166,14 +175,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 using an HTTP Proxy
|
||||
# The HTTPS configuration is useful if you do not consider use a HTTP Proxy
|
||||
# https://verdaccio.org/docs/configuration#https
|
||||
# https:
|
||||
# key: ./path/verdaccio-key.pem
|
||||
@@ -183,23 +192,29 @@ 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 }
|
||||
#experiments:
|
||||
|
||||
# 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
|
||||
# token: false
|
||||
# # Enable tarball URL redirect for hosting tarball with a different server.
|
||||
@@ -211,8 +226,12 @@ 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 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
|
||||
# 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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user