Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03534e51bc | ||
|
|
85b35aaed3 | ||
|
|
360a514171 | ||
|
|
90174c80a0 |
@@ -1,10 +1,10 @@
|
|||||||
# semantic-release
|
# semantic-release
|
||||||
|
|
||||||
[](https://travis-ci.org/semantic-release/semantic-release)
|
[](https://travis-ci.org/semantic-release/semantic-release)
|
||||||
[](https://coveralls.io/github/semantic-release/semantic-release?branch=next)
|
[](https://coveralls.io/github/semantic-release/semantic-release?branch=master)
|
||||||
|
|
||||||
[](https://david-dm.org/semantic-release/semantic-release/next)
|
[](https://david-dm.org/semantic-release/semantic-release/master)
|
||||||
[](https://david-dm.org/semantic-release/semantic-release/next#info=devDependencies)
|
[](https://david-dm.org/semantic-release/semantic-release/master#info=devDependencies)
|
||||||
|
|
||||||
[](https://gitter.im/semantic-release/semantic-release?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
[](https://gitter.im/semantic-release/semantic-release?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
[](https://github.com/semantic-release/semantic-release)
|
[](https://github.com/semantic-release/semantic-release)
|
||||||
|
|||||||
+1
-7
@@ -24,7 +24,7 @@
|
|||||||
"@semantic-release/commit-analyzer": "^2.0.0",
|
"@semantic-release/commit-analyzer": "^2.0.0",
|
||||||
"@semantic-release/condition-travis": "^4.0.0",
|
"@semantic-release/condition-travis": "^4.0.0",
|
||||||
"@semantic-release/error": "^1.0.0",
|
"@semantic-release/error": "^1.0.0",
|
||||||
"@semantic-release/last-release-npm": "^1.1.1",
|
"@semantic-release/last-release-npm": "^1.2.1",
|
||||||
"@semantic-release/release-notes-generator": "^2.0.0",
|
"@semantic-release/release-notes-generator": "^2.0.0",
|
||||||
"git-head": "^1.2.1",
|
"git-head": "^1.2.1",
|
||||||
"github": "^0.2.4",
|
"github": "^0.2.4",
|
||||||
@@ -66,12 +66,6 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"publishConfig": {
|
|
||||||
"tag": "next"
|
|
||||||
},
|
|
||||||
"release": {
|
|
||||||
"branch": "next"
|
|
||||||
},
|
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/semantic-release/semantic-release.git"
|
"url": "git+https://github.com/semantic-release/semantic-release.git"
|
||||||
|
|||||||
+4
-2
@@ -1,5 +1,6 @@
|
|||||||
const { readFileSync, writeFileSync } = require('fs')
|
const { readFileSync, writeFileSync } = require('fs')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
|
const url = require('url')
|
||||||
|
|
||||||
const _ = require('lodash')
|
const _ = require('lodash')
|
||||||
const log = require('npmlog')
|
const log = require('npmlog')
|
||||||
@@ -42,11 +43,12 @@ npmconf.load({}, (err, conf) => {
|
|||||||
token: env.NPM_TOKEN
|
token: env.NPM_TOKEN
|
||||||
},
|
},
|
||||||
loglevel: conf.get('loglevel'),
|
loglevel: conf.get('loglevel'),
|
||||||
registry: conf.get('registry'),
|
registry: require('./lib/get-registry')(pkg, conf),
|
||||||
tag: (pkg.publishConfig || {}).tag || conf.get('tag') || 'latest'
|
tag: (pkg.publishConfig || {}).tag || conf.get('tag') || 'latest'
|
||||||
}
|
}
|
||||||
|
|
||||||
if (npm.registry[npm.registry.length - 1] !== '/') npm.registry += '/'
|
// normalize trailing slash
|
||||||
|
npm.registry = url.format(url.parse(npm.registry))
|
||||||
|
|
||||||
log.level = npm.loglevel
|
log.level = npm.loglevel
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
module.exports = function (pkg, conf) {
|
||||||
|
if (pkg.publishConfig && pkg.publishConfig.registry) return pkg.publishConfig.registry
|
||||||
|
|
||||||
|
if (pkg.name[0] !== '@') return conf.get('registry') || 'https://registry.npmjs.org/'
|
||||||
|
|
||||||
|
const scope = pkg.name.split('/')[0]
|
||||||
|
const scopedRegistry = conf.get(`${scope}/registry`)
|
||||||
|
|
||||||
|
if (scopedRegistry) return scopedRegistry
|
||||||
|
|
||||||
|
return conf.get('registry') || 'https://registry.npmjs.org/'
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
const test = require('tap').test
|
||||||
|
|
||||||
|
const getRegistry = require('../../dist/lib/get-registry')
|
||||||
|
|
||||||
|
test('get correct registry', (t) => {
|
||||||
|
t.is(getRegistry({
|
||||||
|
name: 'publish-config',
|
||||||
|
publishConfig: {
|
||||||
|
registry: 'a'
|
||||||
|
}},
|
||||||
|
{}), 'a')
|
||||||
|
|
||||||
|
t.is(getRegistry({name: 'normal'}, {get: () => 'b'}), 'b')
|
||||||
|
|
||||||
|
t.is(getRegistry({name: 'normal'}, {get: () => null}), 'https://registry.npmjs.org/')
|
||||||
|
|
||||||
|
t.is(getRegistry({name: '@scoped/foo'}, {
|
||||||
|
get: (input) => input === '@scoped/registry' ? 'c' : 'd'
|
||||||
|
}), 'c')
|
||||||
|
|
||||||
|
t.is(getRegistry({name: '@scoped/bar'}, {
|
||||||
|
get: () => 'e'
|
||||||
|
}), 'e')
|
||||||
|
|
||||||
|
t.is(getRegistry({name: '@scoped/baz'}, {
|
||||||
|
get: () => null
|
||||||
|
}), 'https://registry.npmjs.org/')
|
||||||
|
|
||||||
|
t.end()
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user