Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Add file+pack dependency protocol #150

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

RecuencoJones
Copy link
Contributor

@RecuencoJones RecuencoJones commented May 23, 2020

What / Why

Imported from npm/cli#1333

Add a way to install local folder dependencies by first running pack script to trigger any build process required to generate distributable files before linking generated tarball to requesting module.

References

@darcyclarke
Copy link
Contributor

@RecuencoJones quick note/update, we'll be discussing this in our Open RFC call today & will leave it on the agenda if you aren't able to join this week (ref: #166).

@RecuencoJones
Copy link
Contributor Author

Already joined @darcyclarke 😄

@RecuencoJones
Copy link
Contributor Author

RecuencoJones commented Jul 16, 2020

Quick update as per yesterday's Open RFC Meeting, looks like Arborist already supports running prepack scripts for some protocols (i.e, git+https:) which downloads and then tarballs the contents of the repository to install as if it was an actual package from the registry.

This is true with just one caveat, if prepack script requires any binaries from devDependencies it will require an explicit npm install before running any other scripts!
Otherwise devDependencies are not installed and prepack would effectively fail, breaking the installation process.

git+https prepack

Given the following package JSON:
https://github.com/RecuencoJones/git-pack/blob/1b5de5de1b48866114e7e4aef5f7fedeb2e3c565/package.json

We could then depend on it as:

{
  "dependencies": {
    "git-pack": "git+https://github.com/Recuencojones/git-pack.git#build"
  }
}

With the following error log when running npm install:

npm debug log
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'i',
npm verb cli   '-ddd'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session 5a828d8e05318c06
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall git-poc
npm info lifecycle @~preinstall: @
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 5ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm info lifecycle git-pack@1.0.0~prepack: git-pack@1.0.0

> git-pack@1.0.0 prepack /Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9
> npm run build

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'run',
npm verb cli   'build'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb run-script [ 'prebuild', 'build', 'postbuild' ]
npm info lifecycle git-pack@1.0.0~prebuild: git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~build: git-pack@1.0.0

> git-pack@1.0.0 build /Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9
> tsc

sh: tsc: command not found
npm verb lifecycle git-pack@1.0.0~build: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~build: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9/node_modules/.bin:/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~build: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9
npm sill lifecycle git-pack@1.0.0~build: Args: [ '-c', 'tsc' ]
npm info lifecycle git-pack@1.0.0~build: Failed to exec build script
npm verb stack Error: git-pack@1.0.0 build: `tsc`
npm verb stack spawn ENOENT
npm verb stack     at ChildProcess.<anonymous> (/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:48:18)
npm verb stack     at ChildProcess.emit (events.js:315:20)
npm verb stack     at maybeClose (internal/child_process.js:1021:16)
npm verb stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
npm verb pkgid git-pack@1.0.0
npm verb cwd /Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9
npm verb Darwin 18.7.0
npm verb argv "/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node" "/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm" "run" "build"
npm verb node v12.18.0
npm verb npm  v6.14.4
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! git-pack@1.0.0 build: `tsc`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the git-pack@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm verb exit [ 1, true ]
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm timing npm Completed in 112ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/recuedav/.npm/_logs/2020-07-16T07_22_02_589Z-debug.log
npm verb lifecycle git-pack@1.0.0~prepack: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~prepack: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~prepack: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-3dce4ec9
npm sill lifecycle git-pack@1.0.0~prepack: Args: [ '-c', 'npm run build' ]
npm sill lifecycle git-pack@1.0.0~prepack: Returned: code: 1  signal: null
npm info lifecycle git-pack@1.0.0~prepack: Failed to exec prepack script
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm sill fetchPackageMetaData error for git-pack@git+https://github.com/RecuencoJones/git-pack.git#build premature close
npm timing stage:rollbackFailedOptional Completed in 1ms
npm timing stage:runTopLevelLifecycles Completed in 2686ms
npm sill saveTree git-poc
npm verb stack Error: premature close
npm verb stack     at PassThrough.onclose (/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/end-of-stream/index.js:47:67)
npm verb stack     at PassThrough.emit (events.js:327:22)
npm verb stack     at emitCloseNT (internal/streams/destroy.js:69:8)
npm verb stack     at processTicksAndRejections (internal/process/task_queues.js:83:21)
npm verb cwd /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc
npm verb Darwin 18.7.0
npm verb argv "/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node" "/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm" "i" "-ddd"
npm verb node v12.18.0
npm verb npm  v6.14.4
npm ERR! premature close
npm verb exit [ 1, true ]
npm timing npm Completed in 3010ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/recuedav/.npm/_logs/2020-07-16T07_22_02_619Z-debug.log

TL;DR: sh: tsc: command not found

git+https prepack with explicit install

Given the following package JSON:
https://github.com/RecuencoJones/git-pack/blob/90e0dd38079ecc72a6a230bc6ae8d7fc997169ea/package.json
or
https://github.com/RecuencoJones/git-pack/blob/56ecb80e72253d4eda9863a149c57b9faf1a18d0/package.json

We could then depend on it as:

{
  "dependencies": {
    "git-pack": "git+https://github.com/Recuencojones/git-pack.git#install+build"
  }
}

Which would then run it's prepack script, installing git-pack dependencies, building, packing as tarball and eventually installing the tarball.

npm debug log (npm install)
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'i',
npm verb cli   '-ddd'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session 28335dd5f6a7a916
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall git-poc
npm info lifecycle @~preinstall: @
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 9ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 1ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm info lifecycle git-pack@1.0.0~prepack: git-pack@1.0.0

> git-pack@1.0.0 prepack /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d
> npm install && npm run build

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'install'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session e9cce1de399ebbcd
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~preinstall: git-pack@1.0.0
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 9ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm http fetch GET 200 https://registry.npmjs.org/typescript 588ms
npm http fetch GET 200 https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz 698ms
npm sill pacote range manifest for typescript@3.9 fetched in 1369ms
npm sill pacote range manifest for typescript@3.9 fetched in 10ms
npm sill resolveWithNewModule typescript@3.9.6 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 1390ms
npm timing stage:loadIdealTree Completed in 1395ms
npm sill currentTree git-pack@1.0.0
npm sill idealTree git-pack@1.0.0
npm sill idealTree └── typescript@3.9.6
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 6ms
npm sill diffTrees action count 1
npm sill diffTrees add typescript@3.9.6
npm sill decomposeActions action count 8
npm sill decomposeActions fetch typescript@3.9.6
npm sill decomposeActions extract typescript@3.9.6
npm sill decomposeActions preinstall typescript@3.9.6
npm sill decomposeActions build typescript@3.9.6
npm sill decomposeActions install typescript@3.9.6
npm sill decomposeActions postinstall typescript@3.9.6
npm sill decomposeActions finalize typescript@3.9.6
npm sill decomposeActions refresh-package-json typescript@3.9.6
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-05548c68fe5efa52.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.staging
npm sill doParallel extract 1
npm sill extract typescript@3.9.6
npm sill tarball trying typescript@3.9 by hash: sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
npm timing audit submit Completed in 237ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 237ms
npm timing audit body Completed in 2ms
npm sill extract typescript@3.9 extracted to /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.staging/typescript-bae13e61 (791ms)
npm timing action:extract Completed in 796ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/typescript
npm timing action:finalize Completed in 12ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/typescript
npm timing action:refresh-package-json Completed in 35ms
npm sill doParallel preinstall 1
npm sill preinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~preinstall: typescript@3.9.6
npm timing action:preinstall Completed in 1ms
npm sill doSerial build 8
npm sill build typescript@3.9.6
npm info linkStuff typescript@3.9.6
npm sill linkStuff typescript@3.9.6 has /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules as its parent node_modules
npm verb linkBins [
npm verb linkBins   { tsc: 'bin/tsc', tsserver: 'bin/tsserver' },
npm verb linkBins   '/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin/tsc',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/typescript/bin/tsc'
npm sill gently link }
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin/tsserver',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/typescript/bin/tsserver'
npm sill gently link }
npm timing action:build Completed in 19ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install typescript@3.9.6
npm info lifecycle typescript@3.9.6~install: typescript@3.9.6
npm timing action:install Completed in 1ms
npm sill doSerial postinstall 8
npm sill postinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~postinstall: typescript@3.9.6
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-05548c68fe5efa52.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.staging
npm timing stage:executeActions Completed in 893ms
npm timing stage:rollbackFailedOptional Completed in 1ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build git-pack@1.0.0
npm info linkStuff git-pack@1.0.0
npm sill linkStuff git-pack@1.0.0 has /Users/recuedav/.npm/_cacache/tmp as its parent node_modules
npm sill install git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~install: git-pack@1.0.0
npm sill postinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~postinstall: git-pack@1.0.0
npm sill prepublish git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~prepublish: git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~prepare: git-pack@1.0.0
npm timing stage:runTopLevelLifecycles Completed in 2342ms
npm sill saveTree git-pack@1.0.0
npm sill saveTree └── typescript@3.9.6
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN git-pack@1.0.0 No description
npm WARN git-pack@1.0.0 No repository field.
npm WARN git-pack@1.0.0 No license field.

