Compare commits

...

91 Commits

Author SHA1 Message Date
Juan Picado
f0501eea78 chore: update versions (next-8) (#5278)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-17 21:03:37 +02:00
Marc Bernard
d22ef4e61e fix: config web login default (#5280) 2025-06-17 20:03:49 +02:00
Alan Agius
96d2f0f24d fix(core): remove lodash from a dependency (#5277)
This removes the usage of `lodash`.
2025-06-16 20:45:16 +02:00
verdacciobot
0b66de1274 chore: updated static data 2025-06-16 00:17:11 +00:00
renovate[bot]
897ca09828 chore(deps): update dependency @crowdin/cli to v4.7.1 (#5274) 2025-06-15 00:08:40 +02:00
renovate[bot]
85bf8dc6d8 fix(deps): update dependency semver to v7.7.2 (#5272) 2025-06-14 20:29:09 +02:00
renovate[bot]
7fa42b5a4e chore(deps): update babel monorepo (#5273) 2025-06-14 20:07:18 +02:00
renovate[bot]
4ec28f20b3 fix(deps): update dependency debug to v4.4.1 (#5271) 2025-06-14 17:24:56 +02:00
renovate[bot]
003be2a561 fix(deps): update dependency marked to v15.0.12 (#5265)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 07:22:42 +02:00
verdacciobot
bd3d50b7c0 chore: updated static data 2025-06-09 00:17:08 +00:00
renovate[bot]
93348f0208 chore(deps): pin actions/checkout action to 11bd719 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 10:26:07 +02:00
Juan Picado
c120b32d07 chore: update versions (next-8) (#5193)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-06-07 10:11:45 +02:00
Juan Picado
47ee18c3dd Update x-smok-test-docker.yml 2025-06-07 10:09:18 +02:00
Juan Picado
0938e965cb chore: fix library import 2025-06-07 09:45:43 +02:00
Marc Bernard
72c3cbb5bf chore(utils): replace @verdaccio/utils dependency with core (#5241) 2025-06-07 09:31:53 +02:00
Marc Bernard
626ae6aae9 feat: web v1 login frontend (experimental) (#5202)
* feat: web v1 login backend (experimental)

* Add missing createUser

* Change ui url

* Update test

* Update test

* Fix server address

* Update middleware login_cli

* Update tests

* Return token, reduce poll time, fix timestamp

* feat: web v1 login frontend (experimental)

* fix codeql

* Update constants.ts

---------

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2025-06-07 09:09:11 +02:00
renovate[bot]
184bd51418 fix(deps): update dependency pino to v9.7.0 (#5260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 08:34:18 +02:00
renovate[bot]
837f00dc56 chore(deps): update dependency jsdom to v26 (#5261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 08:34:02 +02:00
renovate[bot]
52c1d22c91 chore(deps): update all build dependencies (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 22:11:04 +02:00
dependabot[bot]
09503bcd51 chore(deps): bump github/codeql-action from 3.28.16 to 3.28.18 (#5254)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.16 to 3.28.18.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](28deaeda66...ff0a06e83c)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 21:12:21 +02:00
silverwind
1e8e6e4212 docs: add link to verdaccio-static-token (#5257) 2025-06-06 18:40:18 +02:00
renovate[bot]
c7285cf933 chore(deps): pin dependencies (#5255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 15:36:43 +02:00
verdacciobot
0f2da1897c chore: updated static data 2025-06-05 00:16:05 +00:00
verdacciobot
06132a2ceb chore: updated static data 2025-06-02 00:16:31 +00:00
verdacciobot
688eb15e77 chore: updated static data 2025-05-29 00:16:12 +00:00
Marc Bernard
2fef671547 chore(signature): remove duplicate code (#5244)
* chore(signature): remove duplicate code

* auth
2025-05-28 00:08:39 +02:00
Marc Bernard
d945bfe99d fix(e2e): test.each was not working as expected (#5246)
* fix(e2e): test.each was not working as expected

* fix unpublish

* remove beta

* fix dist-tags
2025-05-26 20:32:37 +02:00
verdacciobot
610ed5cd04 chore: updated static data 2025-05-26 00:16:18 +00:00
Juan Picado
85d8ea16d6 chore: update docker publish action (#5247) 2025-05-22 08:27:09 +02:00
verdacciobot
08ebbce001 chore: updated static data 2025-05-22 00:16:05 +00:00
Marc Bernard
7513899660 chore(tarball): remove lodash, fix typing (#5243) 2025-05-21 22:32:00 +02:00
Marc Bernard
534fafd741 feat(e2e): add npm11 (#5245)
* feat(e2e): add npm11

* add to workflow

* Remove pre-release from versions

* Fix publish test
2025-05-21 21:44:54 +02:00
Marc Bernard
9509b63345 chore(core): http status codes (#5242) 2025-05-20 09:08:07 +02:00
verdacciobot
4d96585991 chore: updated static data 2025-05-19 00:16:24 +00:00
Marc Bernard
0be45da363 chore(web): move utils to web package (#5234)
* chore(types): use "Person" instead of "Author"

* chore(web): move utils to web package

* avoid redos

* fix plugin_prefix

---------

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2025-05-18 19:29:46 +02:00
Marc Bernard
7751a55a34 fix(local-storage): uncontrolled data used in path expression (#5159)
* fix(loca-storage): uncontrolled data used in path expression

* update tests

* fix path check

* you're right, copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* sure, copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix storage path

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-17 23:08:22 +02:00
Marc Bernard
acb8a99f55 chore(core): move more utils to core (#5233)
* chore(core): move more utils to core

* pin minimatch

* update lock file
2025-05-17 20:58:01 +02:00
Juan Picado
b776e1f897 chore: enable CI Node.js 24 (#5240)
* chore: enable CI Node.js 24

* add e2e

* docker build on 24
2025-05-17 17:30:59 +02:00
Marc Bernard
d33266b5a6 chore(types): use "Person" instead of "Author" (#5232) 2025-05-17 16:11:01 +02:00
Marc Bernard
b19ddca81f fix(config): server settings (#5238) 2025-05-17 16:00:11 +02:00
Juan Picado
f86da50d91 chore: update e2e nginx test 2025-05-17 15:33:50 +02:00
Juan Picado
7e9fa2a5b3 chore: fix nginx example 2025-05-17 12:15:55 +02:00
Marc Bernard
6add153fde feat(loader): support scoped plugins in plugin folder (#5237) 2025-05-17 10:58:41 +02:00
verdacciobot
0052cc5b97 chore: updated static data 2025-05-17 07:14:02 +00:00
Marc Bernard
5b64bb9e3e fix: monthly npm stats (#5236) 2025-05-16 22:32:28 +02:00
verdacciobot
97df95af40 chore: updated static data 2025-05-15 00:15:56 +00:00
verdacciobot
6c0ba0e3a4 chore: updated static data 2025-05-12 00:16:54 +00:00
Saurabh Gohil
3d113dd38d docs(uplinks): updated the documentation for an example of AWS CodeArtifact in uplinks (#5231)
* - Updated the documentation for an example of AWS CodeArtifact uplink on how to make it work

* - Added the changeset

* - Changes as per the things mentioned in PR comments

* - Updated the other document file as well
2025-05-09 15:50:36 +02:00
verdacciobot
c6dc42e92b chore: updated static data 2025-05-08 00:15:42 +00:00
Marc Bernard
ca0844a45a chore(ui): avoid ts errors for CircularProgres (#5210) 2025-05-06 19:53:09 +02:00
Marc Bernard
3ef4a49bba fix: support JWT sign and verify options (#5227)
* fix: support JWT sign and verify options

* Sync type version
2025-05-06 19:21:48 +02:00
Marc Bernard
387d9f01ea fix(ui): check token expiry on refresh/timer (#5229) 2025-05-05 18:02:00 +02:00
DAmarkday
dedc20b24c docs:add a new link for version v6 to the Docker custom image list. (#5228) 2025-05-05 06:39:31 +02:00
verdacciobot
96b6c404a9 chore: updated static data 2025-05-05 00:16:19 +00:00
Marc Bernard
4236e54e2a chore(ui): avoid ts error for Alerts (#5209) 2025-05-03 09:03:17 +02:00
Marc Bernard
89b72d0761 fix(ui): search chips when showUplinks: false (#5211)
* fix(ui): search chips in offline mode

* Update nine-onions-talk.md

* Update nine-onions-talk.md
2025-05-03 08:43:01 +02:00
Assis Duarte
30d2949471 fix: link to API page (#5215)
* fix: remove a link to a page that no longer exists

* update doc page
2025-05-03 07:57:14 +02:00
renovate[bot]
e5a53628b6 chore(deps): update dependency @changesets/get-dependents-graph to v2.1.3 (#5222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-03 07:45:17 +02:00
renovate[bot]
8f8297ebd9 chore(deps): update dependency msw to v2.7.5 (#5223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-03 07:17:33 +02:00
dependabot[bot]
2dc16f3308 chore(deps): bump github/codeql-action from 3.28.10 to 3.28.16 (#5221)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.10 to 3.28.16.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b56ba49b26...28deaeda66)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 22:23:19 +02:00
renovate[bot]
68b814e786 chore(deps): update all actions (#5218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 21:39:37 +02:00
dependabot[bot]
45e6d08647 chore(deps): bump actions/setup-node from 4.2.0 to 4.4.0 (#5220)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.2.0 to 4.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](1d0ff469b7...49933ea528)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 21:39:10 +02:00
verdacciobot
2bd520ef07 chore: updated static data 2025-05-01 00:17:52 +00:00
Marc Bernard
6561485453 chore(ui): fix ts error due to excluded test folder (#5207) 2025-04-28 20:52:09 +02:00
Marc Bernard
04c4e5b14f chore(ui-theme): minor app improvements (#5206)
* chore(ui): theme parameters

* Update app, add types/history

* Update great-candles-hang.md
2025-04-28 20:34:46 +02:00
verdacciobot
3a3bbe34ab chore: updated static data 2025-04-28 00:16:20 +00:00
Juan Picado
219abed928 chore: website enable ga-IE
after clean up messed up markdown files
2025-04-27 15:56:37 +02:00
verdacciobot
7d7cffb3a7 chore: updated static data 2025-04-24 00:15:15 +00:00
Juan Picado
e5100e0844 chore: update link install v6 2025-04-21 21:02:19 +02:00
John Chilton
46eeee5f70 update dangerous website link (#5205)
An attribution to thedevlife for their video tutorial about Verdaccio on the docs/installation page pointed to a converted domain nowoffering malware. The commit changes the link destination to the bio link thedevlife uses in their YouTube profile.
2025-04-21 20:49:41 +02:00
verdacciobot
9dfe5d5aaf chore: updated static data 2025-04-21 00:16:07 +00:00
Marc Bernard
50fef56371 update bug report template (#5203)
* Update bug report template

* Add reverse proxy
2025-04-17 07:37:27 +02:00
verdacciobot
c988566d70 chore: updated static data 2025-04-17 00:14:49 +00:00
Marc Bernard
76308ff456 fix(express): error loading middleware plugins (#5200)
* fix(express): error loading middleware plugins

* const for plugin prefix in loader
2025-04-15 19:39:52 +02:00
verdacciobot
481ea6ef3d chore: updated static data 2025-04-14 00:16:09 +00:00
omasakun
fdf44a66c9 fix(middleware): properly derive the html cache key (#5196)
* fix(middleware): properly derive the html cache key

* change html cache key

* add a changeset

* simplify cache key generation by removing MD5 hashing
2025-04-12 14:47:43 +02:00
Marc Bernard
4115860d6e fix(server): web-enabled test (#5197) 2025-04-10 11:49:10 +02:00
verdacciobot
a9a77a5012 chore: updated static data 2025-04-10 00:15:16 +00:00
verdacciobot
8ea4b04740 chore: updated static data 2025-04-07 00:14:58 +00:00
renovate[bot]
8c18c8963c chore(deps): update dependency @changesets/changelog-github to v0.5.1 (#5191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-06 14:59:11 +02:00
renovate[bot]
6f410af147 chore(deps): update all build dependencies (#5190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-06 12:00:51 +02:00
Marc Bernard
5f036c0b57 fix(api): cidr whitelist for tokens (#5186)
* fix(api): cidr whitelist for tokens

* remove debug
2025-04-05 08:28:31 +02:00
Juan Picado
ebc6171829 Update README.md 2025-04-01 08:45:24 +02:00
Juan Picado
651f60a8af chore: update versions (next-8) (#5178)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-31 23:20:31 +02:00
Juan Picado
1f25d5f5e8 feat: add legacyMergeConfigs as option (#5177) 2025-03-31 22:19:53 +02:00
Juan Picado
bf566cb6f5 chore: add docker example for verdaccio-github-oauth-ui (#5176) 2025-03-31 21:44:57 +02:00
verdacciobot
0518506efe chore: updated static data 2025-03-31 00:15:59 +00:00
Juan Picado
3d642d7325 chore: fix website build 2025-03-30 22:23:02 +02:00
verdacciobot
c69ec207d2 chore: updated static data 2025-03-30 19:53:53 +00:00
Juan Picado
588614d6a7 chore: update docker example 2025-03-30 21:30:12 +02:00
Juan Picado
78614b79f6 chore: add locakstack example s3 aws plugin (#5174)
* chore: add locakstack example s3 aws plugin

* Update README.md
2025-03-30 21:25:25 +02:00
335 changed files with 13930 additions and 3157 deletions

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/loaders': minor
---
feat(loader): support scoped plugins in plugin folder

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): check token expiry on refresh/timer

View File

@@ -0,0 +1,18 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/test-helper': patch
'@verdaccio/ui-components': patch
'@verdaccio/tarball': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'verdaccio': patch
'@verdaccio/config': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
---
chore(utils): replace @verdaccio/utils dependency with core

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/server': patch
---
fix(server): web-enabled test

View File

@@ -0,0 +1,8 @@
---
'@verdaccio/ui-theme': minor
'@verdaccio/ui-components': minor
'@verdaccio/middleware': patch
'@verdaccio/ui-i18n': patch
---
feat: web v1 login frontend (experimental)

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): avoid ts error for Alerts

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/store': patch
'@verdaccio/types': patch
---
chore(types): use "Person" instead of "Author"

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/web': patch
---
chore(web): move utils to web package

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-theme': patch
---
chore(ui): minor app improvements

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/core': patch
---
chore(core): http status codes

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/local-storage': patch
---
fix(local-storage): uncontrolled data used in path expression

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/auth': patch
---
feat: add legacyMergeConfigs as option

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/e2e-cli-npm-common': patch
---
fix(e2e): test.each was not working as expected

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/website': patch
---
- Updated the docs to show how we can make AWS CodeArtifact work with Verdaccio
- Added the example uplinks configuration

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/e2e-cli-npm11': patch
'@verdaccio/e2e-cli-npm-common': patch
---
feat(e2e): add npm11

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): search chips when showUplinks is false

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/server': patch
'@verdaccio/loaders': patch
---
fix(express): error loading middleware plugins

View File

@@ -0,0 +1,9 @@
---
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/core': patch
'@verdaccio/config': patch
'@verdaccio/api': patch
---
feat: web v1 login backend (experimental)

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/signature': patch
'@verdaccio/config': patch
---
chore(signature): remove duplicate code

View File

@@ -61,60 +61,81 @@
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
"docusaurus-plugin-downloads": "2.0.0",
"@verdaccio/local-publish": "0.0.2",
"@verdaccio/e2e-cli-npm10": "1.0.1"
"@verdaccio/e2e-cli-npm10": "1.0.1",
"@verdaccio/e2e-cli-npm11": "1.0.2-next-8.0"
},
"changesets": [
"afraid-cars-sneeze",
"afraid-cheetahs-rule",
"angry-doors-tan",
"beige-lions-type",
"blue-paws-cheer",
"brave-ears-drive",
"breezy-geckos-search",
"breezy-toys-judge",
"bright-bobcats-ring",
"brown-lions-talk",
"brown-planets-approve",
"calm-mangos-compare",
"chatty-apricots-report",
"clean-beds-wash",
"clean-rings-listen",
"clever-bees-happen",
"cool-seals-watch",
"curly-mirrors-smile",
"curvy-rockets-camp",
"cyan-snakes-kiss",
"dirty-countries-play",
"early-eyes-float",
"early-trainers-grin",
"eight-countries-think",
"eighty-apes-think",
"eleven-rocks-dream",
"few-beds-itch",
"few-ears-deny",
"fifty-falcons-design",
"forty-hounds-matter",
"four-buttons-remember",
"fresh-owls-hunt",
"funny-fireants-tan",
"gentle-stingrays-repeat",
"gold-files-speak",
"gold-squids-watch",
"great-candles-hang",
"green-eagles-boil",
"healthy-ducks-drive",
"healthy-zoos-lie",
"hip-deers-join",
"hip-eggs-serve",
"hip-suns-jam",
"hot-crews-live",
"hungry-dolls-destroy",
"itchy-glasses-end",
"large-turkeys-change",
"long-eyes-drum",
"long-singers-drive",
"loud-dingos-cough",
"lucky-crabs-enjoy",
"modern-llamas-know",
"nasty-cooks-watch",
"nasty-experts-bow",
"nice-garlics-tie",
"nine-countries-remember",
"nine-onions-talk",
"ninety-geese-do",
"ninety-hotels-dance",
"odd-fishes-cry",
"old-clocks-destroy",
"pink-jeans-lick",
"pink-pants-try",
"poor-hats-smile",
"poor-queens-shop",
"popular-trees-grin",
"proud-houses-switch",
"purple-planes-do",
"quick-avocados-type",
"quick-seas-deny",
"real-balloons-travel",
"real-seahorses-change",
"red-dolls-repair",
"rotten-melons-notice",
@@ -122,20 +143,27 @@
"rude-birds-design",
"rude-socks-walk",
"serious-apes-rule",
"sharp-queens-rhyme",
"shiny-buttons-laugh",
"short-mails-smoke",
"short-turkeys-boil",
"silent-bags-listen",
"silent-tips-admire",
"silver-houses-remain",
"silver-insects-train",
"slow-cars-guess",
"smooth-games-share",
"strange-pants-chew",
"stupid-camels-build",
"sweet-crabs-deliver",
"swift-knives-shop",
"swift-mangos-grab",
"swift-zebras-cheer",
"ten-jeans-approve",
"tender-buckets-smoke",
"thick-dolphins-rule",
"thirty-comics-trade",
"tidy-socks-battle",
"tricky-impalas-shake",
"tricky-knives-end",
"twelve-games-wonder",
@@ -144,6 +172,8 @@
"violet-boxes-float",
"weak-cherries-serve",
"wet-cats-behave",
"wicked-points-relate",
"wild-coins-lie",
"yellow-flies-sniff"
]
}

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/web': patch
---
fix: config web login default

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): avoid ts errors for CircularProgress

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): fix ts error due to excluded test folder

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/core': patch
'@verdaccio/utils': patch
---
chore(core): move more utils to core

View File

@@ -0,0 +1,12 @@
---
'@verdaccio/server': patch
'@verdaccio/core': patch
'@verdaccio/loaders': patch
'@verdaccio/config': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/web': patch
---
fix(config): server settings

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/api': patch
---
fix(api): cidr whitelist for tokens

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): properly derive the html cache key

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/core': patch
---
fix(core): remove `lodash` from a dependency

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/auth': patch
'@verdaccio/signature': patch
'@verdaccio/types': patch
---
fix: support JWT sign and verify options

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/tarball': patch
---
chore(tarball): remove lodash, fix typing

View File

@@ -17,24 +17,27 @@ assignees: ''
- If you are willing to fix it, there is a checkbox at the bottom.
-->
**Your Environment**
<!-- bug below the version 5.x will be closed, see SECURITY.md for more details -->
* **verdaccio version**: 5.x.x
* **node version** [12.x.x, 14.x.x]:
* **package manager**: [npm@7, pnpm@6, yarn@2]
* **os**: [mac, windows@10, linux]
* **platform**: [npm, docker, helm, other]
**Your environment**
<!-- bugs below the version 6.x will be closed, see SECURITY.md and VERSIONS.md for more details -->
<!-- Please paste the results of running `verdaccio --version` -->
* **verdaccio version**: 6.x.x
<!-- Please paste the results of running `verdaccio --info` -->
* **node version** [20.x.x, 22.x.x]:
* **package manager**: [npm@10.x.x, pnpm@10.x.x, yarn@2.x.x]
* **os**: [mac, windows@11, linux]
* **platform**: [node, docker, helm, other]
* **reverse proxy**: [yes, no]
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->
**To Reproduce**
**Steps to reproduce**
<!-- IMPORTANT:
- How to reproduce the issue
- Steps to reproduce the issue
Add step-by-step instructions on how to reproduce the bug.
Be aware, the lack of reproducible steps the issue might cause your ticket to be closed.
-->
@@ -42,17 +45,14 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
<!-- A clear and concise description of what you expected to happen. -->
**Screenshots, server logs, package manager log**
**Screenshots, Verdaccio server log, package manager log**
<!-- If applicable, add screenshots to help explain your problem. -->
<!-- If applicable, add screenshots to help explain your problem. -->
**Configuration File (cat ~/.config/verdaccio/config.yaml)**
**Configuration file**
<!-- Please be careful do not leak any sensitive information, remove tokens -->
**Environment information**
<!-- Please paste the results of running `verdaccio --info` -->
<!-- cat ~/.config/verdaccio/config.yaml -->
<!-- Please be careful do not leak any sensitive information, remove usernames and tokens -->
**Debugging output**
@@ -66,6 +66,5 @@ Be aware, the lack of reproducible steps the issue might cause your ticket to be
- [ ] I'm willing to fix this bug 🥇
<!--
IMPORTANT: please do not attach external files, all content should be visible from any device.
-->

View File

@@ -6,7 +6,7 @@ runs:
steps:
- name: Cache Packages
id: cache-packages
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -6,7 +6,7 @@ runs:
steps:
- name: Cache .pnpm-store
id: cache-npm
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}

View File

@@ -22,7 +22,7 @@ runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ inputs.node-version }}
- name: Install pnpm

View File

@@ -15,7 +15,7 @@ runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -68,7 +68,7 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 21, 22, 23]
node_version: [18, 20, 21, 22, 23, 24]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
@@ -86,7 +86,7 @@ jobs:
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -94,7 +94,7 @@ jobs:
npm install --global corepack@latest
corepack enable
corepack install
- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -37,7 +37,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
uses: github/codeql-action/init@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
with:
config: |
paths-ignore:
@@ -50,7 +50,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
uses: github/codeql-action/autobuild@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
uses: github/codeql-action/analyze@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18

View File

@@ -26,7 +26,7 @@ jobs:
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: npm setup

View File

@@ -24,7 +24,7 @@ jobs:
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: npm setup

View File

@@ -2,50 +2,49 @@ name: Docker publish to docker.io
on:
push:
paths:
- .github/workflows/docker-publish.yml
- .github/workflows/docker-publish.yml
- 'packages/**'
- 'docker-bin/**'
- 'package.json'
- 'pnpm-*.yaml'
- 'Dockerfile'
- '.dockerignore'
branches:
- 'master'
tags:
- 'v*'
permissions:
contents: read # to fetch code (actions/checkout)
contents: read
jobs:
docker:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: docker/setup-buildx-action@v1
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
- name: Set up QEMU
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver-opts: network=host
- uses: docker/login-action@v1
name: Login Docker Hub
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Prepare docker image tags
- name: Prepare Docker image tags
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5
with:
images: ${{ github.repository }}
tag-custom: nightly-master
tag-custom-only: ${{ github.ref == 'refs/heads/master' }}
tag-latest: false
tag-semver: |
{{version}}
{{major}}
{{major}}.{{minor}}
tags: |
type=raw,value=nightly-master
type=raw,value=latest,enable=false
labels: |
org.opencontainers.image.source=${{ github.repositoryUrl }}
org.opencontainers.image.created=${{ steps.docker_meta.outputs.created }}
org.opencontainers.image.version=${{ steps.docker_meta.outputs.version }}
- name: Build & Push
uses: docker/build-push-action@v6
with:

View File

@@ -43,9 +43,10 @@ jobs:
npm7,
npm8,
npm9,
npm10
npm10,
npm11,
]
node: [22]
node: [22, 24]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
@@ -72,7 +73,7 @@ jobs:
pnpm9,
pnpm10,
]
node: [22]
node: [2, 24]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
@@ -99,7 +100,7 @@ jobs:
yarn3,
yarn4
]
node: [22]
node: [22, 24]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:

View File

@@ -26,7 +26,7 @@ jobs:
node-version: 20
- name: Test UI
run: pnpm test:e2e:ui
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: videos
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos

View File

@@ -36,7 +36,7 @@ jobs:
- name: Get docker downloads
run: pnpm --filter @verdaccio/local-scripts run pull:docker
- name: Get npmjs monhtly downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:mounthly
run: pnpm --filter @verdaccio/local-scripts run downloads:monthly
- name: Get npmjs year downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:yearly
- name: update contributors

View File

@@ -39,7 +39,7 @@ jobs:
- name: Build Translations percentage
run: pnpm --filter @verdaccio/local-scripts build
- name: Cache Docusaurus Build
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}

View File

@@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
@@ -47,7 +47,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
@@ -83,7 +83,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'

View File

@@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'

View File

@@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install npm 9'
@@ -45,7 +45,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install npm 10'

View File

@@ -10,7 +10,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
@@ -41,7 +41,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
@@ -75,7 +75,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
@@ -108,7 +108,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
@@ -141,7 +141,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'

View File

@@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install

View File

@@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install

View File

@@ -16,7 +16,8 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Docker test

View File

@@ -12,7 +12,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node (latest)
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Docker test

View File

@@ -8,7 +8,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: '.nvmrc'
- name: Install

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node ${{ inputs.node_version }}
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: ${{ inputs.node_version }}
- name: Install

View File

@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:22-alpine AS builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:24-alpine AS builder
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org
@@ -21,7 +21,7 @@ RUN npm -g i corepack && \
# NODE_ENV=production pnpm install --frozen-lockfile --ignore-scripts
# RUN pnpm install --prod --ignore-scripts
FROM node:22-alpine
FROM node:24-alpine
LABEL maintainer="https://github.com/verdaccio/verdaccio"
ENV VERDACCIO_APPDIR=/opt/verdaccio \

View File

@@ -100,19 +100,21 @@ Our goal is to give you the confidence to use your preferred package manager wit
### Commands
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ❌ | ❌ | ❌ | ❌ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| cmd | npm6 | npm7 | npm8 | npm9 | npm10 | npm11 | pnpm8 | pnpm9 | pnpm10 | yarn1 | yarn2 | yarn3 | yarn4 |
| --------- | ---- | ---- | ---- | ---- | ----- | ----- | ----- | ----- | ------ | ----- | ----- | ----- | ----- |
| publish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| unpublish | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| info | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| audit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| install | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| deprecate | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| ping | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| search | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| star | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| stars | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ⛔ | ⛔ | ⛔ | ⛔ |
| dist-tag | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
<!-- n6 n7 n8 n9 n10 n11 p8 p9 p10 y1 y2 y3 y4 -->
> notes:
>

View File

@@ -1,6 +1,6 @@
# Verdaccio 6 Examples
> We recommend to have installed [docker-compose >= 1.29.0](https://github.com/docker/compose/releases/tag/1.29.2)
> We recommend to have installed the latest docker-compose
## Mapping Volumes
@@ -20,3 +20,5 @@ Using plugins without `docker-compose` mapping volumes, all withing the `Dockerf
- [Docker + Local Build Auth Plugin (local development)](plugins/docker-build-install-plugin/README.md)
- [Docker + Auth Plugin (from a registry)](plugins/docker-local-plugin/README.md)
- [Docker + Localstack S3 + Verdaccio](amazon-s3-docker-example/README.md)
- [Docker + GitHub OAuth + verdaccio-github-oauth-ui + Verdaccio](verdaccio-github-oauth-ui/README.md)

View File

@@ -0,0 +1,17 @@
# Amazon S3 Bucket (Localstack) and Verdaccio 6.x
This setup runs Verdaccio alongside Localstack, providing a simple test/mocking environment for
developing cloud applications. In this case, we are simulating AWS S3 functionality.
## Usage
> You might need to create bucket manually here
> aws --endpoint-url=http://localhost:4566 s3 mb s3://localstack.s3.plugin.test
```
docker-compose up --force-recreate --build --always-recreate-deps
```
## Articles
- [Set up S3 bucket using Docker / Compose](https://discuss.localstack.cloud/t/set-up-s3-bucket-using-docker-compose/646.html)

View File

@@ -0,0 +1,29 @@
version: '3.8'
services:
localstack-s3:
container_name: '${LOCALSTACK_DOCKER_NAME-localstack-main}'
image: localstack/localstack:s3-latest
ports:
- '127.0.0.1:4566:4566'
volumes:
- './init-s3.py:/etc/localstack/init/ready.d/init-s3.py'
verdaccio:
container_name: verdaccio-s3-plugin
build: s3Plugin/
environment:
- DEBUG=verdaccio:*
- AWS_ACCESS_KEY_ID=foobar
- AWS_SECRET_ACCESS_KEY=foobar
- AWS_DEFAULT_REGION=eu-west-2
- AWS_S3_ENDPOINT=http://localstack-s3:4566
- AWS_S3_PATH_STYLE=true
ports:
- '4874:4873'
depends_on:
- localstack-s3
networks:
- default
networks:
default:
name: verdaccio-network

View File

@@ -0,0 +1,10 @@
import boto3
s3_client = boto3.client(
"s3",
endpoint_url=f"http://localhost:4566",
aws_access_key_id="test",
aws_secret_access_key="test"
)
s3_client.create_bucket(Bucket="localstack.s3.plugin.test")

View File

@@ -0,0 +1,9 @@
FROM verdaccio/verdaccio:6.x-next
LABEL Juan Picado <jotadeveloper@gmail.com>
# Copy the configuration file into the container
ADD config.yaml /verdaccio/conf/config.yaml
USER root
# This is the best way to install a plugin in Verdaccio
RUN npm install --global verdaccio-aws-s3-storage
USER $VERDACCIO_USER_UID

View File

@@ -0,0 +1,27 @@
storage: /verdaccio/storage
store:
aws-s3-storage:
bucket: localstack.s3.plugin.test
keyPrefix: docker-test-prefix
region: eu-west-2
endpoint: http://localstack-s3:4566
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $all
proxy: npmjs
'**':
access: $all
publish: $all
proxy: npmjs
log: { type: stdout, format: pretty, level: trace }
listen:
- 0.0.0.0:4873

View File

@@ -0,0 +1,17 @@
# GitHub OAuth Login with verdaccio-github-oauth-ui plugin and Verdaccio 6.x
This setup runs Verdaccio alongside verdaccio-github-oauth-ui plugin.
https://github.com/n4bb12/verdaccio-github-oauth-ui
## Configuration
Open `config.yaml` and modify the required properties follow the official documentation.
https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
## Usage
```bash
docker-compose up --force-recreate --build --always-recreate-deps
```

View File

@@ -0,0 +1,15 @@
version: '3.8'
services:
verdaccio:
container_name: verdaccio-oauth-plugin
build: plugin/
environment:
- DEBUG=verdaccio:*
ports:
- '4874:4873'
networks:
- default
networks:
default:
name: verdaccio-network

View File

@@ -0,0 +1,9 @@
FROM verdaccio/verdaccio:6.x-next
LABEL Juan Picado <jotadeveloper@gmail.com>
# Copy the configuration file into the container
ADD config.yaml /verdaccio/conf/config.yaml
USER root
# This is the best way to install a plugin in Verdaccio
RUN npm install --global verdaccio-github-oauth-ui
USER $VERDACCIO_USER_UID

View File

@@ -0,0 +1,34 @@
storage: /verdaccio/storage
middlewares:
github-oauth-ui:
enabled: true
auth:
# READ HERE https://github.com/n4bb12/verdaccio-github-oauth-ui/blob/main/docs/configuration.md
github-oauth-ui:
client-id: take_this_from_github
client-secret: take_this_from_github
token: my_github_token
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@*/*':
access: $all
publish: $all
proxy: npmjs
jquery:
# Limit access to users:
access: github/user/GITHUB_USER
'**':
access: $all
publish: $all
proxy: npmjs
log: { type: stdout, format: pretty, level: trace }
listen:
- 0.0.0.0:4873

View File

@@ -4,16 +4,16 @@
"version": "2.0.0-next-8.0",
"main": "src/index.ts",
"devDependencies": {
"@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",
"@verdaccio/config": "workspace:8.0.0-next-8.17",
"@verdaccio/core": "workspace:8.0.0-next-8.17",
"@verdaccio/types": "workspace:13.0.0-next-8.6",
"debug": "4.4.1",
"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.14"
"verdaccio": "workspace:8.0.0-next-8.17"
},
"scripts": {
"test": "echo no test",

View File

@@ -0,0 +1,9 @@
# @verdaccio/e2e-cli-npm-common
## 1.0.1-next-8.0
### Patch Changes
- d945bfe: fix(e2e): test.each was not working as expected
- 534fafd: feat(e2e): add npm11
- @verdaccio/test-cli-commons@2.0.0-next-8.0

View File

@@ -12,7 +12,7 @@ export function runAudit(npm) {
await registry.init();
});
test.each([['verdaccio-memory', '@verdaccio/cli']])(
test.each([['verdaccio-memory'], ['@verdaccio/cli']])(
'should audit a package %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(

View File

@@ -17,26 +17,30 @@ export function runDistTag(npm) {
await registry.init();
});
test.each([['@foo/foo', 'foo']])('should list dist-tags for %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await npmUtils.publish(npm, tempFolder, pkgName, registry);
await npmUtils.bumbUp(npm, tempFolder, registry);
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await npm(
{ cwd: tempFolder },
'dist-tag',
'ls',
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
});
test.each([['@foo/verdaccio-foo'], ['verdaccio-foo']])(
'should list dist-tags for %s',
async (pkgName) => {
// Packages must not exist in npm registry to avoid conflicts with data from uplink
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
);
await npmUtils.publish(npm, tempFolder, pkgName, registry);
await npmUtils.bumbUp(npm, tempFolder, registry);
await npmUtils.publish(npm, tempFolder, pkgName, registry, ['--tag', 'beta']);
const resp2 = await npm(
{ cwd: tempFolder },
'dist-tag',
'ls',
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('beta: 1.1.0latest: 1.0.0');
}
);
test.each([['@verdaccio/bar']])('should remove tag with dist-tags for %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm-common",
"version": "1.0.0",
"version": "1.0.1-next-8.0",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0"
},

View File

@@ -12,12 +12,18 @@ export function runPublish(npm) {
await registry.init();
});
test.each([['verdaccio-memory', 'verdaccio', '@verdaccio/foo', '@verdaccio/some-foo']])(
test.each([['verdaccio-memory'], ['verdaccio'], ['@verdaccio/foo'], ['@verdaccio/some-foo']])(
'should publish a package %s',
async (pkgName) => {
// As of npm v11, npm will fetch the packument from the npm registry before publishing (from the uplink),
// and there are more checks in the client:
// - "You cannot publish over the previously published versions"
// - "You must specify a tag using --tag when publishing a prerelease version"
// - "Cannot implicitly apply the 'latest' tag because previously published version x.y.z is higher than the new version a.b.c"
// Therefore, we pick a version that is higher than any of the published versions for the test packages (and not a pre-release).
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
'99.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -31,7 +37,6 @@ export function runPublish(npm) {
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.name).toEqual(pkgName);
expect(parsedBody.files).toBeDefined();
expect(parsedBody.files).toBeDefined();
}
);

View File

@@ -20,7 +20,7 @@ export function runStar(npm) {
test.each([['@verdaccio/foo']])('should star a package %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -39,7 +39,7 @@ export function runStar(npm) {
test.each([['@verdaccio/bar']])('should unstar a package %s', async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -67,7 +67,7 @@ export function runStar(npm) {
const pkgName = '@verdaccio/stars';
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-patch',
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()

View File

@@ -17,12 +17,12 @@ export function runUnpublish(npm) {
await registry.init();
});
test.each([['@verdaccio/test1', 'super-package-do-not-exist-spam']])(
test.each([['@verdaccio/test1'], ['super-package-do-not-exist-spam']])(
'should unpublish a full package %s',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-beta',
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -44,16 +44,16 @@ export function runUnpublish(npm) {
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('- @verdaccio/test1');
expect(resp2.stdout).toEqual(`- ${pkgName}`);
}
);
test.each([['@verdaccio/test1', 'super-package-do-not-exist-spam']])(
test.each([['@verdaccio/test1'], ['super-package-do-not-exist-spam']])(
'should unpublish a package %s version',
async (pkgName) => {
const { tempFolder } = await prepareGenericEmptyProject(
pkgName,
'1.0.0-beta',
'1.0.0',
registry.port,
registry.getToken(),
registry.getRegistryUrl()
@@ -69,13 +69,13 @@ export function runUnpublish(npm) {
const resp2 = await npm(
{ cwd: tempFolder },
'unpublish',
`${pkgName}@1.0.0-beta`,
`${pkgName}@1.0.0`,
'--force',
'--loglevel=info',
'--json',
...addRegistry(registry.getRegistryUrl())
);
expect(resp2.stdout).toEqual('- @verdaccio/test1@1.0.0-beta');
expect(resp2.stdout).toEqual(`- ${pkgName}@1.0.0`);
}
);

View File

@@ -1,5 +1,14 @@
# @verdaccio/e2e-cli-npm9
## 1.0.2-next-8.1
### Patch Changes
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.2-next-8.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm10",
"version": "1.0.2-next-8.0",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",

View File

@@ -0,0 +1,3 @@
{
"extends": "../../../.babelrc"
}

View File

@@ -0,0 +1,7 @@
{
"rules": {
"no-console": 0,
"@typescript-eslint/no-var-requires": 0,
"@typescript-eslint/explicit-member-accessibility": 0
}
}

View File

@@ -0,0 +1,79 @@
# @verdaccio/e2e-cli-npm9
## 1.0.2-next-8.1
### Patch Changes
- 534fafd: feat(e2e): add npm11
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 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
- Updated dependencies [351aeeaa8]
- Updated dependencies [d167f92e1]
- Updated dependencies [c383eb68c]
- @verdaccio/test-cli-commons@1.1.0
## 1.0.1-6-next.7
### Patch Changes
- Updated dependencies [c383eb68]
- @verdaccio/test-cli-commons@1.1.0-6-next.7
## 1.0.1-6-next.6
### Patch Changes
- Updated dependencies [d167f92e]
- @verdaccio/test-cli-commons@1.1.0-6-next.6
## 1.0.1-6-next.5
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.5
## 1.0.1-6-next.4
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.4
## 1.0.1-6-next.3
### Patch Changes
- 351aeeaa: fix(deps): @verdaccio/utils should be a prod dep of local-storage
- Updated dependencies [351aeeaa]
- @verdaccio/test-cli-commons@1.0.1-6-next.3
## 1.0.1-6-next.2
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.2
## 1.0.1-6-next.1
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.1
## 1.0.1-6-next.0
### Patch Changes
- @verdaccio/test-cli-commons@1.0.1-6-next.0

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runAudit } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('audit a package', () => {
runAudit(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runDeprecate } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('deprecate a package', () => {
runDeprecate(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runDistTag } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('dist-tags a package', () => {
runDistTag(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runInfo } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('info a package', () => {
runInfo(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runInstall } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('install a project packages', () => {
runInstall(npm);
});

View File

@@ -0,0 +1,13 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm11",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",
"npm": "11.4.0"
},
"scripts": {
"test": "vitest run --testTimeout 50000"
}
}

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runPing } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('ping registry', () => {
runPing(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runPublish } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('publish a package', () => {
runPublish(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runSearch } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('search a package', () => {
runSearch(npm);
});

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runStar } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('star a package', () => {
runStar(npm);
});

View File

@@ -0,0 +1,8 @@
{
"extends": "../../../tsconfig.reference.json",
"references": [
{
"path": "../cli-commons"
}
]
}

View File

@@ -0,0 +1,9 @@
import { describe } from 'vitest';
import { runUnpublish } from '@verdaccio/e2e-cli-npm-common';
import { npm } from './utils';
describe('unpublish a package', () => {
runUnpublish(npm);
});

View File

@@ -0,0 +1,41 @@
import { SpawnOptions } from 'child_process';
import { join } from 'path';
import { exec } from '@verdaccio/test-cli-commons';
import { addRegistry } from '@verdaccio/test-cli-commons';
export function getCommand() {
return join(__dirname, './node_modules/.bin/npm');
}
export function npm(options: SpawnOptions, ...args: string[]) {
return exec(options, getCommand(), args);
}
export async function bumbUp(tempFolder, registry) {
await npm({ cwd: tempFolder }, 'version', 'minor', ...addRegistry(registry.getRegistryUrl()));
}
export async function publish(tempFolder, pkgName, registry, arg: string[] = []) {
const resp = await npm(
{ cwd: tempFolder },
'publish',
...arg,
'--json',
...addRegistry(registry.getRegistryUrl())
);
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.name).toEqual(pkgName);
}
export async function getInfoVersions(pkgName, registry) {
const infoResp = await npm(
{},
'info',
pkgName,
'--json',
...addRegistry(registry.getRegistryUrl())
);
const infoBody = JSON.parse(infoResp.stdout as string);
return infoBody;
}

View File

@@ -1,5 +1,14 @@
# @verdaccio/e2e-cli-npm6
## 1.0.2-next-8.1
### Patch Changes
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.2-next-8.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm6",
"version": "1.0.2-next-8.0",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",

View File

@@ -1,5 +1,14 @@
# @verdaccio/e2e-cli-npm7
## 1.0.2-next-8.1
### Patch Changes
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.2-next-8.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm7",
"version": "1.0.2-next-8.0",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",

View File

@@ -1,5 +1,14 @@
# @verdaccio/e2e-cli-npm8
## 1.0.2-next-8.1
### Patch Changes
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.2-next-8.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm8",
"version": "1.0.2-next-8.0",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",

View File

@@ -1,5 +1,14 @@
# @verdaccio/e2e-cli-npm9
## 1.0.2-next-8.1
### Patch Changes
- Updated dependencies [d945bfe]
- Updated dependencies [534fafd]
- @verdaccio/e2e-cli-npm-common@1.0.1-next-8.0
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.2-next-8.0
### Patch Changes

View File

@@ -1,7 +1,7 @@
{
"private": true,
"name": "@verdaccio/e2e-cli-npm9",
"version": "1.0.2-next-8.0",
"version": "1.0.2-next-8.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:2.0.0-next-8.0",
"@verdaccio/e2e-cli-npm-common": "workspace:*",

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