Skip to content

Commit

Permalink
Merge pull request #66 from zkochan/master
Browse files Browse the repository at this point in the history
fix: download prebuilt binaries when installing with pnpm
  • Loading branch information
ralphtheninja committed Feb 8, 2018
2 parents db38ad8 + 12c6c32 commit a65b3ba
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 18 deletions.
7 changes: 4 additions & 3 deletions bin.js
Expand Up @@ -3,11 +3,11 @@
var path = require('path')
var log = require('npmlog')
var fs = require('fs')
var whichPmRuns = require('which-pm-runs')

var pkg = require(path.resolve('package.json'))
var rc = require('./rc')(pkg)
var download = require('./download')
var util = require('./util')

var prebuildClientVersion = require('./package.json').version
if (rc.version) {
Expand Down Expand Up @@ -36,9 +36,10 @@ log.info('begin', 'Prebuild-install version', prebuildClientVersion)

var opts = Object.assign({}, rc, {pkg: pkg, log: log})

var execPath = process.env.npm_execpath || process.env.NPM_CLI_JS
var pm = whichPmRuns()
var isNpm = !pm || pm.name === 'npm'

if (util.isYarnPath(execPath) && /node_modules/.test(process.cwd())) {
if (!isNpm && /node_modules/.test(process.cwd())) {
// From yarn repository
} else if (opts.force) {
log.warn('install', 'prebuilt binaries enforced with --force!')
Expand Down
3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -32,7 +32,8 @@
"rc": "^1.1.6",
"simple-get": "^2.7.0",
"tar-fs": "^1.13.0",
"tunnel-agent": "^0.6.0"
"tunnel-agent": "^0.6.0",
"which-pm-runs": "^1.0.0"
},
"devDependencies": {
"a-native-module": "^1.0.0",
Expand Down
9 changes: 0 additions & 9 deletions test/util-test.js
Expand Up @@ -190,12 +190,3 @@ test('getDownloadUrl() expands template to correct values', function (t) {
t.equal(url3, url2, 'scope does not matter for download url')
t.end()
})

test('isYarnPath(): returns correct value', function (t) {
var yarn = util.isYarnPath
t.equal(yarn(null), false)
t.equal(yarn(undefined), false)
t.equal(yarn('/usr/local/lib/node_modules/npm/bin/npm-cli.js'), false)
t.equal(yarn('/usr/local/opt/yarn/libexec/lib/node_modules/yarn/bin/yarn.js'), true)
t.end()
})
5 changes: 0 additions & 5 deletions util.js
Expand Up @@ -80,15 +80,10 @@ function localPrebuild (url) {
return path.join('prebuilds', path.basename(url))
}

function isYarnPath (execPath) {
return execPath ? /^yarn/.test(path.basename(execPath)) : false
}

exports.getDownloadUrl = getDownloadUrl
exports.urlTemplate = urlTemplate
exports.cachedPrebuild = cachedPrebuild
exports.localPrebuild = localPrebuild
exports.prebuildCache = prebuildCache
exports.npmCache = npmCache
exports.tempFile = tempFile
exports.isYarnPath = isYarnPath

0 comments on commit a65b3ba

Please sign in to comment.