* build: configure pretter as formatter for most files
* chore: reformat code (#1931)
* chore: re-format all files
* chore: force run quality anaylsis test
Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>
Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>
* test: add test for whoami
* Update middleware.ts
* test for user api
* more test for user api
* remove repeated code
* refactor
* Update index.spec.ts
* add package test
refactor others
* chore: upgrade deps
* chore: add test for package
* chore: update test
* update lock file
* Update ci.yml
* Update ci.yml
* Update package.spec.ts
* chore: update ci settings
* chore: update deps
* chore: update test
* Update projects using Verdaccio and their stars
* rearrange some based on the star count
* remove two duplicates
* add star count to "workshopper how to npm" because they
recently achieved 1k stars
* Update README.md
* Update README.md
* setup https server
* typed handleHttps
* fix if condition
* generate certificate on the fly
* revert yarn.lock
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
the current one has not auth implemented, to avoid the lack of fallback to the original one now is required to be used it by default until the v1 is on shape production ready.
* support deprecation
* test case for deprecation
* fix format
* testing for multiple packages deprecation
* update README
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* chore: test e2e
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: update name
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: test
* chore: this should fails
* chore: restore config
This restore a support I removed in Verdaccio 4.5.0
This means nothing if you were not using Node v8, this support should be removed in a major release.
- @verdaccio/ui-theme@1.7.1 add language switch and fix bug translations powered by @priscilawebdev
- verdaccio-htpasswd@9.4.1 generate non-constant legacy 2 byte salt by @michaellotz-iart
- update dayjs and envinfo
At v4.5.0 we shipped some security releases, one of them is JSDOM https://github.com/jsdom/jsdom/releases/tag/16.0.0 and only supports Node.js v10
Node v8 is out of maintenance so we don't consider this a breaking change.
https://github.com/verdaccio/verdaccio/issues/310
* Add an incomplete implementation of the v1/search api
* Use parseInt and || instead of ?? for processing numeric arguments
* Remove res.end, as we already use response.json
* Remove unused request parameters and add TODO comment
* Fix eslint errors
Co-authored-by: Joshua Jensch <j.jensch@hvs.de>
* test: different uplinks with the same URL
This test reproduces #1642
* fix: use hasProxyTo to find correct uplink for tarballs
Fixes#1642
Co-authored-by: Juan Picado @jotadeveloper <juanpicado19@gmail.com>
* feat: update @verdaccio/ui-theme
- new login screen
* test: update e2e
we need to keep in sync with ui repo, but this will be removed soon
* chore: restore yarn lock
* chore: update lock file
* chore: add more specific version of nodejs
I want o to be more clear against what we are testing
* chore: coverage as last step
* chore: add codecov
* chore: re-organize the steps
I have to tell, I've been willing this for a while, Daniel has been helping us since more than one year ago, constantly helping on different areas and would be a pleasure you will be part of our virtual team.
So, I guess only Daniel can approve this PR.
* feat: support for npm token
This is an effor of:
This commit intent to provide npm token support.
https: //github.com/verdaccio/verdaccio/issues/541
https: //github.com/verdaccio/verdaccio/pull/1271
https: //github.com/verdaccio/local-storage/pull/168
Co-Authored-By: Manuel Spigolon <behemoth89@gmail.com>
Co-Authored-By: Juan Gabriel Jiménez <juangabreil@gmail.com>
* chore: update secrets baselines
Co-Authored-By: Liran Tal <liran.tal@gmail.com>
* chore: update lock file
* chore: add logger mock methods
* chore: update @verdaccio/types
* refactor: unit test was flacky
adapt the pkg access to the new configuration setup
* refactor: add plugin methods validation
* test: add test for aesEncrypt
* chore: update local-storage dependency
* chore: add support for experimetns
token will be part of the experiment lists
* chore: increase timeout
* chore: increase timeout threshold
* chore: update nock
* chore: update dependencies
* chore: update eslint config
* chore: update dependencies
* test: add unit test for npm token
* chore: update readme
* build: update dependencies
* chore: update dependencies
* chore: update dependencies
* chore: update dependencies
* chore: allow ts-ignore
we will remove this in the future, warn for now
* chore: eslint rules as warning
this is due the update, we will address this later
no-problem with first launch, but could not recover after 2nd launch.
cloud-init error message indicate mkdir failed.
$ sudo cat /var/log/cloud-init-output.log
mkdir: cannot create directory '/verdaccio/conf': File exists
* fix: unpublish and add or remove star colision
The issue was the npm star use a similar payload, but we did not check properly the shape of the payload, this fix and allow unpublish correctly.
Improve unit testing for publishing and unpublishing
Add new code documentation for future changes.
* chore: update secrets baseline
* chore: add missing type
this will requires update types in the future
- Tests suites must be independent each other, this is a refactor that allow star endpoint to be fully independent.
- Add putPackage utility to put new packages
* feat: adds provision to show up environment information
Fixes#1364
* feat: include docker info
* fix: pin envinfo
* fix: lock file
* fix: docker config
* fix: minor refactor
handle async behaviour
* feat: add short version for info
This feature aims to fix a unfair and missleading situation with storage plugins. Until now they were forced to throw Node error codes https://nodejs.org/api/errors.html#nodejs-error-codes when a resource is not found or a file exist already.
Error codes as EEXISTS or ENOENT does not exist in environments where storage is a database or cloud api, thus must be mock.
This PR has backward compability and plugins can safely migrate to new error http codes.
fix #1328 and #720
Type: bug
The following has been addressed in the PR:
Instead of returning a 404 (Not Found) when npm, yarn, etc requests a package and the package cannot be acquired from an uplink due to a connection timeout, socket timeout, or connection reset problem, a 503 (service unavailable) is returned by Verdaccio instead. In limited testing of a few versions of npm and yarn, both of these clients correctly attempt to retry the request when a 503 is returned.
Added functional tests to verify the behavior (this adds a dev dependency on nock, which provides HTTP request mocking
Description:
This resolves issue #1328 and #720, and ensures npm/yarn install commands don't fail immediately when there is an intermittent network timeout problem with an uplink. Instead Verdaccio will appropriately respond to the client with a 503. A 404 response (current behavior) incorrectly tells the client that the package does not exist (which may or may not be true) and to not try again.
When a user has a valid token and tries to login with other credentials the endpoint returns 201.
The reason was if another user logged previously and had a valid token stored in the terminal. We must authenticate any user that tries to log in even if the token stored is valid.
We must check credentials again and return a new token, if the credentials are wrong we reject the login. Furthermore, the new token will update the list of groups.
Add a plugin that can filter all package metadata before being returned.
This enables blocking of packages from verdaccio.
IPluginStorageFilter are loaded like other plugins from the config.
Verdaccio will look for plugins in config.filters and pass this to
storage.init. This is the same design as other plugins and will be
dynamically found with the same rules. These plugins must impliment
a filter_metadata method, which is called serially (in the order
loaded from the config) for every metadata request. It gets a current
copy of a package metadata and may choose to modify it as required.
For example, this may be used to block a bad version of a package or
add a time delay from when new packages can be used from your
registry. Errors in a filter will cause a 404, similar to upLinkErrors
as it is not safe to recover gracefully from them. Note: When version
is removed, be careful about updating tags.
Fixes: #818
* feat: add some security headers for web UI
The idea behind this is have more control over the content is rendered mostly via README.
* chore: rename header for frame options
* chore: rename method better name
If the user was already loged, we were unwraping the token and signing a new token, passing through previous payload props to new token, this might causes https://github.com/auth0/node-jsonwebtoken/issues/326#issuecomment-288124020
This commit ensure the new token will be based on sign options defined on config file.
Since we look for metadata on sidebar does not make sense to hit the proxies on search, this is the first step to help with other tickets to search in the whole proxy data packages, now is limited to private packages. Unit test are not need it here since is an "assumed" behaviour we don't want anymore. This will clearly help to improve performance on UI.
* feat: add support for profile cli command #392
- it allows to update password npm profile set password
- display current profile npm profile get
https://docs.npmjs.com/cli/profile
* chore: update @verdaccio/types@4.0.0
* feat: add min password length
on npm by defaul is min 7 characters, this might be configurable in the future.
* chore: update verdaccio-htpasswd@1.0.1
* refactor: update unit test
* refactor: provide friendly error for tfa request
* test: api profile unit test
* chore: fix eslint comment
* test: update profile test
* chore: set mim as 3 characters
* refactor: remove usage of assert from cache.js [#973]
* refactor: remove usage of assert from no_proxy.spec.js [#973]
* refactor: remove usage of assert from cache.js [#973]
refactored `require('../lib/logger');` in `src/api/index.js`, `src/api/middleware.js` and `src/api/storage.js` and `require ('./midderlware')` from `src/api/index.js`
refactor: changed css
refactor: replaced CircularProgress by Spinner
fix: added a specific class to have flex-direction: column
fix: fixed detail margin
Includes:
- Created css variables in JS.
- Added JS helpers.
- Replaced old sidebar by the "APP Bar" component from Material UI.
- Replaced logo by the new version.
- Added Avatar icon.
- Added Info Icon.
- Added Information Dialog, where the user can 'copy to the clipboard' the verdaccio commands.
- Added Verdaccio website documentation link.
- Added Drop Down Menu on the right side with a logout option
* test(utils): add test for validate names
* test(utils): add unit test for dist-tags normalize utility
* refactor(notifications): unit test for notifications
* test(cli): add unit test for address validation
* chore: add new constants
* chore: ignore debug from coverage
* test(bootstrap): test https is fails on start
* refactor: update code for rebase
* feat: add support for jwt on api
* test: add unit test for sign token with jwt
add multiple scenarios with configuration file
* chore: add JWT verification on middleware
* chore: restore headless
* chore: restore middleware header validation
* refactor: fix login whether user exists
* refactor: JWT is signed asynchronously
* refactor: better structure and new naming convention
* test: add unit test for token signature
* test: add unit test for creating user with JWT enabled
#168
* docs: add security section jwt
* refactor: renable web auth middleware
* test(auth): add legacy disabled scenario
* chore: update gitignore
* chore: add some es6 sugar
* feat: enable JWT token signature for new installations
* chore: add yaml files to git
I forgot add this before 😷
* chore: trace log on auth
in case we want more output
- refactor docker image to use builder multistage pattern
- separate storage directories
- verdaccio code directories are not user writeable
- add generic support for random user uid on environments where the startup
user for docker is randomized (e.g. openshift)
2018-08-02 20:23:25 +02:00
2065 changed files with 337901 additions and 70826 deletions
Reading https://ebaytech.berlin/optimizing-multi-package-apps-with-typescript-project-references-d5c57a3b4440 I realized I can use project references to solve the issue to pre-compile modules on develop mode.
It allows to navigate (IDE) trough the packages without need compile the packages.
Add two `tsconfig`, one using the previous existing configuration that is able to produce declaration files (`tsconfig.build`) and a new one `tsconfig` which is enables [_projects references_](https://www.typescriptlang.org/docs/handbook/project-references.html).
feat: allow other password hashing algorithms (#1917)
**breaking change**
The current implementation of the `htpasswd` module supports multiple hash formats on verify, but only `crypt` on sign in.
`crypt` is an insecure old format, so to improve the security of the new `verdaccio` release we introduce the support of multiple hash algorithms on sign in step.
### New hashing algorithms
The new possible hash algorithms to use are `bcrypt`, `md5`, `sha1`. `bcrypt` is chosen as a default, because of its customizable complexity and overall reliability. You can read more about them [here](https://httpd.apache.org/docs/2.4/misc/password_encryptions.html).
Two new properties are added to `auth` section in the configuration file:
-`algorithm` to choose the way you want to hash passwords.
-`rounds` is used to determine `bcrypt` complexity. So one can improve security according to increasing computational power.
Example of the new `auth` config file section:
```yaml
auth:
htpasswd:
file:./htpasswd
max_users:1000
# Hash algorithm, possible options are: "bcrypt", "md5", "sha1", "crypt".
algorithm:bcrypt
# Rounds number for "bcrypt", will be ignored for other algorithms.
- Verdaccio prettify `@verdaccio/logger-prettify` the logging which looks beautiful. But there are scenarios which does not make sense in production. This feature enables disable by default the prettifies if production `NODE_ENV` is enabled.
- Updates pino.js to `^6.7.0`.
- Suppress the warning when prettifier is enabled `suppressFlushSyncWarning`
# Number of days of inactivity before an issue becomes stale
daysUntilStale:30
daysUntilStale:15
# Number of days of inactivity before a stale issue is closed
daysUntilClose:5
daysUntilClose:10
# Issues with these labels will never be considered stale
exemptLabels:
- High Priority
- Feature Request
- need verification
- bug
- discuss
- dev:high priority
- topic:feature request
- issue:need verification
- issue:bug
- dev:discuss
# Label to use when marking an issue as stale
staleLabel:wontfix
staleLabel: 'issue:wontfix'
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment:>
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
Hi pal 👋🏼!
This issue has gone quiet 😶.
We get a lot of issues, so we currently close issues after 25 days of inactivity. It’s been at least 15 days since the last update here.
If we missed this issue or if you want to keep it open, please reply here. You can also add/suggest the label "discuss" to keep this issue open!
As a friendly reminder: the best way to see this issue, or any other, fixed is to open a Pull Request. Check out [https://github.com/verdaccio/contributing](https://github.com/verdaccio/contributing) for more information about opening PRs, triaging issues, and contributing!
Thanks for being a part of the Verdaccio community! 💘
# Comment to post when closing a stale issue. Set to `false` to disable
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
*clipanion as cli ([#2160](https://github.com/verdaccio/verdaccio/issues/2160)) ([be2f612](https://github.com/verdaccio/verdaccio/commit/be2f6129bb3a89f222ac2293192f3ea979f02500))
* npm token support revisited and enabled by default (#2145)
* drop node 8 and node 10 (#2142)
### Features
* drop node 8 and node 10 ([#2142](https://github.com/verdaccio/verdaccio/issues/2142)) ([43f7043](https://github.com/verdaccio/verdaccio/commit/43f70437af7a196f23d2a951f857ecc809131e02))
* npm token support revisited and enabled by default ([#2145](https://github.com/verdaccio/verdaccio/issues/2145)) ([8cc6393](https://github.com/verdaccio/verdaccio/commit/8cc6393d866126912ad1db457dadc0d3ef596333))
* upgrade to commander v7 ([#2143](https://github.com/verdaccio/verdaccio/issues/2143)) ([3a1f608](https://github.com/verdaccio/verdaccio/commit/3a1f608f0b78561bb1c06e3b54a58e21f72940d5))
* upgrade handlebars from 4.7.6 to 4.7.7 ([#2114](https://github.com/verdaccio/verdaccio/issues/2114)) ([1e6fa60](https://github.com/verdaccio/verdaccio/commit/1e6fa60491f530b5c46bf9892ad7f63c5a7453e9))
* upgrade Node from 14.15 to 14.16 for security fixes ([#2104](https://github.com/verdaccio/verdaccio/issues/2104)) ([156342b](https://github.com/verdaccio/verdaccio/commit/156342b6b92e2b0a5cf6746788e0318c656565c1))
* enable keep alive on configuration by default ([#2014](https://github.com/verdaccio/verdaccio/issues/2014)) ([9171f25](https://github.com/verdaccio/verdaccio/commit/9171f25b410d45348bd037fbb06e01710541100e))
* Set bytesin log as optional ([#2013](https://github.com/verdaccio/verdaccio/issues/2013)) ([e2f7bb2](https://github.com/verdaccio/verdaccio/commit/e2f7bb2f2990b91b2c10e5b259125686ec9730e9))
### Bug Fixes
* doubled request logs in node.js >= 11 ([#2012](https://github.com/verdaccio/verdaccio/issues/2012)) ([1e59b6a](https://github.com/verdaccio/verdaccio/commit/1e59b6aa6fc83cb239a5ea7d2b5389e28a2c1261))
* migrate yarn 1 to yarn 2 ([#1962](https://github.com/verdaccio/verdaccio/issues/1962)) ([1ece11c](https://github.com/verdaccio/verdaccio/commit/1ece11cfc0ecf1bdfe9ec545ce73c6a1d41a5fa0))
* update docker base image to node 14.15.0 ([#1992](https://github.com/verdaccio/verdaccio/issues/1992)) ([f901749](https://github.com/verdaccio/verdaccio/commit/f90174935f77e6f4fe221d0b760e6ae05eb3d9f2))
* check author if lastest is not found ([#1994](https://github.com/verdaccio/verdaccio/issues/1994)) ([185babc](https://github.com/verdaccio/verdaccio/commit/185babc53f350949263c79da4733483a4e451fc4))
* package.json & yarn.lock to reduce vulnerabilities ([#1910](https://github.com/verdaccio/verdaccio/issues/1910)) ([cb5a8a7](https://github.com/verdaccio/verdaccio/commit/cb5a8a7ccd5cf49740bb51648ca36d2c8a142e62))
* update dependencies, docker base and build deps ([#2007](https://github.com/verdaccio/verdaccio/issues/2007)) ([6eef015](https://github.com/verdaccio/verdaccio/commit/6eef0157ba06782e77c5dbb88f90fc07b9607544))
* **deps:** bump @verdaccio/ui-theme from 1.12.1 to 1.13.1 ([#1961](https://github.com/verdaccio/verdaccio/issues/1961)) ([f7aad33](https://github.com/verdaccio/verdaccio/commit/f7aad33925391c4a47a8560c9ed70217f990ecde))
* update Dockerfile to Node v12.18.4 ([#1945](https://github.com/verdaccio/verdaccio/issues/1945)) ([b409c01](https://github.com/verdaccio/verdaccio/commit/b409c0111fda547aa6898a2c36f27eaf654cae91))
* **deps:** bump @verdaccio/ui-theme from 1.11.0 to 1.12.0 ([#1872](https://github.com/verdaccio/verdaccio/issues/1872)) ([0348bf6](https://github.com/verdaccio/verdaccio/commit/0348bf6b5da86d80ed1af1572dae734b894156b6))
* ca certificate is optional for https configuration ([#1853](https://github.com/verdaccio/verdaccio/issues/1853)) ([912482a](https://github.com/verdaccio/verdaccio/commit/912482a5ae7c81aff4dc127cc6d4dc69f4133b70))
### Bug Fixes
* package.json & yarn.lock to reduce vulnerabilities ([#1876](https://github.com/verdaccio/verdaccio/issues/1876)) ([e374a62](https://github.com/verdaccio/verdaccio/commit/e374a6248be972b1914b08e16cade949ea12b3cb))
* revert move bodyParse to the upper level ([#1841](https://github.com/verdaccio/verdaccio/issues/1841)) ([#1877](https://github.com/verdaccio/verdaccio/issues/1877)) ([844267c](https://github.com/verdaccio/verdaccio/commit/844267ce257984f07dc552a671623a177febd5b4))
* npm deprecation support ([#1842](https://github.com/verdaccio/verdaccio/issues/1842)) ([80ade97](https://github.com/verdaccio/verdaccio/commit/80ade9780195d023e61ff5c5e006b6d51122eaad))
* restore Node 8 support ([#1832](https://github.com/verdaccio/verdaccio/issues/1832)) ([56b677a](https://github.com/verdaccio/verdaccio/commit/56b677a35a4e9d65895ac11ee10cf3ac04e002df))
* update ui add new languages ([#1849](https://github.com/verdaccio/verdaccio/issues/1849)) ([4d01831](https://github.com/verdaccio/verdaccio/commit/4d0183184299a4d1dda92a248a20e1aad60545e2))
* update verdaccio plugins and dependencies ([#1838](https://github.com/verdaccio/verdaccio/issues/1838)) ([03c7feb](https://github.com/verdaccio/verdaccio/commit/03c7feb64d4d5790ffa6e1d1828ffb2735311b54))
### Bug Fixes
* [Snyk] upgrade @verdaccio/streams from 9.4.0 to 9.5.0 ([#1819](https://github.com/verdaccio/verdaccio/issues/1819)) ([1e2159a](https://github.com/verdaccio/verdaccio/commit/1e2159a34516301e0925b6f67c4b6e81316375f1))
* move bodyParse to the upper level ([#1841](https://github.com/verdaccio/verdaccio/issues/1841)) ([67c31b6](https://github.com/verdaccio/verdaccio/commit/67c31b69cac11436a5dcbc5961748eaab0bae99b))
* updated nodejs version to fix vulnerability in 12.x https://nodejs.org/en/blog/vulnerability/june-2020-security-releases/ ([#1836](https://github.com/verdaccio/verdaccio/issues/1836)) ([aee69a9](https://github.com/verdaccio/verdaccio/commit/aee69a9453385dc39139f40aa963067e3070fb5c))
* upgrade mkdirp from 1.0.3 to 1.0.4 ([#1782](https://github.com/verdaccio/verdaccio/issues/1782)) ([50f6c71](https://github.com/verdaccio/verdaccio/commit/50f6c71a375f34ef769a293f862b8603e1a03490))
* avoid access to sidebar without login ([#1794](https://github.com/verdaccio/verdaccio/issues/1794)) ([c2e0e1e](https://github.com/verdaccio/verdaccio/commit/c2e0e1e0bfa1daee45c458215877555244cbb414))
* add dark mode on and chinese translation for web ([#1765](https://github.com/verdaccio/verdaccio/issues/1765)) ([4a81262](https://github.com/verdaccio/verdaccio/commit/4a812620cf44fd167b97249cb390a34807476c3e))
* update docker node to 12.16.2 ([#1776](https://github.com/verdaccio/verdaccio/issues/1776)) ([61faa33](https://github.com/verdaccio/verdaccio/commit/61faa33de11939c0fc9ff9903b67d466426a65fb))
### Bug Fixes
* fatal exception and crash when log rotate signal event is called ([#1774](https://github.com/verdaccio/verdaccio/issues/1774)) ([1a9a12e](https://github.com/verdaccio/verdaccio/commit/1a9a12e9183cc2e3829c60841e7116d06b9849c3)), closes [#1709](https://github.com/verdaccio/verdaccio/issues/1709)
* incorrect primary_color crash the ui ([#1771](https://github.com/verdaccio/verdaccio/issues/1771)) ([d689260](https://github.com/verdaccio/verdaccio/commit/d68926050dc7f1f8b6066c3480843082d3a1bd23))
* upgrade async from 3.1.1 to 3.2.0 ([#1756](https://github.com/verdaccio/verdaccio/issues/1756)) ([3ec8d13](https://github.com/verdaccio/verdaccio/commit/3ec8d13578fee6711b77cbf8034c08f0db682392))
* upgrade dayjs from 1.8.20 to 1.8.21 ([#1759](https://github.com/verdaccio/verdaccio/issues/1759)) ([ebae410](https://github.com/verdaccio/verdaccio/commit/ebae410c8164ac3e42c73c9d7cec6a8162a74457))
* upgrade dayjs from 1.8.21 to 1.8.22 ([b2d00e4](https://github.com/verdaccio/verdaccio/commit/b2d00e4330e6dd31251e1e7caf670b5563b4180c))
* update docs to support minimum node v10 ([#1753](https://github.com/verdaccio/verdaccio/issues/1753)) ([17c3324](https://github.com/verdaccio/verdaccio/commit/17c3324e9324ab47afe765f62ecaca2ec3bb5969))
* i18n on web ([#1750](https://github.com/verdaccio/verdaccio/issues/1750)) ([c493b31](https://github.com/verdaccio/verdaccio/commit/c493b316b1663f189f8249a111b50bbc5facb7a8))
* add support for new search endpoint([#1732](https://github.com/verdaccio/verdaccio/issues/1732)) ([9ac307a](https://github.com/verdaccio/verdaccio/commit/9ac307adc5cb06be570efaa8c65d9d9895d99491))
### Bug Fixes
* adding Content-Type to response in GET /-/all ([#1697](https://github.com/verdaccio/verdaccio/issues/1697)) ([#1728](https://github.com/verdaccio/verdaccio/issues/1728)) ([3aaa048](https://github.com/verdaccio/verdaccio/commit/3aaa04829acb49ec40448a42707c98ac07b2f92f))
* package.json & yarn.lock to reduce vulnerabilities ([#1746](https://github.com/verdaccio/verdaccio/issues/1746)) ([3c49777](https://github.com/verdaccio/verdaccio/commit/3c497778683df1fd021b202e4c3f6b9962c4a7f0))
* upgrade dayjs from 1.8.19 to 1.8.20 ([#1721](https://github.com/verdaccio/verdaccio/issues/1721)) ([6849ef9](https://github.com/verdaccio/verdaccio/commit/6849ef969718ec92c88f5bc8f565e70189012ebc))
* upgrade handlebars from 4.7.2 to 4.7.3 ([#1726](https://github.com/verdaccio/verdaccio/issues/1726)) ([11fed6d](https://github.com/verdaccio/verdaccio/commit/11fed6d3c3c1eb5248f006c97a15f06e254dcd50))
* upgrade mkdirp from 1.0.0 to 1.0.3 ([#1747](https://github.com/verdaccio/verdaccio/issues/1747)) ([981efa5](https://github.com/verdaccio/verdaccio/commit/981efa557143c68f159ebbbeaa1743b693153771))
* upgrade semver from 7.1.2 to 7.1.3 ([#1735](https://github.com/verdaccio/verdaccio/issues/1735)) ([64e2543](https://github.com/verdaccio/verdaccio/commit/64e2543d599bbdc35e813148724dbe8ab2f914c4))
* tarball urls for web/package (fix [#1714](https://github.com/verdaccio/verdaccio/issues/1714)) ([#1716](https://github.com/verdaccio/verdaccio/issues/1716)) ([70a93da](https://github.com/verdaccio/verdaccio/commit/70a93da1fc8f16110874409e5fe20fd00adcf68d))
* upgrade @verdaccio/local-storage from 9.0.0 to 9.3.0 ([#1717](https://github.com/verdaccio/verdaccio/issues/1717)) ([1f3f8cd](https://github.com/verdaccio/verdaccio/commit/1f3f8cd72c28d869f47f16213940017a5a06d2de))
* upgrade semver from 7.1.1 to 7.1.2 ([#1719](https://github.com/verdaccio/verdaccio/issues/1719)) ([c3e931e](https://github.com/verdaccio/verdaccio/commit/c3e931efa10f7be581ca2450ebb03f302085fe5b))
* upgrade async from 3.1.0 to 3.1.1 ([#1708](https://github.com/verdaccio/verdaccio/issues/1708)) ([a32e431](https://github.com/verdaccio/verdaccio/commit/a32e4318136f3704f1ec572d5343d60b9df14063))
* upgrade dayjs from 1.8.17 to 1.8.19 ([#1700](https://github.com/verdaccio/verdaccio/issues/1700)) ([5320b13](https://github.com/verdaccio/verdaccio/commit/5320b13473eef583877e59b63d925b513f31a3a5))
* upgrade handlebars from 4.5.3 to 4.7.2 ([#1699](https://github.com/verdaccio/verdaccio/issues/1699)) ([8c2e58b](https://github.com/verdaccio/verdaccio/commit/8c2e58b6af3c04716431e6d98c6442d39d3373e3))
* upgrade lockfile-lint from 2.0.1 to 2.2.0 ([#1698](https://github.com/verdaccio/verdaccio/issues/1698)) ([17ddf3e](https://github.com/verdaccio/verdaccio/commit/17ddf3e6266f4821e2b9c379766d56b67f10e6be))
* use https to resolve mixed content errors ([#1674](https://github.com/verdaccio/verdaccio/issues/1674)) ([fd6c649](https://github.com/verdaccio/verdaccio/commit/fd6c6497fa66a523fac744f214fcea86b653171c))
* use hasProxyTo to find correct uplink for tarballs ([#1644](https://github.com/verdaccio/verdaccio/issues/1644)) ([19d9fc2](https://github.com/verdaccio/verdaccio/commit/19d9fc2fa5b228cda379a870642d08d247d8c515)), closes [#1642](https://github.com/verdaccio/verdaccio/issues/1642) [#1642](https://github.com/verdaccio/verdaccio/issues/1642)
* **deps:** bump @verdaccio/local-storage from 8.5.0 to 9.0.0 ([7b67bea](https://github.com/verdaccio/verdaccio/commit/7b67bea4b8ec5de29ffc04b1f99c9d041c14ac57)), closes [#1663](https://github.com/verdaccio/verdaccio/issues/1663) [#1639](https://github.com/verdaccio/verdaccio/issues/1639)
* **deps:** bump @verdaccio/ui-theme from 0.3.10 to 0.3.11 ([#1657](https://github.com/verdaccio/verdaccio/issues/1657)) ([9a2fd81](https://github.com/verdaccio/verdaccio/commit/9a2fd8162640a7ef9901a57ccea50649b6ed29bc))
* **deps:** bump @verdaccio/ui-theme from 0.3.11 to 0.3.12 ([#1657](https://github.com/verdaccio/verdaccio/issues/1657)) ([#1665](https://github.com/verdaccio/verdaccio/issues/1665)) ([aac6709](https://github.com/verdaccio/verdaccio/commit/aac6709ac21cf4b7fd6073ee1c499080d881a910))
* prevent issue with leading hyphen in package name - fixes [#1429](https://github.com/verdaccio/verdaccio/issues/1429) ([#1636](https://github.com/verdaccio/verdaccio/issues/1636)) ([f89bf27](https://github.com/verdaccio/verdaccio/commit/f89bf27f5a8704bbaa48024ad7b5a4647a2d5813))
* warning due ui dependecy ([#1638](https://github.com/verdaccio/verdaccio/issues/1638)) ([fbc87fc](https://github.com/verdaccio/verdaccio/commit/fbc87fc26e7d2bcbe3410500eb08f6cee4d74120))
* search api will not set magic date header when return array ([#1598](https://github.com/verdaccio/verdaccio/issues/1598)) ([158de3f](https://github.com/verdaccio/verdaccio/commit/158de3f))
### Features
* bumb up docker to node 12 ([#1622](https://github.com/verdaccio/verdaccio/issues/1622)) ([287ed3f](https://github.com/verdaccio/verdaccio/commit/287ed3f))
* changed the exit code for info flag ([#1537](https://github.com/verdaccio/verdaccio/issues/1537)) ([cbea2ed](https://github.com/verdaccio/verdaccio/commit/cbea2ed))
* package.json to reduce vulnerabilities ([#1552](https://github.com/verdaccio/verdaccio/issues/1552)) ([cd8228b](https://github.com/verdaccio/verdaccio/commit/cd8228b))
* package.json to reduce vulnerabilities ([#1577](https://github.com/verdaccio/verdaccio/issues/1577)) ([e459881](https://github.com/verdaccio/verdaccio/commit/e459881))
* package.json to reduce vulnerabilities ([#1583](https://github.com/verdaccio/verdaccio/issues/1583)) ([2f3ba93](https://github.com/verdaccio/verdaccio/commit/2f3ba93))
* minor grammatical tweak ([#1513](https://github.com/verdaccio/verdaccio/issues/1513)) ([35f816b](https://github.com/verdaccio/verdaccio/commit/35f816b))
* minor typos, formatting, and docs ([#1512](https://github.com/verdaccio/verdaccio/issues/1512)) ([549f474](https://github.com/verdaccio/verdaccio/commit/549f474))
* security vulnerability at readme in dompurify dep ([#1532](https://github.com/verdaccio/verdaccio/issues/1532)) ([2ac7770](https://github.com/verdaccio/verdaccio/commit/2ac7770))
* comment out experiments from configuration files ([#1505](https://github.com/verdaccio/verdaccio/issues/1505)) ([3438b75](https://github.com/verdaccio/verdaccio/commit/3438b75))
* fixing the lint issues ([#1503](https://github.com/verdaccio/verdaccio/issues/1503)) ([02aee3a](https://github.com/verdaccio/verdaccio/commit/02aee3a))
* fixing typos in comments ([#1504](https://github.com/verdaccio/verdaccio/issues/1504)) ([72314e4](https://github.com/verdaccio/verdaccio/commit/72314e4))
* package.json to reduce vulnerabilities ([#1474](https://github.com/verdaccio/verdaccio/issues/1474)) ([b1cd070](https://github.com/verdaccio/verdaccio/commit/b1cd070))
### Features
* browse web package version ([#1457](https://github.com/verdaccio/verdaccio/issues/1457)) ([d5303f4](https://github.com/verdaccio/verdaccio/commit/d5303f4))
* ensure every log file has at least one record ([#1414](https://github.com/verdaccio/verdaccio/issues/1414)) ([962d5d5](https://github.com/verdaccio/verdaccio/commit/962d5d5))
* npm token command support ([#1427](https://github.com/verdaccio/verdaccio/issues/1427)) ([dbf2017](https://github.com/verdaccio/verdaccio/commit/dbf2017))
* **docker:** Node.js update to 10.16.3 ([#1473](https://github.com/verdaccio/verdaccio/issues/1473)) ([e081a58](https://github.com/verdaccio/verdaccio/commit/e081a58))
* fixed user creation endpoint to properly import groups ([50e115f](https://github.com/verdaccio/verdaccio/commit/50e115f))
* remove stub type definition for handlebars ([de8dc43](https://github.com/verdaccio/verdaccio/commit/de8dc43))
* unpublish and add or remove star collision ([#1434](https://github.com/verdaccio/verdaccio/issues/1434)) ([c264f94](https://github.com/verdaccio/verdaccio/commit/c264f94))
* allows pkg names that start with dash ([e319435](https://github.com/verdaccio/verdaccio/commit/e319435)), closes [/github.com/rlidwka/sinopia/commit/9f662a69e19a15dd90f568fc3a3ebf65b33cbd80#diff-50e3aa130a4f97a42ee2cf111c7b1d9](https://github.com/verdaccio/verdaccio/issues/diff-50e3aa130a4f97a42ee2cf111c7b1d9)
* upgrade to 1.0.2 which solves the docker issue ([aa8f1d3](https://github.com/verdaccio/verdaccio/commit/aa8f1d3))
### Build System
* **deps:** bump lodash.template from 4.4.0 to 4.5.0 ([#1384](https://github.com/verdaccio/verdaccio/issues/1384)) ([b453681](https://github.com/verdaccio/verdaccio/commit/b453681))
* fix semver missing type on build with docker ([12b60f6](https://github.com/verdaccio/verdaccio/commit/12b60f6))
* update issue templates for use info new flag ([#1377](https://github.com/verdaccio/verdaccio/issues/1377)) ([495bb0a](https://github.com/verdaccio/verdaccio/commit/495bb0a))
### Features
* add new prop to audit middleware ([d93e76b](https://github.com/verdaccio/verdaccio/commit/d93e76b))
* convert project to typescript ([#1374](https://github.com/verdaccio/verdaccio/issues/1374)) ([66f4197](https://github.com/verdaccio/verdaccio/commit/66f4197))
* docker image bump to node.js 10.16 ([802c796](https://github.com/verdaccio/verdaccio/commit/802c796))
* plugins can throw http status codes ([3c53997](https://github.com/verdaccio/verdaccio/commit/3c53997))
* prevent secrets from leaking to source control ([9ef6808](https://github.com/verdaccio/verdaccio/commit/9ef6808))
* update to @verdaccio/ui-theme@0.2.2 ([9dd1c8f](https://github.com/verdaccio/verdaccio/commit/9dd1c8f))
### Tests
* add unit test for parser logger strings ([3beb57f](https://github.com/verdaccio/verdaccio/commit/3beb57f))
* plugin support to filter packages ([b9ffac5](https://github.com/verdaccio/verdaccio/commit/b9ffac5)), closes [#818](https://github.com/verdaccio/verdaccio/issues/818)
* **chore:** Included provision to show up local environment information ([#1365](https://github.com/verdaccio/verdaccio/issues/1365)) ([eb6bf51](https://github.com/verdaccio/verdaccio/commit/eb6bf51)), closes [#1364](https://github.com/verdaccio/verdaccio/issues/1364)
### Tests
* increase usage of constants ([2f3ec2c](https://github.com/verdaccio/verdaccio/commit/2f3ec2c))
* fix broken test for validate parameters ([4bf6b3b](https://github.com/verdaccio/verdaccio/commit/4bf6b3b))
* relocate api spec test ([8786a37](https://github.com/verdaccio/verdaccio/commit/8786a37))
* correctly check if the proxy setting evaluates to false ([#1336](https://github.com/verdaccio/verdaccio/issues/1336)) ([df834f4](https://github.com/verdaccio/verdaccio/commit/df834f4))
* **api:** force authenticate on login ([#1347](https://github.com/verdaccio/verdaccio/issues/1347)) ([85c1bd1](https://github.com/verdaccio/verdaccio/commit/85c1bd1))
* **ui:** failed to load all packages after login ([192fb77](https://github.com/verdaccio/verdaccio/commit/192fb77))
* routing is aware of reverse proxy directory [#1297](https://github.com/verdaccio/verdaccio/issues/1297) ([01f8da6](https://github.com/verdaccio/verdaccio/commit/01f8da6))
* add some security headers for web UI ([#1295](https://github.com/verdaccio/verdaccio/issues/1295)) [@juanpicado](https://github.com/juanpicado) ([615db0a](https://github.com/verdaccio/verdaccio/commit/615db0a))
* accept web.primary_color as config option and inject into webui ([#1282](https://github.com/verdaccio/verdaccio/issues/1282)) ([9f8a054](https://github.com/verdaccio/verdaccio/commit/9f8a054))
* broken home page ([4f41fc9](https://github.com/verdaccio/verdaccio/commit/4f41fc9))
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
* ability to restrict unpublish action to certain users [#492](https://github.com/verdaccio/verdaccio/issues/492) ([ef50325](https://github.com/verdaccio/verdaccio/commit/ef50325))
* allow order packages via on web [#1163](https://github.com/verdaccio/verdaccio/issues/1163) ([49c6f03](https://github.com/verdaccio/verdaccio/commit/49c6f03))
* disable node9 on circleci ([9e4e8be](https://github.com/verdaccio/verdaccio/commit/9e4e8be))
* endpoints change password on ui ([#1068](https://github.com/verdaccio/verdaccio/issues/1068)) ([712db31](https://github.com/verdaccio/verdaccio/commit/712db31))
* migrate react router from hash to history api [#1013](https://github.com/verdaccio/verdaccio/issues/1013) ([1a456fb](https://github.com/verdaccio/verdaccio/commit/1a456fb))
* not found page ([#1208](https://github.com/verdaccio/verdaccio/issues/1208)) ([752b870](https://github.com/verdaccio/verdaccio/commit/752b870))
* package version gets sent to plugins ([3943863](https://github.com/verdaccio/verdaccio/commit/3943863))
* register info selector ([6d96007](https://github.com/verdaccio/verdaccio/commit/6d96007))
* stop hit proxies on search web UI ([#1126](https://github.com/verdaccio/verdaccio/issues/1126)) ([2362310](https://github.com/verdaccio/verdaccio/commit/2362310))
* load package list undefined ([#993](https://github.com/verdaccio/verdaccio/issues/993)) ([4431c47](https://github.com/verdaccio/verdaccio/commit/4431c47))
* Make systemd unit more production-like ([#929](https://github.com/verdaccio/verdaccio/issues/929)) ([ffc9410](https://github.com/verdaccio/verdaccio/commit/ffc9410))
### Features
* add support for jwt on api ([#896](https://github.com/verdaccio/verdaccio/issues/896)) ([a68d247](https://github.com/verdaccio/verdaccio/commit/a68d247)), closes [#168](https://github.com/verdaccio/verdaccio/issues/168)
* add support for multiple protocol on protocol header ([#1014](https://github.com/verdaccio/verdaccio/issues/1014)) ([40e2b10](https://github.com/verdaccio/verdaccio/commit/40e2b10))
* check for minimum node.js version on start ([#968](https://github.com/verdaccio/verdaccio/issues/968)) ([ba9dc35](https://github.com/verdaccio/verdaccio/commit/ba9dc35))
* rename database file name ([#954](https://github.com/verdaccio/verdaccio/issues/954)) ([dd72120](https://github.com/verdaccio/verdaccio/commit/dd72120))
* replaced element-react by Material-UI ([#950](https://github.com/verdaccio/verdaccio/issues/950)) ([#985](https://github.com/verdaccio/verdaccio/issues/985)) ([3639557](https://github.com/verdaccio/verdaccio/commit/3639557))
* replaced lunr by lunr-mutable ([#915](https://github.com/verdaccio/verdaccio/issues/915)) ([1602840](https://github.com/verdaccio/verdaccio/commit/1602840))
* verdaccio update notification on CLI ([#988](https://github.com/verdaccio/verdaccio/issues/988)) ([#998](https://github.com/verdaccio/verdaccio/issues/998)) ([bc04703](https://github.com/verdaccio/verdaccio/commit/bc04703))
* broken home page ([4f41fc9](https://github.com/verdaccio/verdaccio/commit/4f41fc9))
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
* issue on refactor router ([19b0f47](https://github.com/verdaccio/verdaccio/commit/19b0f47))
### Features
* add support for profile cli command [#392](https://github.com/verdaccio/verdaccio/issues/392) (change password) ([#1034](https://github.com/verdaccio/verdaccio/issues/1034)) ([f1416ed](https://github.com/verdaccio/verdaccio/commit/f1416ed))
* endpoints change password on ui ([#1068](https://github.com/verdaccio/verdaccio/issues/1068)) ([712db31](https://github.com/verdaccio/verdaccio/commit/712db31))
* stop hit proxies on search web UI ([#1126](https://github.com/verdaccio/verdaccio/issues/1126)) ([2362310](https://github.com/verdaccio/verdaccio/commit/2362310))
* click on logo break ui ([#1071](https://github.com/verdaccio/verdaccio/issues/1071)) ([5b34dc8](https://github.com/verdaccio/verdaccio/commit/5b34dc8))
* click on logo when using url_prefix was not working ([#996](https://github.com/verdaccio/verdaccio/issues/996)) ([3ac9646](https://github.com/verdaccio/verdaccio/commit/3ac9646))
* load package list undefined ([#993](https://github.com/verdaccio/verdaccio/issues/993)) ([4431c47](https://github.com/verdaccio/verdaccio/commit/4431c47))
* Make systemd unit more production-like ([#929](https://github.com/verdaccio/verdaccio/issues/929)) ([ffc9410](https://github.com/verdaccio/verdaccio/commit/ffc9410))
### Features
* add support for jwt on api ([#896](https://github.com/verdaccio/verdaccio/issues/896)) ([a68d247](https://github.com/verdaccio/verdaccio/commit/a68d247)), closes [#168](https://github.com/verdaccio/verdaccio/issues/168)
* add support for multiple protocol on protocol header ([#1014](https://github.com/verdaccio/verdaccio/issues/1014)) ([40e2b10](https://github.com/verdaccio/verdaccio/commit/40e2b10))
* check for minimum node.js version on start ([#968](https://github.com/verdaccio/verdaccio/issues/968)) ([ba9dc35](https://github.com/verdaccio/verdaccio/commit/ba9dc35))
* rename database file name ([#954](https://github.com/verdaccio/verdaccio/issues/954)) ([dd72120](https://github.com/verdaccio/verdaccio/commit/dd72120))
* replaced element-react by Material-UI ([#950](https://github.com/verdaccio/verdaccio/issues/950)) ([#985](https://github.com/verdaccio/verdaccio/issues/985)) ([3639557](https://github.com/verdaccio/verdaccio/commit/3639557))
* replaced lunr by lunr-mutable ([#915](https://github.com/verdaccio/verdaccio/issues/915)) ([1602840](https://github.com/verdaccio/verdaccio/commit/1602840))
* verdaccio update notification on CLI ([#988](https://github.com/verdaccio/verdaccio/issues/988)) ([#998](https://github.com/verdaccio/verdaccio/issues/998)) ([bc04703](https://github.com/verdaccio/verdaccio/commit/bc04703))
<a name="3.11.6"></a>
@@ -54,7 +798,6 @@ All notable changes to this project will be documented in this file. See [standa
* package.json to reduce vulnerabilities ([5fdf678](https://github.com/verdaccio/verdaccio/commit/5fdf678))
@@ -121,7 +864,6 @@ All notable changes to this project will be documented in this file. See [standa
* remove useless assignment to local variable emailCopy ([#1181](https://github.com/verdaccio/verdaccio/issues/1181)) ([13b8347](https://github.com/verdaccio/verdaccio/commit/13b8347))
@@ -850,7 +1592,7 @@ All notable changes to this project will be documented in this file. See [standa
- Fix upstream search not work with gzip - ([@Meeeeow](https://github.com/Meeeeow) in [#170](https://github.com/verdaccio/verdaccio/pull/170))
- Add additional requirement to output message - ([@marnel ](https://github.com/marnel) in [#184](https://github.com/verdaccio/verdaccio/pull/184))
- Implement npm ping endpoint - ([@juanpicado]((https://github.com/juanpicado))) in [#179](https://github.com/verdaccio/verdaccio/pull/179)
- Add support for multiple notification endpoints to existing webhook - ([@ryan-codingintrigue]((https://github.com/ryan-codingintrigue)))
- Add support for multiple notification endpoints to existing webhook - ([@ryan-codingintrigue]((https://github.com/ryan-codingintrigue)))
in [#108](https://github.com/verdaccio/verdaccio/pull/108)
@@ -886,9 +1628,9 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
- rename clean up ([@juanpicado](https://github.com/juanpicado) in [#114](https://github.com/verdaccio/verdaccio/issues/114))
- _npmUser / author not showing up ([@juanpicado](https://github.com/juanpicado) in [#65](https://github.com/verdaccio/verdaccio/issues/65))
- Docs: correct config attribute `proxy_access` ([@robertgroh](https://github.com/robertgroh) in [#96](https://github.com/verdaccio/verdaccio/pull/96))
- Problem with docker.yaml ([@josedepaz](https://github.com/josedepaz) in [#72](https://github.com/verdaccio/verdaccio/pull/72))
- Problem with docker.yaml ([@josedepaz](https://github.com/josedepaz) in [#72](https://github.com/verdaccio/verdaccio/pull/72))
- Prevent logging of user and password ([@tlvince](https://github.com/tlvince) in [#94](https://github.com/verdaccio/verdaccio/pull/94))
- Updated README.md to reflect the availability of the docker image ([@jmwilkinson](https://github.com/jmwilkinson)) in [#71](https://github.com/verdaccio/verdaccio/pull/71))
- Updated README.md to reflect the availability of the docker image ([@jmwilkinson](https://github.com/jmwilkinson)) in [#71](https://github.com/verdaccio/verdaccio/pull/71))
## 2.1.0 (October 11, 2016)
@@ -962,7 +1704,7 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
## 25 Nov 2014, version 1.0.0-alpha
- Config file is now created in `$XDG_CONFIG_HOME` instead of current directory.
- Config file is now created in `$XDG_CONFIG_HOME` instead of current directory.
It is printed to stdout each time sinopia starts, so you hopefully won't have any trouble locating it.
@@ -1221,3 +1963,4 @@ in [#108](https://github.com/verdaccio/verdaccio/pull/108)
- Request a feature you think would be great for verdaccio.
-Fix bugs.
-Test and triage reported bugs by others.
- Work on requested/approved features.
- Improve the codebase (lint, naming, comments, test descriptions, etc...)
**Please read this document carefully. It will help maintainers and readers
in solving your issue(s), evaluating your feature request, etc.**
Verdaccio has several areas of involvement, which might fit you better, eg:
## Development
- **Core**: The [core](https://github.com/verdaccio/verdaccio) is the main repository, built with **Node.js**.
- **Website**: we uses **Gatsby.js** for the **website** and if you are familiar with this technology, you might become the official webmaster.
- **User Interface**: The [user Interface](https://github.com/verdaccio/ui) is based in **react** and **material-ui** and looking for front-end contributors.
- **Kubernetes and Helm**: Ts the official repository for the [**Helm chart**](https://github.com/verdaccio/charts).
Development guides can be found on the [wiki](https://github.com/verdaccio/verdaccio/wiki):
> There are other areas to contribute, like documentation, translation which are not hosted on this repo but check the last section of this notes for further information.
* [Building the project](https://github.com/verdaccio/verdaccio/wiki/Build-Source-Code)
* [Running, debugging, and testing](https://github.com/verdaccio/verdaccio/wiki/Running-and-Debugging-tests)
## Development Setup
Verdaccio uses [_pnpm_](https://pnpm.js.org/) as package manager for development in this repository. Please install the latest one:
```
npm i -g pnpm
```
First step is installing all dependencies:
```
pnpm install
```
### Building the project
To build the project run
```
pnpm build
```
### Running test
```
pnpm test
```
Verdaccio is a mono repository, for running an specific test or package go the specific package eg:
```
cd packages/store
pnpm test
```
or an specific test in that package
```
pnpm test test/merge.dist.tags.spec.ts
```
or a single test unit
```
pnpm test test/merge.dist.tags.spec.ts -- -t 'simple'
```
The coverage is enabled by default, to speed up test running
```
pnpm test test/merge.dist.tags.spec.ts -- -t 'simple' --coverage=false
```
To increase debug output, we use `debug`, to enable it in your test just add
```
DEBUG=verdaccio* pnpm test
```
More details in the debug section
### Running and debugging
We uses [`debug`](https://www.npmjs.com/package/debug) for debug outcome. Each package has it owns namespace.
### Debugging compiled code
Currently you can only run in debug mode pre-compiled packages, to enable debug while running add the `verdaccio` namespace using the `DEBUG` environment variable, like this:
The debug code is intended to analyze what is happening under the hood and none of the output is gathered with the logger module.
## Reporting Bugs
We welcome clear, detailed bug reports.
**Bugs are considered features that are not working as described in documentation.**
**Bugs are considered features that are not working as described in
documentation.**
If you've found a bug in Verdaccio **that isn't a security risk**, please file
If you've found a bug in Verdaccio **that isn't a security risk**, please file
a report in our [issue tracker](https://github.com/verdaccio/verdaccio/issues).
**NOTE: Verdaccio still does not support all npm commands. Some were not
considered important and others have not been requested yet.**
> **NOTE: Verdaccio still does not support all npm commands. Some were not
> considered important and others have not been requested yet.**
### Read the documentation
Check whether you are using the software in the way is documented [documentation](http://www.verdaccio.org/docs/en/installation.html).
### What's is not considered a bug?
- _Third party integrations_: proxies integrations, external plugins.
- _Package managers_: If a package manager does not support a specific command or cannot be reproduced with another package manager.
- _Features clearly flagged as not supported_.
- _Node.js issues installation in any platform_: If you cannot install the global package ( this is considered external issue)
- Any ticket which has the flagged as [external issue](https://github.com/verdaccio/verdaccio/labels/external-issue).
If you intent to report a **security** issue, please follow our [Security policy guidelines](https://github.com/verdaccio/verdaccio/security/policy).
### Issue Search
Search to see if it has already been reported via
the issue search.
Before consider report a bug, please follow this steps before:
Additionally, we have labelled questions for easy follow-up as [questions](https://github.com/verdaccio/verdaccio/labels/question).
- Search if has already been reported via the issue search.
- Look for the **question** label: we have labelled questions for easy follow-up as [questions](https://github.com/verdaccio/verdaccio/labels/question).
If so, up-vote it (using GitHub reactions) or add additional helpful details to
the existing issue to show that it's affecting multiple people.
### Check Website For Solution
Some of the most popular topics can be found in our website(http://www.verdaccio.org/docs/en/installation.html)
In case any of those match with your search, up-vote it (using GitHub reactions) or add additional helpful details to the existing issue to show that it's affecting multiple people.
### Chat
Questions can be asked via [Discord](http://chat.verdaccio.org/)
**Please use the `#questions#` and `#development` channels.**
### Check If It's Been Fixed
Check if the issue has been fixed — try to reproduce it using the latest
`master` or development branch in the repository.
**Please use the `#help` channel.**
## Request Features
@@ -87,10 +178,16 @@ the project. Then, detail your request, ensuring context and use case is provide
**Please provide:**
* A detailed description the advantages of your request
* Whether or not it's compatible with `npm` and `yarn`
* A potential implementation or design
* Whatever else you have in your mind 🤓
- A detailed description the advantages of your request
- Whether or not it's compatible with `npm`, `pnpm` and [_yarn classic_](https://github.com/yarnpkg/yarn) or [_yarn berry_](https://github.com/yarnpkg/berry).
- A potential implementation or design
- Whatever else you have in your mind 🤓
## Contributing Guidelines
This is the most exciting part, when you became a Verdaccio contributor 🙌🏼, to ensure a fast code review and merge, please follow the next guidelines:
> Any contribution gives you the right to be part of this organization as _collaborator_.
### Submitting a Pull Request
@@ -114,29 +211,34 @@ information on [rebasing](https://git-scm.com/book/en/v2/Git-Branching-Rebasing)
### Make Changes and Commit
#### Caveats
Feel free to commit as much times you want in your branch, but keep on mind on this repository we `git squash` on merge by default, any other way is forbidden since we intent to have a clean git history.
#### Before Commit
Before committing, **you must ensure there are no linting errors and
all tests pass.**
To do this, run all tests (including e2e):
To do this, run these commands before create the PR:
```bash
yarn test:all
pnpm lint
pnpm format
pnpm build
pnpm test
```
Then, and only then, you can create your pull request.
> note: eslint and formatting are running separately, keep code formatting before push.
All good? perfect, then you should create the pull request.
#### Commit Guidelines
We follow the [conventional commit messages](https://conventionalcommits.org/)
convention in order to automate CHANGELOG generation and to automate
semantic versioning.
For example:
*`feat: A new feature`
*`fix: A bug fix`
-`feat: A new feature`
-`fix: A bug fix`
A commit of the type feat introduces a new feature to the codebase
(this correlates with MINOR in semantic versioning).
@@ -152,18 +254,76 @@ A commit of the type fix patches a bug in your codebase (this correlates with PA
e.g.:
```
fix: xxxxxxxxxx
fix: xxxxxxxxxxx
```
Commits types such as as `docs:`,`style:`,`refactor:`,`perf:`,`test:`
and `chore:` are valid but have no effect on versioning. **It would be great
if you use them.**
and `chore:` are valid but have no effect on versioning. **It would be great if you use them.**
Use `npm run commitmsg` to check your commit message format.
All commits message are going to be validated when they are created using husky hooks.
> Please, try to provide one single commit to help a clean and easy merge process.
### Adding a changeset
We use [changesets](https://github.com/atlassian/changesets) in order to generate a detailed Changelog as possible.
Add a changeset with your Pull Request is essential if you want your contribution get merged. To create a changeset please run:
```
pnpm changeset
```
Then select the packages you want to include in your changeset navigating through them and press the spacebar to check it, on finish press enter to move to the next step.
```
🦋 Which packages would you like to include? …
✔ changed packages
changed packages
✔ @verdaccio/api
✔ @verdaccio/auth
✔ @verdaccio/cli
✔ @verdaccio/config
✔ @verdaccio/commons-api
```
The next question would be if you want a _major bump_, this is not the usual scenario, most likely would be a patch, in that case press enter 2 times (to skip minor)
```
🦋 Which packages should have a major bump? …
✔ all packages
✔ @verdaccio/config@5.0.0-alpha.0
```
Once the desired bump you need, the CLI will ask for a summary, here you have fully freedom what to include.
```
🦋 Which packages would you like to include? · @verdaccio/config
🦋 Which packages should have a major bump? · No items were selected
🦋 Which packages should have a minor bump? · No items were selected
🦋 The following packages will be patch bumped:
🦋 @verdaccio/config@5.0.0-alpha.0
🦋 Please enter a summary for this change (this will be in the changelogs). Submit empty line to open external editor
🦋 Summary ›
```
The last step is confirm your changeset or abort the operation.
```
🦋 Is this your desired changeset? (Y/n) · true
🦋 Changeset added! - you can now commit it
🦋
🦋 If you want to modify or expand on the changeset summary, you can find it here
🦋 info /Users/user/verdaccio.clone/.changeset/light-scissors-smell.md
```
Once the changeset is added (all will have an unique name) you can freely edit using markdown, adding additional information, code snippets or what you consider is relevant.
All that information will be part of the **changelog**, be concise but informative. It is considered a good option to add your nickname and GitHub link to your profile.
**PRs that do not follow the commit message guidelines will not be merged.**
## Update Tests
### Update Tests
**Any change in source code must include test updates**.
@@ -172,14 +332,6 @@ If you need help with how testing works, please [refer to the following guide](h
**If you are introducing new features, you MUST include new tests. PRs for
features without tests will not be merged.**
Things excluded from tests:
* Documentation
* Website
* Build
* Deployment
* Assets
* Flow types
## Develop Plugins
Plugins are add-ons that extend the functionality of the application.
@@ -187,7 +339,7 @@ Plugins are add-ons that extend the functionality of the application.
If you want to develop your own plugin:
1. Check whether there is a legacy Sinopia plugin for the feature that you need
via [npmjs](https://www.npmjs.com/search?q=sinopia)
via [npmjs](https://www.npmjs.com/search?q=sinopia)
2. Keep in mind the [life-cycle to load a plugin](https://verdaccio.org/docs/en/dev-plugins)
3. You are free to host your plugin in your repository or ours (just ask)
4. Provide a detailed description of your plugin to help users understand it
3. You are free to host your plugin in your repository
4. Provide a detailed description of your plugin to help users understand how to use it.
Please check [docs/development.md](docs/development.md) for further notes.
If you want to use all benefits of npm package system in your company without sending all code to the public, and use your private packages just as easy as public ones.
## Roadmap
### Cache npmjs.org registry
Please check [the roadmap](https://github.com/verdaccio/verdaccio/discussions/1690) if you are willing to contribute.
If you have more than one server you want to install packages on, you might want to use this to decrease latency
(presumably "slow" npmjs.org will be connected to only once per package/version) and provide limited failover (if npmjs.org is down, we might still find something useful in the cache) or avoid issues like *[How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript](https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/)*, *[Many packages suddenly disappeared](https://github.com/npm/registry-issue-archive/issues/255)* or *[Registry returns 404 for a package I have installed before](https://github.com/npm/registry-issue-archive/issues/329)*.
## Donations
### Link multiple registries
Verdaccio is run by **volunteers**; nobody is working full-time on it. If you find this project to be useful and would like to support its development, consider making a donation - **your logo might end up in this readme.** 😉
If you use multiples registries in your organization and need to fetch packages from multiple sources in one single project you might take advance of the uplinks feature with Verdaccio, chaining multiple registries and fetching from one single endpoint.
**[Donate](https://opencollective.com/verdaccio)** 💵👍🏻 starting from _\$1/month_ or just one single contribution.
## Report a vulnerability
### Override public packages
If you want to use a modified version of some 3rd-party package (for example, you found a bug, but maintainer didn't accept pull request yet), you can publish your version locally under the same name. See in detail each of these [use cases](https://github.com/verdaccio/verdaccio/tree/master/docs/use-cases.md).
### E2E Testing
Verdaccio has proved to be a lightweight registry that can be
booted in a couple of seconds, fast enough for any CI. Many open source projects use verdaccio for end to end testing, to mention some examples, **create-react-app**, **mozilla neutrino**, **pnpm**, **storybook**, **alfresco** or **eclipse theia**. You can read more in dedicated article to E2E in our blog.
## Get Started
Run in your terminal
```bash
verdaccio
```
You would need set some npm configuration, this is optional.
```bash
$ npm set registry http://localhost:4873/
```
Now you can navigate to [http://localhost:4873/](http://localhost:4873/) where your local packages will be listed and can be searched.
> Warning: Verdaccio does not currently support PM2's cluster mode, running it with cluster mode may cause unknown behavior.
## Publishing
#### 1. create an user and log in
```bash
npm adduser --registry http://localhost:4873
```
> if you use HTTPS, add an appropriate CA information ("null" means get CA list from OS)
```bash
$ npm set ca null
```
#### 2. publish your package
```bash
npm publish --registry http://localhost:4873
```
This will prompt you for user credentials which will be saved on the `verdaccio` server.
## Docker
Below are the most commonly needed informations,
every aspect of Docker and verdaccio is [documented separately](https://www.verdaccio.org/docs/en/docker.html)
```
docker pull verdaccio/verdaccio
```
Available as [tags](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
```
docker pull verdaccio/verdaccio:3
```
### Running verdaccio using Docker
To run the docker container:
```bash
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
```
Docker examples are available [in this repository](https://github.com/verdaccio/docker-examples).
## Compatibility
Verdaccio aims to support all features of a standard npm client that make sense to support in private repository. Unfortunately, it isn't always possible.
- Starring (npm star, npm unstar) - not supported, *PR-welcome*
### Security
- npm audit - **supported**
If you want to report a security vulnerability, please follow the steps which we have defined for you in our [security policy](https://github.com/verdaccio/verdaccio/security/policy).
## Open Collective Sponsors
@@ -187,29 +68,36 @@ Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com
If you have any issue you can try the following options, do no desist to ask or check our issues database, perhaps someone has asked already what you are looking for.
The following table describes the versions of this project that are currently supported with security updates:
| Version | Supported |
| ------- | ------------------ |
| 2.x | :x: |
| 3.x | :x: |
| 4.x | :white_check_mark: |
## Responsible disclosure security policy
A responsible disclosure policy helps protect users of the project from publicly disclosed security vulnerabilities without a fix by employing a process where vulnerabilities are first triaged in a private manner, and only publicly disclosed after a reasonable time period that allows patching the vulnerability and provides an upgrade path for users.
When contacting us directly via email, we will do our best efforts to respond in a reasonable time to resolve the issue. When contacting a security program their disclosure policy will provide details on timeframe, processes and paid bounties.
We kindly ask you to refrain from malicious acts that put our users, the project, or any of the project’s team members at risk.
## Reporting a security issue
> Please do not use the provided email address to report issues which are not related to security vulnerabilities
At Verdaccio, we consider the security of our systems a top priority. But no matter how much effort we put into system security, there can still be vulnerabilities present.
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.
Note that time-frame and processes are subject to each program’s own policy.
- Report the security issue to the project maintainers directly at verdaccio@pm.me. If the report contains highly sensitive information, please be advised to encrypt your findings using our [PGP key](https://verdaccio.nyc3.digitaloceanspaces.com/gpg/publickey.verdaccio@pm.me.asc) which is also available in this document.
Your efforts to responsibly disclose your findings are sincerely appreciated and will be taken into account to acknowledge your contributions.
## PGP key
The following is this project’s PGP key which should be used to encrypt any sensitive information shared on unsecured medium such as e-mails:
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.