npm sill install printInstalled
added 1 package from 1 contributor and audited 1 package in 2.374s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 3000ms
npm info ok 
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'run',
npm verb cli   'build'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb run-script [ 'prebuild', 'build', 'postbuild' ]
npm info lifecycle git-pack@1.0.0~prebuild: git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~build: git-pack@1.0.0

> git-pack@1.0.0 build /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d
> tsc

npm verb lifecycle git-pack@1.0.0~build: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~build: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin:/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~build: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d
npm sill lifecycle git-pack@1.0.0~build: Args: [ '-c', 'tsc' ]
npm sill lifecycle git-pack@1.0.0~build: Returned: code: 0  signal: null
npm info lifecycle git-pack@1.0.0~postbuild: git-pack@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 3053ms
npm info ok 
npm verb lifecycle git-pack@1.0.0~prepack: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~prepack: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~prepack: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-9c2be06d
npm sill lifecycle git-pack@1.0.0~prepack: Args: [ '-c', 'npm install && npm run build' ]
npm sill lifecycle git-pack@1.0.0~prepack: Returned: code: 0  signal: null
npm info lifecycle git-pack@1.0.0~postpack: git-pack@1.0.0
npm sill pacote git manifest for prompt@git+https://github.com/RecuencoJones/git-pack.git#install+build fetched in 9426ms
npm sill resolveWithNewModule git-pack@1.0.0 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 9436ms
npm timing stage:loadIdealTree Completed in 9440ms
npm sill currentTree git-poc
npm sill idealTree git-poc
npm sill idealTree └── git-pack@1.0.0
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 7ms
npm sill diffTrees action count 1
npm sill diffTrees add git-pack@1.0.0
npm sill decomposeActions action count 8
npm sill decomposeActions fetch git-pack@1.0.0
npm sill decomposeActions extract git-pack@1.0.0
npm sill decomposeActions preinstall git-pack@1.0.0
npm sill decomposeActions build git-pack@1.0.0
npm sill decomposeActions install git-pack@1.0.0
npm sill decomposeActions postinstall git-pack@1.0.0
npm sill decomposeActions finalize git-pack@1.0.0
npm sill decomposeActions refresh-package-json git-pack@1.0.0
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-27a5373f1bbe905a.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules/.staging
npm sill doParallel extract 1
npm sill extract git-pack@1.0.0
npm sill tarball no local data for prompt@git+https://github.com/RecuencoJones/git-pack.git#install+build. Extracting by manifest.
npm sill extract prompt@git+https://github.com/RecuencoJones/git-pack.git#install+build extracted to /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules/.staging/prompt-d09006a8 (87ms)
npm timing action:extract Completed in 90ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules/prompt
npm timing action:finalize Completed in 2ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules/prompt
npm timing action:refresh-package-json Completed in 8ms
npm sill doParallel preinstall 1
npm sill preinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~preinstall: git-pack@1.0.0
npm timing action:preinstall Completed in 3ms
npm sill doSerial build 8
npm sill build git-pack@1.0.0
npm info linkStuff git-pack@1.0.0
npm sill linkStuff git-pack@1.0.0 has /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules as its parent node_modules
npm timing action:build Completed in 4ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~install: git-pack@1.0.0
npm timing action:install Completed in 1ms
npm sill doSerial postinstall 8
npm sill postinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~postinstall: git-pack@1.0.0
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-27a5373f1bbe905a.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/node_modules/.staging
npm timing stage:executeActions Completed in 161ms
npm timing stage:rollbackFailedOptional Completed in 1ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build git-poc
npm info linkStuff !invalid#1
npm sill linkStuff !invalid#1 has /Users/recuedav/Workspace/GitHub/RecuencoJones as its parent node_modules
npm sill install git-poc
npm info lifecycle undefined~install: undefined
npm sill postinstall git-poc
npm info lifecycle undefined~postinstall: undefined
npm sill prepublish git-poc
npm info lifecycle undefined~prepublish: undefined
npm info lifecycle undefined~prepare: undefined
npm timing stage:runTopLevelLifecycles Completed in 9657ms
npm sill saveTree git-poc
npm sill saveTree └── git-pack@1.0.0
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN git-poc No description
npm WARN git-poc No repository field.
npm WARN git-poc No license field.

