npm@6.11.2 npm ci not copying prepared files

What I Wanted to Do

When using npm ci I expected the git based typescript dependency to have its prepared js files node_modules/ts-trueskill/dist that are built during install from the “prepare” npm-script.

What Happened Instead

The “dist” directory is missing when using npm ci and not missing when using npm install or npm ci on a previous version.

Reproduction Steps

Pull https://github.com/scttcper/npm-ci-example
run npm install and look in node_modules/ts-trueskill/dist

Run npm ci and now check again, dist files were not installed

try with npm@6.9.2 and its working.

Details

This was working with npm ci as recently as 6.9.2 and I can confirm with the linked github example that 6.9.2 behaves as expected while 6.11.2 does not.

here’s the output of npm ci --loglevel=silly for both versions of npm https://gist.github.com/scttcper/9574672b61d1796174eab35be1dff1d4

doesn’t appear to be much of a difference

Platform Info

$ npm --versions
{ 'test-ci': '0.0.0-placeholder',
  npm: '6.11.2',
  ares: '1.15.0',
  brotli: '1.0.7',
  cldr: '35.1',
  http_parser: '2.8.0',
  icu: '64.2',
  modules: '64',
  napi: '4',
  nghttp2: '1.39.2',
  node: '10.16.3',
  openssl: '1.1.1c',
  tz: '2019a',
  unicode: '12.1',
  uv: '1.28.0',
  v8: '6.8.275.32-node.54',
  zlib: '1.2.11' }
$ node -p process.platform
darwin

This was not fixed in 6.11.3

There are related fixes coming in 6.12.0: https://github.com/npm/cli/releases/tag/v6.12.0-next.0

Thanks! that looks like exactly the fix I’m looking for