nteract / outputs

A collection of React components for displaying rich Jupyter display objects
BSD 3-Clause "New" or "Revised" License
26 stars 19 forks source link

@nteract/transform-vdom latest version is 4.0.16-alpha.0 #48

Open jasongrout opened 3 years ago

jasongrout commented 3 years ago

I'm trying to figure out the latest version of @nteract/transform-vdom (which we depend on in JupyterLab).

I notice that on npm:

When I compare the actual tarballs on npmjs.com, I see these differences:

% diff -qNaur 4.0.15 4.0.16-alpha.0  
Files 4.0.15/LICENSE and 4.0.16-alpha.0/LICENSE differ
Files 4.0.15/package.json and 4.0.16-alpha.0/package.json differ
Files 4.0.15/tsconfig.json and 4.0.16-alpha.0/tsconfig.json differ
Files 4.0.15/tsconfig.tsbuildinfo and 4.0.16-alpha.0/tsconfig.tsbuildinfo differ

In particular, notice there is no change in the actual js files published, and the only change in the package.json is:

% diff -Naur 4.0.15/package.json 4.0.16-alpha.0/package.json 
--- 4.0.15/package.json 1985-10-26 01:15:00.000000000 -0700
+++ 4.0.16-alpha.0/package.json 1985-10-26 01:15:00.000000000 -0700
@@ -1,6 +1,6 @@
 {
   "name": "@nteract/transform-vdom",
-  "version": "4.0.15",
+  "version": "4.0.16-alpha.0",
   "description": "VDOM Transform for jupyter outputs",
   "main": "lib/index.js",
   "types": "lib/index.d.ts",
@@ -20,5 +20,6 @@
   "license": "BSD-3-Clause",
   "devDependencies": {
     "@types/lodash.clonedeep": "^4.5.6"
-  }
+  },
+  "gitHead": "8984bec0b7195ad19d5f1b860593df26bd9881f1"
 }

To me, it looks like the latest tag was accidentally set to 4.0.16-alpha.0, and perhaps that prerelease was accidentally published? If this is true, I'd suggest resetting the npmjs.com latest tag with:

npm dist-tag add @nteract/transform-vdom@4.0.15 latest
jasongrout commented 3 years ago

If I had to guess, based on me doing something similar many times, perhaps 4.0.16-alpha.0 was released by lerna, never committed, and lerna automatically set the latest dist-tag to this pre-release. If that is what happened, you can mitigate the dist-tag setting by using the lerna publish --pre-dist-tag next option, which overrides dist-tag for prereleases: https://github.com/lerna/lerna/tree/main/commands/publish#--pre-dist-tag-tag This way you always keep latest to be the latest stable release.

jasongrout commented 3 years ago

FYI, I am looking at this because we upgraded to react 17, but @nteract/transform-vdom still has a peer dependency on react ^16. React 17 seems like a very safe upgrade, though.

captainsafia commented 3 years ago

Oof! This looks like a fallout from the work we've been doing to move packages out of the monorepo over at nteract/nteract and into their own repos.

To me, it looks like the latest tag was accidentally set to 4.0.16-alpha.0, and perhaps that prerelease was accidentally published? If this is true, I'd suggest resetting the npmjs.com latest tag with

Yeah, I'll give this a try.