Compare commits

..

133 Commits

Author SHA1 Message Date
Juan Picado
7e48d714b9 chore: update versions (6-next) (#3935) 2023-07-15 20:46:04 +02:00
Juan Picado
ae93e039da fix: expose middleware methods #3915 (#3934)
* fix: expose middleware methods #3915

* remove body-parser dep

* fix 404 issue
2023-07-15 20:38:43 +02:00
verdacciobot
80b1038a76 chore: updated static data 2023-07-13 00:15:50 +00:00
dependabot[bot]
fe18df4cec chore(deps): bump actions/setup-node from 3.6.0 to 3.7.0 (#3929)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](64ed1c7eab...e33196f742)

---
updated-dependencies:
- dependency-name: actions/setup-node
  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>
2023-07-11 10:11:56 +02:00
renovate[bot]
75d3526b66 chore(deps): update dependency @types/webpack-env to v1.18.1 (#3928) 2023-07-10 21:07:37 +02:00
renovate[bot]
beb10af1e7 chore(deps): update dependency @types/testing-library__jest-dom to v5.14.7 (#3927) 2023-07-10 21:07:22 +02:00
renovate[bot]
7e2ad88eb8 chore(deps): update dependency @orama/orama to v1.0.9 (#3926)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-10 14:39:47 +02:00
verdacciobot
834513b56d chore: updated static data 2023-07-10 00:15:36 +00:00
Juan Picado
5486cb8260 chore: update versions (6-next) (#3920)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-07-09 10:42:04 +02:00
Juan Picado
f859d2b1ae fix: official package - cannot be synced (#3919)
* fix: official package - cannot be synced

* coverage
2023-07-08 19:06:03 +02:00
renovate[bot]
979f2ff210 fix(deps): update dependency semver to v7.5.4 (#3917) 2023-07-08 14:06:15 +02:00
renovate[bot]
ee642ff639 fix(deps): update material-ui monorepo to v5.13.7 (master) (#3893)
* fix(deps): update material-ui monorepo to v5.13.7

* fix types

* fix types

* lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2023-07-08 13:00:53 +02:00
renovate[bot]
26842fab70 chore(deps): update dependency @changesets/get-dependents-graph to v1.3.6 (#3909)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-08 10:53:03 +02:00
renovate[bot]
767a981819 chore(deps): update dependency @orama/orama to v1.0.8 (#3901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-08 10:49:23 +02:00
renovate[bot]
bea7a67c8b chore(deps): update dependency @types/node to v16.18.38 (#3910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-08 10:49:12 +02:00
renovate[bot]
ff1e8f5cf8 chore(deps): update github/codeql-action digest to 46ed16d (#3900)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-08 10:47:06 +02:00
Juan Picado
318b1dc5f2 chore: restore settings gh action 2023-07-07 08:04:23 +02:00
dependabot[bot]
4bb80b76ae chore(deps): bump github/codeql-action from 2.20.1 to 2.20.2 (#3911)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.20.1 to 2.20.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f6e388ebf0...004c5de30b)

---
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>
2023-07-07 07:50:02 +02:00
Raz Luvaton
147acc5044 docs: update e2e.md (#3912) 2023-07-07 07:49:43 +02:00
verdacciobot
c7507df68f chore: updated static data 2023-07-06 00:16:03 +00:00
verdacciobot
0e5b00b670 chore: updated static data 2023-07-03 00:15:36 +00:00
verdacciobot
556609dfbb chore: updated static data 2023-06-29 00:16:47 +00:00
dependabot[bot]
1029c1993b chore(deps): bump github/codeql-action from 2.20.0 to 2.20.1 (#3902) 2023-06-28 00:49:31 +08:00
verdacciobot
4c123927b7 chore: updated static data 2023-06-26 00:15:51 +00:00
verdacciobot
7f59f3e439 chore: updated static data 2023-06-22 00:14:31 +00:00
renovate[bot]
e2cd8108fe fix(deps): update dependency clipanion to v3.2.1 (#3892)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-21 07:42:35 +08:00
renovate[bot]
a76530b31d chore(deps): update dependency @orama/orama to v1.0.7 (#3888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-19 12:45:44 +08:00
renovate[bot]
6aa85db22b chore(deps): update github/codeql-action digest to 6c089f5 (#3887)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-19 12:45:24 +08:00
renovate[bot]
67a966a971 chore(deps): update dependency @types/node to v16.18.36 (#3889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-19 12:45:11 +08:00
renovate[bot]
68c889fb10 chore(deps): update dependency @types/validator to v13.7.17 (#3890) 2023-06-19 11:27:06 +08:00
verdacciobot
61fa46bb17 chore: updated static data 2023-06-19 00:15:15 +00:00
Yassine KLILICH
22159cfc49 fix(website): wrong spelling "depenging" to "depending" in documentation (#3886) 2023-06-18 22:42:15 +08:00
verdacciobot
7401fc72d6 chore: updated static data 2023-06-15 00:15:07 +00:00
renovate[bot]
bd16bcc248 fix(deps): update dependency npm to v9.7.1 (#3872) 2023-06-13 09:46:45 +08:00
Juan Picado
37e2c61f63 chore: update versions (6-next) (#3862)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-06-13 08:01:14 +08:00
dependabot[bot]
9daf8fd3f6 chore(deps): bump docker/setup-qemu-action from 2.1.0 to 2.2.0 (#3870)
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](e81a89b173...2b82ce82d5)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-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>
2023-06-13 00:39:32 +08:00
renovate[bot]
ed3786aae2 chore(deps): update dependency @types/testing-library__jest-dom to v5.14.6 (#3868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 23:51:54 +08:00
renovate[bot]
52da81a23b chore(deps): update dependency @types/superagent to v4.1.18 (#3867)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 23:51:42 +08:00
dependabot[bot]
3eead44592 chore(deps): bump github/codeql-action from 2.3.6 to 2.13.4 (#3871)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.6 to 2.13.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](83f0fe6c49...cdcdbb5797)

---
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>
2023-06-12 23:50:54 +08:00
renovate[bot]
593526466e chore(deps): update dependency @types/node to v16.18.35 (#3865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 23:50:29 +08:00
renovate[bot]
f56e068b56 chore(deps): update dependency @types/node-fetch to v2.6.4 (#3866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 11:30:13 +08:00
renovate[bot]
c5d236c8fe chore(deps): update dependency @orama/orama to v1.0.6 (#3860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 09:38:29 +08:00
dependabot[bot]
1812b3f106 chore(deps): bump github/codeql-action from 2.3.5 to 2.3.6 (#3861)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.5 to 2.3.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](0225834cc5...83f0fe6c49)

---
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>
2023-06-12 09:38:13 +08:00
renovate[bot]
02e59ffe19 chore(deps): update actions/checkout digest to c85c95e (#3863)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 09:36:44 +08:00
renovate[bot]
80953e2925 chore(deps): update dependency @types/lodash to v4.14.195 (#3864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 09:36:29 +08:00
verdacciobot
62bc819d74 chore: updated static data 2023-06-12 00:15:57 +00:00
George Kalpakas
702d5c4971 fix(api): fix password validation for /reset_password route (#3858)
Previously, the password validation logic for the `/reset_password`
route was reversed: An error was returned when the password was valid
and the operation would succeed when the password was invalid.

This commit fixes the logic to return an error when the validation fails
and proceed with resetting the password when the password is valid.
2023-06-11 16:33:37 +08:00
verdacciobot
87acf824ed chore: updated static data 2023-06-08 00:14:10 +00:00
renovate[bot]
6fe865397e chore(deps): update all linting dependencies (#3859) 2023-06-05 17:21:37 +02:00
verdacciobot
245099c058 chore: updated static data 2023-06-05 00:14:26 +00:00
renovate[bot]
674be4bbbb fix(deps): update dependency @crowdin/crowdin-api-client to v1.23.1 (#3856)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-03 22:35:06 +02:00
renovate[bot]
fe1fb61438 fix(deps): update dependency github-markdown-css to v5.2.0 (#3857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-03 22:34:44 +02:00
renovate[bot]
42f98c0282 fix(deps): update material-ui monorepo (master) (#3851)
* fix(deps): update material-ui monorepo

* Update Detail.test.tsx.snap

* Update Search.test.tsx.snap

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2023-06-03 12:56:10 +02:00
Juan Picado
65bf07eacb chore: update snapshot 2023-06-03 10:55:29 +02:00
Juan Picado
113e541bbf chore: update versions (6-next) (#3825) 2023-06-03 07:23:26 +02:00
Juan Picado
7344a7fcf6 feat: ui set global package on sidebar setting (#3826) 2023-06-03 00:52:24 +02:00
George Kalpakas
679c19c1b6 fix(config): respect the changePassword configuration flag (#3849) 2023-06-02 18:52:41 +02:00
renovate[bot]
a13f1b3626 chore(deps): update github/codeql-action digest to 0225834 (#3841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-02 07:22:38 +02:00
verdacciobot
cf1ebfe428 chore: updated static data 2023-06-01 00:17:56 +00:00
George Kalpakas
c3b0247019 test(unit): fix test for disabling web login (#3848) 2023-05-31 17:58:58 +02:00
renovate[bot]
59a6c01124 chore(deps): update dependency @orama/orama to v1.0.2 (#3842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-29 20:42:29 +02:00
dependabot[bot]
3f237d0cec chore(deps): bump github/codeql-action from 2.3.3 to 2.3.5 (#3844) 2023-05-29 18:53:34 +02:00
verdacciobot
5afdbbc695 chore: updated static data 2023-05-29 00:14:19 +00:00
Swapnil M Mane
d0070634b3 docs: updated the start count for Webiny CMS (#3839) 2023-05-26 09:59:41 +02:00
verdacciobot
e4b05511d5 chore: updated static data 2023-05-25 00:13:29 +00:00
Juan Picado
6745e2b7cf Revert "chore(deps): update dependency pino to v8.14.1 (#3834)" (#3837)
This reverts commit 825481ad36.
2023-05-23 21:59:18 +02:00
renovate[bot]
825481ad36 chore(deps): update dependency pino to v8.14.1 (#3834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 21:50:19 +02:00
renovate[bot]
e96b4dd428 chore(deps): update all linting dependencies (#3835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 21:49:57 +02:00
renovate[bot]
5a25630b7a chore(deps): update babel monorepo (#3836)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 21:02:49 +02:00
renovate[bot]
fe766a10b2 fix(deps): update docusaurus monorepo to v2.4.1 (#3833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 20:07:44 +02:00
renovate[bot]
3ba0d5a09a chore(deps): update dependency @types/lodash to v4.14.194 (#3830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-23 18:30:26 +02:00
verdacciobot
fc2a47d3c4 chore: updated static data 2023-05-22 00:13:20 +00:00
verdacciobot
04206144a5 chore: updated static data 2023-05-18 00:13:04 +00:00
Inyong Hwang
0cc931417c Fix typo in docker examples README.md (#3828)
adtional -> additional
2023-05-16 13:51:34 +02:00
verdacciobot
b797715c9a chore: updated static data 2023-05-15 00:13:32 +00:00
Juan Picado
84b2dffdbe fix: logger-commons wrong dependency version 2023-05-14 17:20:34 +02:00
Juan Picado
23e6967a69 chore: update versions (6-next) (#3823)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-14 17:03:36 +02:00
Juan Picado
4a33e269b2 chore: restore logger versions 2023-05-14 15:10:03 +02:00
Juan Picado
74a9a9d18c update renovate 2023-05-14 14:57:37 +02:00
Juan Picado
c91f94faa5 Update renovate.json 2023-05-14 14:31:37 +02:00
Juan Picado
109a836a3c Update renovate.json 2023-05-14 14:25:49 +02:00
Juan Picado
ff99597e73 Update renovate.json 2023-05-14 14:24:12 +02:00
Juan Picado
4371899b92 Update renovate.json 2023-05-14 14:04:10 +02:00
Juan Picado
763f149c46 Update renovate.json 2023-05-14 13:40:10 +02:00
Juan Picado
3f0c89b562 Update renovate.json 2023-05-14 13:31:07 +02:00
Juan Picado
658ff3a3c3 chore: update renovate 2023-05-14 13:29:06 +02:00
Juan Picado
6369612ccb chore: update versions (6-next) (#3759)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-05-14 12:36:49 +02:00
Juan Picado
15e58d988c feat: add search package utils (#3819)
* chore: add search package

* feat: add search package utils

* feat: add search package utils

* fix order dependencies
2023-05-14 12:22:02 +02:00
renovate[bot]
fdd7d963ca fix(deps): update dependency pino to v8.14.1 (#3817) 2023-05-14 08:56:58 +02:00
renovate[bot]
bef3e2742e chore(deps): update dependency fastify to v4.17.0 (#3814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 20:27:10 +02:00
renovate[bot]
17e8e8c5fd chore(deps): update dependency webpack to v5.82.1 (#3815)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 20:27:02 +02:00
Juan Picado
5706de56b4 chore: remove comment docusaurus 2023-05-13 17:14:21 +02:00
renovate[bot]
16cb1fd797 fix(deps): update dependency ajv to v8.12.0 (#3809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 16:51:17 +02:00
renovate[bot]
0e4e1c12bf fix(deps): update dependency core-js to v3.30.2 (#3810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-13 16:51:09 +02:00
Juan Picado
bbd97b7cf8 chore: restore dep (#3813) 2023-05-13 16:50:32 +02:00
Juan Picado
cc43ba4faf chore: fix local startup 2023-05-13 16:17:57 +02:00
renovate[bot]
d52dbadae8 fix(deps): update dependency memfs to v3.5.1 (#3808) 2023-05-11 14:12:01 +02:00
Juan Picado
ffaf5cc0f4 Update renovate.json 2023-05-11 07:41:08 +02:00
verdacciobot
fa09aed2e7 chore: updated static data 2023-05-11 00:13:14 +00:00
Daniel Ruf
eed6bc01f2 Remove mention of HackerOne program (#3803) 2023-05-08 22:47:18 +02:00
renovate[bot]
90fcbedf1f chore(deps): update dependency @types/async to v3.2.20 (#3801)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-08 22:45:45 +02:00
verdacciobot
91741915df chore: updated static data 2023-05-08 00:13:04 +00:00
renovate[bot]
1c1a681138 fix(deps): update dependency sonic-boom to v3.3.0 (#3790) 2023-05-07 12:49:49 +02:00
renovate[bot]
30293f70cb fix(deps): update dependency pino to v8.12.1 (#3789) 2023-05-07 12:49:31 +02:00
renovate[bot]
548f1293c7 fix(deps): update dependency npm to v9.6.6 (master) (#3784)
* fix(deps): update dependency npm to v9.6.6

* Update audit.spec.ts

* Update audit.spec.ts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
2023-05-07 11:15:37 +02:00
renovate[bot]
8ec6b0d47e chore(deps): update dependency html-webpack-plugin to v5.5.1 (#3788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-06 07:49:55 +02:00
renovate[bot]
f0a53d3095 chore(deps): update github/codeql-action digest to 29b1f65 (#3780)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-06 07:34:19 +02:00
renovate[bot]
ba19faeae2 chore(deps): update dependency body-parser to v1.20.2 (#3787)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-06 07:34:05 +02:00
verdacciobot
14e8969c6d chore: updated static data 2023-05-04 00:14:01 +00:00
renovate[bot]
b8469cdbf7 chore(deps): update dependency @testing-library/react to v12.1.5 (#3781) 2023-05-02 22:09:38 +02:00
dependabot[bot]
1d82994f2e chore(deps): bump github/codeql-action from 2.3.0 to 2.3.2 (#3782)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.0 to 2.3.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b2c19fb9a2...f3feb00acb)

---
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>
2023-05-02 19:08:15 +02:00
renovate[bot]
55f2b9301e fix(deps): update dependency marked to v4.3.0 (#3783)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 19:05:45 +02:00
renovate[bot]
437ab92f0b fix(deps): update dependency colorette to v2.0.20 (#3785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 19:05:33 +02:00
renovate[bot]
08e664bbd2 fix(deps): update dependency kleur to v4.1.5 (#3786)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-02 19:05:22 +02:00
verdacciobot
7f050bc6f1 chore: updated static data 2023-05-01 00:14:46 +00:00
Raz Luvaton
489f036773 added e2e example test (#3779) 2023-04-30 22:56:37 +02:00
renovate[bot]
94fb0c7922 fix(deps): update dependency @crowdin/crowdin-api-client to v1.22.1 (#3774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-30 08:48:14 +02:00
renovate[bot]
827c9d7852 fix(deps): update dependency @lyrasearch/lyra to ^0.4.0 (#3775) 2023-04-27 20:03:06 +02:00
renovate[bot]
37c8557e36 chore(deps): update dependency http-errors to v2.0.0 (#3772) 2023-04-27 18:39:45 +02:00
renovate[bot]
690d8e69b4 fix(deps): update dependency semver to v7.5.0 (#3777) 2023-04-27 18:39:25 +02:00
renovate[bot]
154f96e490 fix(deps): update dependency lru-cache to v7.18.3 (#3776) 2023-04-27 17:45:54 +02:00
renovate[bot]
0b3eb5ffb4 chore(deps): update dependency js-yaml to v4.1.0 (#3773) 2023-04-27 17:29:37 +02:00
renovate[bot]
eff234af57 fix(deps): update dependency copy-text-to-clipboard to v3.1.0 (#3771) 2023-04-27 16:53:19 +02:00
Xingwang Liao
910fc03f62 fix(ui-theme): fix menuKey for Khmer language (#3770) 2023-04-27 15:50:19 +02:00
verdacciobot
82fe99ae12 chore: updated static data 2023-04-27 00:17:48 +00:00
Sergio Herrera
a8a34d74a6 fix: packages/plugins/aws-storage/package.json to reduce vulnerabilities (#3766)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-XML2JS-5414874

Co-authored-by: snyk-bot <snyk-bot@snyk.io>
2023-04-25 17:29:17 +02:00
dependabot[bot]
24f5bf26ca chore(deps): bump treosh/lighthouse-ci-action from 9.6.8 to 10.1.0 (#3764)
Bumps [treosh/lighthouse-ci-action](https://github.com/treosh/lighthouse-ci-action) from 9.6.8 to 10.1.0.
- [Release notes](https://github.com/treosh/lighthouse-ci-action/releases)
- [Commits](2e159d989f...03becbfc54)

---
updated-dependencies:
- dependency-name: treosh/lighthouse-ci-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>
2023-04-24 17:24:39 +02:00
renovate[bot]
954dbae5f4 chore(deps): update marocchino/sticky-pull-request-comment digest to f61b6cf (#3762)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-24 07:33:48 +02:00
renovate[bot]
3a55dc2be2 chore(deps): update github/codeql-action digest to b2c19fb (#3761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-24 07:33:27 +02:00
verdacciobot
a0980feba1 chore: updated static data 2023-04-24 00:14:41 +00:00
Juan Picado
c9d1af0e5b feat: async bcrypt hash (#3694)
* +feat: async bcrypt hash

* +feat: async bcrypt hash
2023-04-22 20:55:45 +02:00
Juan Picado
4275b1894e chore: update link support 2023-04-22 12:27:24 +02:00
Juan Picado
50a0daf1e6 Update renovate.json 2023-04-22 11:25:16 +02:00
210 changed files with 9012 additions and 4450 deletions

View File

@@ -0,0 +1,8 @@
---
'@verdaccio/config': patch
---
Respect the `changePassword` configuration flag to enable changing the password through the web API.
> **Note**
> This feature is still experimental and not fully supported in the default web application.

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/api': minor
'@verdaccio/middleware': minor
'@verdaccio/server': minor
---
fix: expose middleware methods

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/server-fastify': patch
'@verdaccio/web': patch
---
Fix the password validation logic for the `/reset_password` route to ensure that the password is only reset if it is valid.

View File

@@ -0,0 +1,6 @@
---
'@verdaccio/ui-theme': minor
'@verdaccio/ui-components': minor
---
feat: ui bugfixes and improvements

View File

@@ -58,7 +58,8 @@
"@verdaccio/logger-7": "6.0.0-6-next.1",
"@verdaccio/logger-commons": "6.0.0-6-next.25",
"@verdaccio/e2e-cli-pnpm8": "1.0.1-6-next.6",
"@verdaccio/signature": "6.0.0-6-next.1"
"@verdaccio/signature": "6.0.0-6-next.1",
"@verdaccio/search": "6.0.0-6-next.1"
},
"changesets": [
"afraid-mice-obey",
@@ -74,11 +75,14 @@
"chatty-pillows-perform",
"chilled-ways-fetch",
"chilly-glasses-occur",
"chilly-trains-juggle",
"clever-pugs-warn",
"dry-planes-tap",
"dull-monkeys-search",
"early-jokes-nail",
"eight-bottles-own",
"eight-clouds-look",
"eighty-snails-admire",
"eleven-brooms-hunt",
"eleven-spoons-matter",
"fair-lemons-beam",
@@ -106,6 +110,7 @@
"heavy-ravens-lay",
"hip-hounds-destroy",
"honest-maps-hear",
"khaki-carrots-crash",
"kind-bears-nail",
"kind-ladybugs-admire",
"late-adults-love",
@@ -140,12 +145,15 @@
"red-chefs-float",
"red-yaks-sell",
"rich-badgers-begin",
"rich-bananas-chew",
"rich-ghosts-rule",
"shaggy-carrots-unite",
"shaggy-parrots-smash",
"shiny-chefs-heal",
"shy-ducks-cover",
"silly-moose-watch",
"six-boats-sparkle",
"slimy-eggs-explain",
"slow-carrots-relate",
"slow-snails-sniff",
"smart-apricots-kneel",
@@ -158,9 +166,12 @@
"spicy-snakes-sip",
"strange-ladybugs-nail",
"strong-socks-type",
"stupid-sloths-leave",
"swift-pumpkins-knock",
"ten-parents-breathe",
"tender-bags-call",
"tender-pots-yawn",
"tender-tigers-hammer",
"thick-countries-move",
"thick-geese-wash",
"thick-readers-hang",

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/api': patch
'@verdaccio/core': patch
'@verdaccio/middleware': patch
---
fix: official package "-" cannot be synced

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/search': minor
---
feat: add search package utilities

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/logger-commons': patch
---
fix: restore wrong dependency version

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/logger-7': patch
'@verdaccio/logger-commons': patch
'@verdaccio/logger-prettify': patch
---
fix: restore pino legacy version

View File

@@ -0,0 +1,5 @@
---
'@verdaccio/ui-theme': patch
---
fix menuKey for Khmer language

View File

@@ -0,0 +1,7 @@
---
'@verdaccio/auth': minor
'@verdaccio/core': minor
'verdaccio-htpasswd': minor
---
feat: async bcrypt hash

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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
env:

View File

@@ -18,9 +18,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -47,9 +47,9 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -71,9 +71,9 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -100,9 +100,9 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
@@ -126,8 +126,8 @@ jobs:
runs-on: windows-latest
name: UI Test E2E
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -27,9 +27,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -54,9 +54,9 @@ jobs:
name: Lint
needs: prepare
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -79,9 +79,9 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -109,9 +109,9 @@ jobs:
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
@@ -137,8 +137,8 @@ jobs:
name: synchronize translations
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -21,7 +21,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # 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 +34,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
uses: github/codeql-action/init@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -42,7 +42,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@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
uses: github/codeql-action/autobuild@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -56,4 +56,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7df0ce34898d659f95c0c4a09eaa8d4e32ee64db # tag=v2
uses: github/codeql-action/analyze@46ed16ded91731b2df79a2893d3aea8e9f03b5c4 # v2

View File

@@ -15,13 +15,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3
with:
node-version: 18
- name: verdaccio cli

View File

@@ -12,13 +12,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Start containers
run: docker-compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3
with:
node-version: 18
- name: npm setup

View File

@@ -23,8 +23,8 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 # tag=v1
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # tag=v1
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host

View File

@@ -15,9 +15,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -39,9 +39,9 @@ jobs:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node 16
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
@@ -83,8 +83,8 @@ jobs:
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version: ${{ matrix.node }}
- name: Install pnpm

View File

@@ -15,9 +15,9 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm

View File

@@ -19,11 +19,11 @@ jobs:
name: Run script
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
with:
persist-credentials: false
fetch-depth: 0
- uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
- uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version: 18.x
- name: install pnpm

View File

@@ -27,10 +27,10 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version-file: '.nvmrc'
@@ -65,7 +65,7 @@ jobs:
build-dir: './packages/ui-components/storybook-static'
- name: 🤖 Deploy Preview UI Components Netlify
if: github.repository == 'verdaccio/verdaccio'
uses: verdaccio/action-netlify-deploy@1c086d59169edeec9254672c7de17d2ceac3928f # v2.0.0
uses: semoal/action-netlify-deploy@1a53f098745bf78555d11b436f5ee3af87e6b566
id: netlify_preview_ui
with:
draft: true

View File

@@ -23,10 +23,10 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3
- name: Use Node 16
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # tag=v3
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # tag=v3
with:
node-version: 16
@@ -100,7 +100,7 @@ jobs:
- name: Audit preview URL with Lighthouse
if: github.repository == 'verdaccio/verdaccio'
id: lighthouse_audit
uses: treosh/lighthouse-ci-action@2e159d989f91bb9e399801b3e1ad90bcd4749f75 # tag=9.6.8
uses: treosh/lighthouse-ci-action@03becbfc543944dd6e7534f7ff768abb8a296826 # tag=10.1.0
with:
urls: |
${{ steps.netlify_preview.outputs.preview-url }}
@@ -134,7 +134,7 @@ jobs:
- name: Add comment to PR
if: github.repository == 'verdaccio/verdaccio'
id: comment_to_pr
uses: marocchino/sticky-pull-request-comment@3d60a5b2dae89d44e0c6ddc69dd7536aec2071cd # tag=v2
uses: marocchino/sticky-pull-request-comment@f61b6cf21ef2fcc468f4345cdfcc9bda741d2343 # v2
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
number: ${{ github.event.issue.number }}

View File

@@ -286,8 +286,8 @@ You can find and chat with then over Discord, click [here](http://chat.verdaccio
- [Aurelia Framework](https://github.com/aurelia/framework) _(+11.6k ⭐️)_
- [pnpm](https://github.com/pnpm/pnpm) _(+10.1k ⭐️)_
- [ethereum/web3.js](https://github.com/ethereum/web3.js) _(+9.8k ⭐️)_
- [Webiny CMS](https://github.com/webiny/webiny-js) _(+6.6k ⭐️)_
- [NX](https://github.com/nrwl/nx) _(+6.1k ⭐️)_
- [webiny-js](https://github.com/webiny/webiny-js) _(+4.3k ⭐️)_
- [Mozilla Neutrino](https://github.com/neutrinojs/neutrino) _(+3.7k ⭐️)_
- [workshopper how to npm](https://github.com/workshopper/how-to-npm) _(+1k ⭐️)_
- [Amazon SDK v3](https://github.com/aws/aws-sdk-js-v3)

View File

@@ -28,7 +28,7 @@ At Verdaccio, we consider the security of our systems a top priority. But no mat
If you discover a security vulnerability, please use one of the following means of communications to report it to us:
- Report the security issue to the Node.js Security WG through the [HackerOne program](https://hackerone.com/nodejs-ecosystem) for ecosystem modules on npm, or to [Snyk Security Team](https://snyk.io/vulnerability-disclosure). They will help triage the security issue and work with all involved parties to remediate and release a fix.
- Report the security issue to [Snyk Security Team](https://snyk.io/vulnerability-disclosure). They will help triage the security issue and work with all involved parties to remediate and release a fix.
Note that time-frame and processes are subject to each programs own policy.

View File

@@ -10,7 +10,7 @@ The following examples aim to be demonstrative and can be either improved or upd
- [v5 examples](v5/README.md)
- [v6 examples](v6/README.md)
## Aditional data
## Additional data
This folder aims to create a collection of Docker and Kubernetes examples.

View File

@@ -5,8 +5,8 @@
"main": "./build/index.js",
"types": "./build/index.d.ts",
"devDependencies": {
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"debug": "4.3.4",
"fs-extra": "10.1.0",
@@ -14,7 +14,7 @@
"js-yaml": "4.1.0",
"get-port": "5.1.1",
"lodash": "4.17.21",
"verdaccio": "workspace:6.0.0-6-next.68"
"verdaccio": "workspace:6.0.0-6-next.74"
},
"scripts": {
"test": "jest",

View File

@@ -33,9 +33,6 @@ describe('audit a package', () => {
);
const parsedBody = JSON.parse(resp.stdout as string);
expect(parsedBody.metadata).toBeDefined();
expect(parsedBody.actions).toBeDefined();
expect(parsedBody.advisories).toBeDefined();
expect(parsedBody.muted).toBeDefined();
}
);

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.7",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
"npm": "6.14.18"
"npm": "9.7.1"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.7",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
"npm": "7.24.2"
"npm": "9.7.1"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.7",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
"npm": "8.19.4"
"npm": "9.7.1"
},
"scripts": {
"test": "jest"

View File

@@ -4,7 +4,7 @@
"version": "1.0.1-6-next.7",
"dependencies": {
"@verdaccio/test-cli-commons": "workspace:1.1.0-6-next.7",
"npm": "9.6.3"
"npm": "9.7.1"
},
"scripts": {
"test": "jest"

View File

@@ -3,12 +3,12 @@
"name": "@verdaccio/e2e-ui",
"version": "2.0.0-6-next.4",
"devDependencies": {
"verdaccio": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"verdaccio": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"debug": "4.3.4",
"cypress": "11.2.0",
"cypress": "^11.2.0",
"get-port": "5.1.1"
},
"scripts": {

View File

@@ -1,4 +0,0 @@
require('@babel/register')({
extensions: ['.ts', '.js'],
});
module.exports = require('./setup');

View File

@@ -1,26 +0,0 @@
const fs = require('fs');
const os = require('os');
const path = require('path');
const { green } = require('colorette');
const puppeteer = require('puppeteer');
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
module.exports = async function () {
// eslint-disable-next-line no-console
console.log(green('Setup Puppeteer'));
const browser = await puppeteer.launch({
isMobile: false,
ignoreHTTPSErrors: true,
// invert values for local testing
devtools: false,
headless: true,
// slowMo: 6000,
// invert values for local testing
args: ['--no-sandbox'],
});
global.__BROWSER__ = browser;
fs.mkdirSync(DIR, { recursive: true, force: true });
fs.writeFileSync(path.join(DIR, 'wsEndpoint'), browser.wsEndpoint());
};

View File

@@ -1,14 +0,0 @@
const os = require('os');
const path = require('path');
const { green } = require('kleur');
const rimraf = require('rimraf');
const DIR = path.join(os.tmpdir(), 'jest_puppeteer_global_setup');
module.exports = async function () {
// eslint-disable-next-line no-console
console.log(green('Teardown Puppeteer'));
await global.__BROWSER__.close();
rimraf.sync(DIR);
};

View File

@@ -15,42 +15,42 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@babel/cli": "7.20.7",
"@babel/core": "7.20.7",
"@babel/eslint-parser": "7.11.0",
"@babel/cli": "7.21.5",
"@babel/core": "7.21.8",
"@babel/eslint-parser": "7.21.8",
"@babel/node": "7.20.7",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-proposal-decorators": "7.20.7",
"@babel/plugin-proposal-decorators": "7.21.0",
"@babel/plugin-proposal-export-namespace-from": "7.18.9",
"@babel/plugin-proposal-function-sent": "7.18.6",
"@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.20.7",
"@babel/plugin-proposal-optional-chaining": "7.21.0",
"@babel/plugin-proposal-throw-expressions": "7.18.6",
"@babel/plugin-syntax-dynamic-import": "7.8.3",
"@babel/plugin-syntax-import-meta": "7.10.4",
"@babel/plugin-transform-async-to-generator": "7.20.7",
"@babel/plugin-transform-classes": "7.20.7",
"@babel/plugin-transform-runtime": "7.19.6",
"@babel/preset-env": "7.20.2",
"@babel/plugin-transform-classes": "7.21.0",
"@babel/plugin-transform-runtime": "7.21.4",
"@babel/preset-env": "7.21.5",
"@babel/preset-react": "7.18.6",
"@babel/preset-typescript": "7.18.6",
"@babel/register": "7.18.9",
"@babel/runtime": "7.20.7",
"@babel/preset-typescript": "7.21.5",
"@babel/register": "7.21.0",
"@babel/runtime": "7.21.5",
"@changesets/changelog-github": "0.4.8",
"@changesets/cli": "2.24.4",
"@changesets/get-dependents-graph": "1.3.5",
"@changesets/get-dependents-graph": "1.3.6",
"@crowdin/cli": "3.10.1",
"@dianmora/contributors": "5.0.0",
"@emotion/react": "11.10.6",
"@emotion/styled": "11.10.6",
"@testing-library/dom": "8.19.1",
"@testing-library/jest-dom": "5.16.5",
"@testing-library/react": "12.1.4",
"@testing-library/react": "12.1.5",
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
"@types/async": "3.2.16",
"@types/async": "3.2.20",
"@types/body-parser": "1.19.2",
"@types/connect": "3.4.35",
"@types/cookiejar": "2.1.2",
@@ -60,11 +60,11 @@
"@types/http-errors": "1.8.2",
"@types/jest": "27.5.2",
"@types/jsonwebtoken": "8.5.9",
"@types/lodash": "4.14.191",
"@types/lodash": "4.14.195",
"@types/mime": "2.0.3",
"@types/minimatch": "3.0.5",
"@types/node": "16.18.10",
"@types/node-fetch": "2.6.2",
"@types/node": "16.18.38",
"@types/node-fetch": "2.6.4",
"@types/qs": "6.9.7",
"@types/range-parser": "1.2.4",
"@types/react": "18.0.26",
@@ -73,16 +73,16 @@
"@types/react-virtualized": "9.21.21",
"@types/redux": "3.6.0",
"@types/request": "2.48.8",
"@types/semver": "7.3.13",
"@types/semver": "7.5.0",
"@types/serve-static": "1.13.10",
"@types/superagent": "4.1.10",
"@types/superagent": "4.1.18",
"@types/supertest": "2.0.12",
"@types/testing-library__jest-dom": "5.14.5",
"@types/validator": "13.7.12",
"@types/webpack": "5.28.0",
"@types/webpack-env": "1.18.0",
"@typescript-eslint/eslint-plugin": "5.52.0",
"@typescript-eslint/parser": "5.52.0",
"@types/testing-library__jest-dom": "5.14.7",
"@types/validator": "13.7.17",
"@types/webpack": "5.28.1",
"@types/webpack-env": "1.18.1",
"@typescript-eslint/eslint-plugin": "5.59.8",
"@typescript-eslint/parser": "5.59.8",
"@verdaccio/crowdin-translations": "workspace:*",
"@verdaccio/eslint-config": "workspace:*",
"@verdaccio/types": "workspace:*",
@@ -95,7 +95,7 @@
"cross-env": "7.0.3",
"debug": "4.3.4",
"detect-secrets": "1.0.6",
"eslint": "8.34.0",
"eslint": "8.42.0",
"fs-extra": "10.1.0",
"got": "11.8.6",
"husky": "7.0.4",
@@ -106,12 +106,12 @@
"jest-environment-jsdom-global": "3.1.2",
"jest-environment-node": "29.3.1",
"jest-junit": "12.3.0",
"kleur": "3.0.3",
"kleur": "4.1.5",
"lint-staged": "11.2.6",
"nock": "13.2.9",
"nodemon": "2.0.20",
"npm-run-all": "4.1.5",
"prettier": "2.8.4",
"prettier": "2.8.8",
"react": "18.2.0",
"react-dom": "18.2.0",
"rimraf": "3.0.2",
@@ -166,7 +166,7 @@
"postinstall": "husky install",
"local:registry": "pnpm --filter ...@verdaccio/local-publish start",
"local:snapshots": "changeset version --snapshot",
"local:publish": "cross-env npm_config_registry=http://localhost:4873 pnpm ci:publish -- --no-git-tag",
"local:publish": "cross-env npm_config_registry=http://localhost:4873 changeset publish --no-git-tag",
"local:publish:release": "concurrently \"pnpm local:registry\" \"pnpm local:publish\""
},
"pnpm": {

View File

@@ -1,5 +1,86 @@
# @verdaccio/api
## 6.0.0-6-next.57
### Minor Changes
- ae93e039d: fix: expose middleware methods
### Patch Changes
- Updated dependencies [ae93e039d]
- @verdaccio/middleware@6.0.0-6-next.53
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
- @verdaccio/auth@6.0.0-6-next.53
- @verdaccio/store@6.0.0-6-next.54
- @verdaccio/utils@6.0.0-6-next.42
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.56
### Patch Changes
- f859d2b1a: fix: official package "-" cannot be synced
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/middleware@6.0.0-6-next.52
- @verdaccio/auth@6.0.0-6-next.52
- @verdaccio/config@6.0.0-6-next.73
- @verdaccio/store@6.0.0-6-next.53
- @verdaccio/utils@6.0.0-6-next.41
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.55
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
- @verdaccio/auth@6.0.0-6-next.51
- @verdaccio/middleware@6.0.0-6-next.51
- @verdaccio/store@6.0.0-6-next.52
- @verdaccio/utils@6.0.0-6-next.40
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.54
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/auth@6.0.0-6-next.50
- @verdaccio/middleware@6.0.0-6-next.50
- @verdaccio/store@6.0.0-6-next.51
- @verdaccio/logger@6.0.0-6-next.39
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/utils@6.0.0-6-next.39
## 6.0.0-6-next.53
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
- @verdaccio/auth@6.0.0-6-next.49
- @verdaccio/middleware@6.0.0-6-next.49
- @verdaccio/store@6.0.0-6-next.50
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
- @verdaccio/utils@6.0.0-6-next.38
## 6.0.0-6-next.52
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/auth@6.0.0-6-next.48
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/config@6.0.0-6-next.69
- @verdaccio/middleware@6.0.0-6-next.48
- @verdaccio/store@6.0.0-6-next.49
- @verdaccio/utils@6.0.0-6-next.37
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.51
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/api",
"version": "6.0.0-6-next.51",
"version": "6.0.0-6-next.57",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -39,25 +39,24 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/auth": "workspace:6.0.0-6-next.47",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/middleware": "workspace:6.0.0-6-next.47",
"@verdaccio/store": "workspace:6.0.0-6-next.48",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/middleware": "workspace:6.0.0-6-next.53",
"@verdaccio/store": "workspace:6.0.0-6-next.54",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"abortcontroller-polyfill": "1.7.5",
"cookies": "0.8.0",
"debug": "4.3.4",
"body-parser": "1.20.1",
"body-parser": "1.20.2",
"express": "4.18.2",
"lodash": "4.17.21",
"mime": "2.6.0",
"semver": "7.3.8"
"semver": "7.5.4"
},
"devDependencies": {
"@types/node": "16.18.10",
"@verdaccio/server": "workspace:6.0.0-6-next.57",
"@verdaccio/server": "workspace:6.0.0-6-next.63",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"supertest": "6.3.3",

View File

@@ -1,4 +1,3 @@
import bodyParser from 'body-parser';
import express, { Router } from 'express';
import { Auth } from '@verdaccio/auth';
@@ -43,24 +42,22 @@ export default function (config: Config, auth: Auth, storage: Storage): Router {
app.param('_rev', match(/^-rev$/));
app.param('org_couchdb_user', match(/^org\.couchdb\.user:/));
app.use(auth.apiJWTmiddleware());
app.use(bodyParser.json({ strict: false, limit: config.max_body_size || '10mb' }));
app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));
// @ts-ignore
app.use(antiLoop(config));
// encode / in a scoped package name to be matched as a single parameter in routes
app.use(encodeScopePackage);
// for "npm whoami"
whoami(app);
pkg(app, auth, storage);
profile(app, auth, config);
// @deprecated endpoint, 404 by default
search(app);
user(app, auth, config);
distTags(app, auth, storage);
publish(app, auth, storage);
ping(app);
stars(app, storage);
// @ts-ignore
v1Search(app, auth, storage);
token(app, auth, storage, config);
pkg(app, auth, storage);
return app;
}

View File

@@ -1,5 +1,84 @@
# @verdaccio/auth
## 6.0.0-6-next.53
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
- @verdaccio/loaders@6.0.0-6-next.43
- verdaccio-htpasswd@11.0.0-6-next.44
- @verdaccio/utils@6.0.0-6-next.42
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.52
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/config@6.0.0-6-next.73
- @verdaccio/loaders@6.0.0-6-next.42
- verdaccio-htpasswd@11.0.0-6-next.43
- @verdaccio/utils@6.0.0-6-next.41
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.51
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
- @verdaccio/loaders@6.0.0-6-next.41
- verdaccio-htpasswd@11.0.0-6-next.42
- @verdaccio/utils@6.0.0-6-next.40
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.50
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/loaders@6.0.0-6-next.40
- verdaccio-htpasswd@11.0.0-6-next.41
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.39
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/utils@6.0.0-6-next.39
## 6.0.0-6-next.49
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
- @verdaccio/loaders@6.0.0-6-next.39
- verdaccio-htpasswd@11.0.0-6-next.40
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
- @verdaccio/utils@6.0.0-6-next.38
- @verdaccio/signature@6.0.0-6-next.2
## 6.0.0-6-next.48
### Minor Changes
- c9d1af0e: feat: async bcrypt hash
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- verdaccio-htpasswd@11.0.0-6-next.39
- @verdaccio/config@6.0.0-6-next.69
- @verdaccio/loaders@6.0.0-6-next.38
- @verdaccio/utils@6.0.0-6-next.37
- @verdaccio/signature@6.0.0-6-next.2
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.47
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/auth",
"version": "6.0.0-6-next.47",
"version": "6.0.0-6-next.53",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -39,16 +39,16 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/loaders": "workspace:6.0.0-6-next.37",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/loaders": "workspace:6.0.0-6-next.43",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/signature": "workspace:6.0.0-6-next.2",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"debug": "4.3.4",
"express": "4.18.2",
"lodash": "4.17.21",
"verdaccio-htpasswd": "workspace:11.0.0-6-next.38"
"verdaccio-htpasswd": "workspace:11.0.0-6-next.44"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25"

View File

@@ -8,7 +8,7 @@ import { Config } from '@verdaccio/types';
import { Auth } from '../src';
import { authPluginFailureConf, authPluginPassThrougConf, authProfileConf } from './helper/plugin';
setup({});
setup({ level: 'debug', type: 'stdout' });
describe('AuthTest', () => {
test('should init correctly', async () => {
@@ -29,6 +29,18 @@ describe('AuthTest', () => {
expect(auth).toBeDefined();
});
test('should load custom algorithm', async () => {
const config: Config = new AppConfig({
...authProfileConf,
auth: { htpasswd: { algorithm: 'sha1', file: './foo' } },
});
config.checkSecretKey('12345');
const auth: Auth = new Auth(config);
await auth.init();
expect(auth).toBeDefined();
});
describe('test authenticate method', () => {
describe('test authenticate states', () => {
test('should be a success login', async () => {

View File

@@ -1,5 +1,62 @@
# @verdaccio/cli
## 6.0.0-6-next.74
### Patch Changes
- @verdaccio/node-api@6.0.0-6-next.74
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.73
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/config@6.0.0-6-next.73
- @verdaccio/node-api@6.0.0-6-next.73
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.72
### Patch Changes
- @verdaccio/node-api@6.0.0-6-next.72
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.71
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/node-api@6.0.0-6-next.71
- @verdaccio/logger@6.0.0-6-next.39
- @verdaccio/core@6.0.0-6-next.71
## 6.0.0-6-next.70
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
- @verdaccio/node-api@6.0.0-6-next.70
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
## 6.0.0-6-next.69
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/config@6.0.0-6-next.69
- @verdaccio/node-api@6.0.0-6-next.69
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.68
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/cli",
"version": "6.0.0-6-next.68",
"version": "6.0.0-6-next.74",
"author": {
"name": "Juan Picado",
"email": "juanpicado19@gmail.com"
@@ -44,14 +44,14 @@
"start": "ts-node src/index.ts"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/node-api": "workspace:6.0.0-6-next.68",
"clipanion": "3.2.0",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/node-api": "workspace:6.0.0-6-next.74",
"clipanion": "3.2.1",
"envinfo": "7.8.1",
"kleur": "3.0.3",
"semver": "7.3.8"
"kleur": "4.1.5",
"semver": "7.5.4"
},
"devDependencies": {
"ts-node": "10.9.1"

View File

@@ -1,5 +1,54 @@
# @verdaccio/config
## 6.0.0-6-next.74
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/utils@6.0.0-6-next.42
## 6.0.0-6-next.73
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/utils@6.0.0-6-next.41
## 6.0.0-6-next.72
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/utils@6.0.0-6-next.40
## 6.0.0-6-next.71
### Patch Changes
- 679c19c1b: Respect the `changePassword` configuration flag to enable changing the password through the web API.
> **Note**
> This feature is still experimental and not fully supported in the default web application.
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/utils@6.0.0-6-next.39
## 6.0.0-6-next.70
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/utils@6.0.0-6-next.38
## 6.0.0-6-next.69
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/utils@6.0.0-6-next.37
## 6.0.0-6-next.68
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/config",
"version": "6.0.0-6-next.68",
"version": "6.0.0-6-next.74",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,8 +38,8 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"debug": "4.3.4",
"js-yaml": "4.1.0",
"lodash": "4.17.21",

View File

@@ -84,6 +84,7 @@ class Config implements AppConfig {
this.serverSettings = serverSettings;
this.flags = {
searchRemote: config.flags?.searchRemote ?? true,
changePassword: config.flags?.changePassword ?? false,
};
this.user_agent = config.user_agent;

View File

@@ -1,5 +1,25 @@
# @verdaccio/core
## 6.0.0-6-next.74
## 6.0.0-6-next.73
### Patch Changes
- f859d2b1a: fix: official package "-" cannot be synced
## 6.0.0-6-next.72
## 6.0.0-6-next.71
## 6.0.0-6-next.70
## 6.0.0-6-next.69
### Minor Changes
- c9d1af0e: feat: async bcrypt hash
## 6.0.0-6-next.68
## 6.0.0-6-next.67

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/core",
"version": "6.0.0-6-next.68",
"version": "6.0.0-6-next.74",
"description": "core utilities",
"keywords": [
"private",
@@ -33,12 +33,12 @@
"access": "public"
},
"dependencies": {
"http-errors": "1.8.1",
"http-errors": "2.0.0",
"http-status-codes": "2.2.0",
"semver": "7.3.8",
"ajv": "8.11.2",
"semver": "7.5.4",
"ajv": "8.12.0",
"process-warning": "1.0.0",
"core-js": "3.28.0"
"core-js": "3.30.2"
},
"devDependencies": {
"lodash": "4.17.21",

View File

@@ -13,6 +13,7 @@ export const HEADER_TYPE = {
CONTENT_TYPE: 'content-type',
CONTENT_LENGTH: 'content-length',
ACCEPT_ENCODING: 'accept-encoding',
AUTHORIZATION: 'authorization',
};
export const CHARACTER_ENCODING = {
@@ -70,6 +71,7 @@ export const HTTP_STATUS = {
INTERNAL_ERROR: httpCodes.INTERNAL_SERVER_ERROR,
SERVICE_UNAVAILABLE: httpCodes.SERVICE_UNAVAILABLE,
LOOP_DETECTED: 508,
CANNOT_HANDLE: 590,
};
export const ERROR_CODE = {
@@ -109,3 +111,10 @@ export const PACKAGE_ACCESS = {
SCOPE: '@*/*',
ALL: '**',
};
export enum HtpasswdHashAlgorithm {
md5 = 'md5',
sha1 = 'sha1',
crypt = 'crypt',
bcrypt = 'bcrypt',
}

View File

@@ -23,6 +23,7 @@ export {
DEFAULT_PASSWORD_VALIDATION,
DEFAULT_USER,
USERS,
HtpasswdHashAlgorithm,
} from './constants';
const validationUtils = validatioUtils;
export {

View File

@@ -10,6 +10,10 @@ import {
describe('validatePackage', () => {
test('should validate package names', () => {
expect(validatePackage('-')).toBeTruthy();
expect(validatePackage('--')).toBeTruthy();
expect(validatePackage('a')).toBeTruthy();
expect(validatePackage('a-')).toBeTruthy();
expect(validatePackage('package-name')).toBeTruthy();
expect(validatePackage('@scope/package-name')).toBeTruthy();
});
@@ -21,6 +25,7 @@ describe('validatePackage', () => {
expect(validatePackage('node_modules')).toBeFalsy();
expect(validatePackage('__proto__')).toBeFalsy();
expect(validatePackage('favicon.ico')).toBeFalsy();
expect(validatePackage('%')).toBeFalsy();
});
});
@@ -75,6 +80,7 @@ describe('validateName', () => {
test('good ones', () => {
expect(validateName('verdaccio')).toBeTruthy();
expect(validateName('some.weird.package-zzz')).toBeTruthy();
expect(validateName('--0.0.1.tgz')).toBeTruthy();
expect(validateName('old-package@0.1.2.tgz')).toBeTruthy();
// fix https://github.com/verdaccio/verdaccio/issues/1400
expect(validateName('-build-infra')).toBeTruthy();

View File

@@ -1,5 +1,55 @@
# Change Log
## 11.0.0-6-next.43
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/url@11.0.0-6-next.40
- @verdaccio/utils@6.0.0-6-next.42
## 11.0.0-6-next.42
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/url@11.0.0-6-next.39
- @verdaccio/utils@6.0.0-6-next.41
## 11.0.0-6-next.41
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/url@11.0.0-6-next.38
- @verdaccio/utils@6.0.0-6-next.40
## 11.0.0-6-next.40
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/url@11.0.0-6-next.37
- @verdaccio/utils@6.0.0-6-next.39
## 11.0.0-6-next.39
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/url@11.0.0-6-next.36
- @verdaccio/utils@6.0.0-6-next.38
## 11.0.0-6-next.38
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/url@11.0.0-6-next.35
- @verdaccio/utils@6.0.0-6-next.37
## 11.0.0-6-next.37
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/tarball",
"version": "11.0.0-6-next.37",
"version": "11.0.0-6-next.43",
"description": "tarball utilities resolver",
"keywords": [
"private",
@@ -34,9 +34,9 @@
},
"dependencies": {
"debug": "4.3.4",
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/url": "workspace:11.0.0-6-next.34",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"lodash": "4.17.21"
},
"devDependencies": {

View File

@@ -40,7 +40,6 @@
"build": "echo 0"
},
"devDependencies": {
"@types/node": "16.18.10",
"typedoc": "0.23.25"
},
"typedoc": {

View File

@@ -18,9 +18,6 @@ export type LoggerLevel = 'http' | 'fatal' | 'warn' | 'info' | 'debug' | 'trace'
export type LoggerConfigItem = {
type?: LoggerType;
/**
* The format
*/
format?: LoggerFormat;
path?: string;
level?: string;

View File

@@ -1,5 +1,43 @@
# Change Log
## 11.0.0-6-next.40
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
## 11.0.0-6-next.39
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
## 11.0.0-6-next.38
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
## 11.0.0-6-next.37
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
## 11.0.0-6-next.36
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
## 11.0.0-6-next.35
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
## 11.0.0-6-next.34
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/url",
"version": "11.0.0-6-next.34",
"version": "11.0.0-6-next.40",
"description": "url utilities resolver",
"keywords": [
"private",
@@ -33,7 +33,7 @@
"access": "public"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"debug": "4.3.4",
"lodash": "4.17.21",
"validator": "13.9.0"

View File

@@ -1,5 +1,49 @@
# @verdaccio/hooks
## 6.0.0-6-next.44
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.43
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.42
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.41
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.39
- @verdaccio/core@6.0.0-6-next.71
## 6.0.0-6-next.40
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
- @verdaccio/core@6.0.0-6-next.70
## 6.0.0-6-next.39
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.38
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/hooks",
"version": "6.0.0-6-next.38",
"version": "6.0.0-6-next.44",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -29,17 +29,16 @@
"node": ">=16"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"core-js": "3.28.0",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"core-js": "3.30.2",
"debug": "4.3.4",
"handlebars": "4.7.7",
"undici": "4.16.0"
},
"devDependencies": {
"@types/node": "16.18.10",
"@verdaccio/auth": "workspace:6.0.0-6-next.47",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
},
"scripts": {

View File

@@ -1,5 +1,41 @@
# @verdaccio/loaders
## 6.0.0-6-next.43
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.42
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.41
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.40
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.39
## 6.0.0-6-next.39
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
## 6.0.0-6-next.38
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.37
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/loaders",
"version": "6.0.0-6-next.37",
"version": "6.0.0-6-next.43",
"description": "loaders logic",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -13,13 +13,13 @@
"url": "https://github.com/verdaccio/verdaccio"
},
"dependencies": {
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
"verdaccio-auth-memory": "workspace:*",

View File

@@ -1,5 +1,44 @@
# @verdaccio/logger-7
## 6.0.0-6-next.19
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.42
## 6.0.0-6-next.18
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.41
## 6.0.0-6-next.17
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.40
## 6.0.0-6-next.16
### Patch Changes
- Updated dependencies [84b2dffdb]
- @verdaccio/logger-commons@6.0.0-6-next.39
## 6.0.0-6-next.15
### Patch Changes
- 4a33e269: fix: restore pino legacy version
- Updated dependencies [4a33e269]
- @verdaccio/logger-commons@6.0.0-6-next.38
## 6.0.0-6-next.14
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.37
## 6.0.0-6-next.13
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-7",
"version": "6.0.0-6-next.13",
"version": "6.0.0-6-next.19",
"description": "logger for verdaccio 5.x version",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,7 +38,7 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.36",
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.42",
"pino": "7.11.0"
},
"devDependencies": {

View File

@@ -1,5 +1,47 @@
# @verdaccio/logger-commons
## 6.0.0-6-next.42
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
## 6.0.0-6-next.41
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
## 6.0.0-6-next.40
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
## 6.0.0-6-next.39
### Patch Changes
- 84b2dffdb: fix: restore wrong dependency version
- @verdaccio/core@6.0.0-6-next.71
## 6.0.0-6-next.38
### Patch Changes
- 4a33e269: fix: restore pino legacy version
- Updated dependencies [4a33e269]
- @verdaccio/logger-prettify@6.0.0-6-next.10
- @verdaccio/core@6.0.0-6-next.70
## 6.0.0-6-next.37
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
## 6.0.0-6-next.36
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-commons",
"version": "6.0.0-6-next.36",
"version": "6.0.0-6-next.42",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,13 +38,13 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/logger-prettify": "workspace:6.0.0-6-next.9",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/logger-prettify": "workspace:6.0.0-6-next.10",
"debug": "4.3.4",
"colorette": "2.0.19"
"colorette": "2.0.20"
},
"devDependencies": {
"pino": "8.11.0",
"pino": "7.11.0",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
},
"funding": {

View File

@@ -1,5 +1,11 @@
# @verdaccio/logger-prettify
## 6.0.0-6-next.10
### Patch Changes
- 4a33e269: fix: restore pino legacy version
## 6.0.0-6-next.9
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger-prettify",
"version": "6.0.0-6-next.9",
"version": "6.0.0-6-next.10",
"description": "logger",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -40,12 +40,12 @@
"dependencies": {
"dayjs": "1.11.7",
"pino-abstract-transport": "1.0.0",
"colorette": "2.0.19",
"colorette": "2.0.20",
"lodash": "4.17.21",
"sonic-boom": "3.2.1"
"sonic-boom": "3.3.0"
},
"devDependencies": {
"pino": "8.11.0"
"pino": "8.12.1"
},
"funding": {
"type": "opencollective",

View File

@@ -1,5 +1,43 @@
# @verdaccio/logger
## 6.0.0-6-next.42
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.42
## 6.0.0-6-next.41
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.41
## 6.0.0-6-next.40
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.40
## 6.0.0-6-next.39
### Patch Changes
- Updated dependencies [84b2dffdb]
- @verdaccio/logger-commons@6.0.0-6-next.39
## 6.0.0-6-next.38
### Patch Changes
- Updated dependencies [4a33e269]
- @verdaccio/logger-commons@6.0.0-6-next.38
## 6.0.0-6-next.37
### Patch Changes
- @verdaccio/logger-commons@6.0.0-6-next.37
## 6.0.0-6-next.36
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/logger",
"version": "6.0.0-6-next.36",
"version": "6.0.0-6-next.42",
"description": "logger",
"main": "./build/index.js",
"types": "./build/index.d.ts",
@@ -38,8 +38,8 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.36",
"pino": "8.11.0"
"@verdaccio/logger-commons": "workspace:6.0.0-6-next.42",
"pino": "8.14.1"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25"

View File

@@ -1,5 +1,67 @@
# @verdaccio/middleware
## 6.0.0-6-next.53
### Minor Changes
- ae93e039d: fix: expose middleware methods
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
- @verdaccio/url@11.0.0-6-next.40
- @verdaccio/utils@6.0.0-6-next.42
## 6.0.0-6-next.52
### Patch Changes
- f859d2b1a: fix: official package "-" cannot be synced
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/config@6.0.0-6-next.73
- @verdaccio/url@11.0.0-6-next.39
- @verdaccio/utils@6.0.0-6-next.41
## 6.0.0-6-next.51
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
- @verdaccio/url@11.0.0-6-next.38
- @verdaccio/utils@6.0.0-6-next.40
## 6.0.0-6-next.50
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/url@11.0.0-6-next.37
- @verdaccio/utils@6.0.0-6-next.39
## 6.0.0-6-next.49
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
- @verdaccio/url@11.0.0-6-next.36
- @verdaccio/utils@6.0.0-6-next.38
## 6.0.0-6-next.48
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/config@6.0.0-6-next.69
- @verdaccio/url@11.0.0-6-next.35
- @verdaccio/utils@6.0.0-6-next.37
## 6.0.0-6-next.47
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/middleware",
"version": "6.0.0-6-next.47",
"version": "6.0.0-6-next.53",
"description": "express middleware utils",
"main": "./build/index.js",
"types": "build/index.d.ts",
@@ -38,12 +38,12 @@
"build": "pnpm run build:js && pnpm run build:types"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/url": "workspace:11.0.0-6-next.34",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/url": "workspace:11.0.0-6-next.40",
"debug": "4.3.4",
"lru-cache": "7.16.1",
"lru-cache": "7.18.3",
"express": "4.18.2",
"lodash": "4.17.21",
"mime": "2.6.0",
@@ -54,8 +54,8 @@
"url": "https://opencollective.com/verdaccio"
},
"devDependencies": {
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"body-parser": "1.20.1",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"body-parser": "1.20.2",
"supertest": "6.3.3"
}
}

View File

@@ -9,7 +9,7 @@ export { final } from './middlewares/final';
export { allow } from './middlewares/allow';
export { rateLimit } from './middlewares/rate-limit';
export { userAgent } from './middlewares/user-agent';
export { webMiddleware } from './middlewares/web';
export { webMiddleware, renderWebMiddleware } from './middlewares/web';
export { errorReportingMiddleware, handleError } from './middlewares/error';
export {
log,

View File

@@ -1,27 +1,31 @@
import { errorUtils } from '@verdaccio/core';
import {
validateName as utilValidateName,
validatePackage as utilValidatePackage,
} from '@verdaccio/utils';
import { NextFunction, Request, Response } from 'express';
export function validateName(_req, _res, next, value: string, name: string) {
if (value === '-') {
// special case in couchdb usually
next('route');
} else if (utilValidateName(value)) {
import { errorUtils, validationUtils } from '@verdaccio/core';
export function validateName(
_req: Request,
_res: Response,
next: NextFunction,
value: string,
name: string
) {
if (validationUtils.validateName(value)) {
next();
} else {
next(errorUtils.getForbidden('invalid ' + name));
next(errorUtils.getBadRequest('invalid ' + name));
}
}
export function validatePackage(_req, _res, next, value: string, name: string) {
if (value === '-') {
// special case in couchdb usually
next('route');
} else if (utilValidatePackage(value)) {
export function validatePackage(
_req: Request,
_res,
next: NextFunction,
value: string,
name: string
) {
if (validationUtils.validatePackage(value)) {
next();
} else {
next(errorUtils.getForbidden('invalid ' + name));
next(errorUtils.getBadRequest('invalid ' + name));
}
}

View File

@@ -1 +1,4 @@
export { default as webMiddleware } from './web-middleware';
export { webAPIMiddleware } from './web-api';
export { setSecurityWebHeaders } from './security';
export { renderWebMiddleware } from './render-web';

View File

@@ -1,10 +1,13 @@
import express from 'express';
import { Router } from 'express';
import { RequestHandler, Router } from 'express';
import { validateName, validatePackage } from '../validation';
import { setSecurityWebHeaders } from './security';
export function webMiddleware(tokenMiddleware, webEndpointsApi) {
export function webAPIMiddleware(
tokenMiddleware: RequestHandler,
webEndpointsApi: RequestHandler
): Router {
// eslint-disable-next-line new-cap
const route = Router();
// validate all of these params as a package name
@@ -13,15 +16,15 @@ export function webMiddleware(tokenMiddleware, webEndpointsApi) {
route.param('filename', validateName);
route.param('version', validateName);
route.use(express.urlencoded({ extended: false }));
route.use(setSecurityWebHeaders);
if (typeof tokenMiddleware === 'function') {
route.use(tokenMiddleware);
}
route.use(setSecurityWebHeaders);
if (webEndpointsApi) {
if (typeof webEndpointsApi === 'function') {
route.use(webEndpointsApi);
}
return route;
}

View File

@@ -1,7 +1,7 @@
import express from 'express';
import { renderWebMiddleware } from './render-web';
import { webMiddleware } from './web-api';
import { webAPIMiddleware } from './web-api';
export default (config, middlewares, pluginOptions): any => {
// eslint-disable-next-line new-cap
@@ -10,6 +10,6 @@ export default (config, middlewares, pluginOptions): any => {
// render web
router.use('/', renderWebMiddleware(config, tokenMiddleware, pluginOptions));
// web endpoints, search, packages, etc
router.use('/-/verdaccio/', webMiddleware(tokenMiddleware, webEndpointsApi));
router.use('/-/verdaccio/', webAPIMiddleware(tokenMiddleware, webEndpointsApi));
return router;
};

View File

@@ -1,4 +1,3 @@
import bodyParser from 'body-parser';
import express from 'express';
import request from 'supertest';
@@ -6,6 +5,8 @@ import { HEADERS, HTTP_STATUS } from '@verdaccio/core';
import { final } from '../src';
const bodyParser = express;
test('handle error as object', async () => {
const app = express();
app.use(bodyParser.json({ strict: false, limit: '10mb' }));

View File

@@ -1,4 +1,4 @@
import bodyParser from 'body-parser';
import express from 'express';
import request from 'supertest';
import { HEADERS, HTTP_STATUS } from '@verdaccio/core';
@@ -8,7 +8,7 @@ import { getApp } from './helper';
test('body is json', async () => {
const app = getApp([]);
app.use(bodyParser.json({ strict: false, limit: '10mb' }));
app.use(express.json({ strict: false, limit: '10mb' }));
// @ts-ignore
app.put('/json', expectJson, (req, res) => {
res.status(HTTP_STATUS.OK).json({});

View File

@@ -2,55 +2,9 @@ import request from 'supertest';
import { HTTP_STATUS } from '@verdaccio/core';
import { match, validateName, validatePackage } from '../src';
import { match } from '../src';
import { getApp } from './helper';
describe('validate params', () => {
test('should validate package name', async () => {
const app = getApp([]);
// @ts-ignore
app.param('package', validatePackage);
app.get('/pkg/:package', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/pkg/react').expect(HTTP_STATUS.OK);
});
test('should fails validate package name', async () => {
const app = getApp([]);
// @ts-ignore
app.param('package', validatePackage);
app.get('/pkg/:package', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/pkg/node_modules').expect(HTTP_STATUS.FORBIDDEN);
});
test('should fails file name package name', async () => {
const app = getApp([]);
// @ts-ignore
app.param('filename', validateName);
app.get('/file/:filename', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/file/__proto__').expect(HTTP_STATUS.FORBIDDEN);
});
test('should validate file name package name', async () => {
const app = getApp([]);
// @ts-ignore
app.param('filename', validateName);
app.get('/file/:filename', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/file/react.tar.gz').expect(HTTP_STATUS.OK);
});
});
describe('match', () => {
test('should not match middleware', async () => {
const app = getApp([]);

View File

@@ -0,0 +1,92 @@
import request from 'supertest';
import { HTTP_STATUS } from '@verdaccio/core';
import { validateName, validatePackage } from '../src';
import { getApp } from './helper';
describe('validate package name middleware', () => {
test.each(['jquery', '-'])('%s should be valid package name', (pkg) => {
const app = getApp([]);
app.param('pkg', validatePackage);
app.get('/:pkg', (_req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get(`/${pkg}`).expect(HTTP_STATUS.OK);
});
test.each(['node_modules', '%'])('%s should be invalid package name', (pkg) => {
const app = getApp([]);
app.param('pkg', validatePackage);
app.get('/:pkg', (_req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get(`/${pkg}`).expect(HTTP_STATUS.BAD_REQUEST);
});
test('should validate package name double level', async () => {
const app = getApp([]);
// @ts-ignore
app.param('package', validatePackage);
app.get('/pkg/:package', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/pkg/react').expect(HTTP_STATUS.OK);
});
test('should fails validate package name double level', async () => {
const app = getApp([]);
// @ts-ignore
app.param('package', validatePackage);
app.get('/pkg/:package', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/pkg/node_modules').expect(HTTP_STATUS.BAD_REQUEST);
});
});
describe('validate file name name middleware', () => {
test.each(['old-package@0.1.2.tgz', '--0.0.1.tgz'])('%s should be valid file name', (pkg) => {
const app = getApp([]);
app.param('pkg', validateName);
app.get('/:pkg', (_req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get(`/${pkg}`).expect(HTTP_STATUS.OK);
});
test.each(['some%2Fthing', '.bin'])('%s should be invalid package name', (pkg) => {
const app = getApp([]);
app.param('pkg', validateName);
app.get('/:pkg', (_req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get(`/${pkg}`).expect(HTTP_STATUS.BAD_REQUEST);
});
test('should fails file name package name', async () => {
const app = getApp([]);
app.param('filename', validateName);
app.get('/file/:filename', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/file/__proto__').expect(HTTP_STATUS.BAD_REQUEST);
});
test('should validate file name package name', async () => {
const app = getApp([]);
app.param('filename', validateName);
app.get('/file/:filename', (req, res) => {
res.status(HTTP_STATUS.OK).json({});
});
return request(app).get('/file/react.tar.gz').expect(HTTP_STATUS.OK);
});
});

View File

@@ -1,5 +1,70 @@
# @verdaccio/node-api
## 6.0.0-6-next.74
### Patch Changes
- Updated dependencies [ae93e039d]
- @verdaccio/server@6.0.0-6-next.63
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
- @verdaccio/server-fastify@6.0.0-6-next.55
- @verdaccio/logger@6.0.0-6-next.42
## 6.0.0-6-next.73
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/server@6.0.0-6-next.62
- @verdaccio/config@6.0.0-6-next.73
- @verdaccio/server-fastify@6.0.0-6-next.54
- @verdaccio/logger@6.0.0-6-next.41
## 6.0.0-6-next.72
### Patch Changes
- Updated dependencies [702d5c497]
- @verdaccio/server-fastify@6.0.0-6-next.53
- @verdaccio/server@6.0.0-6-next.61
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
- @verdaccio/logger@6.0.0-6-next.40
## 6.0.0-6-next.71
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/server@6.0.0-6-next.60
- @verdaccio/server-fastify@6.0.0-6-next.52
- @verdaccio/logger@6.0.0-6-next.39
- @verdaccio/core@6.0.0-6-next.71
## 6.0.0-6-next.70
### Patch Changes
- @verdaccio/logger@6.0.0-6-next.38
- @verdaccio/server@6.0.0-6-next.59
- @verdaccio/server-fastify@6.0.0-6-next.51
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
## 6.0.0-6-next.69
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/server@6.0.0-6-next.58
- @verdaccio/server-fastify@6.0.0-6-next.50
- @verdaccio/config@6.0.0-6-next.69
- @verdaccio/logger@6.0.0-6-next.37
## 6.0.0-6-next.68
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/node-api",
"version": "6.0.0-6-next.68",
"version": "6.0.0-6-next.74",
"description": "node API",
"main": "build/index.js",
"types": "build/index.d.ts",
@@ -39,19 +39,17 @@
},
"license": "MIT",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/server": "workspace:6.0.0-6-next.57",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.49",
"core-js": "3.28.0",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/server": "workspace:6.0.0-6-next.63",
"@verdaccio/server-fastify": "workspace:6.0.0-6-next.55",
"core-js": "3.30.2",
"debug": "4.3.4",
"lodash": "4.17.21"
},
"devDependencies": {
"@types/node": "16.18.10",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"jest-mock-process": "1.5.1",
"selfsigned": "1.10.14",
"supertest": "6.3.3"
},

View File

@@ -1,5 +1,50 @@
# Change Log
## 11.0.0-6-next.37
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/config@6.0.0-6-next.74
## 11.0.0-6-next.36
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/config@6.0.0-6-next.73
## 11.0.0-6-next.35
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/config@6.0.0-6-next.72
## 11.0.0-6-next.34
### Patch Changes
- Updated dependencies [679c19c1b]
- @verdaccio/config@6.0.0-6-next.71
- @verdaccio/core@6.0.0-6-next.71
## 11.0.0-6-next.33
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/config@6.0.0-6-next.70
## 11.0.0-6-next.32
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/config@6.0.0-6-next.69
## 11.0.0-6-next.31
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-audit",
"version": "11.0.0-6-next.31",
"version": "11.0.0-6-next.37",
"description": "Verdaccio Middleware plugin to bypass npmjs audit",
"keywords": [
"private",
@@ -30,16 +30,16 @@
"node": ">=12"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"express": "4.18.2",
"https-proxy-agent": "5.0.1",
"node-fetch": "cjs"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/auth": "workspace:6.0.0-6-next.47",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/auth": "workspace:6.0.0-6-next.53",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"nock": "13.2.9",
"supertest": "6.3.3"
},

View File

@@ -1,5 +1,43 @@
# Change Log
## 11.0.0-6-next.39
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
## 11.0.0-6-next.38
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
## 11.0.0-6-next.37
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
## 11.0.0-6-next.36
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
## 11.0.0-6-next.35
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
## 11.0.0-6-next.34
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
## 11.0.0-6-next.33
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-auth-memory",
"version": "11.0.0-6-next.33",
"version": "11.0.0-6-next.39",
"description": "Auth plugin for Verdaccio that keeps users in memory",
"keywords": [
"private",
@@ -31,12 +31,12 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"debug": "4.3.4"
},
"devDependencies": {
"@types/debug": "^4.1.7",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/types": "workspace:11.0.0-6-next.25"
},
"scripts": {

View File

@@ -32,7 +32,7 @@
"types": "build/index.d.ts",
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.5",
"aws-sdk": "2.1199.0"
"aws-sdk": "2.1354.0"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.12",

View File

@@ -1,5 +1,47 @@
# Change Log
## 11.0.0-6-next.44
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
## 11.0.0-6-next.43
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
## 11.0.0-6-next.42
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
## 11.0.0-6-next.41
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
## 11.0.0-6-next.40
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
## 11.0.0-6-next.39
### Minor Changes
- c9d1af0e: feat: async bcrypt hash
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
## 11.0.0-6-next.38
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-htpasswd",
"version": "11.0.0-6-next.38",
"version": "11.0.0-6-next.44",
"description": "htpasswd auth plugin for Verdaccio",
"keywords": [
"private",
@@ -34,20 +34,20 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"apache-md5": "1.1.8",
"bcryptjs": "2.4.3",
"core-js": "3.28.0",
"http-errors": "1.8.1",
"core-js": "3.30.2",
"http-errors": "2.0.0",
"debug": "4.3.4",
"unix-crypt-td-js": "1.1.4"
},
"devDependencies": {
"@types/bcryptjs": "2.4.2",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"mockdate": "3.0.5"
},
"scripts": {

View File

@@ -2,12 +2,12 @@ import buildDebug from 'debug';
import fs from 'fs';
import { dirname, resolve } from 'path';
import { pluginUtils } from '@verdaccio/core';
import { constants, pluginUtils } from '@verdaccio/core';
import { unlockFile } from '@verdaccio/file-locking';
import { Callback, Logger } from '@verdaccio/types';
import {
HtpasswdHashAlgorithm,
DEFAULT_BCRYPT_ROUNDS,
HtpasswdHashConfig,
addUserToHTPasswd,
changePasswordToHTPasswd,
@@ -17,6 +17,8 @@ import {
verifyPassword,
} from './utils';
type HtpasswdHashAlgorithm = constants.HtpasswdHashAlgorithm;
const debug = buildDebug('verdaccio:plugin:htpasswd');
export type HTPasswdConfig = {
@@ -27,7 +29,6 @@ export type HTPasswdConfig = {
slow_verify_ms?: number;
};
export const DEFAULT_BCRYPT_ROUNDS = 10;
export const DEFAULT_SLOW_VERIFY_MS = 200;
/**
@@ -63,15 +64,19 @@ export default class HTPasswd
let algorithm: HtpasswdHashAlgorithm;
let rounds: number | undefined;
if (config.algorithm === undefined) {
algorithm = HtpasswdHashAlgorithm.bcrypt;
} else if (HtpasswdHashAlgorithm[config.algorithm] !== undefined) {
algorithm = HtpasswdHashAlgorithm[config.algorithm];
if (typeof config.algorithm === 'undefined') {
algorithm = constants.HtpasswdHashAlgorithm.bcrypt;
} else if (constants.HtpasswdHashAlgorithm[config.algorithm] !== undefined) {
algorithm = constants.HtpasswdHashAlgorithm[config.algorithm];
} else {
throw new Error(`Invalid algorithm "${config.algorithm}"`);
this.logger.warn(
`The algorithm selected %s is invalid, switching to to default one "bcrypt", password validation can be affected`,
config.algorithm
);
algorithm = constants.HtpasswdHashAlgorithm.bcrypt;
}
debug(`password hash algorithm: ${algorithm}`);
if (algorithm === HtpasswdHashAlgorithm.bcrypt) {
if (algorithm === constants.HtpasswdHashAlgorithm.bcrypt) {
rounds = config.rounds || DEFAULT_BCRYPT_ROUNDS;
} else if (config.rounds !== undefined) {
this.logger.warn({ algo: algorithm }, 'Option "rounds" is not valid for "@{algo}" algorithm');
@@ -202,7 +207,7 @@ export default class HTPasswd
}
try {
this._writeFile(addUserToHTPasswd(body, user, password, this.hashConfig), cb);
this._writeFile(await addUserToHTPasswd(body, user, password, this.hashConfig), cb);
} catch (err: any) {
return cb(err);
}

View File

@@ -3,18 +3,15 @@ import bcrypt from 'bcryptjs';
import crypto from 'crypto';
import createError, { HttpError } from 'http-errors';
import { API_ERROR, HTTP_STATUS } from '@verdaccio/core';
import { API_ERROR, HTTP_STATUS, constants } from '@verdaccio/core';
import { readFile } from '@verdaccio/file-locking';
import { Callback } from '@verdaccio/types';
import crypt3 from './crypt3';
export enum HtpasswdHashAlgorithm {
md5 = 'md5',
sha1 = 'sha1',
crypt = 'crypt',
bcrypt = 'bcrypt',
}
export const DEFAULT_BCRYPT_ROUNDS = 10;
type HtpasswdHashAlgorithm = constants.HtpasswdHashAlgorithm;
export interface HtpasswdHashConfig {
algorithm: HtpasswdHashAlgorithm;
@@ -80,24 +77,24 @@ export async function verifyPassword(passwd: string, hash: string): Promise<bool
* @param {HtpasswdHashConfig} hashConfig
* @returns {string}
*/
export function generateHtpasswdLine(
export async function generateHtpasswdLine(
user: string,
passwd: string,
hashConfig: HtpasswdHashConfig
): string {
): Promise<string> {
let hash: string;
switch (hashConfig.algorithm) {
case HtpasswdHashAlgorithm.bcrypt:
hash = bcrypt.hashSync(passwd, hashConfig.rounds);
case constants.HtpasswdHashAlgorithm.bcrypt:
hash = await bcrypt.hash(passwd, hashConfig.rounds || DEFAULT_BCRYPT_ROUNDS);
break;
case HtpasswdHashAlgorithm.crypt:
case constants.HtpasswdHashAlgorithm.crypt:
hash = crypt3(passwd);
break;
case HtpasswdHashAlgorithm.md5:
case constants.HtpasswdHashAlgorithm.md5:
hash = md5(passwd);
break;
case HtpasswdHashAlgorithm.sha1:
case constants.HtpasswdHashAlgorithm.sha1:
hash = '{SHA}' + crypto.createHash('sha1').update(passwd, 'utf8').digest('base64');
break;
default:
@@ -116,12 +113,12 @@ export function generateHtpasswdLine(
* @param {HtpasswdHashConfig} hashConfig
* @returns {string}
*/
export function addUserToHTPasswd(
export async function addUserToHTPasswd(
body: string,
user: string,
passwd: string,
hashConfig: HtpasswdHashConfig
): string {
): Promise<string> {
if (user !== encodeURIComponent(user)) {
const err = createError('username should not contain non-uri-safe characters');
@@ -129,7 +126,7 @@ export function addUserToHTPasswd(
throw err;
}
let newline = generateHtpasswdLine(user, passwd, hashConfig);
let newline = await generateHtpasswdLine(user, passwd, hashConfig);
if (body.length && body[body.length - 1] !== '\n') {
newline = '\n' + newline;
@@ -190,13 +187,14 @@ export async function sanityCheck(
}
/**
* /**
* changePasswordToHTPasswd - change password for existing user
* @param {string} body
* @param {string} user
* @param {string} passwd
* @param {string} newPasswd
* @param {HtpasswdHashConfig} hashConfig
* @returns {string}
* @returns {Promise<string>}
*/
export async function changePasswordToHTPasswd(
body: string,
@@ -215,7 +213,7 @@ export async function changePasswordToHTPasswd(
if (!passwordValid) {
throw new Error(`Unable to change password for user '${user}': invalid old password`);
}
const updatedUserLine = generateHtpasswdLine(username, newPasswd, hashConfig);
const updatedUserLine = await generateHtpasswdLine(username, newPasswd, hashConfig);
lines.splice(userLineIndex, 1, updatedUserLine);
return lines.join('\n');
}

View File

@@ -1,26 +1,18 @@
/* eslint-disable jest/no-mocks-import */
// @ts-ignore: Module has no default export
import bcrypt from 'bcryptjs';
// @ts-ignore: Module has no default export
import crypto from 'crypto';
// @ts-ignore: Module has no default export
import fs from 'fs';
import MockDate from 'mockdate';
import path from 'path';
import { Config, parseConfigFile } from '@verdaccio/config';
import { logger, setup } from '@verdaccio/logger';
import { PluginOptions } from '@verdaccio/types';
import { constants, pluginUtils } from '@verdaccio/core';
import HTPasswd, { DEFAULT_SLOW_VERIFY_MS, HTPasswdConfig } from '../src/htpasswd';
import { HtpasswdHashAlgorithm } from '../src/utils';
setup();
const options = {
logger,
logger: { warn: jest.fn(), info: jest.fn() },
config: new Config(parseConfigFile(path.join(__dirname, './__fixtures__/config.yaml'))),
} as any as PluginOptions<HTPasswdConfig>;
} as any as pluginUtils.PluginOptions<HTPasswdConfig>;
const config = {
file: './htpasswd',
@@ -34,7 +26,8 @@ describe('HTPasswd', () => {
wrapper = new HTPasswd(config, options);
jest.resetModules();
jest.clearAllMocks();
// @ts-ignore: Module has no default export
// @ts-ignore
crypto.randomBytes = jest.fn(() => {
return {
toString: (): string => '$6',
@@ -43,7 +36,15 @@ describe('HTPasswd', () => {
});
describe('constructor()', () => {
const emptyPluginOptions = { config: {} } as any as PluginOptions<HTPasswdConfig>;
const error = jest.fn();
const warn = jest.fn();
const info = jest.fn();
const emptyPluginOptions = {
config: {
configPath: '',
},
logger: { warn, info, error },
} as any as pluginUtils.PluginOptions<HTPasswdConfig>;
test('should ensure file path configuration exists', () => {
expect(function () {
@@ -51,11 +52,14 @@ describe('HTPasswd', () => {
}).toThrow(/should specify "file" in config/);
});
test('should throw error about incorrect algorithm', () => {
expect(function () {
let invalidConfig = { algorithm: 'invalid', ...config } as HTPasswdConfig;
new HTPasswd(invalidConfig, emptyPluginOptions);
}).toThrow(/Invalid algorithm "invalid"/);
test('should switch to bcrypt if incorrect algorithm is set', () => {
let invalidConfig = { algorithm: 'invalid', ...config } as HTPasswdConfig;
new HTPasswd(invalidConfig, emptyPluginOptions);
expect(warn).toHaveBeenCalledWith(
'The algorithm selected %s is invalid, switching to to default one "bcrypt", password validation can be affected',
'invalid'
);
expect(info).toHaveBeenCalled();
});
});
@@ -95,21 +99,20 @@ describe('HTPasswd', () => {
test('it should warn on slow password verification', (done) => {
// @ts-ignore
// eslint-disable-next-line @typescript-eslint/no-unused-vars
bcrypt.compare = jest.fn(async (_passwd, _hash) => {
await new Promise((resolve) => setTimeout(resolve, DEFAULT_SLOW_VERIFY_MS + 1));
return true;
bcrypt.compare = jest.fn((_passwd, _hash) => {
return new Promise((resolve) => setTimeout(resolve, DEFAULT_SLOW_VERIFY_MS + 1)).then(
() => true
);
});
const callback = (a, b): void => {
expect(a).toBeNull();
expect(b).toContain('bcrypt');
// TODO: figure out how to test the warning properly without mocking the logger
// maybe mocking pino? not sure.
// const mockWarn = options.logger.warn as jest.MockedFn<jest.MockableFunction>;
// expect(mockWarn.mock.calls.length).toBe(1);
// const [{ user, durationMs }, message] = mockWarn.mock.calls[0];
// expect(user).toEqual('bcrypt');
// expect(durationMs).toBeGreaterThan(DEFAULT_SLOW_VERIFY_MS);
// expect(message).toEqual('Password for user "@{user}" took @{durationMs}ms to verify');
const mockWarn = options.logger.warn as jest.MockedFn<jest.MockableFunction>;
expect(mockWarn.mock.calls.length).toBe(1);
const [{ user, durationMs }, message] = mockWarn.mock.calls[0];
expect(user).toEqual('bcrypt');
expect(durationMs).toBeGreaterThan(DEFAULT_SLOW_VERIFY_MS);
expect(message).toEqual('Password for user "@{user}" took @{durationMs}ms to verify');
done();
};
wrapper.authenticate('bcrypt', 'password', callback);
@@ -128,7 +131,7 @@ describe('HTPasswd', () => {
test('it should add the user', (done) => {
let dataToWrite;
// @ts-ignore
fs.writeFile = jest.fn((_name, data, callback) => {
fs.writeFile = jest.fn((name, data, callback) => {
dataToWrite = data;
callback();
});
@@ -150,7 +153,7 @@ describe('HTPasswd', () => {
jest.doMock('../src/utils.ts', () => {
return {
sanityCheck: (): Error => Error('some error'),
HtpasswdHashAlgorithm,
HtpasswdHashAlgorithm: constants.HtpasswdHashAlgorithm,
};
});
@@ -168,7 +171,7 @@ describe('HTPasswd', () => {
return {
sanityCheck: (): any => null,
lockAndRead: (_a, b): any => b(new Error('lock error')),
HtpasswdHashAlgorithm,
HtpasswdHashAlgorithm: constants.HtpasswdHashAlgorithm,
};
});
@@ -188,7 +191,7 @@ describe('HTPasswd', () => {
parseHTPasswd: (): void => {},
lockAndRead: (_a, b): any => b(null, ''),
unlockFile: (_a, b): any => b(),
HtpasswdHashAlgorithm,
HtpasswdHashAlgorithm: constants.HtpasswdHashAlgorithm,
};
});
@@ -202,11 +205,11 @@ describe('HTPasswd', () => {
test('writeFile should return an Error', (done) => {
jest.doMock('../src/utils.ts', () => {
return {
sanityCheck: (): any => null,
sanityCheck: () => Promise.resolve(null),
parseHTPasswd: (): void => {},
lockAndRead: (_a, b): any => b(null, ''),
addUserToHTPasswd: (): void => {},
HtpasswdHashAlgorithm,
HtpasswdHashAlgorithm: constants.HtpasswdHashAlgorithm,
};
});
jest.doMock('fs', () => {
@@ -246,9 +249,6 @@ describe('HTPasswd', () => {
test('reload should fails on check file', (done) => {
jest.doMock('fs', () => {
return {
readFile: (_name, callback): void => {
callback(new Error('stat error'), null);
},
stat: (_name, callback): void => {
callback(new Error('stat error'), null);
},
@@ -268,9 +268,6 @@ describe('HTPasswd', () => {
test('reload times match', (done) => {
jest.doMock('fs', () => {
return {
readFile: (_name, callback): void => {
callback(new Error('stat error'), null);
},
stat: (_name, callback): void => {
callback(null, {
mtime: null,

View File

@@ -3,9 +3,10 @@ import crypto from 'crypto';
import { HttpError } from 'http-errors';
import MockDate from 'mockdate';
import { DEFAULT_BCRYPT_ROUNDS } from '../src/htpasswd';
import { constants } from '@verdaccio/core';
import { DEFAULT_BCRYPT_ROUNDS } from '../src/utils';
import {
HtpasswdHashAlgorithm,
addUserToHTPasswd,
changePasswordToHTPasswd,
generateHtpasswdLine,
@@ -19,7 +20,7 @@ const mockReadFile = jest.fn();
const mockUnlockFile = jest.fn();
const defaultHashConfig = {
algorithm: HtpasswdHashAlgorithm.bcrypt,
algorithm: constants.HtpasswdHashAlgorithm.bcrypt,
rounds: DEFAULT_BCRYPT_ROUNDS,
};
@@ -111,51 +112,56 @@ describe('generateHtpasswdLine', () => {
const [user, passwd] = ['username', 'password'];
it('should correctly generate line for md5', () => {
const md5Conf = { algorithm: HtpasswdHashAlgorithm.md5 };
expect(generateHtpasswdLine(user, passwd, md5Conf)).toMatchSnapshot();
it('should correctly generate line for md5', async () => {
const md5Conf = { algorithm: constants.HtpasswdHashAlgorithm.md5 };
expect(await generateHtpasswdLine(user, passwd, md5Conf)).toMatchSnapshot();
});
it('should correctly generate line for sha1', () => {
const sha1Conf = { algorithm: HtpasswdHashAlgorithm.sha1 };
expect(generateHtpasswdLine(user, passwd, sha1Conf)).toMatchSnapshot();
it('should correctly generate line for sha1', async () => {
const sha1Conf = { algorithm: constants.HtpasswdHashAlgorithm.sha1 };
expect(await generateHtpasswdLine(user, passwd, sha1Conf)).toMatchSnapshot();
});
it('should correctly generate line for crypt', () => {
const cryptConf = { algorithm: HtpasswdHashAlgorithm.crypt };
expect(generateHtpasswdLine(user, passwd, cryptConf)).toMatchSnapshot();
it('should correctly generate line for crypt', async () => {
const cryptConf = { algorithm: constants.HtpasswdHashAlgorithm.crypt };
expect(await generateHtpasswdLine(user, passwd, cryptConf)).toMatchSnapshot();
});
it('should correctly generate line for bcrypt', () => {
it('should correctly generate line for bcrypt', async () => {
const bcryptAlgoConfig = {
algorithm: HtpasswdHashAlgorithm.bcrypt,
algorithm: constants.HtpasswdHashAlgorithm.bcrypt,
rounds: 2,
};
expect(generateHtpasswdLine(user, passwd, bcryptAlgoConfig)).toMatchSnapshot();
expect(await generateHtpasswdLine(user, passwd, bcryptAlgoConfig)).toMatchSnapshot();
});
});
describe('addUserToHTPasswd - bcrypt', () => {
beforeAll(mockTimeAndRandomBytes);
it('should add new htpasswd to the end', () => {
it('should add new htpasswd to the end', async () => {
const input = ['', 'username', 'password'];
expect(addUserToHTPasswd(input[0], input[1], input[2], defaultHashConfig)).toMatchSnapshot();
expect(
await addUserToHTPasswd(input[0], input[1], input[2], defaultHashConfig)
).toMatchSnapshot();
});
it('should add new htpasswd to the end in multiline input', () => {
it('should add new htpasswd to the end in multiline input', async () => {
const body = `test1:$6b9MlB3WUELU:autocreated 2017-11-06T18:17:21.957Z
test2:$6FrCaT/v0dwE:autocreated 2017-12-14T13:30:20.838Z`;
const input = [body, 'username', 'password'];
expect(addUserToHTPasswd(input[0], input[1], input[2], defaultHashConfig)).toMatchSnapshot();
expect(
await addUserToHTPasswd(input[0], input[1], input[2], defaultHashConfig)
).toMatchSnapshot();
});
it('should throw an error for incorrect username with space', () => {
it('should throw an error for incorrect username with space', async () => {
const [a, b, c] = ['', 'firstname lastname', 'password'];
expect(() => addUserToHTPasswd(a, b, c, defaultHashConfig)).toThrowErrorMatchingSnapshot();
await expect(
addUserToHTPasswd(a, b, c, defaultHashConfig)
).rejects.toThrowErrorMatchingSnapshot();
});
});
describe('lockAndRead', () => {
it('should call the readFile method', () => {
const cb = (): void => {};

View File

@@ -1,5 +1,49 @@
# Change Log
## 11.0.0-6-next.44
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
- @verdaccio/utils@6.0.0-6-next.42
## 11.0.0-6-next.43
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
- @verdaccio/utils@6.0.0-6-next.41
## 11.0.0-6-next.42
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
- @verdaccio/utils@6.0.0-6-next.40
## 11.0.0-6-next.41
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
- @verdaccio/utils@6.0.0-6-next.39
## 11.0.0-6-next.40
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
- @verdaccio/utils@6.0.0-6-next.38
## 11.0.0-6-next.39
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
- @verdaccio/utils@6.0.0-6-next.37
## 11.0.0-6-next.38
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "@verdaccio/local-storage",
"version": "11.0.0-6-next.38",
"version": "11.0.0-6-next.44",
"description": "Local storage implementation",
"keywords": [
"private",
@@ -37,23 +37,23 @@
"npm": ">=7"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"@verdaccio/file-locking": "workspace:11.0.0-6-next.7",
"@verdaccio/utils": "workspace:6.0.0-6-next.36",
"core-js": "3.28.0",
"@verdaccio/utils": "workspace:6.0.0-6-next.42",
"core-js": "3.30.2",
"debug": "4.3.4",
"globby": "11.1.0",
"lockfile": "1.0.4",
"sanitize-filename": "1.6.3",
"lodash": "4.17.21",
"lowdb": "1.0.0",
"lru-cache": "7.16.1"
"lru-cache": "7.18.3"
},
"devDependencies": {
"@types/minimatch": "3.0.5",
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36",
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42",
"@verdaccio/test-helper": "workspace:2.0.0-6-next.8",
"minimatch": "3.1.2"
},

View File

@@ -1,5 +1,43 @@
# Change Log
## 11.0.0-6-next.41
### Patch Changes
- @verdaccio/core@6.0.0-6-next.74
## 11.0.0-6-next.40
### Patch Changes
- Updated dependencies [f859d2b1a]
- @verdaccio/core@6.0.0-6-next.73
## 11.0.0-6-next.39
### Patch Changes
- @verdaccio/core@6.0.0-6-next.72
## 11.0.0-6-next.38
### Patch Changes
- @verdaccio/core@6.0.0-6-next.71
## 11.0.0-6-next.37
### Patch Changes
- @verdaccio/core@6.0.0-6-next.70
## 11.0.0-6-next.36
### Patch Changes
- Updated dependencies [c9d1af0e]
- @verdaccio/core@6.0.0-6-next.69
## 11.0.0-6-next.35
### Patch Changes

View File

@@ -1,6 +1,6 @@
{
"name": "verdaccio-memory",
"version": "11.0.0-6-next.35",
"version": "11.0.0-6-next.41",
"description": "Storage implementation in memory",
"keywords": [
"private",
@@ -31,15 +31,15 @@
"npm": ">=6"
},
"dependencies": {
"@verdaccio/core": "workspace:6.0.0-6-next.68",
"@verdaccio/core": "workspace:6.0.0-6-next.74",
"memory-fs": "0.5.0",
"debug": "4.3.4",
"memfs": "3.4.12"
"memfs": "3.5.1"
},
"devDependencies": {
"@verdaccio/types": "workspace:11.0.0-6-next.25",
"@verdaccio/config": "workspace:6.0.0-6-next.68",
"@verdaccio/logger": "workspace:6.0.0-6-next.36"
"@verdaccio/config": "workspace:6.0.0-6-next.74",
"@verdaccio/logger": "workspace:6.0.0-6-next.42"
},
"scripts": {
"clean": "rimraf ./build",

View File

@@ -1,5 +1,25 @@
# @verdaccio/ui-theme
## 6.0.0-6-next.74
## 6.0.0-6-next.73
## 6.0.0-6-next.72
## 6.0.0-6-next.71
### Minor Changes
- 7344a7fcf: feat: ui bugfixes and improvements
## 6.0.0-6-next.70
## 6.0.0-6-next.69
### Patch Changes
- 910fc03f: fix menuKey for Khmer language
## 6.0.0-6-next.68
### Patch Changes

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