Package lock is not idempotent on a roundtrip


(Pierre Luc Champigny) #1

What I Wanted to Do

Iā€™m trying to make my app build on my ci with npm ci

What Happened Instead

Error on npm ci:
ā€˜.ā€™ is not recognized as an internal or external command,

Reproduction Steps

$ npm init

<Enter until finished>

$ npm i --save firebase@4.10.1
$ rm node_modules
$ rm package-lock.json
$ npm i
$ npm ci <= this should fail with 
'.' is not recognized as an internal or external command

Details

I think there are 2 issues with my problem. One is with grpc 1.10.1 that is doing the
ā€˜.ā€™ is not recognized as an internal or external command, this has been fixed by them in the version 1.15.1

When iā€™m installing firebase@4.10.1, package-lock.json write grpc: ā€œ^1.9.1ā€ which then install grpc 1.15.1. But when I delete the package-lock, npm install grpc 1.10.1 and rewrite package-lock.json grpc: ā€œ1.10.1ā€ and install grpc 1.15.1.

Doing npm i --save firebase@4.10.1 put the package-lock.json back in the right track afterward.

Platform Info

I'm on Windows 10 x64
$ npm --versions
<!-- paste output here -->
{ server: '2.0.0',
  npm: '6.4.1',
  ares: '1.10.1-DEV',
  cldr: '32.0',
  http_parser: '2.8.0',
  icu: '60.1',
  modules: '57',
  napi: '3',
  nghttp2: '1.32.0',
  node: '8.11.3',
  openssl: '1.0.2o',
  tz: '2017c',
  unicode: '10.0',
  uv: '1.19.1',
  v8: '6.2.414.54',
  zlib: '1.2.11' }
<!-- paste output here -->