npm sill install printInstalled
npm http fetch POST 400 https://registry.npmjs.org/-/npm/v1/security/audits/quick 930ms
added 1 package in 10.426s
npm verb exit [ 0, true ]
npm timing npm Completed in 11071ms
npm info ok
npm debug log (npm install --only=dev)
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'i',
npm verb cli   '-ddd'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session 1a9dc068d50c1d89
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall git+https
npm info lifecycle @~preinstall: @
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 5ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm info lifecycle git-pack@1.0.0~prepack: git-pack@1.0.0

> git-pack@1.0.0 prepack /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0
> npm install --only=dev && npm run build

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'install',
npm verb cli   '--only=dev'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session e75e2ff7cbc64196
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~preinstall: git-pack@1.0.0
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 9ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm http fetch GET 304 https://registry.npmjs.org/typescript 804ms (from cache)
npm sill pacote range manifest for typescript@3.9 fetched in 1041ms
npm sill pacote range manifest for typescript@3.9 fetched in 31ms
npm sill resolveWithNewModule typescript@3.9.6 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 1082ms
npm timing stage:loadIdealTree Completed in 1085ms
npm sill currentTree git-pack@1.0.0
npm sill idealTree git-pack@1.0.0
npm sill idealTree └── typescript@3.9.6
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd false includeOpt false
npm timing stage:generateActionsToTake Completed in 6ms
npm sill diffTrees action count 1
npm sill diffTrees add typescript@3.9.6
npm sill decomposeActions action count 8
npm sill decomposeActions fetch typescript@3.9.6
npm sill decomposeActions extract typescript@3.9.6
npm sill decomposeActions preinstall typescript@3.9.6
npm sill decomposeActions build typescript@3.9.6
npm sill decomposeActions install typescript@3.9.6
npm sill decomposeActions postinstall typescript@3.9.6
npm sill decomposeActions finalize typescript@3.9.6
npm sill decomposeActions refresh-package-json typescript@3.9.6
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-889f2ca39d6f634f.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.staging
npm sill doParallel extract 1
npm sill extract typescript@3.9.6
npm sill tarball trying typescript@3.9 by hash: sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
npm timing audit submit Completed in 236ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 236ms
npm timing audit body Completed in 1ms
npm sill extract typescript@3.9 extracted to /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.staging/typescript-9f786f66 (853ms)
npm timing action:extract Completed in 858ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/typescript
npm timing action:finalize Completed in 7ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/typescript
npm timing action:refresh-package-json Completed in 24ms
npm sill doParallel preinstall 1
npm sill preinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~preinstall: typescript@3.9.6
npm timing action:preinstall Completed in 1ms
npm sill doSerial build 8
npm sill build typescript@3.9.6
npm info linkStuff typescript@3.9.6
npm sill linkStuff typescript@3.9.6 has /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules as its parent node_modules
npm verb linkBins [
npm verb linkBins   { tsc: 'bin/tsc', tsserver: 'bin/tsserver' },
npm verb linkBins   '/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin/tsserver',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/typescript/bin/tsserver'
npm sill gently link }
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin/tsc',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/typescript/bin/tsc'
npm sill gently link }
npm timing action:build Completed in 10ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install typescript@3.9.6
npm info lifecycle typescript@3.9.6~install: typescript@3.9.6
npm timing action:install Completed in 4ms
npm sill doSerial postinstall 8
npm sill postinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~postinstall: typescript@3.9.6
npm timing action:postinstall Completed in 0ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-889f2ca39d6f634f.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.staging
npm timing stage:executeActions Completed in 933ms
npm timing stage:rollbackFailedOptional Completed in 0ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build git-pack@1.0.0
npm info linkStuff git-pack@1.0.0
npm sill linkStuff git-pack@1.0.0 has /Users/recuedav/.npm/_cacache/tmp as its parent node_modules
npm sill install git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~install: git-pack@1.0.0
npm sill postinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~postinstall: git-pack@1.0.0
npm sill prepublish git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~prepublish: git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~prepare: git-pack@1.0.0
npm timing stage:runTopLevelLifecycles Completed in 2059ms
npm sill saveTree git-pack@1.0.0
npm sill saveTree └── typescript@3.9.6
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN git-pack@1.0.0 No description
npm WARN git-pack@1.0.0 No repository field.
npm WARN git-pack@1.0.0 No license field.

