Compare commits

...

215 Commits

Author SHA1 Message Date
Juan Picado
ce1c642312 chore: update versions (next-8) (#4761)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-11 21:57:05 +02:00
Juan Picado
93c53a4d5a chore: switch packages to 8 2024-09-11 21:46:34 +02:00
verdacciobot
a77074d0a8 chore: updated static data 2024-09-09 00:16:02 +00:00
renovate[bot]
71028d5ce4 chore(deps): update github/codeql-action digest to be8b74c (#4806)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-06 17:08:49 +02:00
verdacciobot
e907171bfb chore: updated static data 2024-09-05 00:14:57 +00:00
verdacciobot
7ef2ed6959 chore: updated static data 2024-09-02 00:15:37 +00:00
dependabot[bot]
d573444910 chore(deps): bump github/codeql-action from 3.25.15 to 3.26.6 (#4803) 2024-09-01 15:02:23 +02:00
renovate[bot]
829c908e45 chore(deps): update actions/upload-artifact digest to a8a3f3a (#4798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-01 09:18:42 +02:00
Gweesin Chan
ed6c794d2d chore: remove redundant config (#4797) 2024-08-30 09:39:30 +02:00
verdacciobot
b03e8b9dd6 chore: updated static data 2024-08-29 00:14:51 +00:00
verdacciobot
b167f9d323 chore: updated static data 2024-08-26 00:14:31 +00:00
Marc Bernard
a05a7d8a13 fix(config): test runs on Windows (#4786)
* fix(config): test runs on Windows

* Typo

* limit APPDATA test to win32

* limit APPDATA test to win32

* limit APPDATA test to win32

* Limit APPDATA test to Windows (w/ mocking)

* More realistic APPDATA value
2024-08-22 08:49:38 +02:00
verdacciobot
3f46ff0107 chore: updated static data 2024-08-22 00:14:26 +00:00
Marc Bernard
7c9f3cf15e chore: improve startup logging (#4788) 2024-08-20 21:17:33 +02:00
verdacciobot
e8de53bcdf chore: updated static data 2024-08-19 00:14:51 +00:00
verdacciobot
f48f19dfe9 chore: updated static data 2024-08-15 00:14:36 +00:00
verdacciobot
4793270a3e chore: updated static data 2024-08-12 00:14:50 +00:00
verdacciobot
b64c7d4660 chore: updated static data 2024-08-08 00:14:18 +00:00
Juan Picado
c63655b6f2 Update docusaurus.config.js 2024-08-06 19:49:23 +02:00
Juan Picado
97947ebb3d Update website.yml 2024-08-06 19:31:37 +02:00
Juan Picado
60b263f23d Update docusaurus.config.js 2024-08-06 19:30:44 +02:00
Juan Picado
6576ea7a5b Update docusaurus.config.js 2024-08-06 19:22:35 +02:00
Juan Picado
303c659bfc fix: enable Irish language on ui (#4781)
* fix: enable irish language on ui

* Update docusaurus.config.js
2024-08-05 23:23:53 +02:00
Juan Picado
4769ddf1ba website: enable iris translation
it reached 100% 🎉
2024-08-05 22:16:19 +02:00
verdacciobot
8b9f8a6f80 chore: updated static data 2024-08-05 00:14:32 +00:00
Juan Picado
06f68eb0e7 chore: migrate vitest packages (#4780)
* chore: migrate api package

* Update distTag.spec.ts

* fix storage test

* Update server.ts

* migrate search package

* chore: migrate plugin local-storage
2024-08-04 20:17:02 +02:00
renovate[bot]
1f75a416f2 chore(deps): update all linting dependencies (#4779)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-04 08:12:54 +02:00
Juan Picado
477f9bcba4 chore: migrate vitest more package (#4778)
* chore: migrate proxy package

* chore: migrate logger-prettier
2024-08-03 22:52:48 +02:00
Juan Picado
0c7b19b192 chore: migrate vitest packages (#4777)
* chore: migrate core to vitest

* chore: migrate url module

* chore: migrate tarball package

* chore: migrate loader package

* chore: migrate hook package

* chore: migrate signature package

* chore: migrate utils package
2024-08-03 19:39:22 +02:00
renovate[bot]
79c1fedc1b chore(deps): update actions/setup-node digest to 1a4442c (#4775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 18:57:46 +02:00
renovate[bot]
29b1c39169 fix(deps): update all package managers (#4768) 2024-08-03 17:15:28 +02:00
renovate[bot]
0ab8fd92bd chore(deps): update dependency rimraf to v5.0.10 (#4765) 2024-08-03 16:46:56 +02:00
renovate[bot]
07f5cf2799 fix(deps): update dependency ajv to v8.17.1 (#4763) 2024-08-03 15:55:29 +02:00
renovate[bot]
f59268b225 fix(deps): update dependency js-base64 to v3.7.7 (#4766) 2024-08-03 15:29:08 +02:00
renovate[bot]
5513e2f8a2 fix(deps): update dependency usehooks-ts to v2.16.0 (#4767) 2024-08-03 15:28:42 +02:00
renovate[bot]
fb239e39c3 fix(deps): update dependency core-js to v3.37.1 (#4764) 2024-08-03 14:14:15 +02:00
renovate[bot]
c7a7b1ded9 fix(deps): update dependency @crowdin/crowdin-api-client to v1.35.0 (#4762) 2024-08-03 14:14:03 +02:00
Juan Picado
d3f4146bc7 Update docker-plugins-e2e.yml 2024-08-03 13:00:53 +02:00
Juan Picado
5c561f7d1a fix docker ci 2024-08-03 12:57:00 +02:00
Juan Picado
0119daaba9 improve ci 2024-08-03 10:35:46 +02:00
renovate[bot]
d7332e6122 chore(deps): update actions/cache digest to e12d46a (#4758)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 10:32:21 +02:00
renovate[bot]
02058672e6 chore(deps): update actions/checkout digest to f43a0e5 (#4759)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-03 10:32:13 +02:00
Juan Picado
a82be2d8a8 fix docker test 2024-08-03 10:30:42 +02:00
Juan Picado
527f39988f Update docker-proxy-apache-e2e.yml 2024-08-03 09:59:21 +02:00
Juan Picado
4d3435001a Update docker-proxy-apache-e2e.yml 2024-08-03 09:56:36 +02:00
Juan Picado
8c10a3ec31 chore: migrate config package to vitest (#4760)
* chore: migrate config package to vitest

* Update pnpm-lock.yaml

* improve win32 test

* Create moody-mugs-pay.md
2024-08-03 09:52:18 +02:00
renovate[bot]
8ef7a285e5 chore(deps): update dependency yaml to v2.5.0 (#4757) 2024-08-02 17:52:17 +02:00
renovate[bot]
45c6b70ebc chore(deps): update dependency react-hook-form to v7.52.1 (#4756) 2024-08-02 17:51:52 +02:00
renovate[bot]
fd7ed45064 chore(deps): update dependency minimatch to v9.0.5 (#4755) 2024-08-02 17:51:12 +02:00
renovate[bot]
79e76d9c72 fix(deps): update dependency debug to v4.3.6 (#4754) 2024-08-02 14:58:37 +02:00
dependabot[bot]
947f43e7e6 chore(deps): bump actions/upload-artifact from 3.1.3 to 4.3.4 (#4748)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.3.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](a8a3f3ad30...0b2256b8c0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-02 08:00:14 +02:00
dependabot[bot]
591a699597 chore(deps): bump docker/setup-qemu-action from 3.0.0 to 3.2.0 (#4749) 2024-08-01 19:52:43 +02:00
dependabot[bot]
08c49460d5 chore(deps): bump actions/setup-node from 4.0.2 to 4.0.3 (#4750)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](60edb5dd54...1e60f620b9)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>
2024-08-01 18:50:33 +02:00
Juan Picado
489631bda9 chore: update versions (next-7) (#4746)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-08-01 18:36:08 +02:00
dependabot[bot]
112f1d60b8 chore(deps): bump github/codeql-action from 3.25.11 to 3.25.15 (#4751) 2024-08-01 18:02:15 +02:00
verdacciobot
e87b29885b chore: updated static data 2024-08-01 00:15:46 +00:00
Marc Bernard
ccc7bd1df5 fix(middleware): link to favicon in template (#4744) 2024-07-30 23:20:18 +02:00
Marc Bernard
3c6e6b9af7 chore: revert changes (#4745)
* chore: revert "Fix sidebar test"

This reverts commit 096d634917.

Sorry, this push should have gone to my fork only.

* chore: revert "Merge branch 'apm' into pr/mbtools/2"

This reverts commit 87fa9270a5, reversing
changes made to dc2cd48a78.

Sorry, this push should have gone to my fork only.
2024-07-30 23:15:34 +02:00
Marc Bernard
096d634917 Fix sidebar test 2024-07-29 11:12:30 -04:00
Marc Bernard
87fa9270a5 Merge branch 'apm' into pr/mbtools/2 2024-07-29 09:51:18 -04:00
verdacciobot
dc2cd48a78 chore: updated static data 2024-07-29 00:14:47 +00:00
Juan Picado
4c54c0c67d feat: update dependencies (#4738)
* udapte deps step1

* udpate 2

* update 3
2024-07-28 14:06:47 +02:00
renovate[bot]
6bed536f80 chore(deps): update typescript dependencies (master) (#4733)
* chore(deps): update typescript dependencies

* restore dep

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2024-07-28 08:41:50 +02:00
verdacciobot
1f4fa441ae chore: updated static data 2024-07-25 00:14:10 +00:00
Juan Picado
c5f5e75818 chore: remove node 22 from generator flow
npm sort of broken
2024-07-23 22:33:52 +02:00
verdacciobot
b3f52486f7 chore: updated static data 2024-07-22 00:14:48 +00:00
Juan Picado
bbfb4118bf chore: update versions (next-7) (#4711)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-21 18:06:35 +02:00
Marc Bernard
6c5f7a4fa0 fix(middleware): link to favicon in template (#4727) 2024-07-21 18:00:37 +02:00
Marc Bernard
2274e483ac apm: update action 2024-07-19 13:19:00 -04:00
Marc Bernard
d0dacd75c5 apm: update action 2024-07-19 13:18:02 -04:00
Marc Bernard
5bcfd7e2e2 apm: update docker 2024-07-19 13:02:49 -04:00
Marc Bernard
71fcd2de91 Merge branch 'verdaccio:master' into apm 2024-07-19 12:56:08 -04:00
Michael Ryan
39f7fd6057 docs: update logger level precedence stated in docs, moving http between info and debug (#4723)
Fixes #4654
2024-07-19 18:46:48 +02:00
Marc Bernard
96b28575a3 chore(ui): update babel dependencies (#4721) 2024-07-18 07:54:46 +02:00
verdacciobot
6249cbf562 chore: updated static data 2024-07-18 00:13:15 +00:00
Leo Wang(草鞋没号)
136e992bb9 feat: verdaccio-audit support timeout option (#4718)
* feat: verdaccio-audit support timeout option

* Create many-bees-tickle.md

* Update audit.ts

* update docs

* Update README.md

---------

Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2024-07-17 21:59:36 +02:00
Marc Bernard
2ee690638d Merge branch 'verdaccio:master' into apm 2024-07-17 15:39:05 -04:00
Marc Bernard
c31aec8336 fix: typo in config docs regarding check_owners (#4720) 2024-07-17 15:14:44 -04:00
Marc Bernard
5a0c23f900 fix: Dockerfile error FromAsCasing (#4713) 2024-07-17 19:57:35 +02:00
Marc Bernard
19df355e3c chore(api): update comment about route parameters (#4719) 2024-07-17 19:57:03 +02:00
Marc Bernard
39f71f5d7d apm: remove chip from searchitem 2024-07-17 11:35:02 -04:00
Marc Bernard
a985ddc246 Docker, healthcheck, list hover 2024-07-16 19:19:00 -04:00
Marc Bernard
2a6ee33071 fix(middleware): custom favicon (#4716) 2024-07-16 13:28:45 -04:00
Marc Bernard
919795c804 Create docker-apm.yml 2024-07-16 10:12:05 -04:00
Marc Bernard
d60bf44c43 lockfile 2024-07-15 18:19:34 -04:00
Marc Bernard
6626e77766 config 2024-07-15 17:59:12 -04:00
Marc Bernard
03a903d924 fix favicon 2024-07-15 17:41:02 -04:00
verdacciobot
6ee0afb13a chore: updated static data 2024-07-15 00:14:05 +00:00
Marc Bernard
016812b12c Docker image for apm 2024-07-14 14:10:08 -04:00
Marc Bernard
3b3cf86b54 chore: sync dependency defs between ui-components and ui-theme (#4712) 2024-07-13 06:38:04 -04:00
Marc Bernard
5a77414eb6 chore: fix type for country flags and hover titles (#4709)
* chore: fix type for country flags

* add text for Canada, fix Australia flag

* add flag texts

* fix text keys

* update changeset

* Add lock file

* Add Austria
2024-07-12 09:20:22 +02:00
verdacciobot
da6d8e5f38 chore: updated static data 2024-07-11 00:14:23 +00:00
verdacciobot
c7ba6b95f6 chore: updated static data 2024-07-08 00:14:35 +00:00
dependabot[bot]
744a806411 chore(deps): bump docker/build-push-action from 4 to 6 (#4693)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-07 21:15:56 +02:00
dependabot[bot]
1deb734b3e chore(deps): bump github/codeql-action from 3.25.7 to 3.25.11 (#4695)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.7 to 3.25.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f079b84933...b611370bb5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  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>
2024-07-07 20:17:29 +02:00
Juan Picado
9caca4b573 Update generator.yaml 2024-07-07 19:44:10 +02:00
Juan Picado
fec5a46b22 Update plugin-generator-e2e.yaml 2024-07-07 19:33:22 +02:00
Juan Picado
6aa850a8b4 chore: disable window ci 2024-07-07 19:32:18 +02:00
Juan Picado
85ef861cab Update plugin-generator-e2e.yaml 2024-07-07 19:22:55 +02:00
Juan Picado
3bc24bc4a7 chore: update versions (next-7) (#4703)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-07-07 18:45:32 +02:00
dependabot[bot]
26eeb022bb chore(deps): bump actions/cache from 3.3.3 to 4.0.2 (#4704) 2024-07-07 17:26:03 +02:00
dependabot[bot]
4c41982d9c chore(deps): bump actions/checkout from 3.6.0 to 4.1.7 (#4705) 2024-07-07 17:25:53 +02:00
dependabot[bot]
88c2885cb6 chore(deps): bump actions/setup-node from 3.8.2 to 4.0.2 (#4706) 2024-07-07 17:25:45 +02:00
renovate[bot]
e0ffae411d chore(deps): pin dependencies (#4697) 2024-07-07 14:46:35 +02:00
renovate[bot]
693b57c949 chore(deps): update actions/upload-artifact digest to a8a3f3a (#4698) 2024-07-07 14:46:20 +02:00
Marc Bernard
10dd81f473 feat: complete overhaul of web user interface (#4687)
* fix: ui-component updates

* Update all

* Update tests

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Updates

* Dark logo

* Add showUplinks parameter

* Fix DependencyBlock links

* Update

* Fix highlight dark

* Update

* Color

* Fix uncaught exception

* changeset

* Fix Install Settingsmenu, tsconfig

* Remove duplicate function (merge issue)

* Fix SideBar test and CodeQL issue
2024-07-07 14:12:24 +02:00
verdacciobot
2ee28c0988 chore: updated static data 2024-07-04 00:13:45 +00:00
verdacciobot
533abbd6e3 chore: updated static data 2024-07-01 00:15:22 +00:00
verdacciobot
33e25d2876 chore: updated static data 2024-06-27 00:13:32 +00:00
verdacciobot
7d4adac1fc chore: updated static data 2024-06-24 00:14:52 +00:00
verdacciobot
0f94336a9e chore: updated static data 2024-06-20 00:12:45 +00:00
verdacciobot
36feb886ee chore: updated static data 2024-06-17 00:14:12 +00:00
Juan Picado
e54fc76f8e chore: e2e plugin generator (#4686) 2024-06-16 18:36:20 +02:00
Juan Picado
8be0d4882e chore: disable unstable test generator 2024-06-16 12:42:13 +02:00
Juan Picado
0905d04801 Revert "migrate helm chart (#4685)"
This reverts commit e7517acff9.
2024-06-16 11:09:44 +02:00
Juan Picado
e7517acff9 migrate helm chart (#4685)
* migrate heml chart

* refactor

* Update helm-lint-test.yaml

* Update package.json

* Update Chart.yaml

* Update Chart.yaml

* rename

* Update helm-chart-lint-test.yaml
2024-06-16 10:40:37 +02:00
Juan Picado
15a86b7dd2 chore: update versions (next-7) (#4677)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-16 09:30:37 +02:00
renovate[bot]
73f81ee7a9 fix(deps): update dependency semver to v7.6.2 (#4682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-16 09:30:16 +02:00
renovate[bot]
e7ceb8c9e6 chore(deps): update dependency minimatch to v9.0.4 (#4681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-15 22:21:50 +02:00
Juan Picado
a528af49bc feat: migrate yeoman generator to monorepo (#4683)
* feat: migrate geoman generator

* Create README.md
2024-06-15 19:59:11 +02:00
Marc Bernard
117eb1ca42 fix: change bundleDependencies to array (#4680)
* fix: change bundleDependencies to array

* add changeset

* fixed testid
2024-06-15 00:35:07 +02:00
Marc Bernard
199aea375a chore: add config location and loglevel to startup log (#4679) 2024-06-13 21:34:41 +02:00
Marc Bernard
de6ff5cb0d fix: update fields for abbreviated manifest (#4674) 2024-06-13 13:11:38 +02:00
Marc Bernard
b270f7a975 Add OpenUPM to Verdaccio use cases (#4673)
[OpenUPM](https://openupm.com) is a fascinating use case of Verdaccio for something completely unrelated to node or npm: A public website and repository for [Unity](https://unity.com) packages which is interactive, real-time 3D content.
2024-06-13 12:06:58 +02:00
Marc Bernard
6e764e3c49 feat: add support for npm owner (#4582)
* feat: add support for npm owner

* Revert debug msg

* Finish feature and add test cases

* Fix remote user name and more tests

* Simplify passing remote user

* Update version metadata with owners

* Add test for validateUserName

* Add comment for "change owner"

* add config option

* add check to removePackage, removeTarball

* typo

* check access when write=true

* Add to config, fix undefined user

* Update docs

* Update docs

* Update readme
2024-06-13 12:06:01 +02:00
Marc Bernard
ecbc569f23 chore: fix types for some store tests (#4675)
* chore: fix types for some store tests

* add changeset
2024-06-13 12:04:35 +02:00
verdacciobot
34be970100 chore: updated static data 2024-06-13 00:13:07 +00:00
verdacciobot
fd79e7c637 chore: updated static data 2024-06-10 00:14:00 +00:00
verdacciobot
d4b9a6c374 chore: updated static data 2024-06-06 00:13:05 +00:00
Juan Picado
441c226fbb Add documentation for bun and deno using private registry (#4661)
* Add documentation for bun and deno using private registry

* Update setup-bun.md

* update docs
2024-06-04 23:35:46 +02:00
renovate[bot]
b06b2e7ef1 chore(deps): update actions/cache digest to e12d46a (#4665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 22:25:44 +02:00
renovate[bot]
9d1f6ee54d chore(deps): update actions/checkout digest to f43a0e5 (#4666) 2024-06-03 19:07:50 +02:00
renovate[bot]
3433d7ec0b chore(deps): update dependency yaml to v2.4.3 (#4664) 2024-06-03 19:07:33 +02:00
verdacciobot
f604ec8a34 chore: updated static data 2024-06-03 00:13:38 +00:00
Juan Picado
27bc6c1b7d chore: update versions (next-7) (#4658)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-06-02 21:52:46 +02:00
renovate[bot]
13c69ded53 fix(deps): update dependency express to v4.19.2 (#4662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-02 21:29:02 +02:00
Tobbe Lundberg
38b1e829d6 patch(core/url): Throw if VERDACCIO_FORWARDED_PROTO resolves to an array (#4613)
* patch(core/url): Throw if VERDACCIO_FORWARDED_PROTO resolves to an array

* changeset
2024-06-02 10:11:25 +02:00
dependabot[bot]
2bc45c8e2f chore(deps): bump github/codeql-action from 2.25.5 to 3.25.7 (#4659)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.25.5 to 3.25.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](d05fceb045...f079b84933)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-02 09:31:12 +02:00
Juan Picado
68407c684a Update dependabot.yml 2024-06-01 21:46:19 +02:00
dependabot[bot]
201149072f chore(deps): bump actions/checkout from 4.1.5 to 4.1.6 (#4660)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](44c2b7a8a4...a5ac7e51b4)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-06-01 21:39:12 +02:00
Michael Ryan
cf1b46cc59 fix: log spacing depending on the FORMAT and COLORS options (#4631)
* fix: Bad log spacing depending on the FORMAT and COLORS options used

fixes: #4630

inserted a space between the timestamp and the message when logging timestamped messages.

* fix: Bad log spacing depending on the FORMAT and COLORS options used

fixes: #4630

removed padding of an unnecessary space (at the start or end of the log string, depending on whether colors are enabled).

* remove padLeft, update tests

* update logger-commons tests

---------

Co-authored-by: Marc Bernard <marc@marcbernardtools.com>
2024-06-01 21:35:06 +02:00
Marc Bernard
e5624e173c chore: fix types for some store tests (#4657)
* chore: fix types for some store tests

* add changeset
2024-05-30 18:10:13 +02:00
verdacciobot
8b8e5c7b84 chore: updated static data 2024-05-30 00:14:02 +00:00
Marc Bernard
5bfab621d4 feat: add tarball details for published packages (#4653)
* feat: add tarball details for published packages

* remove throw err
2024-05-29 00:11:42 +02:00
verdacciobot
016abb8d7b chore: updated static data 2024-05-27 00:13:39 +00:00
Marc Bernard
475759eaa8 docs: add comment about token secret length to v6 migration (#4655) 2024-05-26 18:31:05 +02:00
verdacciobot
007a7bd76c chore: updated static data 2024-05-23 00:13:19 +00:00
verdacciobot
f9a079aac6 chore: updated static data 2024-05-20 00:13:24 +00:00
verdacciobot
33ae1db093 chore: updated static data 2024-05-16 00:12:57 +00:00
renovate[bot]
cef9b62eab chore(deps): update github/codeql-action digest to d05fceb (#4646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-14 07:37:50 +02:00
dependabot[bot]
87fd5b53fb chore(deps): bump actions/checkout from 4.1.4 to 4.1.5 (#4641)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](0ad4b8fada...44c2b7a8a4)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-05-14 07:34:13 +02:00
Juan Picado
73b0b1752b Update renovate.json 2024-05-14 07:33:58 +02:00
Juan Picado
a78bd618ea Update dependabot.yml 2024-05-14 07:32:08 +02:00
dependabot[bot]
abdd23b3db chore(deps): bump github/codeql-action from 2.25.5 to 3.25.5 (#4644)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.25.5 to 3.25.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](d05fceb045...b7cec75265)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-14 07:28:41 +02:00
renovate[bot]
491a70e3e0 chore(deps): update github/codeql-action digest to d05fceb (#4642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 19:34:52 +02:00
Juan Picado
9c139e9ca3 chore: restore zh-CN on website 2024-05-13 06:42:31 +02:00
verdacciobot
e9cc809d97 chore: updated static data 2024-05-13 00:13:37 +00:00
Juan Picado
c418690ef0 chore: exclude temporary zh-CN
some issues at crowdin wrong links
2024-05-11 23:25:36 +02:00
Gweesin Chan
d2ef7f1aea docs: avoid using yo 5.x for plugin developer (#4617)
* docs: avoid using yo 5.x for plugin developer

* Update v5 and v6

---------

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2024-05-11 22:23:56 +02:00
Juan Picado
81da03a4e8 chore: fix version for migrateToSecureLegacySignature 2024-05-11 11:53:43 +02:00
dependabot[bot]
2ba21a9837 chore(deps): bump actions/cache from 3.3.3 to 4.0.2 (#4627)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.3 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](e12d46a63a...0c45773b62)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-11 10:02:17 +02:00
dependabot[bot]
53d80e1518 chore(deps): bump actions/checkout from 3.6.0 to 4.1.4 (#4628)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](f43a0e5ff2...0ad4b8fada)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-11 10:02:10 +02:00
Gweesin Chan
e92f517866 docs: add bun as bash sample (#4638)
* docs: fix typos in CONTRIBUTING

* docs: add Bun as bash sample
2024-05-10 11:30:51 +02:00
renovate[bot]
432c546fa0 chore(deps): update github/codeql-action digest to 4f0ceda (#4633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-09 12:16:45 +02:00
verdacciobot
12c281202c chore: updated static data 2024-05-09 00:12:55 +00:00
verdacciobot
8d6caba90b chore: updated static data 2024-05-06 00:13:36 +00:00
Juan Picado
53d9df92c6 chore: update versions (next-7) (#4624)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-05-05 17:09:41 +02:00
Juan Picado
bd8703e871 feat: add migrateToSecureLegacySignature property (#4621)
* feat: add migrateToSecureLegacySignature property

* Update config.ts

* changeset

* Update ci.yml

* Update config.spec.ts
2024-05-05 16:53:28 +02:00
Juan Picado
7400830505 revert #4600 (#4623) 2024-05-05 12:35:17 +02:00
Gweesin Chan
f83c157faa docs: update e2e pages (#4619) 2024-05-04 18:39:20 +02:00
renovate[bot]
2c6484290c chore(deps): update github/codeql-action digest to ceaec5c (#4609) 2024-05-03 12:38:53 +02:00
Juan Picado
14032d160b chore: update versions (next-7) (#4581) 2024-05-03 09:12:32 +02:00
Juan Picado
b6d565209f feat: support for createCipher backward compatible (#4612) 2024-05-03 08:59:29 +02:00
renovate[bot]
4b4a37c07b chore(deps): update actions/cache digest to e12d46a (#4614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 05:21:01 +02:00
renovate[bot]
24bec8ded0 chore(deps): update actions/checkout digest to f43a0e5 (#4615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-03 05:20:54 +02:00
Tobbe Lundberg
b0946b2a3b chore(types): Improve TS types for renderHTML and related functions (#4605)
* chore(types): Improve TS types for renderHTML

* changeset

* Add author and PR to changeset

* Use RequestOptions instead of Request

* Update changeset text

* Separate type import

* Explain isArray check

* Add verdaccio/url to changeset

* Reverting: throw on wrong type
2024-05-02 20:55:52 +02:00
Jean-Louis GUENEGO
3293c9a281 Update install.md (#4611)
* Update install.md

replaced --location=global with -g

* dev: replace all npm install --location with npm install -g
2024-05-02 11:53:48 +02:00
verdacciobot
6a83040351 chore: updated static data 2024-05-02 00:12:56 +00:00
Marc Bernard
253cc1348f feat: add tarball details for published packages (#4600)
* feat: add tarball details for published packages (part 1)

* pnpm-lock

* Update pnpm-lock

* switch to tar-stream

* fix api test (no dist)
2024-04-30 14:45:18 +02:00
dependabot[bot]
1367f02897 chore(deps): bump actions/checkout from 4.1.3 to 4.1.4 (#4603)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](1d96c772d1...0ad4b8fada)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-04-29 21:38:05 +02:00
dependabot[bot]
dc8be6df8b chore(deps): bump actions/upload-artifact from 4.3.2 to 4.3.3 (#4602)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](1746f4ab65...65462800fd)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  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>
2024-04-29 21:37:36 +02:00
verdacciobot
6cf165b405 chore: updated static data 2024-04-29 00:12:57 +00:00
Marc Bernard
da50542de1 chore: limit workflows to verdaccio repo (#4599) 2024-04-28 11:52:38 +02:00
Marc Bernard
1bae121dc2 fix: error when writing tarball (missing folder) (#4594)
* fix: error when writing tarball (missing folder)

* changeset
2024-04-25 19:06:51 +02:00
Marc Bernard
4ac3aead4f fix: reduce log to info if database is not found (#4595) 2024-04-25 16:20:17 +02:00
dependabot[bot]
86283342f9 chore(deps): bump actions/checkout from 4.1.2 to 4.1.3 (#4587)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](9bb56186c3...1d96c772d1)

---
updated-dependencies:
- dependency-name: actions/checkout
  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>
2024-04-25 10:16:50 +02:00
dependabot[bot]
40c004c234 chore(deps): bump actions/upload-artifact from 3.1.3 to 4.3.2 (#4588)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3.1.3 to 4.3.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](a8a3f3ad30...1746f4ab65)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 10:16:44 +02:00
dependabot[bot]
e8b016aca5 chore(deps): bump github/codeql-action from 3.24.10 to 3.25.1 (#4589)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.10 to 3.25.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](4355270be1...c7f9125735)

---
updated-dependencies:
- dependency-name: github/codeql-action
  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>
2024-04-25 10:16:37 +02:00
dependabot[bot]
42f226e6b3 chore(deps): bump actions-js/push from 1.4 to 1.5 (#4590)
Bumps [actions-js/push](https://github.com/actions-js/push) from 1.4 to 1.5.
- [Release notes](https://github.com/actions-js/push/releases)
- [Commits](156f2b10c3...5a7cbd780d)

---
updated-dependencies:
- dependency-name: actions-js/push
  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>
2024-04-25 10:16:28 +02:00
renovate[bot]
2520a74ac3 fix(deps): update dependency marked to v11.2.0 (#4591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-25 10:16:19 +02:00
verdacciobot
dbade09407 chore: updated static data 2024-04-25 00:16:11 +00:00
Tobbe Lundberg
4dc62a8365 fix: adduser error message grammar (#4586)
* fix: adduser error message grammar

* changeset

* include username in changeset according to contribution guidelines
2024-04-23 10:07:35 +02:00
verdacciobot
eb9bbb4313 chore: updated static data 2024-04-22 00:13:38 +00:00
verdacciobot
d411c20570 chore: updated static data 2024-04-18 00:12:47 +00:00
dependabot[bot]
86a99684a3 chore(deps): bump actions/checkout from 3.6.0 to 4.1.2 (#4579)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.6.0 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](f43a0e5ff2...9bb56186c3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 01:09:02 +02:00
verdacciobot
2bf41a480e chore: updated static data 2024-04-15 02:30:36 +00:00
dependabot[bot]
824b43fb43 chore(deps): bump actions/cache from 3.3.3 to 4.0.2 (#4578)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.3 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](e12d46a63a...0c45773b62)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-14 21:20:28 +02:00
dependabot[bot]
c1385d7655 chore(deps): bump github/codeql-action from 3.24.9 to 3.24.10 (#4580)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.9 to 3.24.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](1b1aada464...4355270be1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  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>
2024-04-14 21:20:20 +02:00
Marc Bernard
f967a69ad3 fix: avoid warning "time for version x already exists" (#4577)
* fix: avoid warning "time for version x already exists"

* changeset
2024-04-11 10:13:55 +02:00
verdacciobot
d5d96f0868 chore: updated static data 2024-04-11 00:13:31 +00:00
verdacciobot
386f19753f chore: updated static data 2024-04-08 00:12:56 +00:00
Juan Picado
a0e4fc9fa0 chore: update intall v5.x docs 2024-04-06 17:57:48 +02:00
Marc Bernard
c9e7c141e8 fix: yarn and pnpm logos on homepage (#4574)
* fix: yarn and pnpm logos on homepage

* yarn logo
2024-04-04 06:58:35 +02:00
verdacciobot
17cf072329 chore: updated static data 2024-04-04 00:15:13 +00:00
Artur
1456bdd4a7 Update 2021-04-14-verdaccio-5-migration-guide.md (#4573) 2024-04-03 11:21:55 +02:00
renovate[bot]
ffb6de3777 chore(deps): update actions/cache digest to e12d46a (#4571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:38:59 +02:00
renovate[bot]
e32e737018 chore(deps): update actions/checkout digest to f43a0e5 (#4572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 10:38:48 +02:00
verdacciobot
a0b65a82d0 chore: updated static data 2024-04-01 00:13:52 +00:00
dependabot[bot]
717fe79fe0 chore(deps): bump github/codeql-action from 3.24.7 to 3.24.9 (#4562)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.7 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](3ab4101902...1b1aada464)

---
updated-dependencies:
- dependency-name: github/codeql-action
  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>
2024-03-28 08:41:54 +01:00
verdacciobot
1ae8f23110 chore: updated static data 2024-03-28 00:13:07 +00:00
dependabot[bot]
3d9847736a chore(deps): bump actions/cache from 3.3.1 to 4.0.2 (#4563)
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.1...0c45773b623bea8c8e75f6c82b208c3cf94ea4f9)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 21:02:56 +01:00
verdacciobot
31a927a236 chore: updated static data 2024-03-25 00:13:24 +00:00
Juan Picado
af3f7c4797 chore: update versions (next-7) (#4561)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-24 12:34:03 +01:00
Juan Picado
542f9d3760 chore: remove nodejs engine restriction 2024-03-24 12:27:46 +01:00
renovate[bot]
c20adc8ae5 fix(deps): update all package managers (#4557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-23 21:21:52 +01:00
518 changed files with 17755 additions and 9306 deletions

View File

@@ -10,9 +10,5 @@
],
"@babel/typescript"
],
"ignore": ["**/*.d.ts"],
"plugins": [
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator"
]
"ignore": ["**/*.d.ts"]
}

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/store': patch
---
chore: fix types for some store tests

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/cli': patch
---
chore: add config location and loglevel to startup log

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): custom favicon

View File

@@ -0,0 +1,10 @@
---
'@verdaccio/ui-components': minor
'@verdaccio/ui-theme': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/config': patch
'@verdaccio/cli': patch
---
feat: complete overhaul of web user interface

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-components': patch
'@verdaccio/ui-theme': patch
---
chore: fix type for country flags

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-theme': patch
---
fix: enable irish language on ui

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/logger-commons': patch
'@verdaccio/logger-prettify': patch
---
fix: log spacing depending on the FORMAT and COLORS options

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/tarball': patch
'@verdaccio/store': patch
---
feat: add tarball details for published packages

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): link to favicon in template

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore: sync dependency defs between ui-components and ui-theme

View File

@@ -0,0 +1,9 @@
---
'@verdaccio/types': patch
'@verdaccio/config': patch
'@verdaccio/core': patch
'@verdaccio/store': patch
'@verdaccio/api': patch
---
feat: add support for npm owner

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/middleware': patch
'@verdaccio/url': patch
---
Improved TS types for renderHTML() and related functions (by @tobbe in #4605)

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/search-indexer': patch
---
fix: remove node engine restriction

View File

@@ -0,0 +1,5 @@
---
'verdaccio-audit': minor
---
feat: verdaccio-audit support timeout option

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/middleware': patch
'@verdaccio/url': patch
---
fix(middleware): link to favicon in template

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/config': patch
---
chore: improve debug code and refactor code

View File

@@ -0,0 +1,5 @@
---
'generator-verdaccio-plugin': major
---
feat: migration to monorepo

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/local-storage': patch
---
chore: reduce log to info if database is not found

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/tarball': patch
'@verdaccio/store': patch
---
revert #4600

View File

@@ -1,6 +1,6 @@
{
"mode": "pre",
"tag": "next-7",
"tag": "next-8",
"initialVersions": {
"@verdaccio/test-cli-commons": "1.1.0",
"@verdaccio/e2e-cli-npm6": "1.0.1",
@@ -57,21 +57,44 @@
"@verdaccio/website": "5.20.2",
"@verdaccio/local-publish": "0.0.1",
"@verdaccio/search": "7.0.0-next.0",
"@verdaccio/e2e-cli-pnpm9": "1.0.1"
"@verdaccio/e2e-cli-pnpm9": "1.0.1",
"generator-verdaccio-plugin": "4.1.0"
},
"changesets": [
"angry-trees-tie",
"big-cameras-invent",
"breezy-mayflies-pull",
"chilled-carrots-guess",
"chilly-rivers-chew",
"cuddly-camels-relax",
"dirty-dolphins-try",
"dirty-islands-push",
"dry-mirrors-roll",
"dry-shoes-report",
"eight-icons-heal",
"eight-squids-judge",
"eighty-lobsters-study",
"fluffy-onions-act",
"good-cups-train",
"good-lions-rush",
"grumpy-pots-watch",
"itchy-mangos-wink",
"long-jars-collect",
"long-moles-attend",
"many-bees-tickle",
"mighty-gorillas-fail",
"moody-mugs-pay",
"nervous-fireants-design",
"old-turkeys-heal",
"olive-bananas-wink",
"perfect-chairs-act",
"pink-apples-nail",
"pink-balloons-leave",
"poor-seals-turn",
"quick-buses-scream",
"real-socks-vanish",
"rich-shrimps-check",
"sharp-wolves-carry",
"shiny-worms-retire",
"shy-carrots-compare",
"shy-garlics-cry",
@@ -79,9 +102,20 @@
"slow-wasps-glow",
"spicy-birds-flow",
"strange-points-repair",
"stupid-dancers-relate",
"swift-rabbits-vanish",
"ten-kids-tan",
"thick-avocados-provide",
"thin-snails-flow",
"thirty-toes-swim",
"twenty-queens-protect",
"unlucky-cycles-sparkle",
"weak-fans-explain",
"wet-balloons-give",
"wicked-kiwis-check",
"wicked-worms-wash",
"wild-otters-talk",
"witty-meals-nail",
"young-donuts-own"
]
}

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/store': patch
---
fix: avoid warning "time for version x already exists"

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/types': patch
'@verdaccio/store': patch
---
fix: update fields for abbreviated manifest

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/signature': minor
---
support for createCipher backward compatible

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/url': patch
---
patch(core/url): Throw if VERDACCIO_FORWARDED_PROTO resolves to an array (#4613 by @Tobbe)

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/config': patch
---
fix(config): test runs on Windows

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): update babel dependencies

View File

@@ -0,0 +1,13 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/server': patch
'@verdaccio/core': patch
'@verdaccio/node-api': patch
'@verdaccio/loaders': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/cli': patch
'@verdaccio/web': patch
---
chore: improve startup logging

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/config': patch
'@verdaccio/website': patch
---
fix: typo in config docs regarding check_owners

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
'@verdaccio/types': patch
---
fix: change bundleDependencies to array

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/local-storage': patch
---
fix: error when writing tarball (missing folder)

View File

@@ -0,0 +1,10 @@
---
'@verdaccio/types': minor
'@verdaccio/core': minor
'@verdaccio/signature': minor
'@verdaccio/node-api': minor
'@verdaccio/config': minor
'@verdaccio/auth': minor
---
feat: add migrateToSecureLegacySignature and remove enhancedLegacySignature property

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/auth': patch
---
fix: adduser error message grammar (@tobbe in #4586)

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/store': patch
'@verdaccio/tarball': patch
---
feat: add tarball details for published packages

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/api': patch
---
chore(api): update comment about route parameters

View File

@@ -22,7 +22,6 @@ jest
docs
contrib
docker-examples
website
systemd
# output from test runs and similar things

View File

@@ -8,18 +8,11 @@ updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: 'github-actions'
directory: '/'
schedule:
interval: 'weekly'
# Maintain dependencies for npm
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'daily'
allow:
- dependency-name: '@verdaccio/*'
- dependency-name: 'verdaccio-*'
open-pull-requests-limit: 1
prefix: "[github-actions] "
assignees:
- 'verdacciobot'
- 'verdacciobot'
schedule:
interval: 'monthly'
labels:
- 'bot: dependencies'

View File

@@ -18,25 +18,23 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
run: |
corepack enable
corepack install
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --registry http://localhost:4873
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -47,14 +45,14 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -71,14 +69,14 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -100,14 +98,14 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -126,13 +124,13 @@ jobs:
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: npm i pnpm@latest-8 -g
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -18,7 +18,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" up -d --build
run: docker compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
@@ -36,4 +36,4 @@ jobs:
- name: Stop containers
if: always()
run: docker-compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" down
run: docker compose -f "./e2e/docker/docker-build-install-plugin/docker-compose.yaml" down

View File

@@ -20,12 +20,12 @@ jobs:
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- name: checkout code repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
env:

View File

@@ -30,9 +30,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -46,7 +46,7 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -57,16 +57,16 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -82,16 +82,16 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -108,20 +108,20 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 21]
node_version: [18, 20, 21, 22]
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
@@ -138,17 +138,17 @@ jobs:
needs: [test]
runs-on: ubuntu-latest
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -11,6 +11,10 @@ on:
permissions:
contents: read
concurrency:
group: code-${{ github.ref }}
cancel-in-progress: true
jobs:
CodeQL-Build:
permissions:
@@ -21,7 +25,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -34,7 +38,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v2
uses: github/codeql-action/init@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -42,7 +46,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@3ab4101902695724f9365a384f86c1074d94e18c # v2
uses: github/codeql-action/autobuild@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -56,4 +60,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v2
uses: github/codeql-action/analyze@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2

View File

@@ -1,5 +1,9 @@
name: E2E Docker Proxy Apache Test
concurrency:
group: docker-apache-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
@@ -11,18 +15,18 @@ on:
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: npm setup
@@ -42,4 +46,4 @@ jobs:
- name: Stop containers
if: always()
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" down
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" down

View File

@@ -1,5 +1,10 @@
name: E2E Docker Proxy Nginx Test
concurrency:
group: docker-nginx-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
@@ -8,18 +13,18 @@ on:
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: npm setup
@@ -39,4 +44,4 @@ jobs:
- name: Stop containers
if: always()
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" down
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" down

View File

@@ -22,9 +22,10 @@ permissions:
jobs:
docker:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # tag=v1
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # tag=v1
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host
@@ -45,7 +46,7 @@ jobs:
{{major}}
{{major}}.{{minor}}
- name: Build & Push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile

View File

@@ -18,9 +18,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -34,7 +34,7 @@ jobs:
- name: Install
run: pnpm install --reporter=silence --ignore-scripts --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -44,16 +44,16 @@ jobs:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node 16
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -65,7 +65,7 @@ jobs:
- name: build
run: pnpm build
- name: Cache packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
id: cache-packages
with:
path: ./packages/
@@ -97,15 +97,15 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -114,7 +114,7 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -141,15 +141,15 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -158,7 +158,7 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --loglevel debug --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -186,15 +186,15 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
@@ -203,7 +203,7 @@ jobs:
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -18,9 +18,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -0,0 +1,52 @@
name: E2E Generator Verdaccio Plugin
on:
pull_request:
workflow_dispatch:
push:
branches:
- 'master'
concurrency:
group: generator-plugin-${{ github.ref }}
cancel-in-progress: true
jobs:
e2e-plugin-generator:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18,20, 21]
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: install
run: pnpm install
- name: build
run: pnpm build
- name: install verdaccio
run: npm install -g verdaccio@5
- name: Start server
run: verdaccio -c e2e/docker/generator-e2e/generator.yaml &
- name: ping server
run: curl http://localhost:4873/-/ping
- name: login
run: npx npm-cli-login -u test -p test -e test@domain.test -r http://localhost:4873
- name: publish
run: pnpm local:publish
- name: install yeoman
run: npm install -g yo@4 --loglevel=info
- name: install generator
run: npm install -g generator-verdaccio-plugin --loglevel=info --registry http://localhost:4873
# Future: add a test to verify the plugin is working with prompt

View File

@@ -18,12 +18,13 @@ jobs:
prepare:
name: Run script
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: 18.x
- name: install pnpm
@@ -45,7 +46,7 @@ jobs:
- name: format
run: pnpm format
- name: Commit & Push changes
uses: actions-js/push@156f2b10c3aa000c44dbe75ea7018f32ae999772 # tag=v1.4
uses: actions-js/push@5a7cbd780d82c0c937b5977586e641b2fd94acc5 # tag=v1.5
with:
github_token: ${{ secrets.TOKEN_VERDACCIOBOT_GITHUB }}
message: "chore: updated static data"

View File

@@ -19,18 +19,19 @@ jobs:
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Cache pnpm modules
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
env:
cache-name: cache-pnpm-modules
with:

View File

@@ -2,12 +2,14 @@ name: Verdaccio Website CI
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
permissions:
contents: read # to fetch code (actions/checkout)
concurrency:
group: website-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
permissions:
@@ -16,6 +18,7 @@ jobs:
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
name: setup verdaccio
services:
verdaccio:
@@ -23,14 +26,14 @@ jobs:
ports:
- 4873:4873
env:
NODE_ENV: production
NODE_ENV: production
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v3
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v3
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -44,18 +47,18 @@ jobs:
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
- name: Build
pnpm-
- name: Build
run: pnpm build
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: Cache Docusaurus Build
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v3
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}
@@ -68,8 +71,9 @@ jobs:
CONTEXT: production
run: pnpm --filter @verdaccio/website netlify:build
- name: Deploy to Netlify
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
run: pnpm --filter ...@verdaccio/website netlify:deploy
run: pnpm --filter ...@verdaccio/website netlify:deploy

5
.gitignore vendored
View File

@@ -41,7 +41,7 @@ packages/plugins/ui-theme/static
# CI Pnpm cache
.pnpm-store/
#docs
#docs
website/docs/api/**/*.md
website/docs/api/**/*.yml
!website/docs/api/index.md
@@ -53,3 +53,6 @@ e2e/ui/cypress/screenshots/**/*
# storybook
packages/ui-components/storybook-static
# plugin generator
packages/tools/generator-verdaccio-plugin/generators/

View File

@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:21-alpine as builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} node:21-alpine AS builder
ENV NODE_ENV=development \
VERDACCIO_BUILD_REGISTRY=https://registry.npmjs.org

View File

@@ -43,7 +43,7 @@ Google Cloud Storage** or create your own plugin.
Install with npm:
```bash
npm install --location=global verdaccio@next
npm install -g verdaccio@next
```
With `yarn`
@@ -79,8 +79,8 @@ Furthermore, you can read the [**Debugging Guidelines**](https://github.com/verd
You can develop your own [plugins](https://verdaccio.org/docs/plugins) with the [verdaccio generator](https://github.com/verdaccio/generator-verdaccio-plugin). Installing [Yeoman](https://yeoman.io/) is required.
```
npm install --location=global yo
npm install --location=global generator-verdaccio-plugin
npm install -g yo
npm install -g generator-verdaccio-plugin
```
Learn more [here](https://verdaccio.org/docs/dev-plugins) how to develop plugins. Share your plugins with the community.
@@ -251,7 +251,7 @@ Verdaccio aims to support all features of a standard npm client that make sense
- Registering new users (`npm adduser {newuser}`) - **supported**
- Change password (`npm profile set password`) - **supported**
- Transferring ownership (`npm owner add {user} {pkg}`) - not supported, _PR-welcome_
- Transferring ownership (`npm owner`) - **supported**
- Token (`npm token`) - **supported**
### Miscellaneous

View File

@@ -1,7 +1,7 @@
# Docs based on https://github.com/xlts-dev/verdaccio-prometheus-middleware#installation
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
RUN mkdir -p /verdaccio/plugins

View File

@@ -2,7 +2,7 @@
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
# Install the metrics middleware plugin
# npm docs

View File

@@ -1,7 +1,7 @@
# Docs based on https://github.com/xlts-dev/verdaccio-prometheus-middleware#installation
# Docker multi-stage build - https://docs.docker.com/develop/develop-images/multistage-build/
# Use an alpine node image to install the plugin
FROM node:lts-alpine as builder
FROM node:lts-alpine AS builder
RUN mkdir -p /verdaccio/plugins

View File

@@ -5,12 +5,13 @@ internal features.
#### VERDACCIO_LEGACY_ALGORITHM
Allows to define the specific algorithm for the token
signature which by default is `aes-256-ctr`
Allows to define the specific algorithm for the token signature which by default is `aes-256-ctr`. The algorithm must be supported by `crypto.createCipheriv` and `crypto.createDecipheriv`.
Read more here: https://nodejs.org/api/crypto.html#crypto_crypto_createcipheriv_algorithm_key_iv_options
#### VERDACCIO_LEGACY_ENCRYPTION_KEY
By default, the token stores in the database, but using this variable allows to get it from memory
By default, the token stores in the database, but using this variable allows to get it from memory, the length must be 32 characters otherwise will throw an error.
Read more here: https://nodejs.org/api/crypto.html#crypto_crypto_createcipheriv_algorithm_key_iv_options
#### VERDACCIO_PUBLIC_URL

View File

@@ -1,14 +1,14 @@
# Migration guide from Verdaccio 5 to Verdaccio 6
# Migration Guide from Verdaccio 5 to Verdaccio 6
Notes regarding breaking changes for next major release.
> This list might growth over the development.
> This list might growth over the course of development.
## Breaking changes
## Breaking Changes
### New node-api interface [#2165](https://github.com/verdaccio/verdaccio/pull/2165)
If you are using the node-api, the new structure is Promise based and less arguments.
If you are using the `node-api`, the new structure is Promise based and less arguments.
```js
import { runServer } from '@verdaccio/node-api';
@@ -22,7 +22,7 @@ app.listen(4000, (event) => {
});
```
### allow other password hashing algorithms [#1917](https://github.com/verdaccio/verdaccio/pull/1917)
### Allow other password hashing algorithms [#1917](https://github.com/verdaccio/verdaccio/pull/1917)
The current implementation of the `htpasswd` module supports multiple hash formats on verify, but only `crypt` on sign in.
`crypt` is an insecure old format, so to improve the security of the new `verdaccio` release we introduce the support of multiple hash algorithms on sign in step.
@@ -53,21 +53,28 @@ htpasswd:
- The `experiments` configuration is renamed to `flags`. The functionality is exactly the same.
```js
flags: token: false;
search: false;
```yaml
flags:
token: false;
search: false;
```
- The `self_path` property from the config file is being removed in favor of `config_file` full path.
- Refactor `config` module, better types and utilities
### legacy token signature by removing crypto.createDecipher is deprecated [#1953](https://github.com/verdaccio/verdaccio/pull/1953)
### Legacy token signature by removing crypto.createDecipher is deprecated [#1953](https://github.com/verdaccio/verdaccio/pull/1953)
- Replace signature handler for legacy tokens by removing deprecated crypto.createDecipher by createCipheriv
- **The new signature invalidates all previous tokens generated by Verdaccio 5 or previous versions**.
- The secret key must have 32 characters long
> Remediation, update `.verdaccio-db.json` secret field with a secret key with 32 characters.
### Legacy token secret length
If the migration to v6 include an update to node 22 or higher, be aware that token secrets with a length other than 32 are not
supported anymore. A new secret will be generated. See [docs](https://verdaccio.org/docs/6.x/configuration#legacy-token-signature)
for more details.
#### New environment variables
Introduce environment variables for legacy tokens.

View File

@@ -5,16 +5,16 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2",
"debug": "4.3.4",
"@verdaccio/config": "workspace:7.0.0-next-8.21",
"@verdaccio/core": "workspace:7.0.0-next-8.21",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"debug": "4.3.6",
"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:7.0.0-next-7.13"
"verdaccio": "workspace:7.0.0-next-8.21"
},
"scripts": {
"test": "jest",

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"npm": "10.4.0"
"npm": "10.8.2"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"npm": "9.9.2"
"npm": "9.9.3"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"npm": "9.9.2"
"npm": "9.9.3"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"npm": "9.9.2"
"npm": "9.9.3"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"npm": "9.9.2"
"npm": "9.9.3"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"yarn": "1.22.21"
"yarn": "1.22.22"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0",
"@yarnpkg/cli-dist": "3.8.0"
"@yarnpkg/cli-dist": "3.8.3"
},
"scripts": {
"test": "jest"

View File

@@ -3,7 +3,7 @@
"name": "@verdaccio/e2e-cli-yarn4",
"version": "1.0.1",
"dependencies": {
"@yarnpkg/cli-dist": "4.1.0",
"@yarnpkg/cli-dist": "4.4.0",
"@verdaccio/test-cli-commons": "workspace:1.1.0"
},
"scripts": {

View File

@@ -0,0 +1,43 @@
storage: ./storage
web:
title: Verdaccio E2E Local
auth:
htpasswd:
file: ./htpasswd
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@verdaccio/*':
access: $all
publish: $all
unpublish: $all
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
'verdaccio-*':
access: $all
publish: $all
unpublish: $all
'generator-verdaccio-plugin':
access: $all
publish: $all
unpublish: $all
'verdaccio':
access: $all
publish: $all
unpublish: $all
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
middlewares:
audit:
enabled: false
log: { type: stdout, format: json, level: http }

View File

@@ -3,11 +3,11 @@
"name": "@verdaccio/e2e-ui",
"version": "2.0.0",
"devDependencies": {
"verdaccio": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"verdaccio": "workspace:7.0.0-next-8.21",
"@verdaccio/core": "workspace:7.0.0-next-8.21",
"@verdaccio/config": "workspace:7.0.0-next-8.21",
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"debug": "4.3.4",
"debug": "4.3.6",
"cypress": "^13.6.0",
"get-port": "5.1.1"
},

View File

@@ -15,89 +15,90 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.23.9",
"@babel/core": "7.23.9",
"@babel/eslint-parser": "7.23.3",
"@babel/node": "7.23.9",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.23.9",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-function-sent": "7.23.3",
"@babel/plugin-proposal-json-strings": "7.18.6",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
"@babel/plugin-proposal-numeric-separator": "7.18.6",
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
"@babel/plugin-proposal-optional-chaining": "7.21.0",
"@babel/plugin-proposal-throw-expressions": "7.23.3",
"@babel/cli": "7.24.8",
"@babel/core": "7.24.9",
"@babel/eslint-parser": "7.25.1",
"@babel/node": "7.25.0",
"@babel/plugin-proposal-decorators": "7.24.7",
"@babel/plugin-proposal-function-sent": "7.24.7",
"@babel/plugin-proposal-throw-expressions": "7.24.7",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.23.3",
"@babel/plugin-transform-classes": "7.23.8",
"@babel/plugin-transform-runtime": "7.23.9",
"@babel/preset-env": "7.23.9",
"@babel/preset-react": "7.23.3",
"@babel/preset-typescript": "7.23.3",
"@babel/register": "7.23.7",
"@babel/runtime": "7.23.9",
"@babel/plugin-transform-async-to-generator": "7.24.7",
"@babel/plugin-transform-class-properties": "7.24.7",
"@babel/plugin-transform-classes": "7.25.0",
"@babel/plugin-transform-export-namespace-from": "7.24.7",
"@babel/plugin-transform-json-strings": "7.24.7",
"@babel/plugin-transform-nullish-coalescing-operator": "7.24.7",
"@babel/plugin-transform-numeric-separator": "7.24.7",
"@babel/plugin-transform-object-rest-spread": "7.24.7",
"@babel/plugin-transform-optional-chaining": "7.24.8",
"@babel/plugin-transform-runtime": "7.24.7",
"@babel/preset-env": "7.25.0",
"@babel/preset-react": "7.24.7",
"@babel/preset-typescript": "7.24.7",
"@babel/register": "7.24.6",
"@babel/runtime": "7.25.0",
"@changesets/changelog-github": "0.5.0",
"@changesets/cli": "2.27.1",
"@changesets/get-dependents-graph": "1.3.6",
"@crowdin/cli": "3.16.1",
"@changesets/cli": "2.27.7",
"@changesets/get-dependents-graph": "2.1.1",
"@crowdin/cli": "4.1.1",
"@dianmora/contributors": "5.0.0",
"@emotion/react": "11.10.6",
"@emotion/styled": "11.10.6",
"@testing-library/dom": "9.3.4",
"@testing-library/jest-dom": "6.4.2",
"@testing-library/dom": "10.4.0",
"@testing-library/jest-dom": "6.4.8",
"@testing-library/react": "16.0.0",
"@testing-library/user-event": "14.5.2",
"aria-query": "5.1.3",
"@testing-library/react": "14.2.1",
"@trivago/prettier-plugin-sort-imports": "4.3.0",
"@types/body-parser": "1.19.5",
"@types/connect": "3.4.38",
"@types/cookiejar": "2.1.5",
"@types/debug": "4.1.12",
"@types/express": "4.17.21",
"@types/express-serve-static-core": "4.17.42",
"@types/express-serve-static-core": "4.19.5",
"@types/http-errors": "2.0.4",
"@types/jest": "29.5.11",
"@types/jsonwebtoken": "9.0.5",
"@types/lodash": "4.14.202",
"@types/jest": "29.5.12",
"@types/jsonwebtoken": "9.0.6",
"@types/lodash": "4.17.7",
"@types/mime": "3.0.4",
"@types/minimatch": "5.1.2",
"@types/node": "20.11.7",
"@types/node": "20.14.12",
"@types/node-fetch": "2.6.11",
"@types/qs": "6.9.11",
"@types/qs": "6.9.15",
"@types/range-parser": "1.2.7",
"@types/react": "18.2.48",
"@types/react-dom": "18.2.18",
"@types/react": "18.3.3",
"@types/react-dom": "18.3.0",
"@types/react-router-dom": "5.3.3",
"@types/react-virtualized": "9.21.29",
"@types/redux": "3.6.0",
"@types/semver": "7.5.6",
"@types/react-virtualized": "9.21.30",
"@types/semver": "7.5.8",
"@types/send": "0.17.4",
"@types/serve-static": "1.15.5",
"@types/serve-static": "1.15.7",
"@types/superagent": "4.1.24",
"@types/supertest": "2.0.16",
"@types/testing-library__jest-dom": "6.0.0",
"@types/validator": "13.11.8",
"@types/validator": "13.12.0",
"@types/webpack": "5.28.5",
"@types/webpack-env": "1.18.4",
"@typescript-eslint/eslint-plugin": "6.19.1",
"@typescript-eslint/parser": "6.19.1",
"@types/webpack-env": "1.18.5",
"@types/yeoman-environment": "2.10.11",
"@types/yeoman-generator": "5.2.14",
"@types/yeoman-test": "4.0.6",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"@verdaccio/crowdin-translations": "workspace:*",
"@verdaccio/eslint-config": "workspace:*",
"@verdaccio/types": "workspace:*",
"@verdaccio/ui-theme": "workspace:*",
"@vitest/coverage-v8": "0.34.6",
"@vitest/coverage-v8": "2.0.5",
"aria-query": "5.1.3",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "29.7.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"babel-plugin-emotion": "11.0.0",
"concurrently": "8.2.2",
"cross-env": "7.0.3",
"debug": "4.3.4",
"debug": "4.3.6",
"detect-secrets": "1.0.6",
"eslint": "8.56.0",
"eslint": "8.57.0",
"fs-extra": "11.2.0",
"got": "11.8.6",
"husky": "8.0.3",
@@ -113,21 +114,21 @@
"nock": "13.5.1",
"nodemon": "3.0.3",
"npm-run-all2": "5.0.2",
"prettier": "3.2.2",
"prettier": "3.3.3",
"react": "18.2.0",
"react-dom": "18.2.0",
"rimraf": "5.0.5",
"rimraf": "5.0.10",
"selfsigned": "2.4.1",
"supertest": "6.3.4",
"supertest": "7.0.0",
"ts-node": "10.9.2",
"typescript": "5.3.3",
"undici-types": "5.28.2",
"update-ts-references": "3.2.1",
"update-ts-references": "3.3.0",
"verdaccio-audit": "workspace:*",
"verdaccio-auth-memory": "workspace:*",
"verdaccio-htpasswd": "workspace:*",
"verdaccio-memory": "workspace:*",
"vitest": "0.34.6"
"vitest": "2.0.4"
},
"scripts": {
"prepare": "husky install",

View File

@@ -1,5 +1,121 @@
# @verdaccio/api
## 7.0.0-next-8.21
### Patch Changes
- Updated dependencies [8c10a3e]
- Updated dependencies [a05a7d8]
- Updated dependencies [7c9f3cf]
- @verdaccio/config@7.0.0-next-8.21
- @verdaccio/core@7.0.0-next-8.21
- @verdaccio/store@7.0.0-next-8.21
- @verdaccio/auth@7.0.0-next-8.21
- @verdaccio/middleware@7.0.0-next-8.21
- @verdaccio/utils@7.0.0-next-8.21
- @verdaccio/logger@7.0.0-next-8.21
## 7.0.0-next-7.20
### Patch Changes
- Updated dependencies [ccc7bd1]
- @verdaccio/middleware@7.0.0-next-7.20
- @verdaccio/auth@7.0.0-next-7.20
- @verdaccio/store@7.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- 19df355: chore(api): update comment about route parameters
- Updated dependencies [2a6ee33]
- Updated dependencies [6c5f7a4]
- Updated dependencies [c31aec8]
- @verdaccio/middleware@7.0.0-next-7.19
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/auth@7.0.0-next-7.19
- @verdaccio/store@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/middleware@7.0.0-next-7.18
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/auth@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- @verdaccio/store@7.0.0-next-7.18
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes
- 6e764e3: feat: add support for npm owner
- Updated dependencies [6e764e3]
- Updated dependencies [de6ff5c]
- @verdaccio/config@7.0.0-next-7.17
- @verdaccio/core@7.0.0-next-7.17
- @verdaccio/store@7.0.0-next-7.17
- @verdaccio/auth@7.0.0-next-7.17
- @verdaccio/logger@7.0.0-next-7.17
- @verdaccio/middleware@7.0.0-next-7.17
- @verdaccio/utils@7.0.0-next-7.17
## 7.0.0-next-7.16
### Patch Changes
- Updated dependencies [e5624e1]
- Updated dependencies [5bfab62]
- @verdaccio/store@7.0.0-next-7.16
- @verdaccio/logger@7.0.0-next-7.16
- @verdaccio/middleware@7.0.0-next-7.16
- @verdaccio/auth@7.0.0-next-7.16
- @verdaccio/core@7.0.0-next-7.16
- @verdaccio/config@7.0.0-next-7.16
- @verdaccio/utils@7.0.0-next-7.16
## 7.0.0-next-7.15
### Patch Changes
- Updated dependencies [7400830]
- Updated dependencies [bd8703e]
- @verdaccio/store@7.0.0-next-7.15
- @verdaccio/core@7.0.0-next-7.15
- @verdaccio/config@7.0.0-next-7.15
- @verdaccio/auth@7.0.0-next-7.15
- @verdaccio/logger@7.0.0-next-7.15
- @verdaccio/middleware@7.0.0-next-7.15
- @verdaccio/utils@7.0.0-next-7.15
## 7.0.0-next-7.14
### Patch Changes
- Updated dependencies [b0946b2]
- Updated dependencies [f967a69]
- Updated dependencies [4dc62a8]
- Updated dependencies [253cc13]
- @verdaccio/middleware@7.0.0-next-7.14
- @verdaccio/store@7.0.0-next-7.14
- @verdaccio/auth@7.0.0-next-7.14
- @verdaccio/core@7.0.0-next-7.14
- @verdaccio/config@7.0.0-next-7.14
- @verdaccio/utils@7.0.0-next-7.14
- @verdaccio/logger@7.0.0-next-7.14
## 7.0.0-next-7.13
### Patch Changes

View File

@@ -1,3 +0,0 @@
const config = require('../../jest/config');
module.exports = Object.assign({}, config, {});

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "7.0.0-next-7.13",
"version": "7.0.0-next-8.21",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,7 +29,7 @@
},
"scripts": {
"clean": "rimraf ./build",
"test": "jest",
"test": "vitest run",
"type-check": "tsc --noEmit -p tsconfig.build.json",
"build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
"build:js": "babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\" --source-maps",
@@ -38,28 +38,28 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/middleware": "workspace:7.0.0-next-7.13",
"@verdaccio/store": "workspace:7.0.0-next-7.13",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"@verdaccio/auth": "workspace:7.0.0-next-8.21",
"@verdaccio/config": "workspace:7.0.0-next-8.21",
"@verdaccio/core": "workspace:7.0.0-next-8.21",
"@verdaccio/logger": "workspace:7.0.0-next-8.21",
"@verdaccio/middleware": "workspace:7.0.0-next-8.21",
"@verdaccio/store": "workspace:7.0.0-next-8.21",
"@verdaccio/utils": "workspace:7.0.0-next-8.21",
"abortcontroller-polyfill": "1.7.5",
"body-parser": "1.20.2",
"cookies": "0.9.0",
"debug": "4.3.4",
"express": "4.18.3",
"debug": "4.3.6",
"express": "4.19.2",
"lodash": "4.17.21",
"mime": "2.6.0",
"semver": "7.6.0"
"semver": "7.6.3"
},
"devDependencies": {
"@verdaccio/test-helper": "workspace:3.0.0-next-7.2",
"@verdaccio/types": "workspace:12.0.0-next.2",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"mockdate": "3.0.5",
"nock": "13.5.1",
"supertest": "6.3.4"
"supertest": "7.0.0"
},
"funding": {
"type": "opencollective",

View File

@@ -37,10 +37,11 @@ export default function (config: Config, auth: Auth, storage: Storage): Router {
app.param('revision', validateName);
app.param('token', validateName);
// these can't be safely put into express url for some reason
// TODO: For some reason? what reason?
// Express route parameter names must be valid JavaScript identifiers, which means
// they cannot start with a hyphen (-) or contain special characters like dots (.)
app.param('_rev', match(/^-rev$/));
app.param('org_couchdb_user', match(/^org\.couchdb\.user:/));
app.use(auth.apiJWTmiddleware());
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
app.use(antiLoop(config));

View File

@@ -28,6 +28,7 @@ export default function (route: Router, auth: Auth, storage: Storage): void {
const name = req.params.package;
let version = req.params.version;
const write = req.query.write === 'true';
const username = req?.remote_user?.name;
const abbreviated =
stringUtils.getByQualityPriorityValue(req.get('Accept')) === Storage.ABBREVIATED_HEADER;
const requestOptions = {
@@ -37,6 +38,7 @@ export default function (route: Router, auth: Auth, storage: Storage): void {
host: req.host,
remoteAddress: req.socket.remoteAddress,
byPassCache: write,
username,
};
try {

View File

@@ -76,11 +76,11 @@ const debug = buildDebug('verdaccio:api:publish');
*
* 3. Star a package
*
* Permissions: start a package depends of the publish and unpublish permissions, there is no
* specific flag for star or un start.
* Permissions: staring a package depends of the publish and unpublish permissions, there is no
* specific flag for star or unstar.
* The URL for star is similar to the unpublish (change package format)
*
* npm has no endpoint for star a package, rather mutate the metadata and acts as, the difference
* npm has no endpoint for staring a package, rather mutate the metadata and acts as, the difference
* is the users property which is part of the payload and the body only includes
*
* {
@@ -89,7 +89,24 @@ const debug = buildDebug('verdaccio:api:publish');
"users": {
[username]: boolean value (true, false)
}
}
}
*
* 4. Change owners of a package
*
* Similar to staring a package, changing owners (maintainers) of a package uses the publish
* endpoint.
*
* The body includes a list of the new owners with the following format
*
* {
"_id": pkgName,
"_rev": "4-b0cdaefc9bdb77c8",
"maintainers": [
{ "name": "first owner", "email": "me@verdaccio.org" },
{ "name": "second owner", "email": "you@verdaccio.org" },
...
]
}
*
*/
export default function publish(router: Router, auth: Auth, storage: Storage): void {
@@ -127,10 +144,11 @@ export default function publish(router: Router, auth: Auth, storage: Storage): v
async function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {
const packageName = req.params.package;
const rev = req.params.revision;
const username = req?.remote_user?.name;
logger.debug({ packageName }, `unpublishing @{packageName}`);
try {
await storage.removePackage(packageName, rev);
await storage.removePackage(packageName, rev, username);
debug('package %s unpublished', packageName);
res.status(HTTP_STATUS.CREATED);
return next({ ok: API_MESSAGE.PKG_REMOVED });
@@ -155,13 +173,14 @@ export default function publish(router: Router, auth: Auth, storage: Storage): v
): Promise<void> {
const packageName = req.params.package;
const { filename, revision } = req.params;
const username = req?.remote_user?.name;
logger.debug(
{ packageName, filename, revision },
`removing a tarball for @{packageName}-@{tarballName}-@{revision}`
);
try {
await storage.removeTarball(packageName, filename, revision);
await storage.removeTarball(packageName, filename, revision, username);
res.status(HTTP_STATUS.CREATED);
logger.debug(
@@ -188,6 +207,12 @@ export function publishPackage(storage: Storage): any {
const metadata = req.body;
const username = req?.remote_user?.name;
debug('publishing package %o for user %o', packageName, username);
logger.debug(
{ packageName, username },
'publishing package @{packageName} for user @{username}'
);
try {
const message = await storage.updateManifest(metadata, {
name: packageName,

View File

@@ -27,10 +27,22 @@ export default function (route: Router, auth: Auth, config: Config): void {
rateLimit(config?.userRateLimit),
function (req: $RequestExtend, res: Response, next: $NextFunctionVer): void {
debug('verifying user');
if (typeof req.remote_user.name !== 'string' || req.remote_user.name === '') {
debug('user not logged in');
res.status(HTTP_STATUS.OK);
return next({ ok: false });
}
const username = req.params.org_couchdb_user.split(':')[1];
const message = getAuthenticatedMessage(req.remote_user.name);
debug('user authenticated message %o', message);
res.status(HTTP_STATUS.OK);
next({
// 'npm owner' requires user info
// TODO: we don't have the email
name: username,
email: '',
ok: message,
});
}
@@ -61,6 +73,10 @@ export default function (route: Router, auth: Auth, config: Config): void {
debug('login or adduser');
const remoteName = req?.remote_user?.name;
if (!validatioUtils.validateUserName(req.params.org_couchdb_user, name)) {
return next(errorUtils.getBadRequest(API_ERROR.USERNAME_MISMATCH));
}
if (typeof remoteName !== 'undefined' && typeof name === 'string' && remoteName === name) {
debug('login: no remote user detected');
auth.authenticate(
@@ -97,6 +113,7 @@ export default function (route: Router, auth: Auth, config: Config): void {
}
);
} else {
debug('adduser: %o', name);
if (
validatioUtils.validatePassword(
password,

View File

@@ -2,6 +2,7 @@ import { Application } from 'express';
import _ from 'lodash';
import path from 'path';
import supertest from 'supertest';
import { expect } from 'vitest';
import { parseConfigFile } from '@verdaccio/config';
import { HEADERS, HEADER_TYPE, HTTP_STATUS, TOKEN_BEARER } from '@verdaccio/core';
@@ -11,7 +12,7 @@ import {
generatePackageMetadata,
initializeServer as initializeServerHelper,
} from '@verdaccio/test-helper';
import { GenericBody, PackageUsers } from '@verdaccio/types';
import { Author, GenericBody, PackageUsers } from '@verdaccio/types';
import { buildToken, generateRandomHexString } from '@verdaccio/utils';
import apiMiddleware from '../../src';
@@ -142,6 +143,37 @@ export function starPackage(
return test;
}
export function changeOwners(
app,
options: {
maintainers: Author[];
name: string;
_rev: string;
_id?: string;
},
token?: string
): supertest.Test {
const { _rev, _id, maintainers } = options;
const ownerManifest = {
_rev,
_id,
maintainers,
};
const test = supertest(app)
.put(`/${encodeURIComponent(options.name)}`)
.set(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON)
.send(JSON.stringify(ownerManifest))
.set('accept', HEADERS.GZIP)
.set(HEADER_TYPE.ACCEPT_ENCODING, HEADERS.JSON);
if (typeof token === 'string') {
test.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, token));
}
return test;
}
export function getDisTags(app, pkgName) {
return supertest(app)
.get(`/-/package/${encodeURIComponent(pkgName)}/dist-tags`)

View File

@@ -0,0 +1,24 @@
storage: ./storage
auth:
htpasswd:
file: ./htpasswd-owner
web:
enable: true
title: verdaccio
log: { type: stdout, format: pretty, level: info }
# TODO: Add test case for $owner access
packages:
'@*/*':
access: $all
publish: $authenticated
unpublish: $authenticated
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
_debug: true

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { beforeEach, describe, expect, test } from 'vitest';
import { API_MESSAGE, HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';

View File

@@ -0,0 +1,119 @@
/* eslint-disable jest/no-commented-out-tests */
import nock from 'nock';
import { describe, expect, test } from 'vitest';
import { HTTP_STATUS } from '@verdaccio/core';
import {
changeOwners,
createUser,
getPackage,
initializeServer,
publishVersionWithToken,
} from './_helper';
describe('owner', () => {
test.each([['foo', '@scope%2Ffoo']])('should get owner of package', async (pkgName) => {
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
const app = await initializeServer('owner.yaml');
const credentials = { name: 'test', password: 'test' };
const response = await createUser(app, credentials.name, credentials.password);
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
HTTP_STATUS.CREATED
);
// expect publish to set owner to logged in user
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
const maintainers = manifest.body.maintainers;
expect(maintainers).toHaveLength(1);
// TODO: This should eventually include the email of the user
expect(maintainers).toEqual([{ name: credentials.name, email: '' }]);
});
test.each([['foo', '@scope%2Ffoo']])('should add/remove owner to package', async (pkgName) => {
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
const app = await initializeServer('owner.yaml');
const credentials = { name: 'test', password: 'test' };
const firstOwner = { name: 'test', email: '' };
const response = await createUser(app, credentials.name, credentials.password);
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
HTTP_STATUS.CREATED
);
// publish sets owner to logged in user
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
const maintainers = manifest.body.maintainers;
expect(maintainers).toHaveLength(1);
expect(maintainers).toEqual([firstOwner]);
// add another owner
const secondOwner = { name: 'tester', email: 'test@verdaccio.org' };
const newOwners = [...maintainers, secondOwner];
await changeOwners(
app,
{
_rev: manifest.body._rev,
_id: manifest.body._id,
name: pkgName,
maintainers: newOwners,
},
response.body.token
).expect(HTTP_STATUS.CREATED);
const manifest2 = await getPackage(app, '', decodeURIComponent(pkgName));
const maintainers2 = manifest2.body.maintainers;
expect(maintainers2).toHaveLength(2);
expect(maintainers2).toEqual([firstOwner, secondOwner]);
// remove original owner
await changeOwners(
app,
{
_rev: manifest2.body._rev,
_id: manifest2.body._id,
name: pkgName,
maintainers: [secondOwner],
},
response.body.token
).expect(HTTP_STATUS.CREATED);
const manifest3 = await getPackage(app, '', decodeURIComponent(pkgName));
const maintainers3 = manifest3.body.maintainers;
expect(maintainers3).toHaveLength(1);
expect(maintainers3).toEqual([secondOwner]);
});
test.each([['foo', '@scope%2Ffoo']])('should fail if user is not logged in', async (pkgName) => {
nock('https://registry.npmjs.org').get(`/${pkgName}`).reply(404);
const app = await initializeServer('owner.yaml');
const credentials = { name: 'test', password: 'test' };
const firstOwner = { name: 'test', email: '' };
const response = await createUser(app, credentials.name, credentials.password);
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
await publishVersionWithToken(app, pkgName, '1.0.0', response.body.token).expect(
HTTP_STATUS.CREATED
);
// publish sets owner to logged in user
const manifest = await getPackage(app, '', decodeURIComponent(pkgName));
const maintainers = manifest.body.maintainers;
expect(maintainers).toHaveLength(1);
expect(maintainers).toEqual([firstOwner]);
// try adding another owner
const secondOwner = { name: 'tester', email: 'test@verdaccio.org' };
const newOwners = [...maintainers, secondOwner];
await changeOwners(
app,
{
_rev: manifest.body._rev,
_id: manifest.body._id,
name: pkgName,
maintainers: newOwners,
},
'' // no token
).expect(HTTP_STATUS.UNAUTHORIZED);
});
});

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { beforeEach, describe, expect, test } from 'vitest';
import { DIST_TAGS, HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';
import { Storage } from '@verdaccio/store';

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { describe, expect, test } from 'vitest';
import { HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { describe, test } from 'vitest';
import { HEADERS, HEADER_TYPE, HTTP_STATUS, TOKEN_BEARER } from '@verdaccio/core';
import { buildToken } from '@verdaccio/utils';

View File

@@ -1,6 +1,7 @@
import nock from 'nock';
import { basename } from 'path';
import supertest from 'supertest';
import { describe, expect, test } from 'vitest';
import { HTTP_STATUS } from '@verdaccio/core';
import { API_ERROR, API_MESSAGE, HEADERS, HEADER_TYPE } from '@verdaccio/core';

View File

@@ -1,5 +1,6 @@
import MockDate from 'mockdate';
import supertest from 'supertest';
import { beforeEach, describe, expect, test } from 'vitest';
import { HEADERS, HEADER_TYPE, HTTP_STATUS } from '@verdaccio/core';
@@ -43,6 +44,12 @@ describe('search', () => {
links: {
npm: '',
},
maintainers: [
{
email: '',
name: 'test',
},
],
name: pkg,
publisher: {},
scope: '',
@@ -97,6 +104,12 @@ describe('search', () => {
links: {
npm: '',
},
maintainers: [
{
email: '',
name: 'test',
},
],
name: pkg,
publisher: {},
scope: '@scope',

View File

@@ -1,5 +1,6 @@
import nock from 'nock';
import supertest from 'supertest';
import { describe, expect, test } from 'vitest';
import { HTTP_STATUS } from '@verdaccio/core';
import { HEADERS, HEADER_TYPE } from '@verdaccio/core';

View File

@@ -1,5 +1,6 @@
import _ from 'lodash';
import supertest from 'supertest';
import { describe, expect, test } from 'vitest';
import {
API_ERROR,

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { describe, expect, test, vi } from 'vitest';
import { API_ERROR, HEADERS, HEADER_TYPE, HTTP_STATUS, TOKEN_BEARER } from '@verdaccio/core';
import { buildToken } from '@verdaccio/utils';
@@ -7,7 +8,7 @@ import { createUser, getPackage, initializeServer } from './_helper';
const FORBIDDEN_VUE = 'authorization required to access package vue';
jest.setTimeout(20000);
vi.setConfig({ testTimeout: 20000 });
describe('token', () => {
describe('basics', () => {
@@ -148,6 +149,25 @@ describe('token', () => {
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
.expect(HTTP_STATUS.OK);
expect(response2.body.ok).toBe(`you are authenticated as '${credentials.name}'`);
expect(response2.body.name).toBe(credentials.name);
}
);
test.each([['user.yaml'], ['user.jwt.yaml']])(
'should return name of requested user',
async (conf) => {
const app = await initializeServer(conf);
const username = 'yeti';
const credentials = { name: 'jota', password: 'secretPass' };
const response = await createUser(app, credentials.name, credentials.password);
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
const response3 = await supertest(app)
.get(`/-/user/org.couchdb.user:${username}`)
.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, response.body.token))
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
.expect(HTTP_STATUS.OK);
expect(response3.body.ok).toBe(`you are authenticated as '${credentials.name}'`);
expect(response3.body.name).toBe(username);
}
);
@@ -165,5 +185,38 @@ describe('token', () => {
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
.expect(HTTP_STATUS.OK);
});
test.each([['user.yaml'], ['user.jwt.yaml']])(
'should return "false" if user is not logged in',
async (conf) => {
const app = await initializeServer(conf);
const credentials = { name: 'jota', password: '' };
const response = await supertest(app)
.get(`/-/user/org.couchdb.user:${credentials.name}`)
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
.expect(HTTP_STATUS.OK);
expect(response.body.ok).toBe(false);
}
);
test.each([['user.yaml'], ['user.jwt.yaml']])(
'should fail if URL does not match user in request body',
async (conf) => {
const app = await initializeServer(conf);
const credentials = { name: 'jota', password: 'secretPass' };
const response = await createUser(app, credentials.name, credentials.password);
expect(response.body.ok).toMatch(`user '${credentials.name}' created`);
const response2 = await supertest(app)
.put('/-/user/org.couchdb.user:yeti') // different user
.set(HEADERS.AUTHORIZATION, buildToken(TOKEN_BEARER, response.body.token))
.send({
name: credentials.name,
password: credentials.password,
})
.expect(HEADER_TYPE.CONTENT_TYPE, HEADERS.JSON_CHARSET)
.expect(HTTP_STATUS.BAD_REQUEST);
expect(response2.body.error).toBe(API_ERROR.USERNAME_MISMATCH);
}
);
});
});

View File

@@ -1,4 +1,5 @@
import supertest from 'supertest';
import { describe, expect, test } from 'vitest';
import { HEADERS, HTTP_STATUS, TOKEN_BEARER } from '@verdaccio/core';
import { buildToken } from '@verdaccio/utils';

View File

@@ -2,6 +2,7 @@
// ensure that all arguments are validated
import fs from 'fs';
import path from 'path';
import { describe, expect, test } from 'vitest';
/**
* Validate.

View File

@@ -1,5 +1,115 @@
# @verdaccio/auth
## 7.0.0-next-8.21
### Patch Changes
- 7c9f3cf: chore: improve startup logging
- Updated dependencies [8c10a3e]
- Updated dependencies [a05a7d8]
- Updated dependencies [7c9f3cf]
- @verdaccio/config@7.0.0-next-8.21
- @verdaccio/core@7.0.0-next-8.21
- @verdaccio/loaders@7.0.0-next-8.21
- verdaccio-htpasswd@12.0.0-next-8.21
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/utils@7.0.0-next-8.21
- @verdaccio/logger@7.0.0-next-8.21
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/loaders@7.0.0-next-7.20
- verdaccio-htpasswd@12.0.0-next-7.20
- @verdaccio/utils@7.0.0-next-7.20
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/loaders@7.0.0-next-7.19
- verdaccio-htpasswd@12.0.0-next-7.19
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/utils@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/loaders@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- verdaccio-htpasswd@12.0.0-next-7.18
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/utils@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes
- Updated dependencies [6e764e3]
- @verdaccio/config@7.0.0-next-7.17
- @verdaccio/core@7.0.0-next-7.17
- @verdaccio/loaders@7.0.0-next-7.17
- @verdaccio/logger@7.0.0-next-7.17
- verdaccio-htpasswd@12.0.0-next-7.17
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/utils@7.0.0-next-7.17
## 7.0.0-next-7.16
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.16
- @verdaccio/loaders@7.0.0-next-7.16
- verdaccio-htpasswd@12.0.0-next-7.16
- @verdaccio/core@7.0.0-next-7.16
- @verdaccio/config@7.0.0-next-7.16
- @verdaccio/utils@7.0.0-next-7.16
- @verdaccio/signature@7.0.0-next-7.5
## 7.0.0-next-7.15
### Minor Changes
- bd8703e: feat: add migrateToSecureLegacySignature and remove enhancedLegacySignature property
### Patch Changes
- Updated dependencies [bd8703e]
- @verdaccio/core@7.0.0-next-7.15
- @verdaccio/signature@7.0.0-next-7.5
- @verdaccio/config@7.0.0-next-7.15
- @verdaccio/loaders@7.0.0-next-7.15
- @verdaccio/logger@7.0.0-next-7.15
- verdaccio-htpasswd@12.0.0-next-7.15
- @verdaccio/utils@7.0.0-next-7.15
## 7.0.0-next-7.14
### Patch Changes
- 4dc62a8: fix: adduser error message grammar (@tobbe in #4586)
- Updated dependencies [b6d5652]
- @verdaccio/signature@7.0.0-next-7.4
- @verdaccio/core@7.0.0-next-7.14
- @verdaccio/config@7.0.0-next-7.14
- @verdaccio/loaders@7.0.0-next-7.14
- verdaccio-htpasswd@12.0.0-next-7.14
- @verdaccio/utils@7.0.0-next-7.14
- @verdaccio/logger@7.0.0-next-7.14
## 7.0.0-next-7.13
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "7.0.0-next-7.13",
"version": "7.0.0-next-8.21",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,21 +38,21 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/loaders": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/signature": "workspace:7.0.0-next.3",
"@verdaccio/utils": "workspace:7.0.0-next-7.13",
"debug": "4.3.4",
"@verdaccio/config": "workspace:7.0.0-next-8.21",
"@verdaccio/core": "workspace:7.0.0-next-8.21",
"@verdaccio/loaders": "workspace:7.0.0-next-8.21",
"@verdaccio/logger": "workspace:7.0.0-next-8.21",
"@verdaccio/signature": "workspace:7.0.0-next-7.5",
"@verdaccio/utils": "workspace:7.0.0-next-8.21",
"debug": "4.3.6",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:12.0.0-next-7.13"
"verdaccio-htpasswd": "workspace:12.0.0-next-8.21"
},
"devDependencies": {
"express": "4.18.3",
"supertest": "6.3.4",
"@verdaccio/middleware": "workspace:7.0.0-next-7.13",
"@verdaccio/types": "workspace:12.0.0-next.2"
"@verdaccio/middleware": "workspace:7.0.0-next-8.21",
"@verdaccio/types": "workspace:12.0.0-next-7.5",
"express": "4.19.2",
"supertest": "7.0.0"
},
"funding": {
"type": "opencollective",

View File

@@ -5,6 +5,7 @@ import { HTPasswd } from 'verdaccio-htpasswd';
import { createAnonymousRemoteUser, createRemoteUser } from '@verdaccio/config';
import {
API_ERROR,
PLUGIN_CATEGORY,
SUPPORT_ERRORS,
TOKEN_BASIC,
TOKEN_BEARER,
@@ -13,7 +14,6 @@ import {
pluginUtils,
warningUtils,
} from '@verdaccio/core';
import '@verdaccio/core';
import { asyncLoadPlugin } from '@verdaccio/loaders';
import { logger } from '@verdaccio/logger';
import {
@@ -21,6 +21,7 @@ import {
aesEncryptDeprecated,
parseBasicPayload,
signPayload,
utils as signatureUtils,
} from '@verdaccio/signature';
import {
AllowAccess,
@@ -116,7 +117,8 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
typeof allow_publish !== 'undefined'
);
},
this.config?.serverSettings?.pluginPrefix
this.config?.serverSettings?.pluginPrefix,
PLUGIN_CATEGORY.AUTHENTICATION
);
}
@@ -239,7 +241,7 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
password,
function (err: VerdaccioError | null, ok?: boolean | string): void {
if (err) {
debug('the user %o could not being added. Error: %o', user, err?.message);
debug('the user %o could not be added. Error: %o', user, err?.message);
return cb(err);
}
if (ok) {
@@ -481,14 +483,9 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
next: Function
): void {
debug('handle legacy api middleware');
debug('api middleware secret %o', typeof secret === 'string');
debug('api middleware has a secret? %o', typeof secret === 'string');
debug('api middleware authorization %o', typeof authorization === 'string');
const credentials: any = getMiddlewareCredentials(
security,
secret,
authorization,
this.config?.getEnhancedLegacySignature()
);
const credentials: any = getMiddlewareCredentials(security, secret, authorization);
debug('api middleware credentials %o', credentials?.name);
if (credentials) {
const { user, password } = credentials;
@@ -588,13 +585,12 @@ class Auth implements IAuthMiddleware, TokenEncryption, pluginUtils.IBasicAuth {
* Encrypt a string.
*/
public aesEncrypt(value: string): string | void {
// enhancedLegacySignature enables modern aes192 algorithm signature
if (this.config?.getEnhancedLegacySignature()) {
debug('signing with enhaced aes legacy');
if (this.secret.length === signatureUtils.TOKEN_VALID_LENGTH) {
debug('signing with enhanced aes legacy');
const token = aesEncrypt(value, this.secret);
return token;
} else {
debug('signing with enhaced aes deprecated legacy');
debug('signing with enhanced aes deprecated legacy');
// deprecated aes (legacy) signature, only must be used for legacy version
const token = aesEncryptDeprecated(Buffer.from(value), this.secret).toString('base64');
return token;

View File

@@ -1,66 +0,0 @@
import buildDebug from 'debug';
import _ from 'lodash';
import { TOKEN_BASIC, TOKEN_BEARER } from '@verdaccio/core';
import { aesDecrypt, parseBasicPayload } from '@verdaccio/signature';
import { Security } from '@verdaccio/types';
import { AuthMiddlewarePayload } from './types';
import {
convertPayloadToBase64,
isAESLegacy,
parseAuthTokenHeader,
verifyJWTPayload,
} from './utils';
const debug = buildDebug('verdaccio:auth:utils');
export function parseAESCredentials(authorizationHeader: string, secret: string) {
debug('parseAESCredentials');
const { scheme, token } = parseAuthTokenHeader(authorizationHeader);
// basic is deprecated and should not be enforced
// basic is currently being used for functional test
if (scheme.toUpperCase() === TOKEN_BASIC.toUpperCase()) {
debug('legacy header basic');
const credentials = convertPayloadToBase64(token).toString();
return credentials;
} else if (scheme.toUpperCase() === TOKEN_BEARER.toUpperCase()) {
debug('legacy header bearer');
const credentials = aesDecrypt(token, secret);
return credentials;
}
}
export function getMiddlewareCredentials(
security: Security,
secretKey: string,
authorizationHeader: string
): AuthMiddlewarePayload {
debug('getMiddlewareCredentials');
// comment out for debugging purposes
if (isAESLegacy(security)) {
debug('is legacy');
const credentials = parseAESCredentials(authorizationHeader, secretKey);
if (!credentials) {
debug('parse legacy credentials failed');
return;
}
const parsedCredentials = parseBasicPayload(credentials);
if (!parsedCredentials) {
debug('parse legacy basic payload credentials failed');
return;
}
return parsedCredentials;
}
const { scheme, token } = parseAuthTokenHeader(authorizationHeader);
debug('is jwt');
if (_.isString(token) && scheme.toUpperCase() === TOKEN_BEARER.toUpperCase()) {
return verifyJWTPayload(token, secretKey);
}
}

View File

@@ -40,12 +40,8 @@ export function parseAuthTokenHeader(authorizationHeader: string): AuthTokenHead
return { scheme, token };
}
export function parseAESCredentials(
authorizationHeader: string,
secret: string,
enhanced: boolean
) {
debug('parseAESCredentials');
export function parseAESCredentials(authorizationHeader: string, secret: string) {
debug('parseAESCredentials init');
const { scheme, token } = parseAuthTokenHeader(authorizationHeader);
// basic is deprecated and should not be enforced
@@ -57,27 +53,29 @@ export function parseAESCredentials(
return credentials;
} else if (scheme.toUpperCase() === TOKEN_BEARER.toUpperCase()) {
debug('legacy header bearer');
debug('legacy header enhanced?', enhanced);
const credentials = enhanced
? aesDecrypt(token.toString(), secret)
: // FUTURE: once deprecated legacy is removed this logic won't be longer need it
aesDecryptDeprecated(convertPayloadToBase64(token), secret).toString('utf-8');
return credentials;
debug('secret length %o', secret.length);
const isLegacyUnsecure = secret.length > 32;
debug('is legacy unsecure %o', isLegacyUnsecure);
if (isLegacyUnsecure) {
debug('legacy unsecure enabled');
return aesDecryptDeprecated(convertPayloadToBase64(token), secret).toString('utf-8');
} else {
debug('legacy secure enabled');
return aesDecrypt(token.toString(), secret);
}
}
}
export function getMiddlewareCredentials(
security: Security,
secretKey: string,
authorizationHeader: string,
enhanced: boolean = true
authorizationHeader: string
): AuthMiddlewarePayload {
debug('getMiddlewareCredentials');
debug('getMiddlewareCredentials init');
// comment out for debugging purposes
if (isAESLegacy(security)) {
debug('is legacy');
const credentials = parseAESCredentials(authorizationHeader, secretKey, enhanced);
const credentials = parseAESCredentials(authorizationHeader, secretKey);
if (!credentials) {
debug('parse legacy credentials failed');
return;

View File

@@ -601,16 +601,14 @@ describe('AuthTest', () => {
});
});
describe('deprecated legacy handling forceEnhancedLegacySignature=false', () => {
describe('deprecated legacy handling', () => {
test('should handle valid auth token', async () => {
const payload = 'juan:password';
// const token = await signPayload(remoteUser, '12345');
const config: Config = new AppConfig(
{ ...authProfileConf },
{ forceEnhancedLegacySignature: false }
);
const config: Config = new AppConfig({ ...authProfileConf });
// intended to force key generator (associated with mocks above)
config.checkSecretKey(undefined);
// 64 characters secret long
config.checkSecretKey('35fabdd29b820d39125e76e6d85cc294');
const auth = new Auth(config);
await auth.init();
const token = auth.aesEncrypt(payload) as string;
@@ -624,10 +622,7 @@ describe('AuthTest', () => {
test('should handle invalid auth token', async () => {
const payload = 'juan:password';
const config: Config = new AppConfig(
{ ...authPluginFailureConf },
{ forceEnhancedLegacySignature: false }
);
const config: Config = new AppConfig({ ...authPluginFailureConf });
// intended to force key generator (associated with mocks above)
config.checkSecretKey(undefined);
const auth = new Auth(config);
@@ -691,8 +686,7 @@ describe('AuthTest', () => {
{
...authProfileConf,
...{ security: { api: { jwt: { sign: { expiresIn: '29d' } } } } },
},
{ forceEnhancedLegacySignature: false }
}
);
// intended to force key generator (associated with mocks above)
config.checkSecretKey(undefined);
@@ -700,7 +694,6 @@ describe('AuthTest', () => {
await auth.init();
const token = (await auth.jwtEncrypt(
createRemoteUser('jwt_user', [ROLES.ALL]),
// @ts-expect-error
config.security.api.jwt.sign
)) as string;
const app = await getServer(auth);

View File

@@ -1,5 +1,87 @@
# @verdaccio/cli
## 7.0.0-next-8.21
### Patch Changes
- 7c9f3cf: chore: improve startup logging
- Updated dependencies [8c10a3e]
- Updated dependencies [a05a7d8]
- Updated dependencies [7c9f3cf]
- @verdaccio/config@7.0.0-next-8.21
- @verdaccio/core@7.0.0-next-8.21
- @verdaccio/node-api@7.0.0-next-8.21
- @verdaccio/logger@7.0.0-next-8.21
## 7.0.0-next-7.20
### Patch Changes
- @verdaccio/node-api@7.0.0-next-7.20
- @verdaccio/core@7.0.0-next-7.20
- @verdaccio/config@7.0.0-next-7.20
- @verdaccio/logger@7.0.0-next-7.20
## 7.0.0-next-7.19
### Patch Changes
- Updated dependencies [c31aec8]
- @verdaccio/config@7.0.0-next-7.19
- @verdaccio/node-api@7.0.0-next-7.19
- @verdaccio/core@7.0.0-next-7.19
- @verdaccio/logger@7.0.0-next-7.19
## 7.0.0-next-7.18
### Patch Changes
- 10dd81f: feat: complete overhaul of web user interface
- Updated dependencies [10dd81f]
- @verdaccio/config@7.0.0-next-7.18
- @verdaccio/core@7.0.0-next-7.18
- @verdaccio/logger@7.0.0-next-7.18
- @verdaccio/node-api@7.0.0-next-7.18
## 7.0.0-next-7.17
### Patch Changes
- 199aea3: chore: add config location and loglevel to startup log
- Updated dependencies [6e764e3]
- @verdaccio/config@7.0.0-next-7.17
- @verdaccio/core@7.0.0-next-7.17
- @verdaccio/logger@7.0.0-next-7.17
- @verdaccio/node-api@7.0.0-next-7.17
## 7.0.0-next-7.16
### Patch Changes
- @verdaccio/logger@7.0.0-next-7.16
- @verdaccio/node-api@7.0.0-next-7.16
- @verdaccio/core@7.0.0-next-7.16
- @verdaccio/config@7.0.0-next-7.16
## 7.0.0-next-7.15
### Patch Changes
- Updated dependencies [bd8703e]
- @verdaccio/core@7.0.0-next-7.15
- @verdaccio/node-api@7.0.0-next-7.15
- @verdaccio/config@7.0.0-next-7.15
- @verdaccio/logger@7.0.0-next-7.15
## 7.0.0-next-7.14
### Patch Changes
- @verdaccio/node-api@7.0.0-next-7.14
- @verdaccio/core@7.0.0-next-7.14
- @verdaccio/config@7.0.0-next-7.14
- @verdaccio/logger@7.0.0-next-7.14
## 7.0.0-next-7.13
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "7.0.0-next-7.13",
"version": "7.0.0-next-8.21",
"author": {
"name": "Juan Picado",
"email": "juanpicado19@gmail.com"
@@ -43,14 +43,14 @@
"start": "ts-node src/index.ts"
},
"dependencies": {
"@verdaccio/core": "workspace:7.0.0-next-7.13",
"@verdaccio/config": "workspace:7.0.0-next-7.13",
"@verdaccio/logger": "workspace:7.0.0-next-7.13",
"@verdaccio/node-api": "workspace:7.0.0-next-7.13",
"clipanion": "3.2.1",
"envinfo": "7.11.0",
"@verdaccio/config": "workspace:7.0.0-next-8.21",
"@verdaccio/core": "workspace:7.0.0-next-8.21",
"@verdaccio/logger": "workspace:7.0.0-next-8.21",
"@verdaccio/node-api": "workspace:7.0.0-next-8.21",
"clipanion": "4.0.0-rc.3",
"envinfo": "7.13.0",
"kleur": "4.1.5",
"semver": "7.6.0"
"semver": "7.6.3"
},
"devDependencies": {
"ts-node": "10.9.2"

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