1
0
mirror of https://github.com/verdaccio/verdaccio.git synced 2025-02-21 07:29:37 +01:00
verdaccio/test/unit
贾顺名(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
..
__helper build: enable pnp yarn2 (#2253) 2021-05-13 23:13:57 +02:00
functionalLibs build: enable pnp yarn2 (#2253) 2021-05-13 23:13:57 +02:00
modules fix: publish with deprecated field (#2771) 2021-12-16 16:17:52 +01:00
partials feat: implement search v1 endpoint (#2256) 2021-05-15 16:39:03 +02:00