npm sill install printInstalled
added 1 package from 1 contributor and audited 1 package in 2.088s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 2533ms
npm info ok 
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'run',
npm verb cli   'build'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb run-script [ 'prebuild', 'build', 'postbuild' ]
npm info lifecycle git-pack@1.0.0~prebuild: git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~build: git-pack@1.0.0

> git-pack@1.0.0 build /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0
> tsc

npm verb lifecycle git-pack@1.0.0~build: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~build: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin:/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~build: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0
npm sill lifecycle git-pack@1.0.0~build: Args: [ '-c', 'tsc' ]
npm sill lifecycle git-pack@1.0.0~build: Returned: code: 0  signal: null
npm info lifecycle git-pack@1.0.0~postbuild: git-pack@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 3453ms
npm info ok 
npm verb lifecycle git-pack@1.0.0~prepack: unsafe-perm in lifecycle true
npm verb lifecycle git-pack@1.0.0~prepack: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle git-pack@1.0.0~prepack: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-03c62ed0
npm sill lifecycle git-pack@1.0.0~prepack: Args: [ '-c', 'npm install --only=dev && npm run build' ]
npm sill lifecycle git-pack@1.0.0~prepack: Returned: code: 0  signal: null
npm info lifecycle git-pack@1.0.0~postpack: git-pack@1.0.0
npm sill pacote git manifest for git-pack@git+https://github.com/RecuencoJones/git-pack.git#install+build fetched in 9662ms
npm sill resolveWithNewModule git-pack@1.0.0 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 9676ms
npm timing stage:loadIdealTree Completed in 9680ms
npm sill currentTree git+https
npm sill idealTree git+https
npm sill idealTree └── git-pack@1.0.0
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 12ms
npm sill diffTrees action count 1
npm sill diffTrees add git-pack@1.0.0
npm sill decomposeActions action count 8
npm sill decomposeActions fetch git-pack@1.0.0
npm sill decomposeActions extract git-pack@1.0.0
npm sill decomposeActions preinstall git-pack@1.0.0
npm sill decomposeActions build git-pack@1.0.0
npm sill decomposeActions install git-pack@1.0.0
npm sill decomposeActions postinstall git-pack@1.0.0
npm sill decomposeActions finalize git-pack@1.0.0
npm sill decomposeActions refresh-package-json git-pack@1.0.0
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-9a9ceed08742ab9f.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules/.staging
npm sill doParallel extract 1
npm sill extract git-pack@1.0.0
npm sill tarball no local data for git-pack@git+https://github.com/RecuencoJones/git-pack.git#install+build. Extracting by manifest.
npm sill extract git-pack@git+https://github.com/RecuencoJones/git-pack.git#install+build extracted to /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules/.staging/git-pack-c57e0c7d (111ms)
npm timing action:extract Completed in 117ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules/git-pack
npm timing action:finalize Completed in 5ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules/git-pack
npm timing action:refresh-package-json Completed in 10ms
npm sill doParallel preinstall 1
npm sill preinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~preinstall: git-pack@1.0.0
npm timing action:preinstall Completed in 1ms
npm sill doSerial build 8
npm sill build git-pack@1.0.0
npm info linkStuff git-pack@1.0.0
npm sill linkStuff git-pack@1.0.0 has /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules as its parent node_modules
npm timing action:build Completed in 2ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~install: git-pack@1.0.0
npm timing action:install Completed in 1ms
npm sill doSerial postinstall 8
npm sill postinstall git-pack@1.0.0
npm info lifecycle git-pack@1.0.0~postinstall: git-pack@1.0.0
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-9a9ceed08742ab9f.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+https/node_modules/.staging
npm timing stage:executeActions Completed in 217ms
npm timing stage:rollbackFailedOptional Completed in 0ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build git+https
npm info linkStuff !invalid#1
npm sill linkStuff !invalid#1 has /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc as its parent node_modules
npm sill install git+https
npm info lifecycle undefined~install: undefined
npm sill postinstall git+https
npm info lifecycle undefined~postinstall: undefined
npm sill prepublish git+https
npm info lifecycle undefined~prepublish: undefined
npm info lifecycle undefined~prepare: undefined
npm timing stage:runTopLevelLifecycles Completed in 9950ms
npm sill saveTree git+https
npm sill saveTree └── git-pack@1.0.0
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN git+https No description
npm WARN git+https No repository field.
npm WARN git+https No license field.

