284 Commits

Author SHA1 Message Date
Stephan Bönnemann
e1baf1892a chore: setup release branch 2015-08-24 12:00:59 +02:00
Stephan Bönnemann
4aa908804c fix(condition-travis): remove need for python script travis_after_all 2015-08-23 00:53:04 +02:00
Stephan Bönnemann
23221cc044 chore(package): update last-release-npm to 1.2.1 2015-08-22 21:48:00 +02:00
Stephan Bönnemann
7a4c89f131 feat: add fallbackTag functionality and map "next" to "latest"
You can now map dist-tags onto "fallbackTags". E.g. if you want a
development channel like "next" and no version is currently published as "next"
semantic-release will fallback to "latest" to determine the new "next" version.
This is now the default for "next" -> "latest", but you can specify your own
mappings by adding "fallbackTags" to your `package.json`'s "release" field.

BREAKING CHANGE: In cases where you pushed a new commit with a "dist-tag"
configuration of "next" and no version was previously published as "next",
semanitc-release failed and did not publish a new version. It will now
automatically fall back to to "latest".
2015-08-22 21:36:11 +02:00
Stephan Bönnemann
700ec9d4ca feat(plugins): run verifications in series
With this new feature you can pass an array of plugin locations/names to
both "verifyConditions" and "verifyRelease" in your `package.json`'s "release"
field. This will run multiple verification plugins in series.
2015-08-22 14:52:01 +02:00
Stephan Bönnemann
810b3533dd refactor(nerf-dart): use module from npm 2015-08-20 14:31:18 +02:00
Ari Porad
7ceac76689 feat(plugins): add getLastRelease hook
The code to determine the last-release is now in its own repository: https://github.com/semantic-release/last-release-npm
One can overwrite that behavior by defining a "getLastRelease" plugin. This way
one can decouple semantic-release from npm, e.g. by implementing a git-tag
based version. This is already worked on: https://github.com/semantic-release/last-release-git-tag

Closes #56
2015-08-18 13:56:24 +02:00
Stephan Bönnemann
55364ded40 fix(package): remove dependency bundling
Removes dependency bundling, because it's broken for scoped modules with npm
right now. Keeps npm from logging four ugly warnings upon install.
Can be reverted once https://github.com/npm/npm/issues/9175 is closed.
2015-08-10 17:10:58 +02:00
Stephan Bönnemann
3a7be436e9 chore(package): update standard 2015-08-10 17:09:46 +02:00
Stephan Bönnemann
fb1aa80f26 fix(package): fix version ranges for engines to include specified versions 2015-08-04 14:15:52 +02:00
Stephan Bönnemann
8dd79565d0 chore(package): add required engines 2015-07-22 17:20:05 +02:00
Stephan Bönnemann
22a283a027 chore: prepare to move back to main repo#next 2015-07-19 16:05:03 +02:00
Stephan Bönnemann
d9eeb3fcae refactor: use one config object instead of passing arguments to plugins on their own
This commit does a lot but it's all connected and tries to make everything more extensible and future proof.

1. CLI arguments and options from the "package.json" are no longer treated as two different things. You can now pass options either way.

BREAKING CHANGE: cli arguments are now normalized to camelCase, so e.g. `options['github-url']` is now `options.githubUrl`

2. Plugins no longer receive config they need one by one, but in one huge object. This way it's easier to pass more info in the future w/o breaking existing plugins that rely on the position of the callback in the arguments array.

BREAKING CHANGE: Plugins now need to read their passed options from one huge config object.

Old:
```js
module.exports = function (pluginConfig, foo, bar, cb) {…}
```

New:
```js
// ES5
module.exports = function(pluginConfig, config, cb) {
  var foo = config.foo
  var bar = config.bar
  …
}

// ES6
module.exports = function (pluginConfig, {foo, bar}, cb) {…}
```
2015-07-19 15:34:30 +02:00
Stephan Bönnemann
626315e9fe feat(package): update condition-travis 2015-07-17 14:56:44 +02:00
Stephan Bönnemann
f5573f7494 chore(package): bump condition-travis 2015-07-17 10:01:52 +02:00
Stephan Bönnemann
2d3506cda1 chore: setup semantic-release 2015-07-17 09:35:53 +02:00
Stephan Bönnemann
72f9f8ea7c chore: rename to scripts 2015-07-16 19:36:42 +02:00
Stephan Bönnemann
59d852d6fb feat(post): initial 2015-07-16 17:30:23 +02:00
Stephan Bönnemann
ba5222af52 chore(package): update semver 2015-07-14 21:13:36 +02:00
Stephan Bönnemann
13e2f5ce78 feat(cli): add verifyConditions hook 2015-07-14 21:13:36 +02:00
Stephan Bönnemann
0316babf7a refactor(error): use error module 2015-07-14 12:25:36 +02:00
Stephan Bönnemann
43c8df0bfe fix(plugins): require user plugins relative to the cwd 2015-07-13 12:03:05 +02:00
Stephan Bönnemann
f247ed8741 chore(package): remove integration tests from default test command 2015-07-09 15:33:59 +02:00
Stephan Bönnemann
a0190b7ad3 feat(bin): implement cli 2015-07-09 02:10:39 +02:00
Stephan Bönnemann
c6f95e4870 test(pre): initial cli/integration suite 2015-07-09 02:10:39 +02:00
Stephan Bönnemann
4d58af7145 test(base-scenario): creates nixt testing base 2015-07-09 02:10:38 +02:00
Stephan Bönnemann
32c1dcf75b test(registry): lib to start and stop an npm-registry-couchapp 2015-07-09 02:10:38 +02:00
Stephan Bönnemann
44a18fd5cf chore(package): install commit analyzer and release note generator 2015-06-19 17:33:27 -07:00
Stephan Bönnemann
e24c7c3833 chore(coverage): switch to coveralls 2015-06-18 16:48:28 -07:00
Stephan Bönnemann
057e8e9759 feat(plugins): normalize plugins and have unified function signature 2015-06-18 16:48:28 -07:00
Stephan Bönnemann
a4fe18cade feat(pre): plugging last-release, commits and type together 2015-06-14 21:49:50 -07:00
Stephan Bönnemann
a405021d08 feat(type): initial functionality 2015-06-14 19:40:05 -07:00
Stephan Bönnemann
d6172b8767 test(commits): initial suite 2015-06-14 18:17:25 -07:00
Stephan Bönnemann
56238887d3 chore: config files 2015-06-14 18:17:25 -07:00