Compare commits

..

111 Commits

Author SHA1 Message Date
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
Juan Picado
6a0e3553c7 chore: update versions (next-8) (#5157)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-29 15:37:40 +01:00
Juan Picado
8f28186645 fix: add legacyMergeConfigs legacy plugins (#5170)
* fix: add legacyMergeConfigs legacy plugins

* Update server.ts

* Update plugin-async-loader.ts

* Create yellow-flies-sniff.md

* add tests

* Update packages/loaders/src/plugin-async-loader.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-29 15:24:27 +01:00
Marc Bernard
da1650c421 fix(middleware): scoped package for allow checks (#5165) 2025-03-29 13:23:24 +01:00
Juan Picado
bb478f2ab8 chore: expose config utils (#5168) 2025-03-29 09:58:21 +01:00
Marc Bernard
b9fea389b6 chore: cleanup utils (#5162) 2025-03-28 21:32:32 +01:00
Marc Bernard
1e2f5037d5 chore(api): avoid double registration of JSON bodyParser (#5164) 2025-03-28 21:09:46 +01:00
Marc Bernard
2bcd3ca5b6 chore(config): harmonize configuration options (#5166)
* chore(config): harmonize configuration options

* move prefix back
2025-03-28 20:43:09 +01:00
verdacciobot
00c6afe869 chore: updated static data 2025-03-27 00:15:02 +00:00
Marc Bernard
209a650898 chore: fix ui-component npmignore and readme (#5158) 2025-03-26 06:55:28 +01:00
Marc Bernard
d4fc8275aa fix(e2e): name for npm10 test (#5156) 2025-03-24 20:12:26 +01:00
verdacciobot
817ec3d0e8 chore: updated static data 2025-03-24 00:15:39 +00:00
Juan Picado
41aa893b1a chore: update versions (next-8) (#5138)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-03-23 14:42:29 +01:00
Marc Bernard
2eb8cc24e8 fix: handling for uplink timeouts (#5153)
* chore(storage): service unavailable message

* fix: handling for uplink timeouts

* remove extra changeset
2025-03-23 12:47:02 +01:00
Marc Bernard
b3fa5df7bb fix(proxy): uplink processing order (#5131)
* fix: uplink processing order

* Replace upname with uplinkName

* fix proxy uplinkname
2025-03-23 12:36:27 +01:00
Juan Picado
d633685d9e Update README.md 2025-03-23 12:35:40 +01:00
Juan Picado
a0968ba1f7 clean up readme 2025-03-23 12:34:55 +01:00
Marc Bernard
30fec6fd3c chore: remove obsolete test data from local-storage (#5151) 2025-03-22 12:43:39 +01:00
Marc Bernard
50f20aa004 chore: debug messages in loader (#5152) 2025-03-22 07:24:57 +01:00
Marc Bernard
dbe6a76eab fix(i18n): avoid fallback for en-us (#5150) 2025-03-21 17:49:31 +01:00
verdacciobot
96bd6109ac chore: updated static data 2025-03-20 00:14:22 +00:00
Marc Bernard
c1faf6d473 chore(ui): reduce build size (#5142)
* chore(ui): reduce build size

* move types from /build/src to /build
2025-03-17 20:20:15 +01:00
Marc Bernard
0607e802ba chore: update readme badges and license files (#5145)
* chore: update readme badges and license files

* stargazers
2025-03-17 19:53:25 +01:00
Marc Bernard
493366301f fix(ui): format date distance test (#5146) 2025-03-17 19:47:58 +01:00
Marc Bernard
3763df19b4 fix(ui): start storybook on windows (#5141) 2025-03-17 19:41:33 +01:00
Marc Bernard
648aaf93bb fix: memory plugin limit error message (#5147) 2025-03-17 19:36:45 +01:00
Marc Bernard
99f6e118e2 chore(ui): flags import and minor updates (#5149) 2025-03-17 19:22:51 +01:00
Marc Bernard
e67336cef2 chore: add npmignore (#5148) 2025-03-17 17:06:39 +01:00
Marc Bernard
c81bd75616 chore(ui): update react-json-view (#5144)
* chore(ui): update react-json-view

* update lockfile
2025-03-17 08:02:26 +01:00
verdacciobot
1a8f8b020c chore: updated static data 2025-03-17 00:15:28 +00:00
Juan Picado
5130a67f90 Update x-e2e-jest-workflow.yml 2025-03-16 14:25:01 +01:00
Juan Picado
44b3a45813 Update x-e2e-jest-workflow.yml 2025-03-16 14:21:40 +01:00
551 changed files with 21199 additions and 6184 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,5 @@
---
'@verdaccio/api': patch
---
chore(api): avoid double registration of JSON bodyParser

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): start storybook on windows

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): update react-json-view

View File

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

View 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

View File

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

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/config': patch
---
chore: expose config utils

View File

@@ -1,7 +0,0 @@
---
'verdaccio-auth-memory': minor
'@verdaccio/core': minor
'@verdaccio/auth': minor
---
fix: auth callback types

View File

@@ -0,0 +1,9 @@
---
'@verdaccio/config': patch
'@verdaccio/search': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/utils': patch
---
fix: uplink processing order

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/e2e-cli-npm10': patch
---
fix(e2e): name for npm10 test

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,8 @@
---
'@verdaccio/server': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/ui-components': patch
---
chore(config): harmonize configuration options

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): flags import and minor updates

View File

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

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/core': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
---
fix: handling for uplink timeouts

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): scoped package for allow checks

View File

@@ -0,0 +1,5 @@
---
'verdaccio-memory': patch
---
fix: memory plugin limit error message

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

@@ -60,67 +60,118 @@
"@verdaccio/e2e-cli-pnpm-common": "1.0.2-next-8.0",
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
"docusaurus-plugin-downloads": "2.0.0",
"@verdaccio/local-publish": "0.0.2"
"@verdaccio/local-publish": "0.0.2",
"@verdaccio/e2e-cli-npm10": "1.0.1",
"@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-seahorses-change",
"red-dolls-repair",
"rotten-melons-notice",
"rotton-readers-shave",
"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",
"tricky-impalas-shake",
"tricky-knives-end",
"twelve-games-wonder",
"violet-baboons-beg",
"violet-bobcats-allow",
"violet-boxes-float",
"weak-cherries-serve",
"wet-cats-behave"
"wet-cats-behave",
"wicked-points-relate",
"wild-coins-lie",
"yellow-flies-sniff"
]
}

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): format date distance test

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/loaders': patch
---
chore: debug messages in loader

View File

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

View 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

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): reduce build size

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/local-storage': patch
---
chore: remove obsolete test data from local-storage

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore: fix ui-component npmignore and readme

View File

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

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-i18n': patch
---
fix(i18n): avoid fallback for en-us

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

@@ -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

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

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@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'
@@ -166,69 +166,4 @@ jobs:
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm8:
name: 'pnpm8:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@10.5.2
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm9:
name: 'pnpm:9:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@10.5.2
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js

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

@@ -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.
[![verdaccio (latest)](https://img.shields.io/npm/v/verdaccio/latest.svg)](https://www.npmjs.com/package/verdaccio)
[![verdaccio (downloads)](https://img.shields.io/npm/dy/verdaccio.svg)](https://www.npmjs.com/package/verdaccio)
[![docker pulls](https://img.shields.io/docker/pulls/verdaccio/verdaccio.svg?maxAge=43200)](https://verdaccio.org/docs/en/docker.html)
[![backers](https://opencollective.com/verdaccio/tiers/backer/badge.svg?label=Backer&color=brightgreen)](https://opencollective.com/verdaccio)
[![stackshare](https://img.shields.io/badge/Follow%20on-StackShare-blue.svg?logo=stackshare&style=flat)](https://stackshare.io/verdaccio)
[![Verdaccio Home](https://img.shields.io/badge/Homepage-Verdaccio-405236?style=flat)](https://verdaccio.org)
[![MIT License](https://img.shields.io/github/license/verdaccio/verdaccio?label=License&color=405236)](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
[![Verdaccio Latest](https://img.shields.io/npm/v/verdaccio?label=Latest%20Version&color=405236)](https://github.com/verdaccio/verdaccio)
[![discord](https://img.shields.io/discord/388674437219745793.svg)](http://chat.verdaccio.org/)
[![MIT](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/verdaccio/verdaccio/blob/master/LICENSE)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/verdaccio/localized.svg)](https://crowdin.com/project/verdaccio)
[![Documentation](https://img.shields.io/badge/Help-Verdaccio?style=flat&logo=Verdaccio&label=Verdaccio&color=cd4000)](https://verdaccio.org/docs)
[![Discord](https://img.shields.io/badge/Chat-Discord?style=flat&logo=Discord&label=Discord&color=cd4000)](https://discord.com/channels/388674437219745793)
[![Bluesky](https://img.shields.io/badge/Follow-Bluesky?style=flat&logo=Bluesky&label=Bluesky&color=cd4000)](https://bsky.app/profile/verdaccio.org)
[![Backers](https://img.shields.io/opencollective/backers/verdaccio?style=flat&logo=opencollective&label=Join%20Backers&color=cd4000)](https://opencollective.com/verdaccio/contribute)
[![Sponsors](https://img.shields.io/opencollective/sponsors/verdaccio?style=flat&logo=opencollective&label=Sponsor%20Us&color=cd4000)](https://opencollective.com/verdaccio/contribute)
[![Verdaccio Downloads](https://img.shields.io/npm/dm/verdaccio?style=flat&logo=npm&label=Npm%20Downloads&color=lightgrey)](https://www.npmjs.com/package/verdaccio)
[![Docker Pulls](https://img.shields.io/docker/pulls/verdaccio/verdaccio?style=flat&logo=docker&label=Docker%20Pulls&color=lightgrey)](https://hub.docker.com/r/verdaccio/verdaccio)
[![GitHub Stars](https://img.shields.io/github/stars/verdaccio?style=flat&logo=github&label=GitHub%20Stars%20%E2%AD%90&color=lightgrey)](https://github.com/verdaccio/verdaccio/stargazers)
[![Github](https://img.shields.io/github/stars/verdaccio/verdaccio.svg?style=social&label=Stars)](https://github.com/verdaccio/verdaccio/stargazers)
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
## Versions
@@ -97,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:
>
@@ -285,14 +290,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 | [![jetbrain](assets/thanks/jetbrains/logo.png)](https://www.jetbrains.com/) | JetBrains provides licenses for products for active maintainers, renewable yearly |
| Crowdin | [![crowdin](assets/thanks/crowdin/logo.png)](https://crowdin.com/) | Crowdin provides platform for translations |
| BrowserStack | [![browserstack](https://cdn.verdaccio.dev/readme/browserstack_logo.png)](https://www.browserstack.com/) | BrowserStack provides plan to run End to End testing for the UI |
| Netlify | [![netlify](https://www.netlify.com/img/global/badges/netlify-color-accent.svg)](https://www.netlify.com/) | Netlify provides pro plan for website deployment |
| Algolia | [![algolia](https://cdn.verdaccio.dev/sponsor/logo/algolia/logo.png)](https://algolia.com/) | Algolia provides search services for the website |
| Docker | [![docker](https://cdn.verdaccio.dev/sponsor/logo/docker/docker.png)](https://www.docker.com/community/open-source/application) | Docker offers unlimited pulls and unlimited egress to any and all users |
| Company | Logo | License |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| JetBrains | [![jetbrain](https://github.com/verdaccio/verdaccio/blob/master/assets/thanks/jetbrains/logo.png?raw=true)](https://www.jetbrains.com/) | JetBrains provides licenses for products for active maintainers, renewable yearly |
| Crowdin | [![crowdin](https://github.com/verdaccio/verdaccio/blob/master/assets/thanks/crowdin/logo.png?raw=true)](https://crowdin.com/) | Crowdin provides platform for translations |
| BrowserStack | [![browserstack](https://cdn.verdaccio.dev/readme/browserstack_logo.png)](https://www.browserstack.com/) | BrowserStack provides plan to run End to End testing for the UI |
| Netlify | [![netlify](https://www.netlify.com/img/global/badges/netlify-color-accent.svg)](https://www.netlify.com/) | Netlify provides pro plan for website deployment |
| Algolia | [![algolia](https://cdn.verdaccio.dev/sponsor/logo/algolia/logo.png)](https://algolia.com/) | Algolia provides search services for the website |
| Docker | [![docker](https://cdn.verdaccio.dev/sponsor/logo/docker/docker.png)](https://www.docker.com/community/open-source/application) | Docker offers unlimited pulls and unlimited egress to any and all users |
## Maintainers
@@ -331,7 +336,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)]
[![sponsor](https://opencollective.com/verdaccio/sponsor/0/avatar.svg)](https://opencollective.com/verdaccio/sponsor/0/website)
[![sponsor](https://opencollective.com/verdaccio/sponsor/1/avatar.svg)](https://opencollective.com/verdaccio/sponsor/1/website)
@@ -346,32 +351,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)]
[![backers](https://opencollective.com/verdaccio/backers.svg?width=890)](https://opencollective.com/verdaccio#backers)
[![backers](https://opencollective.com/verdaccio/backers.svg?width=890)](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)].
[![contributors](https://opencollective.com/verdaccio/contributors.svg?width=890&button=true)](../../graphs/contributors)
[![contributors](https://opencollective.com/verdaccio/contributors.svg?width=890&button=true)](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

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.12",
"@verdaccio/core": "workspace:8.0.0-next-8.12",
"@verdaccio/types": "workspace:13.0.0-next-8.3",
"@verdaccio/config": "workspace:8.0.0-next-8.16",
"@verdaccio/core": "workspace:8.0.0-next-8.16",
"@verdaccio/types": "workspace:13.0.0-next-8.6",
"debug": "4.4.0",
"fs-extra": "11.2.0",
"get-port": "5.1.1",
"got": "11.8.6",
"js-yaml": "4.1.0",
"lodash": "4.17.21",
"verdaccio": "workspace:8.0.0-next-8.12"
"verdaccio": "workspace:8.0.0-next-8.16"
},
"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,21 @@
# @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
- d4fc827: fix(e2e): name for npm10 test
- @verdaccio/test-cli-commons@2.0.0-next-8.0
## 1.0.1
### Patch Changes

View File

@@ -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.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);
});

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