npm sill install printInstalled
npm timing audit submit Completed in 947ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 946ms
npm timing audit body Completed in 1ms
added 1 package and audited 1 package in 10.679s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 15177ms
npm info ok 

The contents from node_modules then are:

node_modules/
    git-pack/
        dist/
            index.js
            index.d.ts
        package.json
        tsconfig.json

This is exactly what would be expected if we installed the package from the registry!
There's no trace of devDependencies in the tree as the repo was built in a temporary directory previous to packing it.

git+file?

It was suggested that git+file should do the same and have been able to test with a similar setup:

repo-app/
    package.json
repo-lib/
    src/index.ts
    .gitignore
    .npmignore
    package.json
    tsconfig.json

Where repo-lib contents are the same as https://github.com/RecuencoJones/git-pack and repo-app package.json is:

{
  "dependencies": {
    "repo-lib": "git+file:/Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-lib"
  }
}

First thing to note is that it requires a full path to the repo! Otherwise it fails with:

npm ERR! Error while executing:
npm ERR! /usr/local/bin/git ls-remote -h -t file://../repo-lib
npm ERR! 
npm ERR! fatal: '/repo-lib' does not appear to be a git repository
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! 
npm ERR! exited with error code: 128

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/recuedav/.npm/_logs/2020-07-16T07_49_32_970Z-debug.log

Because of that and because git is not able to manage repos inside repos without submodules, we would rather use git+https instead 😄

Also, running npm install in repo-app seems to trigger pack twice for repo-lib!

npm debug log
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'i',
npm verb cli   '-ddd'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session ce83ca079efd67ae
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall repo-app
npm info lifecycle @~preinstall: @
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 5ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm info lifecycle lib@1.0.0~prepack: lib@1.0.0

> lib@1.0.0 prepack /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61
> npm install && npm run build

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'install'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session 974162f504ae4e4d
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall lib@1.0.0
npm info lifecycle lib@1.0.0~preinstall: lib@1.0.0
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 6ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm http fetch GET 304 https://registry.npmjs.org/typescript 258ms (from cache)
npm sill pacote range manifest for typescript@3.9 fetched in 293ms
npm sill pacote range manifest for typescript@3.9 fetched in 7ms
npm sill resolveWithNewModule typescript@3.9.6 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 308ms
npm timing stage:loadIdealTree Completed in 310ms
npm sill currentTree lib@1.0.0
npm sill idealTree lib@1.0.0
npm sill idealTree └── typescript@3.9.6
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 3ms
npm sill diffTrees action count 1
npm sill diffTrees add typescript@3.9.6
npm sill decomposeActions action count 8
npm sill decomposeActions fetch typescript@3.9.6
npm sill decomposeActions extract typescript@3.9.6
npm sill decomposeActions preinstall typescript@3.9.6
npm sill decomposeActions build typescript@3.9.6
npm sill decomposeActions install typescript@3.9.6
npm sill decomposeActions postinstall typescript@3.9.6
npm sill decomposeActions finalize typescript@3.9.6
npm sill decomposeActions refresh-package-json typescript@3.9.6
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-9e749299324f836f.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.staging
npm sill doParallel extract 1
npm sill extract typescript@3.9.6
npm sill tarball trying typescript@3.9 by hash: sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
npm timing audit submit Completed in 227ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 227ms
npm timing audit body Completed in 0ms
npm sill extract typescript@3.9 extracted to /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.staging/typescript-5b051a41 (530ms)
npm timing action:extract Completed in 533ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/typescript
npm timing action:finalize Completed in 4ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/typescript
npm timing action:refresh-package-json Completed in 16ms
npm sill doParallel preinstall 1
npm sill preinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~preinstall: typescript@3.9.6
npm timing action:preinstall Completed in 0ms
npm sill doSerial build 8
npm sill build typescript@3.9.6
npm info linkStuff typescript@3.9.6
npm sill linkStuff typescript@3.9.6 has /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules as its parent node_modules
npm verb linkBins [
npm verb linkBins   { tsc: 'bin/tsc', tsserver: 'bin/tsserver' },
npm verb linkBins   '/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin/tsc',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/typescript/bin/tsc'
npm sill gently link }
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin/tsserver',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/typescript/bin/tsserver'
npm sill gently link }
npm timing action:build Completed in 13ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install typescript@3.9.6
npm info lifecycle typescript@3.9.6~install: typescript@3.9.6
npm timing action:install Completed in 1ms
npm sill doSerial postinstall 8
npm sill postinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~postinstall: typescript@3.9.6
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-9e749299324f836f.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.staging
npm timing stage:executeActions Completed in 580ms
npm timing stage:rollbackFailedOptional Completed in 1ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build lib@1.0.0
npm info linkStuff lib@1.0.0
npm sill linkStuff lib@1.0.0 has /Users/recuedav/.npm/_cacache/tmp as its parent node_modules
npm sill install lib@1.0.0
npm info lifecycle lib@1.0.0~install: lib@1.0.0
npm sill postinstall lib@1.0.0
npm info lifecycle lib@1.0.0~postinstall: lib@1.0.0
npm sill prepublish lib@1.0.0
npm info lifecycle lib@1.0.0~prepublish: lib@1.0.0
npm info lifecycle lib@1.0.0~prepare: lib@1.0.0
npm timing stage:runTopLevelLifecycles Completed in 921ms
npm sill saveTree lib@1.0.0
npm sill saveTree └── typescript@3.9.6
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN lib@1.0.0 No description
npm WARN lib@1.0.0 No repository field.
npm WARN lib@1.0.0 No license field.

