0
Fork 0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-01-13 22:48:31 -05:00
verdaccio/test/unit/modules/api
贾顺名(Jarvis) b5ac3c0f28
fix: publish with deprecated field (#2771)
* 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
2021-12-16 16:17:52 +01:00
..
__snapshots__ fix: unpublish and add or remove star colision (#1434) 2019-08-10 13:38:06 +02:00
partials feat: implement search v1 endpoint (#2256) 2021-05-15 16:39:03 +02:00
api.search.spec.ts feat: implement search v1 endpoint (#2256) 2021-05-15 16:39:03 +02:00
api.spec.ts fix: publish with deprecated field (#2771) 2021-12-16 16:17:52 +01:00
publish.spec.ts chore: update eslint dependencies (#2126) 2021-03-14 08:42:46 +01:00
token.spec.ts build: enable pnp yarn2 (#2253) 2021-05-13 23:13:57 +02:00
validate.api.params.middleware.spec.ts chore: update eslint dependencies (#2126) 2021-03-14 08:42:46 +01:00