Compare commits
105 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
ef6864c832 | ||
|
|
e4a153955e | ||
|
|
8209042ee7 | ||
|
|
d675459d73 | ||
|
|
c166a12b8b | ||
|
|
d82d07405a | ||
|
|
54899d969c | ||
|
|
e85648f017 | ||
|
|
95ac1242dc | ||
|
|
00c142f480 | ||
|
|
411087391a | ||
|
|
016f0c2bcd | ||
|
|
85e0e135aa | ||
|
|
13e0fdef08 | ||
|
|
83dbde5154 | ||
|
|
7e48ac6cde | ||
|
|
d1dcb2ccc3 | ||
|
|
66bc2843e1 | ||
|
|
dd2fa34e1f | ||
|
|
0bd3e8e7e7 | ||
|
|
dc89fa0269 | ||
|
|
ae9944ebf8 | ||
|
|
fc9447e805 | ||
|
|
12712f5547 | ||
|
|
e33f8446af | ||
|
|
c7d0290127 | ||
|
|
9fbae9a5c7 | ||
|
|
b6e9f4606e | ||
|
|
3b72253c9c | ||
|
|
f6a4f9f582 | ||
|
|
4166b31540 | ||
|
|
a7c1f36ec1 | ||
|
|
c256b1d97e | ||
|
|
92c128f735 | ||
|
|
e78686e961 | ||
|
|
d4225867df | ||
|
|
8d30c50c89 | ||
|
|
be28e6cc1b | ||
|
|
d9e8da40c4 | ||
|
|
6260eae1e8 | ||
|
|
8eb8975d66 | ||
|
|
96fdf89d20 | ||
|
|
cd61cd4dab | ||
|
|
e1ceeb051c | ||
|
|
ace32e1dd9 | ||
|
|
bcd90863f1 | ||
|
|
add1b7674b | ||
|
|
0823c446aa | ||
|
|
ffcf865ba8 | ||
|
|
150ac6e231 | ||
|
|
02f28e928e | ||
|
|
a85a6c58d6 | ||
|
|
ea6b31a4e5 | ||
|
|
1d4972bf93 | ||
|
|
0494295240 | ||
|
|
d9628a8fa4 | ||
|
|
53869d8eed | ||
|
|
bf0e09a509 | ||
|
|
3711b20816 | ||
|
|
a29e7d4b27 | ||
|
|
11055f6eb3 | ||
|
|
5ab899fa57 | ||
|
|
87e410478e | ||
|
|
96e0011655 | ||
|
|
22c3455918 | ||
|
|
27bda4c4b2 | ||
|
|
e80fa2df04 | ||
|
|
6a4f03b97b | ||
|
|
7ee74706b4 | ||
|
|
ef94596558 | ||
|
|
ecddde1870 | ||
|
|
b744cfec2a | ||
|
|
5e394ce970 | ||
|
|
9d4aa6ae32 |
6
.changeset/brown-lions-talk.md
Normal file
6
.changeset/brown-lions-talk.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
chore(deps): update webpack-dev-server to v5
|
||||
5
.changeset/calm-mangos-compare.md
Normal file
5
.changeset/calm-mangos-compare.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
fix(store): internal error when checking manifest
|
||||
@@ -13,6 +13,7 @@
|
||||
]
|
||||
],
|
||||
"ignoredPackages": [
|
||||
"@verdaccio/local-publish",
|
||||
"docusaurus-plugin-downloads",
|
||||
"docusaurus-plugin-contributors",
|
||||
"@verdaccio/test-cli-commons",
|
||||
|
||||
5
.changeset/curly-mirrors-smile.md
Normal file
5
.changeset/curly-mirrors-smile.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
---
|
||||
|
||||
chore(middleware): improve loop detection
|
||||
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
|
||||
7
.changeset/forty-hounds-matter.md
Normal file
7
.changeset/forty-hounds-matter.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'verdaccio': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
---
|
||||
|
||||
fix: internal error for unpublished tarball
|
||||
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
|
||||
6
.changeset/funny-fireants-tan.md
Normal file
6
.changeset/funny-fireants-tan.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/website': patch
|
||||
---
|
||||
|
||||
fix(proxy): validate protocol of proxy settings
|
||||
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/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
|
||||
7
.changeset/itchy-glasses-end.md
Normal file
7
.changeset/itchy-glasses-end.md
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': minor
|
||||
'@verdaccio/ui-components': minor
|
||||
'@verdaccio/ui-i18n': minor
|
||||
---
|
||||
|
||||
feat: new i18n package for ui
|
||||
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/ninety-geese-do.md
Normal file
5
.changeset/ninety-geese-do.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/config': patch
|
||||
---
|
||||
|
||||
fix: runtime dependency missing as explicit dependency
|
||||
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
|
||||
42
.changeset/pink-jeans-lick.md
Normal file
42
.changeset/pink-jeans-lick.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
'generator-verdaccio-plugin': patch
|
||||
'@verdaccio/logger-prettify': patch
|
||||
'@verdaccio/logger-commons': patch
|
||||
'@verdaccio/local-storage': 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/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/ui-i18n': patch
|
||||
'@verdaccio/signature': patch
|
||||
'verdaccio': patch
|
||||
'@verdaccio/url': patch
|
||||
'@verdaccio/node-api': patch
|
||||
'@verdaccio/loaders': patch
|
||||
'@verdaccio/config': patch
|
||||
'@verdaccio/search': patch
|
||||
'@verdaccio/hooks': patch
|
||||
'@verdaccio/proxy': patch
|
||||
'@verdaccio/store': patch
|
||||
'@verdaccio/utils': patch
|
||||
'@verdaccio/auth': patch
|
||||
'@verdaccio/api': patch
|
||||
'@verdaccio/cli': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore: package.json maintenance
|
||||
5
.changeset/popular-trees-grin.md
Normal file
5
.changeset/popular-trees-grin.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui-components): remove test warnings
|
||||
@@ -14,6 +14,7 @@
|
||||
"@verdaccio/e2e-cli-yarn3": "1.0.1",
|
||||
"@verdaccio/e2e-cli-yarn4": "1.0.1",
|
||||
"@verdaccio/e2e-ui": "2.0.0",
|
||||
"@verdaccio/ui-i18n": "8.0.0",
|
||||
"@verdaccio/api": "7.0.0",
|
||||
"@verdaccio/auth": "7.0.0",
|
||||
"@verdaccio/cli": "7.0.0",
|
||||
@@ -48,7 +49,6 @@
|
||||
"@verdaccio/eslint-config": "3.0.0",
|
||||
"generator-verdaccio-plugin": "5.0.0",
|
||||
"@verdaccio/test-helper": "3.0.0",
|
||||
"@verdaccio/local-publish": "0.0.2",
|
||||
"@verdaccio/local-scripts": "1.0.0",
|
||||
"customprefix-auth": "2.0.0",
|
||||
"@verdaccio/ui-components": "3.0.0",
|
||||
@@ -59,7 +59,9 @@
|
||||
"@verdaccio/e2e-cli-npm-common": "1.0.0",
|
||||
"@verdaccio/e2e-cli-pnpm-common": "1.0.2-next-8.0",
|
||||
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
|
||||
"docusaurus-plugin-downloads": "2.0.0"
|
||||
"docusaurus-plugin-downloads": "2.0.0",
|
||||
"@verdaccio/local-publish": "0.0.2",
|
||||
"@verdaccio/e2e-cli-npm10": "1.0.1"
|
||||
},
|
||||
"changesets": [
|
||||
"angry-doors-tan",
|
||||
@@ -67,45 +69,81 @@
|
||||
"blue-paws-cheer",
|
||||
"breezy-geckos-search",
|
||||
"bright-bobcats-ring",
|
||||
"brown-lions-talk",
|
||||
"brown-planets-approve",
|
||||
"calm-mangos-compare",
|
||||
"chatty-apricots-report",
|
||||
"clean-beds-wash",
|
||||
"clever-bees-happen",
|
||||
"cool-seals-watch",
|
||||
"curly-mirrors-smile",
|
||||
"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",
|
||||
"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",
|
||||
"slow-cars-guess",
|
||||
"smooth-games-share",
|
||||
"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"
|
||||
"weak-cherries-serve",
|
||||
"wet-cats-behave",
|
||||
"yellow-flies-sniff"
|
||||
]
|
||||
}
|
||||
|
||||
5
.changeset/proud-houses-switch.md
Normal file
5
.changeset/proud-houses-switch.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
fix(web): anonymous user handling
|
||||
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/quick-avocados-type.md
Normal file
5
.changeset/quick-avocados-type.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-components': patch
|
||||
---
|
||||
|
||||
fix(ui-components): typings for vitest/jest-dom
|
||||
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
|
||||
6
.changeset/silent-tips-admire.md
Normal file
6
.changeset/silent-tips-admire.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore: export and constant on middleware
|
||||
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/tricky-knives-end.md
Normal file
5
.changeset/tricky-knives-end.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
fix(store): update deprecate state
|
||||
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
|
||||
6
.changeset/violet-baboons-beg.md
Normal file
6
.changeset/violet-baboons-beg.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/middleware': patch
|
||||
'@verdaccio/web': patch
|
||||
---
|
||||
|
||||
chore: middleware package update
|
||||
6
.changeset/violet-bobcats-allow.md
Normal file
6
.changeset/violet-bobcats-allow.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@verdaccio/core': patch
|
||||
'@verdaccio/store': patch
|
||||
---
|
||||
|
||||
chore: add package parameter to storage plugin interface
|
||||
5
.changeset/wet-cats-behave.md
Normal file
5
.changeset/wet-cats-behave.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-i18n': patch
|
||||
---
|
||||
|
||||
fix: ignore duplicted files
|
||||
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
|
||||
@@ -1,3 +1,4 @@
|
||||
assets/**/*
|
||||
**/fixtures/**
|
||||
**/mock/store/**
|
||||
**/partials/**
|
||||
|
||||
5
.gitattributes
vendored
5
.gitattributes
vendored
@@ -13,7 +13,7 @@
|
||||
## Handle line endings automatically for files detected as
|
||||
## text and leave all files detected as binary untouched.
|
||||
## This will handle all files NOT defined below.
|
||||
* text=lf
|
||||
* text eol=lf
|
||||
|
||||
# Source code
|
||||
*.bash text eol=lf
|
||||
@@ -197,3 +197,6 @@ Procfile text eol=lf
|
||||
|
||||
# Ignore files (like .npmignore or .gitignore)
|
||||
*.*ignore text eol=lf
|
||||
|
||||
# Test Snapshots
|
||||
*.snap text eol=lf
|
||||
|
||||
1
.github/actions/install-app-node/action.yml
vendored
1
.github/actions/install-app-node/action.yml
vendored
@@ -27,6 +27,7 @@ runs:
|
||||
node-version: ${{ inputs.node-version }}
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack prepare
|
||||
shell: bash
|
||||
|
||||
1
.github/actions/install-app/action.yml
vendored
1
.github/actions/install-app/action.yml
vendored
@@ -20,6 +20,7 @@ runs:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack prepare
|
||||
shell: bash
|
||||
|
||||
1
.github/disabled/ci-windows.yml
vendored
1
.github/disabled/ci-windows.yml
vendored
@@ -25,6 +25,7 @@ jobs:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack install
|
||||
- name: set store
|
||||
|
||||
36
.github/workflows/changesets-pr.yml
vendored
Normal file
36
.github/workflows/changesets-pr.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
name: Changesets Publish Test
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: changeset-pr-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
version:
|
||||
if: github.event.pull_request.head.repo.fork == false
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Install dependencies with a custom registry
|
||||
uses: ./.github/actions/install-app
|
||||
- name: crowdin download
|
||||
env:
|
||||
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
||||
CONTEXT: production
|
||||
run: pnpm crowdin:download
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Docker test
|
||||
run: |
|
||||
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio:6
|
||||
- name: login
|
||||
run: npx npm-cli-login -u test -p 1234 -e test@domain.test -r http://localhost:4873
|
||||
- name: Prepare
|
||||
# to allow local snapshot
|
||||
run: rm .changeset/pre.json
|
||||
- name: Create snapshot
|
||||
run: pnpm local:snapshots
|
||||
- name: Changeset version
|
||||
run: pnpm local:publish
|
||||
38
.github/workflows/changesets.yml
vendored
38
.github/workflows/changesets.yml
vendored
@@ -1,9 +1,7 @@
|
||||
name: Changesets
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
@@ -19,40 +17,16 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- name: checkout code repository
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: setup node.js
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
|
||||
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack install
|
||||
|
||||
- name: setup pnpm config
|
||||
run: pnpm config set store-dir $PNPM_CACHE_FOLDER
|
||||
- name: setup pnpm config registry
|
||||
run: pnpm config set registry https://registry.npmjs.org
|
||||
|
||||
- name: install dependencies
|
||||
run: pnpm install
|
||||
env:
|
||||
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- name: Install dependencies with a custom registry
|
||||
uses: ./.github/actions/install-app
|
||||
- name: crowdin download
|
||||
env:
|
||||
env:
|
||||
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
||||
CONTEXT: production
|
||||
run: pnpm crowdin:download
|
||||
run: pnpm crowdin:download
|
||||
- name: build
|
||||
run: pnpm build
|
||||
|
||||
- name: create versions
|
||||
uses: changesets/action@master
|
||||
with:
|
||||
|
||||
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@@ -91,9 +91,10 @@ jobs:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
npm install --global corepack@latest
|
||||
corepack enable
|
||||
corepack install
|
||||
- uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
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@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
|
||||
uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
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@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
|
||||
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
|
||||
# ℹ️ 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@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
|
||||
uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
|
||||
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
|
||||
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
driver-opts: network=host
|
||||
|
||||
12
.github/workflows/e2e-ci.yml
vendored
12
.github/workflows/e2e-ci.yml
vendored
@@ -45,7 +45,7 @@ jobs:
|
||||
npm9,
|
||||
npm10
|
||||
]
|
||||
node: [18, 23]
|
||||
node: [22]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -59,7 +59,7 @@ jobs:
|
||||
- name: Restore cache pnpm store
|
||||
uses: ./.github/actions/cache-packages
|
||||
- name: Test CLI
|
||||
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
|
||||
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
|
||||
|
||||
e2e-cli-pnpm:
|
||||
needs: [prepare, build]
|
||||
@@ -72,7 +72,7 @@ jobs:
|
||||
pnpm9,
|
||||
pnpm10,
|
||||
]
|
||||
node: [18, 23]
|
||||
node: [22]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -86,7 +86,7 @@ jobs:
|
||||
- name: Restore cache pnpm store
|
||||
uses: ./.github/actions/cache-packages
|
||||
- name: Test CLI
|
||||
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
|
||||
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
|
||||
e2e-cli-yarn:
|
||||
needs: [prepare, build]
|
||||
strategy:
|
||||
@@ -99,7 +99,7 @@ jobs:
|
||||
yarn3,
|
||||
yarn4
|
||||
]
|
||||
node: [18, 23]
|
||||
node: [22]
|
||||
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -113,5 +113,5 @@ jobs:
|
||||
- name: Restore cache pnpm store
|
||||
uses: ./.github/actions/cache-packages
|
||||
- name: Test CLI
|
||||
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
|
||||
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
|
||||
|
||||
|
||||
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@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
with:
|
||||
name: videos
|
||||
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos
|
||||
|
||||
2
.github/workflows/shared-docker-publish.yml
vendored
2
.github/workflows/shared-docker-publish.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
|
||||
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
driver-opts: network=host
|
||||
|
||||
36
.github/workflows/ui-components.yml
vendored
36
.github/workflows/ui-components.yml
vendored
@@ -1,40 +1,36 @@
|
||||
name: UI Components
|
||||
|
||||
on:
|
||||
# pull_request:
|
||||
# Disabled temporary
|
||||
# push:
|
||||
# branches:
|
||||
# - master
|
||||
workflow_dispatch:
|
||||
# schedule:
|
||||
# - cron: '0 0 * * *'
|
||||
|
||||
concurrency:
|
||||
group: ui-deploy-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
env:
|
||||
DEBUG: verdaccio*
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
deployments: write
|
||||
pull-requests: write # to comment on pull-requests
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'verdaccio/verdaccio'
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
|
||||
- name: Install dependencies with a custom registry
|
||||
uses: ./.github/actions/install-app
|
||||
|
||||
- name: Install pnpm
|
||||
run: |
|
||||
corepack enable
|
||||
corepack install
|
||||
- name: Install
|
||||
run: pnpm install
|
||||
- name: crowdin download
|
||||
env:
|
||||
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
||||
CONTEXT: production
|
||||
run: pnpm crowdin:download
|
||||
- name: Build modules
|
||||
run: pnpm build
|
||||
- name: Build storybook
|
||||
run: pnpm ui:storybook:build
|
||||
- name: Copy public content
|
||||
|
||||
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@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
|
||||
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
|
||||
with:
|
||||
path: website/node_modules/.cache/webpack
|
||||
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
|
||||
73
.github/workflows/x-e2e-jest-workflow.yml
vendored
73
.github/workflows/x-e2e-jest-workflow.yml
vendored
@@ -1,6 +1,6 @@
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
|
||||
jobs:
|
||||
yarn:
|
||||
name: 'yarn:jest example'
|
||||
@@ -132,7 +132,7 @@ 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
|
||||
yarn jest module.test.js
|
||||
npm10:
|
||||
name: 'npm10:jest example'
|
||||
runs-on: ubuntu-latest
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
- name: 'install latest npm 10'
|
||||
run: npm i -g npm@next-10
|
||||
run: npm i -g npm@next-10
|
||||
- name: Install Dependencies
|
||||
run: yarn install
|
||||
- name: 'Run verdaccio in the background'
|
||||
@@ -163,72 +163,7 @@ jobs:
|
||||
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
|
||||
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@latest-8
|
||||
- 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@latest-9
|
||||
- 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
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -17,6 +17,10 @@ test-storage*
|
||||
# docker examples
|
||||
docker-examples/v5/reverse_proxy/nginx/relative_path/storage/*
|
||||
docker-examples/v5/**/storage/*
|
||||
docker-examples/v4/**/storage/*
|
||||
docker-examples/v6/**/storage/*
|
||||
docker-examples/v7/**/storage/*
|
||||
docker-examples/v8/**/storage/*
|
||||
|
||||
# jest
|
||||
reports/
|
||||
@@ -36,6 +40,7 @@ packages/standalone/dist/
|
||||
packages/plugins/ui-theme/static
|
||||
/packages/plugins/ui-theme/src/i18n/download_translations/
|
||||
!/packages/plugins/ui-theme/src/i18n/crowdin/ui.json
|
||||
/packages/core/**/download_translations/
|
||||
|
||||
## ui tests
|
||||
!/packages/ui-components/vitest/api/*.tgz
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
.cache/
|
||||
assets/**/*
|
||||
**/corrupted-package/package.json
|
||||
**/corrupted.json
|
||||
**/invalid.js
|
||||
|
||||
@@ -11,12 +11,13 @@ RUN apk --no-cache add openssl ca-certificates wget && \
|
||||
|
||||
WORKDIR /opt/verdaccio-build
|
||||
COPY . .
|
||||
RUN npm -g i pnpm@8.9.0 && \
|
||||
RUN npm -g i corepack && \
|
||||
corepack install && \
|
||||
pnpm config set registry $VERDACCIO_BUILD_REGISTRY && \
|
||||
pnpm install --frozen-lockfile --ignore-scripts && \
|
||||
rm -Rf test && \
|
||||
pnpm run build
|
||||
# FIXME: need to remove devDependencies from the build
|
||||
# FIXME: need to remove devDependencies from the build
|
||||
# NODE_ENV=production pnpm install --frozen-lockfile --ignore-scripts
|
||||
# RUN pnpm install --prod --ignore-scripts
|
||||
|
||||
|
||||
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/).
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
@@ -6,6 +6,8 @@ api_token_env: CROWDIN_VERDACCIO_API_KEY
|
||||
preserve_hierarchy: true
|
||||
|
||||
files:
|
||||
- source: /packages/core/i18n/src/crowdin/*.json
|
||||
translation: '/packages/core/i18n/src/download_translations/%locale%/%original_file_name%'
|
||||
- source: /packages/plugins/ui-theme/src/i18n/crowdin/*.json
|
||||
translation: '/packages/plugins/ui-theme/src/i18n/download_translations/%locale%/%original_file_name%'
|
||||
- source: /website/i18n/en/**/*
|
||||
@@ -16,4 +18,3 @@ files:
|
||||
- source: /website/versioned_docs/**/*
|
||||
translation: /website/i18n/%locale%/docusaurus-plugin-content-docs/**/%original_file_name%
|
||||
ignore: [/website/versioned_docs/version-6.x/api/**/*]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -4,16 +4,16 @@
|
||||
"version": "2.0.0-next-8.0",
|
||||
"main": "src/index.ts",
|
||||
"devDependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@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.8"
|
||||
"verdaccio": "workspace:8.0.0-next-8.14"
|
||||
},
|
||||
"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.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.3",
|
||||
"verdaccio": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/test-helper": "workspace:4.0.0-next-8.4",
|
||||
"debug": "4.4.0",
|
||||
"cypress": "^13.6.0",
|
||||
"get-port": "5.1.1"
|
||||
|
||||
22
package.json
22
package.json
@@ -16,7 +16,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/cli": "7.26.4",
|
||||
"@babel/core": "7.26.7",
|
||||
"@babel/core": "7.26.9",
|
||||
"@babel/eslint-parser": "7.25.9",
|
||||
"@babel/node": "7.26.0",
|
||||
"@babel/plugin-proposal-decorators": "7.25.9",
|
||||
@@ -33,14 +33,14 @@
|
||||
"@babel/plugin-transform-numeric-separator": "7.25.9",
|
||||
"@babel/plugin-transform-object-rest-spread": "7.25.9",
|
||||
"@babel/plugin-transform-optional-chaining": "7.25.9",
|
||||
"@babel/plugin-transform-runtime": "7.25.9",
|
||||
"@babel/preset-env": "7.26.7",
|
||||
"@babel/plugin-transform-runtime": "7.26.9",
|
||||
"@babel/preset-env": "7.26.9",
|
||||
"@babel/preset-react": "7.26.3",
|
||||
"@babel/preset-typescript": "7.24.7",
|
||||
"@babel/register": "7.25.9",
|
||||
"@babel/runtime": "7.26.7",
|
||||
"@babel/runtime": "7.26.9",
|
||||
"@changesets/changelog-github": "0.5.0",
|
||||
"@changesets/cli": "2.27.11",
|
||||
"@changesets/cli": "2.27.12",
|
||||
"@changesets/get-dependents-graph": "2.1.2",
|
||||
"@crowdin/cli": "4.4.1",
|
||||
"@dianmora/contributors": "5.0.0",
|
||||
@@ -58,10 +58,10 @@
|
||||
"@types/express": "4.17.21",
|
||||
"@types/express-serve-static-core": "4.19.5",
|
||||
"@types/http-errors": "2.0.4",
|
||||
"@types/jest": "29.5.14",
|
||||
"@types/jsonwebtoken": "9.0.6",
|
||||
"@types/lodash": "4.17.7",
|
||||
"@types/mime": "3.0.4",
|
||||
"@types/jest": "29.5.14",
|
||||
"@types/minimatch": "5.1.2",
|
||||
"@types/node": "20.14.12",
|
||||
"@types/node-fetch": "2.6.11",
|
||||
@@ -84,8 +84,8 @@
|
||||
"@types/yeoman-test": "4.0.6",
|
||||
"@typescript-eslint/eslint-plugin": "6.21.0",
|
||||
"@typescript-eslint/parser": "6.21.0",
|
||||
"@verdaccio/local-scripts": "workspace:*",
|
||||
"@verdaccio/eslint-config": "workspace:*",
|
||||
"@verdaccio/local-scripts": "workspace:*",
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"@verdaccio/ui-theme": "workspace:*",
|
||||
"@vitest/coverage-v8": "3.0.4",
|
||||
@@ -112,11 +112,11 @@
|
||||
"react-dom": "18.3.1",
|
||||
"rimraf": "5.0.10",
|
||||
"selfsigned": "2.4.1",
|
||||
"semver": "^7.6.3",
|
||||
"supertest": "7.0.0",
|
||||
"ts-node": "10.9.2",
|
||||
"typescript": "5.3.3",
|
||||
"undici-types": "5.28.2",
|
||||
"semver": "^7.6.3",
|
||||
"undici-types": "5.28.4",
|
||||
"update-ts-references": "3.6.0",
|
||||
"verdaccio-audit": "workspace:*",
|
||||
"verdaccio-auth-memory": "workspace:*",
|
||||
@@ -157,7 +157,7 @@
|
||||
"ts:ref": "update-ts-references --discardComments",
|
||||
"website": "pnpm --filter ...@verdaccio/website build",
|
||||
"ui:storybook:build": "pnpm --filter ...@verdaccio/ui-components build-storybook",
|
||||
"ui:storybook": "pnpm --filter ...@verdaccio/ui-components storybook",
|
||||
"ui:storybook": "pnpm --filter ...@verdaccio/ui-components start",
|
||||
"translations": "local-crowdin-api translations",
|
||||
"crowdin:upload": "crowdin upload sources --auto-update --config ./crowdin.yaml",
|
||||
"crowdin:download": "crowdin download --verbose --config ./crowdin.yaml",
|
||||
@@ -176,5 +176,5 @@
|
||||
"*.{js,jsx,ts,tsx,json,yml,yaml,md}": "prettier --write",
|
||||
"*.{js,jsx,ts,tsx}": "eslint --cache --fix"
|
||||
},
|
||||
"packageManager": "pnpm@8.14.0+sha256.9cebf61abd83f68177b29484da72da9751390eaad46dfc3072d266bfbb1ba7bf"
|
||||
"packageManager": "pnpm@10.5.2"
|
||||
}
|
||||
|
||||
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,98 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 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
|
||||
|
||||
- Updated dependencies [95ac124]
|
||||
- @verdaccio/core@8.0.0-next-8.12
|
||||
- @verdaccio/store@8.0.0-next-8.12
|
||||
- @verdaccio/auth@8.0.0-next-8.12
|
||||
- @verdaccio/config@8.0.0-next-8.12
|
||||
- @verdaccio/middleware@8.0.0-next-8.12
|
||||
- @verdaccio/utils@8.1.0-next-8.12
|
||||
- @verdaccio/logger@8.0.0-next-8.12
|
||||
|
||||
## 8.1.0-next-8.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [83dbde5]
|
||||
- Updated dependencies [4110873]
|
||||
- Updated dependencies [85e0e13]
|
||||
- Updated dependencies [7e48ac6]
|
||||
- Updated dependencies [66bc284]
|
||||
- @verdaccio/store@8.0.0-next-8.11
|
||||
- @verdaccio/middleware@8.0.0-next-8.11
|
||||
- @verdaccio/utils@8.1.0-next-8.11
|
||||
- @verdaccio/auth@8.0.0-next-8.11
|
||||
- @verdaccio/config@8.0.0-next-8.11
|
||||
- @verdaccio/core@8.0.0-next-8.11
|
||||
- @verdaccio/logger@8.0.0-next-8.11
|
||||
|
||||
## 8.1.0-next-8.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bf0e09a]
|
||||
- @verdaccio/config@8.0.0-next-8.10
|
||||
- @verdaccio/auth@8.0.0-next-8.10
|
||||
- @verdaccio/middleware@8.0.0-next-8.10
|
||||
- @verdaccio/store@8.0.0-next-8.10
|
||||
- @verdaccio/core@8.0.0-next-8.10
|
||||
- @verdaccio/utils@8.1.0-next-8.10
|
||||
- @verdaccio/logger@8.0.0-next-8.10
|
||||
|
||||
## 8.1.0-next-8.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [96e0011]
|
||||
- @verdaccio/middleware@8.0.0-next-8.9
|
||||
- @verdaccio/auth@8.0.0-next-8.9
|
||||
- @verdaccio/core@8.0.0-next-8.9
|
||||
- @verdaccio/config@8.0.0-next-8.9
|
||||
- @verdaccio/store@8.0.0-next-8.9
|
||||
- @verdaccio/utils@8.1.0-next-8.9
|
||||
- @verdaccio/logger@8.0.0-next-8.9
|
||||
|
||||
## 8.1.0-next-8.8
|
||||
|
||||
### 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "8.1.0-next-8.8",
|
||||
"description": "loaders logic",
|
||||
"version": "8.1.0-next-8.14",
|
||||
"description": "Verdaccio Registry API",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
"author": {
|
||||
@@ -10,7 +10,11 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
"url": "https://github.com/verdaccio/verdaccio"
|
||||
"url": "https://github.com/verdaccio/verdaccio",
|
||||
"directory": "packages/api"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/verdaccio/verdaccio/issues"
|
||||
},
|
||||
"homepage": "https://verdaccio.org",
|
||||
"keywords": [
|
||||
@@ -38,13 +42,13 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.8",
|
||||
"@verdaccio/auth": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/store": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.14",
|
||||
"abortcontroller-polyfill": "1.7.8",
|
||||
"body-parser": "1.20.3",
|
||||
"cookies": "0.9.1",
|
||||
@@ -52,11 +56,11 @@
|
||||
"express": "4.21.2",
|
||||
"lodash": "4.17.21",
|
||||
"mime": "2.6.0",
|
||||
"semver": "7.6.3"
|
||||
"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,9 +10,9 @@ import {
|
||||
HEADERS,
|
||||
HTTP_STATUS,
|
||||
errorUtils,
|
||||
validatioUtils,
|
||||
validationUtils,
|
||||
} from '@verdaccio/core';
|
||||
import { rateLimit } from '@verdaccio/middleware';
|
||||
import { USER_API_ENDPOINTS, rateLimit } from '@verdaccio/middleware';
|
||||
import { Logger } from '@verdaccio/types';
|
||||
import { Config, RemoteUser } from '@verdaccio/types';
|
||||
import { getAuthenticatedMessage, mask } from '@verdaccio/utils';
|
||||
@@ -23,7 +23,7 @@ const debug = buildDebug('verdaccio:api:user');
|
||||
|
||||
export default function (route: Router, auth: Auth, config: Config, logger: Logger): void {
|
||||
route.get(
|
||||
'/-/user/:org_couchdb_user',
|
||||
USER_API_ENDPOINTS.get_user,
|
||||
rateLimit(config?.userRateLimit),
|
||||
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
|
||||
debug('verifying user');
|
||||
@@ -70,14 +70,14 @@ export default function (route: Router, auth: Auth, config: Config, logger: Logg
|
||||
* @param {Config} config
|
||||
*/
|
||||
route.put(
|
||||
'/-/user/:org_couchdb_user/:_rev?/:revision?',
|
||||
USER_API_ENDPOINTS.add_user,
|
||||
rateLimit(config?.userRateLimit),
|
||||
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
|
||||
const { name, password } = req.body;
|
||||
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
|
||||
@@ -168,7 +168,7 @@ export default function (route: Router, auth: Auth, config: Config, logger: Logg
|
||||
);
|
||||
|
||||
route.delete(
|
||||
'/-/user/token/*',
|
||||
USER_API_ENDPOINTS.user_token,
|
||||
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
|
||||
res.status(HTTP_STATUS.OK);
|
||||
next({
|
||||
|
||||
@@ -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
|
||||
|
||||
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,85 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 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
|
||||
|
||||
- Updated dependencies [95ac124]
|
||||
- @verdaccio/core@8.0.0-next-8.12
|
||||
- @verdaccio/config@8.0.0-next-8.12
|
||||
- @verdaccio/loaders@8.0.0-next-8.4
|
||||
- verdaccio-htpasswd@13.0.0-next-8.12
|
||||
- @verdaccio/utils@8.1.0-next-8.12
|
||||
- @verdaccio/signature@8.0.0-next-8.4
|
||||
|
||||
## 8.0.0-next-8.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [85e0e13]
|
||||
- @verdaccio/utils@8.1.0-next-8.11
|
||||
- @verdaccio/config@8.0.0-next-8.11
|
||||
- @verdaccio/loaders@8.0.0-next-8.4
|
||||
- verdaccio-htpasswd@13.0.0-next-8.11
|
||||
- @verdaccio/signature@8.0.0-next-8.3
|
||||
- @verdaccio/core@8.0.0-next-8.11
|
||||
|
||||
## 8.0.0-next-8.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bf0e09a]
|
||||
- @verdaccio/config@8.0.0-next-8.10
|
||||
- @verdaccio/loaders@8.0.0-next-8.4
|
||||
- verdaccio-htpasswd@13.0.0-next-8.10
|
||||
- @verdaccio/signature@8.0.0-next-8.2
|
||||
- @verdaccio/core@8.0.0-next-8.10
|
||||
- @verdaccio/utils@8.1.0-next-8.10
|
||||
|
||||
## 8.0.0-next-8.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@8.0.0-next-8.9
|
||||
- @verdaccio/config@8.0.0-next-8.9
|
||||
- @verdaccio/loaders@8.0.0-next-8.4
|
||||
- verdaccio-htpasswd@13.0.0-next-8.9
|
||||
- @verdaccio/utils@8.1.0-next-8.9
|
||||
- @verdaccio/signature@8.0.0-next-8.1
|
||||
|
||||
## 8.0.0-next-8.8
|
||||
|
||||
### 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "8.0.0-next-8.8",
|
||||
"description": "logger",
|
||||
"version": "8.0.0-next-8.14",
|
||||
"description": "Verdaccio Authentication",
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
"author": {
|
||||
@@ -10,7 +10,11 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
"url": "https://github.com/verdaccio/verdaccio"
|
||||
"url": "https://github.com/verdaccio/verdaccio",
|
||||
"directory": "packages/auth"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/verdaccio/verdaccio/issues"
|
||||
},
|
||||
"homepage": "https://verdaccio.org",
|
||||
"keywords": [
|
||||
@@ -38,19 +42,19 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.4",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.1",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.8",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/loaders": "workspace:8.0.0-next-8.6",
|
||||
"@verdaccio/signature": "workspace:8.0.0-next-8.6",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.14",
|
||||
"debug": "4.4.0",
|
||||
"lodash": "4.17.21",
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.8"
|
||||
"verdaccio-htpasswd": "workspace:13.0.0-next-8.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.3",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/middleware": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/types": "workspace:13.0.0-next-8.5",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.14",
|
||||
"express": "4.21.2",
|
||||
"supertest": "7.0.0"
|
||||
},
|
||||
|
||||
@@ -123,6 +123,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
|
||||
typeof allow_publish !== 'undefined'
|
||||
);
|
||||
},
|
||||
false,
|
||||
this.config?.serverSettings?.pluginPrefix,
|
||||
PLUGIN_CATEGORY.AUTHENTICATION
|
||||
);
|
||||
|
||||
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,69 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 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
|
||||
|
||||
- Updated dependencies [95ac124]
|
||||
- @verdaccio/core@8.0.0-next-8.12
|
||||
- @verdaccio/config@8.0.0-next-8.12
|
||||
- @verdaccio/node-api@8.0.0-next-8.12
|
||||
- @verdaccio/logger@8.0.0-next-8.12
|
||||
|
||||
## 8.0.0-next-8.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/config@8.0.0-next-8.11
|
||||
- @verdaccio/node-api@8.0.0-next-8.11
|
||||
- @verdaccio/core@8.0.0-next-8.11
|
||||
- @verdaccio/logger@8.0.0-next-8.11
|
||||
|
||||
## 8.0.0-next-8.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [bf0e09a]
|
||||
- @verdaccio/config@8.0.0-next-8.10
|
||||
- @verdaccio/node-api@8.0.0-next-8.10
|
||||
- @verdaccio/core@8.0.0-next-8.10
|
||||
- @verdaccio/logger@8.0.0-next-8.10
|
||||
|
||||
## 8.0.0-next-8.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/node-api@8.0.0-next-8.9
|
||||
- @verdaccio/core@8.0.0-next-8.9
|
||||
- @verdaccio/config@8.0.0-next-8.9
|
||||
- @verdaccio/logger@8.0.0-next-8.9
|
||||
|
||||
## 8.0.0-next-8.8
|
||||
|
||||
### 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.8",
|
||||
"version": "8.0.0-next-8.14",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -11,7 +11,11 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
"url": "https://github.com/verdaccio/verdaccio"
|
||||
"url": "https://github.com/verdaccio/verdaccio",
|
||||
"directory": "packages/cli"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/verdaccio/verdaccio/issues"
|
||||
},
|
||||
"homepage": "https://verdaccio.org",
|
||||
"keywords": [
|
||||
@@ -28,7 +32,7 @@
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"description": "verdaccio CLI",
|
||||
"description": "Verdaccio CLI",
|
||||
"license": "MIT",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -43,14 +47,14 @@
|
||||
"start": "ts-node src/index.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/config": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/logger": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/node-api": "workspace:8.0.0-next-8.14",
|
||||
"clipanion": "4.0.0-rc.4",
|
||||
"envinfo": "7.14.0",
|
||||
"kleur": "4.1.5",
|
||||
"semver": "7.6.3"
|
||||
"semver": "7.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ts-node": "10.9.2"
|
||||
|
||||
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,60 @@
|
||||
# @verdaccio/config
|
||||
|
||||
## 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
|
||||
|
||||
- Updated dependencies [95ac124]
|
||||
- @verdaccio/core@8.0.0-next-8.12
|
||||
- @verdaccio/utils@8.1.0-next-8.12
|
||||
|
||||
## 8.0.0-next-8.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [85e0e13]
|
||||
- @verdaccio/utils@8.1.0-next-8.11
|
||||
- @verdaccio/core@8.0.0-next-8.11
|
||||
|
||||
## 8.0.0-next-8.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- bf0e09a: fix: runtime dependency missing as explicit dependency
|
||||
- @verdaccio/core@8.0.0-next-8.10
|
||||
- @verdaccio/utils@8.1.0-next-8.10
|
||||
|
||||
## 8.0.0-next-8.9
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/core@8.0.0-next-8.9
|
||||
- @verdaccio/utils@8.1.0-next-8.9
|
||||
|
||||
## 8.0.0-next-8.8
|
||||
|
||||
### 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,7 +1,7 @@
|
||||
{
|
||||
"name": "@verdaccio/config",
|
||||
"version": "8.0.0-next-8.8",
|
||||
"description": "logger",
|
||||
"version": "8.0.0-next-8.14",
|
||||
"description": "Verdaccio Configuration",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
"author": {
|
||||
@@ -10,7 +10,11 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "https",
|
||||
"url": "https://github.com/verdaccio/verdaccio"
|
||||
"url": "https://github.com/verdaccio/verdaccio",
|
||||
"directory": "packages/config"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/verdaccio/verdaccio/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"homepage": "https://verdaccio.org",
|
||||
@@ -38,8 +42,8 @@
|
||||
"build": "pnpm run build:js && pnpm run build:types"
|
||||
},
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.8",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.8",
|
||||
"@verdaccio/core": "workspace:8.0.0-next-8.14",
|
||||
"@verdaccio/utils": "workspace:8.1.0-next-8.14",
|
||||
"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
|
||||
|
||||
@@ -2,7 +2,7 @@ import assert from 'assert';
|
||||
import buildDebug from 'debug';
|
||||
import _ from 'lodash';
|
||||
|
||||
import { APP_ERROR, warningUtils } from '@verdaccio/core';
|
||||
import { APP_ERROR, validationUtils, warningUtils } from '@verdaccio/core';
|
||||
import { Codes } from '@verdaccio/core/build/warning-utils';
|
||||
import {
|
||||
Config as AppConfig,
|
||||
@@ -15,7 +15,7 @@ import {
|
||||
Security,
|
||||
ServerSettingsConf,
|
||||
} from '@verdaccio/types';
|
||||
import { generateRandomHexString, getMatchedPackagesSpec, isObject } from '@verdaccio/utils';
|
||||
import { generateRandomHexString, getMatchedPackagesSpec } from '@verdaccio/utils';
|
||||
|
||||
import { getUserAgent } from './agent';
|
||||
import { normalisePackageAccess } from './package-access';
|
||||
@@ -124,7 +124,7 @@ class Config implements AppConfig {
|
||||
this.userRateLimit = { ...defaultUserRateLimiting, ...config?.userRateLimit };
|
||||
|
||||
// some weird shell scripts are valid yaml files parsed as string
|
||||
assert(_.isObject(config), APP_ERROR.CONFIG_NOT_VALID);
|
||||
assert(validationUtils.isObject(config), APP_ERROR.CONFIG_NOT_VALID);
|
||||
|
||||
// sanity check for strategic config properties
|
||||
strategicConfigProps.forEach(function (x): void {
|
||||
@@ -132,7 +132,7 @@ class Config implements AppConfig {
|
||||
self[x] = {};
|
||||
}
|
||||
|
||||
assert(isObject(self[x]), `CONFIG: bad "${x}" value (object expected)`);
|
||||
assert(validationUtils.isObject(self[x]), `CONFIG: bad "${x}" value (object expected)`);
|
||||
});
|
||||
|
||||
this.uplinks = sanityCheckUplinksProps(uplinkSanityCheck(this.uplinks));
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
export * from './config';
|
||||
export * from './config-path';
|
||||
export * from './token';
|
||||
export * from './config-utils';
|
||||
export * from './package-access';
|
||||
export { fromJStoYAML, parseConfigFile } from './parse';
|
||||
export * from './uplinks';
|
||||
|
||||
@@ -48,9 +48,13 @@ export function sanityCheckUplinksProps(configUpLinks: UpLinksConfList): UpLinks
|
||||
return uplinks;
|
||||
}
|
||||
|
||||
export function hasProxyTo(pkg: string, upLink: string, packages: PackageList): boolean {
|
||||
export function getProxiesForPackage(pkg: string, packages: PackageList): string[] {
|
||||
const matchedPkg = getMatchedPackagesSpec(pkg, packages);
|
||||
const proxyList = typeof matchedPkg !== 'undefined' ? matchedPkg.proxy : [];
|
||||
return matchedPkg?.proxy || [];
|
||||
}
|
||||
|
||||
export function hasProxyTo(pkg: string, upLink: string, packages: PackageList): boolean {
|
||||
const proxyList = getProxiesForPackage(pkg, packages);
|
||||
if (proxyList) {
|
||||
return proxyList.some((curr) => upLink === curr);
|
||||
}
|
||||
|
||||
@@ -80,6 +80,25 @@ describe('Package access utilities', () => {
|
||||
expect(all.publish).toContain('admin');
|
||||
});
|
||||
|
||||
test('should test multi proxy definition', () => {
|
||||
const { packages } = parseConfigFile(parseConfigurationFile('pkgs-multi-proxy'));
|
||||
const access = normalisePackageAccess(packages);
|
||||
|
||||
expect(access).toBeDefined();
|
||||
const scoped = access[`${PACKAGE_ACCESS.SCOPE}`];
|
||||
const all = access[`${PACKAGE_ACCESS.ALL}`];
|
||||
const testPackage = access['test-package'];
|
||||
|
||||
expect(scoped).toBeDefined();
|
||||
expect(scoped.proxy).toEqual(['github', 'npmjs']);
|
||||
|
||||
expect(all).toBeDefined();
|
||||
expect(all.proxy).toEqual(['npmjs', 'gitlab']);
|
||||
|
||||
expect(testPackage).toBeDefined();
|
||||
expect(testPackage.proxy).toEqual(['npmjs', 'gitlab', 'github']);
|
||||
});
|
||||
|
||||
test(
|
||||
'should normalize deprecated packages into the new ones ' + '(backward props compatible)',
|
||||
() => {
|
||||
@@ -92,7 +111,7 @@ describe('Package access utilities', () => {
|
||||
expect(react).toBeDefined();
|
||||
expect(react.access).toBeDefined();
|
||||
expect(react.access).toEqual([]);
|
||||
expect(react.publish[0]).toBe('admin');
|
||||
expect(react.publish?.[0]).toBe('admin');
|
||||
expect(react.proxy).toBeDefined();
|
||||
expect(react.proxy).toEqual([]);
|
||||
expect(react.storage).toBeDefined();
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
uplinks:
|
||||
github:
|
||||
url: 'https://npm.pkg.github.com/'
|
||||
auth:
|
||||
type: Bearer
|
||||
token: 'xxx123xxx'
|
||||
gitlab:
|
||||
url: 'https://gitlab.com/api/v4/projects/1/packages/npm/'
|
||||
auth:
|
||||
type: Basic
|
||||
token: 'xxx456xxx'
|
||||
npmjs:
|
||||
url: https://registry.npmjs.org/
|
||||
|
||||
# Multiple proxies
|
||||
# https://verdaccio.org/docs/packages/#use-multiple-uplinks
|
||||
packages:
|
||||
'@*/*':
|
||||
access: $all
|
||||
proxy: github npmjs
|
||||
'test-package':
|
||||
access: $all
|
||||
proxy: npmjs gitlab github
|
||||
'**':
|
||||
access: $all
|
||||
proxy: npmjs gitlab
|
||||
@@ -1,7 +1,12 @@
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
import { normalisePackageAccess, parseConfigFile } from '../src';
|
||||
import { hasProxyTo, sanityCheckUplinksProps, uplinkSanityCheck } from '../src/uplinks';
|
||||
import {
|
||||
getProxiesForPackage,
|
||||
hasProxyTo,
|
||||
sanityCheckUplinksProps,
|
||||
uplinkSanityCheck,
|
||||
} from '../src/uplinks';
|
||||
import { parseConfigurationFile } from './utils';
|
||||
|
||||
describe('Uplinks Utilities', () => {
|
||||
@@ -24,7 +29,7 @@ describe('Uplinks Utilities', () => {
|
||||
});
|
||||
|
||||
describe('sanityCheckUplinksProps', () => {
|
||||
test('should fails if url prop is missing', () => {
|
||||
test('should fail if url prop is missing', () => {
|
||||
const { uplinks } = parseConfigFile(parseConfigurationFile('uplink-wrong'));
|
||||
expect(() => {
|
||||
sanityCheckUplinksProps(uplinks);
|
||||
@@ -37,6 +42,31 @@ describe('Uplinks Utilities', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('multiple uplinks with auth', () => {
|
||||
test('should fail if url or auth are missing', () => {
|
||||
const { uplinks } = parseConfigFile(parseConfigurationFile('pkgs-multi-proxy'));
|
||||
expect(sanityCheckUplinksProps(uplinks)).toEqual(uplinks);
|
||||
expect(Object.keys(uplinks)).toHaveLength(3);
|
||||
// No trailing slash in urls
|
||||
expect(uplinks.github.url).toEqual('https://npm.pkg.github.com');
|
||||
expect(uplinks.github?.auth?.type).toEqual('Bearer');
|
||||
expect(uplinks.github?.auth?.token).toEqual('xxx123xxx');
|
||||
expect(uplinks.gitlab.url).toEqual('https://gitlab.com/api/v4/projects/1/packages/npm');
|
||||
expect(uplinks.gitlab?.auth?.type).toEqual('Basic');
|
||||
expect(uplinks.gitlab?.auth?.token).toEqual('xxx456xxx');
|
||||
expect(uplinks.npmjs.url).toEqual('https://registry.npmjs.org');
|
||||
});
|
||||
|
||||
test('check proxy list for package access', () => {
|
||||
const packages = normalisePackageAccess(
|
||||
parseConfigFile(parseConfigurationFile('pkgs-multi-proxy')).packages
|
||||
);
|
||||
expect(getProxiesForPackage('@scope/test', packages)).toEqual(['github', 'npmjs']);
|
||||
expect(getProxiesForPackage('test', packages)).toEqual(['npmjs', 'gitlab']);
|
||||
expect(getProxiesForPackage('test-package', packages)).toEqual(['npmjs', 'gitlab', 'github']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('hasProxyTo', () => {
|
||||
test('should test basic config', () => {
|
||||
const packages = normalisePackageAccess(
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user