npm sill install printInstalled
added 1 package from 1 contributor and audited 1 package in 0.946s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 1258ms
npm info ok 
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'run',
npm verb cli   'build'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb run-script [ 'prebuild', 'build', 'postbuild' ]
npm info lifecycle lib@1.0.0~prebuild: lib@1.0.0
npm info lifecycle lib@1.0.0~build: lib@1.0.0

> lib@1.0.0 build /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61
> tsc

npm verb lifecycle lib@1.0.0~build: unsafe-perm in lifecycle true
npm verb lifecycle lib@1.0.0~build: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin:/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle lib@1.0.0~build: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61
npm sill lifecycle lib@1.0.0~build: Args: [ '-c', 'tsc' ]
npm sill lifecycle lib@1.0.0~build: Returned: code: 0  signal: null
npm info lifecycle lib@1.0.0~postbuild: lib@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 1673ms
npm info ok 
npm verb lifecycle lib@1.0.0~prepack: unsafe-perm in lifecycle true
npm verb lifecycle lib@1.0.0~prepack: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle lib@1.0.0~prepack: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-a03c7b61
npm sill lifecycle lib@1.0.0~prepack: Args: [ '-c', 'npm install && npm run build' ]
npm sill lifecycle lib@1.0.0~prepack: Returned: code: 0  signal: null
npm info lifecycle lib@1.0.0~postpack: lib@1.0.0
npm sill pacote git manifest for repo-lib@git+file:/Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-lib fetched in 3628ms
npm sill resolveWithNewModule lib@1.0.0 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 3633ms
npm timing stage:loadIdealTree Completed in 3636ms
npm sill currentTree repo-app
npm sill idealTree repo-app
npm sill idealTree └── lib@1.0.0
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 6ms
npm sill diffTrees action count 1
npm sill diffTrees add lib@1.0.0
npm sill decomposeActions action count 8
npm sill decomposeActions fetch lib@1.0.0
npm sill decomposeActions extract lib@1.0.0
npm sill decomposeActions preinstall lib@1.0.0
npm sill decomposeActions build lib@1.0.0
npm sill decomposeActions install lib@1.0.0
npm sill decomposeActions postinstall lib@1.0.0
npm sill decomposeActions finalize lib@1.0.0
npm sill decomposeActions refresh-package-json lib@1.0.0
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-43506f62b3f57c91.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules/.staging
npm sill doParallel extract 1
npm sill extract lib@1.0.0
npm sill tarball no local data for repo-lib@git+file:/Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-lib. Extracting by manifest.
npm http fetch POST 400 https://registry.npmjs.org/-/npm/v1/security/audits/quick 342ms
npm info lifecycle lib@1.0.0~prepack: lib@1.0.0

