* fix: get header by quality priority value
* chore: disable some workflows
* chore: add more tests
* chore: remove some duplicated testss
* chore: return right content type haders
* WIP: port PR#2199 to master into 5.x
* port PR#2199 to master to 5.x - env.variables.md
* port PR#2199 to master to 5.x - config.spec
* Update config.spec.ts
* Update config.spec.ts
* fix format
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* fix: publish with deprecated field by @Jiasm
When publish with deprecated field in `package.json`, that will make all old versions miss.
Examples:
I have package@1.0.0 and package@1.0.1.
When `npm deprecate package@1.0.0 "xxx"`, Verdaccio will recived:
```json
{
"name": "module_name",
"version": {
"1.0.0": {
"deprecated": "xxx"
},
"1.0.1": {}
}
}
```
⬆️ This make sense
But then publish new version with @1.0.2.
Verdaccio will recived:
```json
{
"name": "module_name",
"version": {
"1.0.2": {
"deprecated": "xxx" // if we set this field in package.json
},
}
}
```
and that metadata will override package.json, make old version miss.
migrate from #2766
* remove spaces
* fix: ignore empty package case
* fix: cover normal unpublish case
* refactor: Optimize check logic for lazy execution
* test: upgrade Jest Snapshot
* fix: set storage.getPackage `uplinksLook: false`.
* feat: use `_attachments` to distinguish deprecate
* test: rollback test snapshots
* test: rollback jest snapshots
* test: publish new version with deprecate field
* test: remove space
* chore: enable pnp yarn
* chore: ignore pnp
* fix type issues on run eslint
* add missing dependency and fix some errors
* fix most of the errors
some were just disabled, already fixed in master
* add missing jest-config
* update jest@26 align with other deps
* add missing @babel/register
* clean up
* use yarn node
* use yarn node on release
* chore: add husky 6
* chore: add husky 6
* chore: lint-stage
* chore: test
* chore: add hook git
* chore: test
* chore: test
* update deps
* chore: fix commit lint
* fix docker run
* update git ignore
* feat: tarball url redirect
* fix: handle uplinks
* feat: allow function for config.tarball_url_redirect
* fix: hasLocalTarball was calling localStream,abort when already aborted
* chore: simplify localStream null check in hasLocalTarball
As requested in PR feedback.
* chore: fix sonarcloud code smell on test
the variable `credentials` was already declared before the tarball url tests.
* fix: move tarball_url_redirect to experiments
Co-authored-by: Gord Lea <johlea@cisco.com>
Co-authored-by: Gord Lea <jgordonlea@gmail.com>
* setup https server
* typed handleHttps
* fix if condition
* generate certificate on the fly
* revert yarn.lock
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* support deprecation
* test case for deprecation
* fix format
* testing for multiple packages deprecation
* update README
Co-authored-by: Juan Picado <juanpicado19@gmail.com>
* 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: 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