Skip to content

Commit f99cc8c

Browse files
committed
fix(test): correct .npmrc file, close #42
1 parent 6fed809 commit f99cc8c

File tree

4 files changed

+67
-48
lines changed

4 files changed

+67
-48
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
"Jayson Harshbarger http://hypercubed.com/"
3030
],
3131
"dependencies": {
32-
"chdir-promise": "0.4.0",
32+
"chdir-promise": "0.4.1",
3333
"check-more-types": "2.23.0",
3434
"cross-spawn": "5.0.1",
3535
"debug": "2.3.3",
3636
"del": "2.2.2",
3737
"ggit": "1.13.4",
3838
"lazy-ass": "1.5.0",
39-
"local-or-home-npmrc": "1.0.0",
39+
"local-or-home-npmrc": "github:bahmutov/local-or-home-npmrc",
4040
"q": "2.0.3",
4141
"registry-url": "3.1.0",
4242
"repo-url": "1.0.0",

src/set-auth-token-spec.js

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
var fs = require('fs')
2+
var path = require('path')
3+
var proxyquire = require('proxyquire')
4+
var temp = require('temp')
5+
const chdir = require('chdir-promise')
6+
7+
temp.track()
8+
9+
var npmToken
10+
11+
/* global describe, beforeEach, it, afterEach */
12+
describe('set auth token', () => {
13+
let setAuthToken
14+
let dirPath
15+
16+
beforeEach((done) => {
17+
temp.mkdir('npm-utils', function (err, tempFolder) {
18+
if (err) {
19+
throw err
20+
}
21+
dirPath = tempFolder
22+
console.log('temp folder', dirPath)
23+
24+
setAuthToken = proxyquire('./set-auth-token', {
25+
'user-home': dirPath
26+
})
27+
console.log(setAuthToken)
28+
29+
npmToken = process.env.NPM_TOKEN
30+
process.env.NPM_TOKEN = '1234'
31+
32+
chdir.to(dirPath).then(() => {
33+
console.log('current folder', process.cwd())
34+
done()
35+
})
36+
})
37+
})
38+
39+
afterEach((done) => {
40+
process.env.NPM_TOKEN = npmToken
41+
chdir.back().then(() => done())
42+
})
43+
44+
it('sets the authentication token on default registry', function () {
45+
var customRegistry = 'https://npm.example.com/'
46+
var npmrcPath = path.join(dirPath, '.npmrc')
47+
var packagePath = path.join(dirPath, 'package.json')
48+
49+
fs.writeFileSync(npmrcPath, '@myco:registry=' + customRegistry, { encoding: 'utf8' })
50+
fs.writeFileSync(packagePath, '{ "name": "@myco/test-package" }', { encoding: 'utf8' })
51+
52+
return setAuthToken()
53+
.then(function () {
54+
var npmrcContents = fs.readFileSync(npmrcPath, 'utf8')
55+
console.log(npmrcContents)
56+
})
57+
})
58+
})
59+

src/set-auth-token.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ var fs = require('fs')
55
var q = require('q')
66
var formUrlToken = require('./form-auth-token')
77
var getPackage = require('./get-package')
8-
var npmrcFile = require('local-or-home-npmrc')
8+
var localOrHomeNpmrc = require('local-or-home-npmrc')
99
var debug = require('debug')('npm-utils')
1010

1111
function updateNpmrc (data) {
1212
var contents = ''
1313

14+
var npmrcFile = localOrHomeNpmrc()
1415
if (fs.existsSync(npmrcFile)) {
1516
debug('using file:', npmrcFile)
1617
contents = fs.readFileSync(npmrcFile, 'utf-8')
@@ -33,7 +34,10 @@ function updateNpmrc (data) {
3334
function setAuthToken () {
3435
var deferred = q.defer()
3536

36-
var packageName = getPackage(process.cwd()).name
37+
var cwd = process.cwd()
38+
var packageName = getPackage(cwd).name
39+
debug('package %s in folder %s', packageName, cwd)
40+
3741
var scope = packageName.split('/')[0]
3842
var registry = registryUrl(scope)
3943
console.log('setting auth token for registry', registry)

src/test/set-auth-token.js

Lines changed: 0 additions & 44 deletions
This file was deleted.

0 commit comments

Comments
 (0)