> lib@1.0.0 prepack /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e
> npm install && npm run build

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'install'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb npm-session ff5c090c336f7392
npm sill install runPreinstallTopLevelLifecycles
npm sill preinstall lib@1.0.0
npm info lifecycle lib@1.0.0~preinstall: lib@1.0.0
npm sill install loadCurrentTree
npm sill install readLocalPackageData
npm timing stage:loadCurrentTree Completed in 7ms
npm sill install loadIdealTree
npm sill install cloneCurrentTreeToIdealTree
npm timing stage:loadIdealTree:cloneCurrentTree Completed in 0ms
npm sill install loadShrinkwrap
npm timing stage:loadIdealTree:loadShrinkwrap Completed in 1ms
npm sill install loadAllDepsIntoIdealTree
npm http fetch GET 304 https://registry.npmjs.org/typescript 202ms (from cache)
npm sill pacote range manifest for typescript@3.9 fetched in 235ms
npm sill pacote range manifest for typescript@3.9 fetched in 6ms
npm sill resolveWithNewModule typescript@3.9.6 checking installable status
npm timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 247ms
npm timing stage:loadIdealTree Completed in 249ms
npm sill currentTree lib@1.0.0
npm sill idealTree lib@1.0.0
npm sill idealTree └── typescript@3.9.6
npm sill install generateActionsToTake
npm sill diff-trees filtering actions: includeDev true includeProd true includeOpt false
npm timing stage:generateActionsToTake Completed in 3ms
npm sill diffTrees action count 1
npm sill diffTrees add typescript@3.9.6
npm sill decomposeActions action count 8
npm sill decomposeActions fetch typescript@3.9.6
npm sill decomposeActions extract typescript@3.9.6
npm sill decomposeActions preinstall typescript@3.9.6
npm sill decomposeActions build typescript@3.9.6
npm sill decomposeActions install typescript@3.9.6
npm sill decomposeActions postinstall typescript@3.9.6
npm sill decomposeActions finalize typescript@3.9.6
npm sill decomposeActions refresh-package-json typescript@3.9.6
npm sill install executeActions
npm sill doSerial global-install 8
npm verb correctMkdir /Users/recuedav/.npm/_locks correctMkdir not in flight; initializing
npm verb lock using /Users/recuedav/.npm/_locks/staging-a7561c9ed5c8eb83.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.staging
npm sill doParallel extract 1
npm sill extract typescript@3.9.6
npm sill tarball trying typescript@3.9 by hash: sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==
npm timing audit submit Completed in 244ms
npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 244ms
npm timing audit body Completed in 1ms
npm sill extract typescript@3.9 extracted to /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.staging/typescript-323f48fe (469ms)
npm timing action:extract Completed in 470ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/typescript
npm timing action:finalize Completed in 3ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/typescript
npm timing action:refresh-package-json Completed in 15ms
npm sill doParallel preinstall 1
npm sill preinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~preinstall: typescript@3.9.6
npm timing action:preinstall Completed in 1ms
npm sill doSerial build 8
npm sill build typescript@3.9.6
npm info linkStuff typescript@3.9.6
npm sill linkStuff typescript@3.9.6 has /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules as its parent node_modules
npm verb linkBins [
npm verb linkBins   { tsc: 'bin/tsc', tsserver: 'bin/tsserver' },
npm verb linkBins   '/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin',
npm verb linkBins   false
npm verb linkBins ]
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin/tsserver',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/typescript/bin/tsserver'
npm sill gently link }
npm sill gently link link does not already exist {
npm sill gently link   link: '/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin/tsc',
npm sill gently link   target: '/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/typescript/bin/tsc'
npm sill gently link }
npm timing action:build Completed in 8ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install typescript@3.9.6
npm info lifecycle typescript@3.9.6~install: typescript@3.9.6
npm timing action:install Completed in 0ms
npm sill doSerial postinstall 8
npm sill postinstall typescript@3.9.6
npm info lifecycle typescript@3.9.6~postinstall: typescript@3.9.6
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-a7561c9ed5c8eb83.lock for /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.staging
npm timing stage:executeActions Completed in 510ms
npm timing stage:rollbackFailedOptional Completed in 1ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build lib@1.0.0
npm info linkStuff lib@1.0.0
npm sill linkStuff lib@1.0.0 has /Users/recuedav/.npm/_cacache/tmp as its parent node_modules
npm sill install lib@1.0.0
npm info lifecycle lib@1.0.0~install: lib@1.0.0
npm sill postinstall lib@1.0.0
npm info lifecycle lib@1.0.0~postinstall: lib@1.0.0
npm sill prepublish lib@1.0.0
npm info lifecycle lib@1.0.0~prepublish: lib@1.0.0
npm info lifecycle lib@1.0.0~prepare: lib@1.0.0
npm timing stage:runTopLevelLifecycles Completed in 793ms
npm sill saveTree lib@1.0.0
npm sill saveTree └── typescript@3.9.6
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN lib@1.0.0 No description
npm WARN lib@1.0.0 No repository field.
npm WARN lib@1.0.0 No license field.

npm sill install printInstalled
added 1 package from 1 contributor and audited 1 package in 0.812s
found 0 vulnerabilities

npm verb exit [ 0, true ]
npm timing npm Completed in 1111ms
npm info ok 
npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/node',
npm verb cli   '/Users/recuedav/.nvm/versions/node/v12.18.0/bin/npm',
npm verb cli   'run',
npm verb cli   'build'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v12.18.0
npm verb run-script [ 'prebuild', 'build', 'postbuild' ]
npm info lifecycle lib@1.0.0~prebuild: lib@1.0.0
npm info lifecycle lib@1.0.0~build: lib@1.0.0

> lib@1.0.0 build /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e
> tsc

