* Changed the deprecated installation method
Altered the `npm` global installation command i.e. `npm i -g` and `npm install --global` to `npm i --location=global` and `npm install --location=global` respectively. Also added methods for installing using `yarn` and `pnpm`
* Changed the deprecated installation method for `npm`
Changed the installation flag from `--global` and `-g` to `--location=global` for `npm` i.e. to `npm --location=global`
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
OWASP is explicitly mentioning Verdaccio in one of their recommendations for npm security best practices.
It's high praise so should be mentioned in a central place. If not here, you might find another page to add it.
Altered the `npm` global installation command i.e. `npm i -g` and `npm install --global` to `npm i --location=global` and `npm install --location=global` respectively. Also added methods for installing using `yarn` and `pnpm`
* Chore: Update Uplinks/K8s doc to reference `secretEnvVars`
* Update Uplinks Documentation to refer to the Helm Chart's new
`secretEnvVars` value
* Update Kubernetes Documentation with the new `secretEnvVars` helm
value
* k8s doc wording
* feat: rework header, dialogs and new raw mode
* chore: add test for raw button and hide download tarball
* chore: add test hide footer
* chore: add docs to config files
* chore: add changeset
* chore: enable raw by default
* fix(ui-theme): show default logo in footer
The link of the footer logo is verdaccio website, so the logo should be verdaccio's
* fixup! fix(ui-theme): show default logo in footer
* fixup! fixup! fix(ui-theme): show default logo in footer
* Working node JS Code
Maybe add where do the `addrs` comes from ?
Added host and port display cause otherwise user doesn't know which default address and port are.
* Removing comments
because I'm unsure about these / they are incorrect
Please complete it if you know how to make it work with a configFilePath as third parameter
* chore: fix website config
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
feat: add a new configuration value named 'slow_verify_ms' to the htpasswd plugin that when exceeded during password verification will log a warning message
chore: update README.md for htpasswd plugin to add additional information about the 'rounds' configuration value and also include the new 'slow_verify_ms' configuration value
* feat: improve language switch ui and package manager info
* feat: improve registry info dialog and language switch
* add description
* update text
* update npmignore
* chore: update test expect
* chore(deps): update all non-major core dependencies
* restore esbuild and fix dep
* update snapshots
* add more deps to renovate
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* feat: add body schema validation to login endpoint
#2623
When a request is made, the following error is displayed on log
error--- Promise may not be fulfilled with 'undefined' when statusCode is not 204
https://github.com/fastify/fastify/pull/2702
* feat: add body schema validation to resetPassword endpoint
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
Partially implemented (wip)
- requires follow up for proper token validation
- no test included (still experimental)
- types refactoring required, still need alignment with other modules
* refactor: Remove the @ts-ignore in middleware-utils
* refactor: Remove __mocks__ imports in local-storage package
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* build(cli): remove unused commander dep
* build(e2e-ui): tweak lodash devDep to exact version
* build: tweak exact versions; @verdaccio:commons-api, get-port, semver
* style: private true prop first in package.jsons (monorepo convention)
* build: update all dep packages with webpack in name except webpack-dev-server
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* build(ui-theme): update ora depDep major from v4.0.4 to v6.0.0
* build(ui-theme): update @testing-library/dom depDep major from v7.31.2 to v8.2.0
* build(ui-theme): update css-loader depDep major from v5.2.1 to v6.2.0
* build(ui-theme): update history depDep major from v4.10.1 to v5.0.1
* build(ui-theme): remove unused devDep resolve-url-loader
* build(ui-theme): remove unused devDep source-map-loader
* build(ui-theme): update style-loader depDep major from v1.2.1 to v3.2.1
* build(ui-theme): update mini-css-extract-plugin depDep major from v1.6.0 to v2.2.2
* build(ui-theme): update i18next depDep major from v19.9.2 to v20.6.0
* build(ui-theme): update stylelint-config-recommended depDep major from v3.0.0 to v5.0.0
* revert(ui-theme): downgrade history depDep major back to v4.10.1 from v5.0.1
* build(ui-theme): remove lint-staged devDep (it's in the root package)
* revert(ui-theme): downgrade ora depDep major from v6 to v5.4.1 (esm problem)
* build: rebase against master & recreate pnpm lockfile
* fixes an ssl error by correcting the host header
* fixes an `413 - entity too large` / `400 -Invalid compressed payload` error by
explicitly setting the content-encoding header
* sends json body to remote registry
* adds new `/advisories/bulk` endpoint
* respects `strict_ssl` setting
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* docs: improve pnpm development setup info in CONTRIBUTING.md
* build: make dependency versions consistent in packages/*
Updated to latest minor/patch versions; left major version unchanged for now
Did not change react dependencies in ui-theme package
Added .project file for Eclipse IDE users
* revert: rollback @changesets dep versions & maintain kleur v3.0.3
* Try and make the formatting and English a little more consistent
* Wrap specifically at 80 rather than a more random approach
* Little English language fixups, including making it more
* fix: format
Co-authored-by: Peter Sergeant <pete@clueball.com>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* docs(website): new translation for puppet.md in Filipino
* docs(website): new translation for puppet.md in Serbian (Latin)
* docs(website): new translation for puppet.md in Tajik
* docs(website): new translation for puppet.md in Yoruba
* docs(website): new translation for repositories.md in Romanian
* docs(website): new translation for repositories.md in Spanish
* docs(website): new translation for repositories.md in Chinese Traditional
* docs(website): new translation for repositories.md in Arabic
* docs(website): new translation for repositories.md in Czech
* docs(website): new translation for repositories.md in German
* docs(website): new translation for repositories.md in Italian
* docs(website): new translation for repositories.md in Japanese
* docs(website): new translation for repositories.md in Korean
* docs(website): new translation for repositories.md in Polish
* docs(website): new translation for repositories.md in Portuguese
* docs(website): new translation for repositories.md in Russian
* docs(website): new translation for repositories.md in Serbian (Cyrillic)
* docs(website): new translation for repositories.md in Chinese Simplified
* docs(website): new translation for reverse-proxy.md in Hindi
* docs(website): new translation for reverse-proxy.md in Serbian (Latin)
* docs(website): new translation for puppet.md in Russian
* docs(website): new translation for server.md in Chinese Traditional
* docs(website): new translation for server.md in Czech
* docs(website): new translation for server.md in German
* docs(website): new translation for server.md in Italian
* docs(website): new translation for server.md in Japanese
* docs(website): new translation for server.md in Korean
* docs(website): new translation for server.md in Polish
* docs(website): new translation for server.md in Portuguese
* docs(website): new translation for server.md in Russian
* docs(website): new translation for server.md in Serbian (Cyrillic)
* docs(website): new translation for server.md in Chinese Simplified
* docs(website): new translation for server.md in Vietnamese
* docs(website): new translation for server.md in Spanish
* docs(website): new translation for server.md in Galician
* docs(website): new translation for server.md in Portuguese, Brazilian
* docs(website): new translation for server.md in Hindi
* docs(website): new translation for server.md in Filipino
* docs(website): new translation for server.md in Serbian (Latin)
* docs(website): new translation for server.md in Tajik
* docs(website): new translation for server.md in Yoruba
* docs(website): new translation for ssl.md in Romanian
* docs(website): new translation for ssl.md in French
* docs(website): new translation for ssl.md in Spanish
* docs(website): new translation for ssl.md in Arabic
* docs(website): new translation for server.md in Arabic
* docs(website): new translation for server.md in French
* docs(website): new translation for reverse-proxy.md in Tajik
* docs(website): new translation for reverse-proxy.md in Yoruba
* docs(website): new translation for server.md in Romanian
* docs(website): new translation for puppet.md in Serbian (Cyrillic)
* docs(website): new translation for puppet.md in Portuguese
* docs(website): new translation for plugins.md in French
* docs(website): new translation for plugins.md in Romanian
* docs(website): new translation for plugins.md in Spanish
* docs(website): new translation for puppet.md in Polish
* docs(website): new translation for protect-your-dependencies.md in Filipino
* docs(website): new translation for protect-your-dependencies.md in Polish
* docs(website): new translation for protect-your-dependencies.md in Portuguese
* docs(website): new translation for protect-your-dependencies.md in Russian
* docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic)
* docs(website): new translation for protect-your-dependencies.md in Chinese Simplified
* docs(website): new translation for protect-your-dependencies.md in Chinese Traditional
* docs(website): new translation for protect-your-dependencies.md in Vietnamese
* docs(website): new translation for protect-your-dependencies.md in Galician
* docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian
* docs(website): new translation for protect-your-dependencies.md in Hindi
* docs(website): new translation for protect-your-dependencies.md in Serbian (Latin)
* docs(website): new translation for protect-your-dependencies.md in Japanese
* docs(website): new translation for protect-your-dependencies.md in Tajik
* docs(website): new translation for protect-your-dependencies.md in Yoruba
* docs(website): new translation for puppet.md in Romanian
* docs(website): new translation for puppet.md in French
* docs(website): new translation for puppet.md in Spanish
* docs(website): new translation for puppet.md in Arabic
* docs(website): new translation for puppet.md in Czech
* docs(website): new translation for puppet.md in German
* docs(website): new translation for puppet.md in Italian
* docs(website): new translation for puppet.md in Japanese
* docs(website): new translation for puppet.md in Korean
* docs(website): new translation for protect-your-dependencies.md in Korean
* docs(website): new translation for protect-your-dependencies.md in Italian
* docs(website): new translation for plugins.md in Arabic
* docs(website): new translation for plugins.md in Vietnamese
* docs(website): new translation for plugins.md in Czech
* docs(website): new translation for plugins.md in German
* docs(website): new translation for plugins.md in Italian
* docs(website): new translation for plugins.md in Japanese
* docs(website): new translation for plugins.md in Korean
* docs(website): new translation for plugins.md in Polish
* docs(website): new translation for plugins.md in Portuguese
* docs(website): new translation for plugins.md in Russian
* docs(website): new translation for plugins.md in Serbian (Cyrillic)
* docs(website): new translation for plugins.md in Chinese Simplified
* docs(website): new translation for plugins.md in Chinese Traditional
* docs(website): new translation for plugins.md in Galician
* docs(website): new translation for protect-your-dependencies.md in German
* docs(website): new translation for plugins.md in Portuguese, Brazilian
* docs(website): new translation for plugins.md in Hindi
* docs(website): new translation for plugins.md in Filipino
* docs(website): new translation for plugins.md in Serbian (Latin)
* docs(website): new translation for plugins.md in Tajik
* docs(website): new translation for plugins.md in Yoruba
* docs(website): new translation for protect-your-dependencies.md in Romanian
* docs(website): new translation for protect-your-dependencies.md in French
* docs(website): new translation for protect-your-dependencies.md in Spanish
* docs(website): new translation for protect-your-dependencies.md in Arabic
* docs(website): new translation for protect-your-dependencies.md in Czech
* docs(website): new translation for install.md in Czech
* docs(website): new translation for linking.md in Portuguese, Brazilian
* docs(website): new translation for install.md in Spanish
* docs(website): new translation for caching.md in Serbian (Cyrillic)
* docs(website): new translation for caching.md in Spanish
* docs(website): new translation for caching.md in Arabic
* docs(website): new translation for caching.md in Czech
* docs(website): new translation for caching.md in German
* docs(website): new translation for caching.md in Italian
* docs(website): new translation for caching.md in Japanese
* docs(website): new translation for caching.md in Korean
* docs(website): new translation for caching.md in Polish
* docs(website): new translation for caching.md in Portuguese
* docs(website): new translation for caching.md in Russian
* docs(website): new translation for caching.md in Chinese Simplified
* docs(website): new translation for caching.md in Romanian
* docs(website): new translation for caching.md in Chinese Traditional
* docs(website): new translation for caching.md in Vietnamese
* docs(website): new translation for caching.md in Galician
* docs(website): new translation for caching.md in Portuguese, Brazilian
* docs(website): new translation for caching.md in Hindi
* docs(website): new translation for caching.md in Filipino
* docs(website): new translation for caching.md in Serbian (Latin)
* docs(website): new translation for install.md in French
* docs(website): new translation for caching.md in Yoruba
* docs(website): new translation for chef.md in Romanian
* docs(website): new translation for chef.md in French
* docs(website): new translation for caching.md in French
* docs(website): new translation for best-practices.md in Yoruba
* docs(website): new translation for chef.md in Arabic
* docs(website): new translation for best-practices.md in Korean
* docs(website): new translation for best-practices.md in Romanian
* docs(website): new translation for who-is-using.md in Russian
* docs(website): new translation for windows.md in Serbian (Latin)
* docs(website): new translation for windows.md in Tajik
* docs(website): new translation for windows.md in Yoruba
* docs(website): new translation for windows.md in Hindi
* docs(website): new translation for en.json in Chinese Simplified
* docs(website): new translation for windows.md in Filipino
* docs(website): new translation for windows.md in Portuguese, Brazilian
* docs(website): new translation for who-is-using.md in Serbian (Cyrillic)
* docs(website): new translation for windows.md in Spanish
* docs(website): new translation for who-is-using.md in Chinese Simplified
* docs(website): new translation for who-is-using.md in Chinese Traditional
* docs(website): new translation for who-is-using.md in Vietnamese
* docs(website): new translation for who-is-using.md in Galician
* docs(website): new translation for who-is-using.md in Portuguese, Brazilian
* docs(website): new translation for who-is-using.md in Hindi
* docs(website): new translation for who-is-using.md in Filipino
* docs(website): new translation for who-is-using.md in Serbian (Latin)
* docs(website): new translation for who-is-using.md in Tajik
* docs(website): new translation for who-is-using.md in Yoruba
* docs(website): new translation for windows.md in Romanian
* docs(website): new translation for windows.md in French
* docs(website): new translation for windows.md in Arabic
* docs(website): new translation for windows.md in Galician
* docs(website): new translation for windows.md in Czech
* docs(website): new translation for windows.md in German
* docs(website): new translation for windows.md in Italian
* docs(website): new translation for windows.md in Japanese
* docs(website): new translation for windows.md in Korean
* docs(website): new translation for windows.md in Polish
* docs(website): new translation for windows.md in Portuguese
* docs(website): new translation for windows.md in Russian
* docs(website): new translation for windows.md in Serbian (Cyrillic)
* docs(website): new translation for windows.md in Chinese Simplified
* docs(website): new translation for windows.md in Chinese Traditional
* docs(website): new translation for windows.md in Vietnamese
* docs(website): new translation for best-practices.md in French
* docs(website): new translation for amazon.md in Spanish
* docs(website): new translation for iis-server.md in Vietnamese
* docs(website): new translation for install.md in Romanian
* docs(website): new translation for iis-server.md in Yoruba
* docs(website): new translation for iis-server.md in Tajik
* docs(website): new translation for iis-server.md in Serbian (Latin)
* docs(website): new translation for iis-server.md in Filipino
* docs(website): new translation for iis-server.md in Hindi
* docs(website): new translation for iis-server.md in Portuguese, Brazilian
* docs(website): new translation for iis-server.md in Galician
* docs(website): new translation for iis-server.md in Chinese Traditional
* docs(website): new translation for iis-server.md in Chinese Simplified
* docs(website): new translation for iis-server.md in Serbian (Cyrillic)
* docs(website): new translation for iis-server.md in Russian
* docs(website): new translation for iis-server.md in Portuguese
* docs(website): new translation for iis-server.md in Polish
* docs(website): new translation for iis-server.md in Korean
* docs(website): new translation for iis-server.md in Japanese
* docs(website): new translation for iis-server.md in Italian
* docs(website): new translation for iis-server.md in German
* docs(website): new translation for iis-server.md in Czech
* docs(website): new translation for iis-server.md in Arabic
* docs(website): new translation for iis-server.md in Spanish
* docs(website): new translation for iis-server.md in French
* docs(website): new translation for iis-server.md in Romanian
* docs(website): new translation for e2e.md in Czech
* docs(website): new translation for e2e.md in Hindi
* docs(website): new translation for e2e.md in Portuguese, Brazilian
* docs(website): new translation for e2e.md in Galician
* docs(website): new translation for e2e.md in Vietnamese
* docs(website): new translation for e2e.md in Chinese Traditional
* docs(website): new translation for e2e.md in Chinese Simplified
* docs(website): new translation for e2e.md in Serbian (Cyrillic)
* docs(website): new translation for e2e.md in Russian
* docs(website): new translation for e2e.md in Portuguese
* docs(website): new translation for e2e.md in Polish
* docs(website): new translation for e2e.md in Korean
* docs(website): new translation for e2e.md in Japanese
* docs(website): new translation for e2e.md in Italian
* docs(website): new translation for e2e.md in German
* docs(website): new translation for e2e.md in Arabic
* docs(website): new translation for e2e.md in Serbian (Latin)
* docs(website): new translation for e2e.md in Spanish
* docs(website): new translation for e2e.md in French
* docs(website): new translation for e2e.md in Romanian
* docs(website): new translation for docker.md in Yoruba
* docs(website): new translation for docker.md in Tajik
* docs(website): new translation for docker.md in Serbian (Latin)
* docs(website): new translation for docker.md in Filipino
* docs(website): new translation for docker.md in Hindi
* docs(website): new translation for docker.md in Portuguese, Brazilian
* docs(website): new translation for docker.md in Galician
* docs(website): new translation for docker.md in Vietnamese
* docs(website): new translation for docker.md in Chinese Traditional
* docs(website): new translation for docker.md in Chinese Simplified
* docs(website): new translation for docker.md in Serbian (Cyrillic)
* docs(website): new translation for e2e.md in Filipino
* docs(website): new translation for e2e.md in Tajik
* docs(website): new translation for github-actions.md in Galician
* docs(website): new translation for github-actions.md in Yoruba
* docs(website): new translation for github-actions.md in Tajik
* docs(website): new translation for github-actions.md in Serbian (Latin)
* docs(website): new translation for github-actions.md in Filipino
* docs(website): new translation for github-actions.md in Hindi
* docs(website): new translation for github-actions.md in Portuguese, Brazilian
* docs(website): new translation for github-actions.md in Vietnamese
* docs(website): new translation for e2e.md in Yoruba
* docs(website): new translation for github-actions.md in Italian
* docs(website): new translation for github-actions.md in Romanian
* docs(website): new translation for github-actions.md in French
* docs(website): new translation for github-actions.md in Spanish
* docs(website): new translation for github-actions.md in Arabic
* docs(website): new translation for github-actions.md in Czech
* docs(website): new translation for logo.md in Korean
* docs(website): new translation for logo.md in Polish
* docs(website): new translation for logo.md in Portuguese
* docs(website): new translation for logo.md in Russian
* docs(website): new translation for logo.md in Serbian (Cyrillic)
* docs(website): new translation for logo.md in Chinese Simplified
* docs(website): new translation for logo.md in Chinese Traditional
* docs(website): new translation for logo.md in Vietnamese
* docs(website): new translation for logo.md in Galician
* docs(website): new translation for logo.md in Portuguese, Brazilian
* docs(website): new translation for logo.md in Hindi
* docs(website): new translation for logger.md in Hindi
* docs(website): new translation for logger.md in Galician
* docs(website): new translation for linking.md in Chinese Simplified
* docs(website): new translation for logger.md in Spanish
* docs(website): new translation for linking.md in Chinese Traditional
* docs(website): new translation for linking.md in Vietnamese
* docs(website): new translation for linking.md in Galician
* docs(website): new translation for amazon.md in French
* docs(website): new translation for linking.md in Hindi
* docs(website): new translation for linking.md in Filipino
* docs(website): new translation for linking.md in Serbian (Latin)
* docs(website): new translation for linking.md in Tajik
* docs(website): new translation for linking.md in Yoruba
* docs(website): new translation for logger.md in Romanian
* docs(website): new translation for logger.md in French
* docs(website): new translation for logger.md in Arabic
* docs(website): new translation for logger.md in Vietnamese
* docs(website): new translation for logger.md in Czech
* docs(website): new translation for logger.md in German
* docs(website): new translation for logger.md in Italian
* docs(website): new translation for logger.md in Japanese
* docs(website): new translation for logger.md in Korean
* docs(website): new translation for logger.md in Polish
* docs(website): new translation for logger.md in Portuguese
* docs(website): new translation for logger.md in Russian
* docs(website): new translation for logger.md in Serbian (Cyrillic)
* docs(website): new translation for logger.md in Chinese Simplified
* docs(website): new translation for logger.md in Chinese Traditional
* docs(website): new translation for install.md in Arabic
* docs(website): new translation for reverse-proxy.md in German
* docs(website): new translation for repositories.md in Hindi
* docs(website): new translation for repositories.md in Filipino
* docs(website): new translation for repositories.md in Serbian (Latin)
* docs(website): new translation for repositories.md in Tajik
* docs(website): new translation for repositories.md in Yoruba
* docs(website): new translation for reverse-proxy.md in Romanian
* docs(website): new translation for reverse-proxy.md in French
* docs(website): new translation for reverse-proxy.md in Spanish
* docs(website): new translation for reverse-proxy.md in Arabic
* docs(website): new translation for reverse-proxy.md in Czech
* docs(website): new translation for reverse-proxy.md in Italian
* docs(website): new translation for repositories.md in Galician
* docs(website): new translation for reverse-proxy.md in Japanese
* docs(website): new translation for reverse-proxy.md in Korean
* docs(website): new translation for reverse-proxy.md in Polish
* docs(website): new translation for reverse-proxy.md in Portuguese
* docs(website): new translation for reverse-proxy.md in Russian
* docs(website): new translation for reverse-proxy.md in Serbian (Cyrillic)
* docs(website): new translation for reverse-proxy.md in Chinese Simplified
* docs(website): new translation for reverse-proxy.md in Chinese Traditional
* docs(website): new translation for reverse-proxy.md in Vietnamese
* docs(website): new translation for reverse-proxy.md in Galician
* docs(website): new translation for reverse-proxy.md in Portuguese, Brazilian
* docs(website): new translation for repositories.md in Portuguese, Brazilian
* docs(website): new translation for repositories.md in Vietnamese
* docs(website): new translation for reverse-proxy.md in Filipino
* docs(website): new translation for repositories.md in French
* docs(website): new translation for puppet.md in Chinese Simplified
* docs(website): new translation for puppet.md in Chinese Traditional
* docs(website): new translation for puppet.md in Vietnamese
* docs(website): new translation for puppet.md in Galician
* docs(website): new translation for puppet.md in Portuguese, Brazilian
* docs(website): new translation for puppet.md in Hindi
* docs(website): new translation for puppet.md in Filipino
* docs(website): new translation for puppet.md in Serbian (Latin)
* docs(website): new translation for puppet.md in Tajik
* docs(website): new translation for puppet.md in Yoruba
* docs(website): new translation for repositories.md in Romanian
* docs(website): new translation for repositories.md in Spanish
* docs(website): new translation for repositories.md in Chinese Traditional
* docs(website): new translation for repositories.md in Arabic
* docs(website): new translation for repositories.md in Czech
* docs(website): new translation for repositories.md in German
* docs(website): new translation for repositories.md in Italian
* docs(website): new translation for repositories.md in Japanese
* docs(website): new translation for repositories.md in Korean
* docs(website): new translation for repositories.md in Polish
* docs(website): new translation for repositories.md in Portuguese
* docs(website): new translation for repositories.md in Russian
* docs(website): new translation for repositories.md in Serbian (Cyrillic)
* docs(website): new translation for repositories.md in Chinese Simplified
* docs(website): new translation for reverse-proxy.md in Hindi
* docs(website): new translation for reverse-proxy.md in Serbian (Latin)
* docs(website): new translation for puppet.md in Russian
* docs(website): new translation for server.md in Chinese Traditional
* docs(website): new translation for server.md in Czech
* docs(website): new translation for server.md in German
* docs(website): new translation for server.md in Italian
* docs(website): new translation for server.md in Japanese
* docs(website): new translation for server.md in Korean
* docs(website): new translation for server.md in Polish
* docs(website): new translation for server.md in Portuguese
* docs(website): new translation for server.md in Russian
* docs(website): new translation for server.md in Serbian (Cyrillic)
* docs(website): new translation for server.md in Chinese Simplified
* docs(website): new translation for server.md in Vietnamese
* docs(website): new translation for server.md in Spanish
* docs(website): new translation for server.md in Galician
* docs(website): new translation for server.md in Portuguese, Brazilian
* docs(website): new translation for server.md in Hindi
* docs(website): new translation for server.md in Filipino
* docs(website): new translation for server.md in Serbian (Latin)
* docs(website): new translation for server.md in Tajik
* docs(website): new translation for server.md in Yoruba
* docs(website): new translation for ssl.md in Romanian
* docs(website): new translation for ssl.md in French
* docs(website): new translation for ssl.md in Spanish
* docs(website): new translation for ssl.md in Arabic
* docs(website): new translation for server.md in Arabic
* docs(website): new translation for server.md in French
* docs(website): new translation for reverse-proxy.md in Tajik
* docs(website): new translation for reverse-proxy.md in Yoruba
* docs(website): new translation for server.md in Romanian
* docs(website): new translation for puppet.md in Serbian (Cyrillic)
* docs(website): new translation for puppet.md in Portuguese
* docs(website): new translation for plugins.md in French
* docs(website): new translation for plugins.md in Romanian
* docs(website): new translation for plugins.md in Spanish
* docs(website): new translation for puppet.md in Polish
* docs(website): new translation for protect-your-dependencies.md in Filipino
* docs(website): new translation for protect-your-dependencies.md in Polish
* docs(website): new translation for protect-your-dependencies.md in Portuguese
* docs(website): new translation for protect-your-dependencies.md in Russian
* docs(website): new translation for protect-your-dependencies.md in Serbian (Cyrillic)
* docs(website): new translation for protect-your-dependencies.md in Chinese Simplified
* docs(website): new translation for protect-your-dependencies.md in Chinese Traditional
* docs(website): new translation for protect-your-dependencies.md in Vietnamese
* docs(website): new translation for protect-your-dependencies.md in Galician
* docs(website): new translation for protect-your-dependencies.md in Portuguese, Brazilian
* docs(website): new translation for protect-your-dependencies.md in Hindi
* docs(website): new translation for protect-your-dependencies.md in Serbian (Latin)
* docs(website): new translation for protect-your-dependencies.md in Japanese
* docs(website): new translation for protect-your-dependencies.md in Tajik
* docs(website): new translation for protect-your-dependencies.md in Yoruba
* docs(website): new translation for puppet.md in Romanian
* docs(website): new translation for puppet.md in French
* docs(website): new translation for puppet.md in Spanish
* docs(website): new translation for puppet.md in Arabic
* docs(website): new translation for puppet.md in Czech
* docs(website): new translation for puppet.md in German
* docs(website): new translation for puppet.md in Italian
* docs(website): new translation for puppet.md in Japanese
* docs(website): new translation for puppet.md in Korean
* docs(website): new translation for protect-your-dependencies.md in Korean
* docs(website): new translation for protect-your-dependencies.md in Italian
* docs(website): new translation for plugins.md in Arabic
* docs(website): new translation for plugins.md in Vietnamese
* docs(website): new translation for plugins.md in Czech
* docs(website): new translation for plugins.md in German
* docs(website): new translation for plugins.md in Italian
* docs(website): new translation for plugins.md in Japanese
* docs(website): new translation for plugins.md in Korean
* docs(website): new translation for plugins.md in Polish
* docs(website): new translation for plugins.md in Portuguese
* docs(website): new translation for plugins.md in Russian
* docs(website): new translation for plugins.md in Serbian (Cyrillic)
* docs(website): new translation for plugins.md in Chinese Simplified
* docs(website): new translation for plugins.md in Chinese Traditional
* docs(website): new translation for plugins.md in Galician
* docs(website): new translation for protect-your-dependencies.md in German
* docs(website): new translation for plugins.md in Portuguese, Brazilian
* docs(website): new translation for plugins.md in Hindi
* docs(website): new translation for plugins.md in Filipino
* docs(website): new translation for plugins.md in Serbian (Latin)
* docs(website): new translation for plugins.md in Tajik
* docs(website): new translation for plugins.md in Yoruba
* docs(website): new translation for protect-your-dependencies.md in Romanian
* docs(website): new translation for protect-your-dependencies.md in French
* docs(website): new translation for protect-your-dependencies.md in Spanish
* docs(website): new translation for protect-your-dependencies.md in Arabic
* docs(website): new translation for protect-your-dependencies.md in Czech
* docs(website): new translation for install.md in Czech
* docs(website): new translation for linking.md in Portuguese, Brazilian
* docs(website): new translation for install.md in Spanish
* docs(website): new translation for caching.md in Serbian (Cyrillic)
* docs(website): new translation for caching.md in Spanish
* docs(website): new translation for caching.md in Arabic
* docs(website): new translation for caching.md in Czech
* docs(website): new translation for caching.md in German
* docs(website): new translation for caching.md in Italian
* docs(website): new translation for caching.md in Japanese
* docs(website): new translation for caching.md in Korean
* docs(website): new translation for caching.md in Polish
* docs(website): new translation for caching.md in Portuguese
* docs(website): new translation for caching.md in Russian
* docs(website): new translation for caching.md in Chinese Simplified
* docs(website): new translation for caching.md in Romanian
* docs(website): new translation for caching.md in Chinese Traditional
* docs(website): new translation for caching.md in Vietnamese
* docs(website): new translation for caching.md in Galician
* docs(website): new translation for caching.md in Portuguese, Brazilian
* docs(website): new translation for caching.md in Hindi
* docs(website): new translation for caching.md in Filipino
* docs(website): new translation for caching.md in Serbian (Latin)
* docs(website): new translation for install.md in French
* docs(website): new translation for caching.md in Yoruba
* docs(website): new translation for chef.md in Romanian
* docs(website): new translation for chef.md in French
* docs(website): new translation for caching.md in French
* docs(website): new translation for best-practices.md in Yoruba
* docs(website): new translation for chef.md in Arabic
* docs(website): new translation for best-practices.md in Korean
* docs(website): new translation for best-practices.md in Romanian
* docs(website): new translation for who-is-using.md in Russian
* docs(website): new translation for windows.md in Serbian (Latin)
* docs(website): new translation for windows.md in Tajik
* docs(website): new translation for windows.md in Yoruba
* docs(website): new translation for windows.md in Hindi
* docs(website): new translation for en.json in Chinese Simplified
* docs(website): new translation for windows.md in Filipino
* docs(website): new translation for windows.md in Portuguese, Brazilian
* docs(website): new translation for who-is-using.md in Serbian (Cyrillic)
* docs(website): new translation for windows.md in Spanish
* docs(website): new translation for who-is-using.md in Chinese Simplified
* docs(website): new translation for who-is-using.md in Chinese Traditional
* docs(website): new translation for who-is-using.md in Vietnamese
* docs(website): new translation for who-is-using.md in Galician
* docs(website): new translation for who-is-using.md in Portuguese, Brazilian
* docs(website): new translation for who-is-using.md in Hindi
* docs(website): new translation for who-is-using.md in Filipino
* docs(website): new translation for who-is-using.md in Serbian (Latin)
* docs(website): new translation for who-is-using.md in Tajik
* docs(website): new translation for who-is-using.md in Yoruba
* docs(website): new translation for windows.md in Romanian
* docs(website): new translation for windows.md in French
* docs(website): new translation for windows.md in Arabic
* docs(website): new translation for windows.md in Galician
* docs(website): new translation for windows.md in Czech
* docs(website): new translation for windows.md in German
* docs(website): new translation for windows.md in Italian
* docs(website): new translation for windows.md in Japanese
* docs(website): new translation for windows.md in Korean
* docs(website): new translation for windows.md in Polish
* docs(website): new translation for windows.md in Portuguese
* docs(website): new translation for windows.md in Russian
* docs(website): new translation for windows.md in Serbian (Cyrillic)
* docs(website): new translation for windows.md in Chinese Simplified
* docs(website): new translation for windows.md in Chinese Traditional
* docs(website): new translation for windows.md in Vietnamese
* chore: frozen installation
* chore: add service
disable some workflows
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: update ci
* chore: add windows
* chore: add e2e ui
* chore: add cli
* chore: add cli
* chore: add website ci
* chore: improve naming
* fix: escaped slash in namespaced packages
* run format on code
* merge master branch (#2)
* chore: fix start web issue
* chore: use custom action for changeset
this is temporary while I find the way to skip create github releases for alpha
* chore: format as separated workflow (#2194)
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* merge master (#3)
* chore: fix start web issue
* chore: use custom action for changeset
this is temporary while I find the way to skip create github releases for alpha
* chore: format as separated workflow (#2194)
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* add changeset
* format
Co-authored-by: amit <amit@enso.security>
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* 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
feat!: replace deprecated request dependency by got
This is a big refactoring of the core, fetching dependencies, improve code, more tests and better stability. This is essential for the next release, will take some time but would allow modularize more the core.
## Notes
- Remove deprecated `request` by other `got`, retry improved, custom Agent ( got does not include it built-in)
- Remove `async` dependency from storage (used by core) it was linked with proxy somehow safe to remove now
- Refactor with promises instead callback wherever is possible
- ~Document the API~
- Improve testing, integration tests
- Bugfix
- Clean up old validations
- Improve performance
## 💥 Breaking changes
- Plugin API methods were callbacks based are returning promises, this will break current storage plugins, check documentation for upgrade.
- Write Tarball, Read Tarball methods parameters change, a new set of options like `AbortController` signals are being provided to the `addAbortSignal` can be internally used with Streams when a request is aborted. eg: `addAbortSignal(signal, fs.createReadStream(pathName));`
-`@verdaccio/streams` stream abort support is legacy is being deprecated removed
- Remove AWS and Google Cloud packages for future refactoring [#2574](https://github.com/verdaccio/verdaccio/pull/2574).
refactor: download manifest endpoint and integrate fastify
Much simpler API for fetching a package
```
const manifest = await storage.getPackageNext({
name,
uplinksLook: true,
req,
version: queryVersion,
requestOptions,
});
```
> not perfect, the `req` still is being passed to the proxy (this has to be refactored at proxy package) and then removed from here, in proxy we pass the request instance to the `request` library.
### Details
-`async/await` sugar for getPackage()
- Improve and reuse code between current implementation and new fastify endpoint (add scaffolding for request manifest)
- Improve performance
- Add new tests
### Breaking changes
All storage plugins will stop to work since the storage uses `getPackageNext` method which is Promise based, I won't replace this now because will force me to update all plugins, I'll follow up in another PR. Currently will throw http 500
- remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225
- refactor method storage class
- create new module `core` to reduce the ammount of modules with utilities
- use `undici` instead `node-fetch`
- use `fastify` instead `express` for functional test
### Breaking changes
- plugin storage API changes
- remove old search endpoint (return 404)
- filter local private packages at plugin level
The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client.
feat: rework web header for mobile, add new settings and raw manifest button
### New set of variables to hide features
Add set of new variables that allow hide different parts of the UI, buttons, footer or download tarballs. _All are
enabled by default_.
```yaml
# login: true <-- already exist but worth the reminder
# showInfo: true
# showSettings: true
# In combination with darkMode you can force specific theme
# showThemeSwitch: true
# showFooter: true
# showSearch: true
# showDownloadTarball: true
```
> If you disable `showThemeSwitch` and force `darkMode: true` the local storage settings would be
> ignored and force all themes to the one in the configuration file.
Future could be extended to
### Raw button to display manifest package
A new experimental feature (enabled by default), button named RAW to be able navigate on the package manifest directly on the ui, kudos to [react-json-view](https://www.npmjs.com/package/react-json-view) that allows an easy integration, not configurable yet until get more feedback.
```yaml
showRaw:true
```
#### Rework header buttons
- The header has been rework, the mobile was not looking broken.
- Removed info button in the header and moved to a dialog
- Info dialog now contains more information about the project, license and the aid content for Ukrania now is inside of the info modal.
- Separate settings and info to avoid collapse too much info (for mobile still need some work)
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.
According to [`npm`](https://docs.npmjs.com/about-registry-signatures): _"Signatures are provided in the package's `packument` in each published version within the `dist` object"_
Here's an [example of a package version from the public npm registry with `dist.signatures`](https://registry.npmjs.org/light-cycle/1.4.3).
Refactor htpasswd plugin to use the bcryptjs 'compare' api call instead of 'comparSync'. Add a new configuration value named 'slow_verify_ms' to the htpasswd plugin that when exceeded during password verification will log a warning message.
- 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`
If there is a package manager of preference over others, you can define the package managers to be displayed on the detail page and sidebar, just define in the `config.yaml` and web section the list of package managers to be displayed.
```
web:
title: Verdaccio
sort_packages: asc
primary_color: #cccccc
pkgManagers:
- pnpm
- yarn
# - npm
```
To disable all package managers, just define empty:
# Number of days of inactivity before an issue becomes stale
daysUntilStale:15
daysUntilStale:365
# Number of days of inactivity before a stale issue is closed
daysUntilClose:10
daysUntilClose:500
# Issues with these labels will never be considered stale
exemptLabels:
- dev:high priority
@@ -10,17 +10,17 @@ exemptLabels:
- issue:bug
- dev:discuss
# Label to use when marking an issue as stale
staleLabel: issue:wontfix
staleLabel: 'issue:wontfix'
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment:>
Hi pal 👋🏼!
Hi pal 👋🏼!
This issue has gone quiet 😶.
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!
We get a lot of issues, so we currently close issues after 180 days of inactivity. It’s been at least 90c 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! 💘
Thanks for being a part of the Verdaccio community! 💘
# Comment to post when closing a stale issue. Set to `false` to disable
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.