npm verb lifecycle lib@1.0.0~build: unsafe-perm in lifecycle true
npm verb lifecycle lib@1.0.0~build: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin:/Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle lib@1.0.0~build: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e
npm sill lifecycle lib@1.0.0~build: Args: [ '-c', 'tsc' ]
npm sill lifecycle lib@1.0.0~build: Returned: code: 0  signal: null
npm info lifecycle lib@1.0.0~postbuild: lib@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 1696ms
npm info ok 
npm verb lifecycle lib@1.0.0~prepack: unsafe-perm in lifecycle true
npm verb lifecycle lib@1.0.0~prepack: PATH: /Users/recuedav/.nvm/versions/node/v12.18.0/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e/node_modules/.bin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/Users/recuedav/.cargo/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/recuedav/.cargo/bin:/usr/local/opt/mysql@5.7/bin:/Users/recuedav/Downloads/Installers/instantclient_19_3:/Users/recuedav/lib:/usr/local/opt/findutils/libexec/gnubin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/opt/grep/libexec/gnubin:/usr/local/opt/curl/bin:/usr/local/opt/ruby/bin:/Users/recuedav/.nvm/versions/node/v12.18.0/bin:/Users/recuedav/.jenv/shims:/Users/recuedav/.jenv/bin:/Users/recuedav/.helm:/usr/local/opt/gettext/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin:/Users/recuedav/.custom_scripts:/Users/recuedav/go/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Users/recuedav/.rvm/bin
npm verb lifecycle lib@1.0.0~prepack: CWD: /Users/recuedav/.npm/_cacache/tmp/git-clone-c108736e
npm sill lifecycle lib@1.0.0~prepack: Args: [ '-c', 'npm install && npm run build' ]
npm sill lifecycle lib@1.0.0~prepack: Returned: code: 0  signal: null
npm info lifecycle lib@1.0.0~postpack: lib@1.0.0
npm sill extract repo-lib@git+file:/Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-lib extracted to /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules/.staging/repo-lib-79d42070 (3503ms)
npm timing action:extract Completed in 3505ms
npm sill doReverseSerial unbuild 8
npm sill doSerial remove 8
npm sill doSerial move 8
npm sill doSerial finalize 8
npm sill finalize /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules/repo-lib
npm timing action:finalize Completed in 2ms
npm sill doParallel refresh-package-json 1
npm sill refresh-package-json /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules/repo-lib
npm timing action:refresh-package-json Completed in 78ms
npm sill doParallel preinstall 1
npm sill preinstall lib@1.0.0
npm info lifecycle lib@1.0.0~preinstall: lib@1.0.0
npm timing action:preinstall Completed in 0ms
npm sill doSerial build 8
npm sill build lib@1.0.0
npm info linkStuff lib@1.0.0
npm sill linkStuff lib@1.0.0 has /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules as its parent node_modules
npm timing action:build Completed in 2ms
npm sill doSerial global-link 8
npm sill doParallel update-linked 0
npm sill doSerial install 8
npm sill install lib@1.0.0
npm info lifecycle lib@1.0.0~install: lib@1.0.0
npm timing action:install Completed in 1ms
npm sill doSerial postinstall 8
npm sill postinstall lib@1.0.0
npm info lifecycle lib@1.0.0~postinstall: lib@1.0.0
npm timing action:postinstall Completed in 1ms
npm verb unlock done using /Users/recuedav/.npm/_locks/staging-43506f62b3f57c91.lock for /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file/repo-app/node_modules/.staging
npm timing stage:executeActions Completed in 3624ms
npm timing stage:rollbackFailedOptional Completed in 0ms
npm sill install runPostinstallTopLevelLifecycles
npm sill build repo-app
npm info linkStuff !invalid#1
npm sill linkStuff !invalid#1 has /Users/recuedav/Workspace/GitHub/RecuencoJones/git-poc/git+file as its parent node_modules
npm sill install repo-app
npm info lifecycle undefined~install: undefined
npm sill postinstall repo-app
npm info lifecycle undefined~postinstall: undefined
npm sill prepublish repo-app
npm info lifecycle undefined~prepublish: undefined
npm info lifecycle undefined~prepare: undefined
npm timing stage:runTopLevelLifecycles Completed in 7292ms
npm sill saveTree repo-app
npm sill saveTree └── lib@1.0.0
npm sill install saveToDependencies
npm verb saving []
npm verb shrinkwrap skipping write for package.json because there were no changes.
npm info lifecycle undefined~preshrinkwrap: undefined
npm info lifecycle undefined~shrinkwrap: undefined
npm notice created a lockfile as package-lock.json. You should commit this file.
npm info lifecycle undefined~postshrinkwrap: undefined
npm WARN repo-app No description
npm WARN repo-app No repository field.
npm WARN repo-app No license field.

npm sill install printInstalled
added 1 package in 7.31s
npm verb exit [ 0, true ]
npm timing npm Completed in 7623ms
npm info ok 

configuration for packing file repositories

It was then suggested that we could have some setting in .npmrc where we let npm/arborist know we want to resolve file: dependencies as tarballs instead of symlinks.
This would effectively install file: dependencies with the same process run for git+https or git+file.

This raises a question, would this setting apply for all file: dependencies down the tree or just direct dependencies?

It could be some setting like tarball-file-dependencies = true.

@isaacs
Copy link
Contributor

isaacs commented Jul 16, 2020

From discussion:

  • Add config flag to say "install file: deps as packed/unpacked tarballs, rather than symlinks".
  • Pass to Arborist, so it uses pacote.extract rather than fs.symlink if that flag is set.
  • Make Arborist accept packed/unpacked directories as valid resolutions for a file: dep, rather than symlinks.

@ruyadorno ruyadorno removed the Agenda will be discussed at the Open RFC call label Jul 22, 2020
@RecuencoJones
Copy link
Contributor Author

@darcyclarke @ruyadorno will this be part of Aug 12th Open RFC Meeting?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants