Compare commits
18 commits
Author | SHA1 | Date | |
---|---|---|---|
|
1be63c5ea9 | ||
|
e0f90a8ec2 | ||
|
9ac60dfea7 | ||
|
c6cd05dde5 | ||
|
ffc8d6acf5 | ||
|
33815e4cb1 | ||
|
b7e8779c41 | ||
|
f8a7f4cf11 | ||
|
b424c0fdea | ||
|
7bc6da9277 | ||
|
49e48a457a | ||
|
ab5c4e570c | ||
|
fd9e5cf38f | ||
|
d1dbe48527 | ||
|
15d8918ec2 | ||
|
4d42d83915 | ||
|
00d61946f2 | ||
|
1c5e804817 |
8 changed files with 124 additions and 14 deletions
|
@ -1,6 +1,10 @@
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- "4"
|
- "6"
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- node_modules
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
|
|
|
@ -40,7 +40,7 @@ ghpages.publish(path.join(process.cwd(), program.dist), {
|
||||||
add: !!program.add,
|
add: !!program.add,
|
||||||
only: program.remove,
|
only: program.remove,
|
||||||
remote: program.remote,
|
remote: program.remote,
|
||||||
push: !program.noPush,
|
push: !!program.push,
|
||||||
logger: function(message) {
|
logger: function(message) {
|
||||||
process.stderr.write(message + '\n');
|
process.stderr.write(message + '\n');
|
||||||
}
|
}
|
||||||
|
|
20
changelog.md
20
changelog.md
|
@ -1,3 +1,23 @@
|
||||||
|
## v0.12.0
|
||||||
|
|
||||||
|
* [#146](https://github.com/tschaub/gh-pages/pull/146) - Updates dependencies ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#138](https://github.com/tschaub/gh-pages/pull/138) - Updated readme.md with svg image ([@sobolevn](https://github.com/sobolevn))
|
||||||
|
* [#142](https://github.com/tschaub/gh-pages/pull/142) - Update globby to version 6.1.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#134](https://github.com/tschaub/gh-pages/pull/134) - Update eslint to version 3.8.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#135](https://github.com/tschaub/gh-pages/pull/135) - Update async to version 2.1.2 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#130](https://github.com/tschaub/gh-pages/pull/130) - Update mocha to version 3.1.1 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#112](https://github.com/tschaub/gh-pages/pull/112) - Update graceful-fs to version 4.1.6 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#106](https://github.com/tschaub/gh-pages/pull/106) - Add a --tag option to the cli ([@donavon](https://github.com/donavon))
|
||||||
|
* [#102](https://github.com/tschaub/gh-pages/pull/102) - Update graceful-fs to version 4.1.5 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#89](https://github.com/tschaub/gh-pages/pull/89) - Update globby to version 5.0.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#87](https://github.com/tschaub/gh-pages/pull/87) - Update eslint-config-tschaub to version 5.0.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#78](https://github.com/tschaub/gh-pages/pull/78) - Use rimraf for cleaning ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#75](https://github.com/tschaub/gh-pages/pull/75) - Expose a "remove" option to the CLI ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#76](https://github.com/tschaub/gh-pages/pull/76) - Update eslint to version 2.8.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#70](https://github.com/tschaub/gh-pages/pull/70) - Update eslint to version 2.7.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#63](https://github.com/tschaub/gh-pages/pull/63) - Update eslint to version 2.4.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
* [#62](https://github.com/tschaub/gh-pages/pull/62) - Update eslint to version 2.3.0 🚀 ([@tschaub](https://github.com/tschaub))
|
||||||
|
|
||||||
## v0.11.0
|
## v0.11.0
|
||||||
|
|
||||||
* [#61](https://github.com/tschaub/gh-pages/pull/61) - Support a custom remote. ([@marco-c](https://github.com/marco-c))
|
* [#61](https://github.com/tschaub/gh-pages/pull/61) - Support a custom remote. ([@marco-c](https://github.com/marco-c))
|
||||||
|
|
|
@ -99,8 +99,7 @@ exports.clone = function clone(repo, dir, branch, options) {
|
||||||
return Q.resolve();
|
return Q.resolve();
|
||||||
} else {
|
} else {
|
||||||
return fs.makeTree(path.dirname(path.resolve(dir))).then(function() {
|
return fs.makeTree(path.dirname(path.resolve(dir))).then(function() {
|
||||||
var args = ['clone', repo, dir, '--branch', branch, '--single-branch',
|
var args = ['clone', repo, dir, '--branch', branch, '--single-branch', '--origin', options.remote];
|
||||||
'--origin', options.remote];
|
|
||||||
if (options.depth) {
|
if (options.depth) {
|
||||||
args.push('--depth', options.depth);
|
args.push('--depth', options.depth);
|
||||||
}
|
}
|
||||||
|
|
17
package.json
17
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "gh-pages",
|
"name": "gh-pages",
|
||||||
"version": "0.11.0",
|
"version": "0.12.0",
|
||||||
"description": "Publish to a gh-pages branch on GitHub (or any other branch on any other remote)",
|
"description": "Publish to a gh-pages branch on GitHub (or any other branch on any other remote)",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"git",
|
"git",
|
||||||
|
@ -28,17 +28,18 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": "2.1.2",
|
"async": "2.1.2",
|
||||||
"commander": "2.9.0",
|
"commander": "2.9.0",
|
||||||
"globby": "^5.0.0",
|
"globby": "^6.1.0",
|
||||||
"graceful-fs": "4.1.6",
|
"graceful-fs": "4.1.10",
|
||||||
"q": "1.4.1",
|
"q": "1.4.1",
|
||||||
"q-io": "1.13.2",
|
"q-io": "1.13.2",
|
||||||
"rimraf": "^2.5.2"
|
"rimraf": "^2.5.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"chai": "^3.4.1",
|
"chai": "^3.5.0",
|
||||||
"eslint": "3.8.0",
|
"eslint": "^3.10.2",
|
||||||
"eslint-config-tschaub": "5.0.0",
|
"eslint-config-tschaub": "^6.0.0",
|
||||||
"mocha": "^3.1.1"
|
"mocha": "^3.1.2",
|
||||||
|
"sinon": "^1.17.3"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"gh-pages": "bin/gh-pages"
|
"gh-pages": "bin/gh-pages"
|
||||||
|
|
|
@ -64,7 +64,7 @@ ghpages.publish(path.join(__dirname, 'build'), callback);
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
|
||||||
The default options work for simple cases cases. The options described below let you push to alternate branches, customize your commit messages, and more.
|
The default options work for simple cases. The options described below let you push to alternate branches, customize your commit messages, and more.
|
||||||
|
|
||||||
|
|
||||||
#### <a id="optionssrc">options.src</a>
|
#### <a id="optionssrc">options.src</a>
|
||||||
|
@ -321,4 +321,4 @@ npm run deploy
|
||||||
|
|
||||||
Note that this plugin requires Git 1.7.6 or higher (because it uses the `--exit-code` option for `git ls-remote`). If you'd like to see this working with earlier versions of Git, please [open an issue](https://github.com/tschaub/gh-pages/issues).
|
Note that this plugin requires Git 1.7.6 or higher (because it uses the `--exit-code` option for `git ls-remote`). If you'd like to see this working with earlier versions of Git, please [open an issue](https://github.com/tschaub/gh-pages/issues).
|
||||||
|
|
||||||
[](https://travis-ci.org/tschaub/gh-pages)
|
[](https://travis-ci.org/tschaub/gh-pages)
|
||||||
|
|
53
test/bin/gh-pages.spec.js
Normal file
53
test/bin/gh-pages.spec.js
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
/* eslint-env mocha */
|
||||||
|
|
||||||
|
var ghpages = require('../../lib/index');
|
||||||
|
var stub = require('../helper').stub;
|
||||||
|
var assert = require('../helper').sinon.assert;
|
||||||
|
var cli = '../../bin/gh-pages'
|
||||||
|
|
||||||
|
describe('gh-pages', function() {
|
||||||
|
beforeEach(function() {
|
||||||
|
stub(ghpages, 'publish')
|
||||||
|
})
|
||||||
|
|
||||||
|
afterEach(function() {
|
||||||
|
ghpages.publish.restore()
|
||||||
|
})
|
||||||
|
|
||||||
|
var publish = function(dist, args) {
|
||||||
|
process.argv = ['node', 'gh-pages', '-d', dist].concat(args)
|
||||||
|
require(cli);
|
||||||
|
delete require.cache[require.resolve(cli)]
|
||||||
|
}
|
||||||
|
|
||||||
|
var defaults = {
|
||||||
|
repo: undefined,
|
||||||
|
silent: false,
|
||||||
|
branch: 'gh-pages',
|
||||||
|
src: '**/*',
|
||||||
|
message: 'Updates',
|
||||||
|
dotfiles: false,
|
||||||
|
add: false,
|
||||||
|
remote: 'origin',
|
||||||
|
push: true
|
||||||
|
}
|
||||||
|
|
||||||
|
var scenarions = [
|
||||||
|
['-d lib', defaults],
|
||||||
|
['-d lib -n', {push: false}],
|
||||||
|
['-d lib -x', {silent: true}],
|
||||||
|
['-d lib -t', {dotfiles: true}],
|
||||||
|
['-d lib -a', {add: true}]
|
||||||
|
]
|
||||||
|
|
||||||
|
scenarions.forEach(function(scenario) {
|
||||||
|
var args = scenario[0].split(' ')
|
||||||
|
var config = scenario[1]
|
||||||
|
var dist = args[1]
|
||||||
|
|
||||||
|
it(args.join(' '), function() {
|
||||||
|
publish(dist, args)
|
||||||
|
assert.calledWithMatch(ghpages.publish, dist, config);
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
|
@ -1,4 +1,5 @@
|
||||||
var chai = require('chai');
|
var chai = require('chai');
|
||||||
|
var sinon = require('sinon');
|
||||||
|
|
||||||
|
|
||||||
/** @type {boolean} */
|
/** @type {boolean} */
|
||||||
|
@ -10,3 +11,35 @@ chai.config.includeStack = true;
|
||||||
* @type {function}
|
* @type {function}
|
||||||
*/
|
*/
|
||||||
exports.assert = chai.assert;
|
exports.assert = chai.assert;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sinon's spy function
|
||||||
|
* @type {function}
|
||||||
|
*/
|
||||||
|
exports.spy = sinon.spy
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sinon's stub function
|
||||||
|
* @type {function}
|
||||||
|
*/
|
||||||
|
exports.stub = sinon.stub
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sinon's mock function
|
||||||
|
* @type {function}
|
||||||
|
*/
|
||||||
|
exports.mock = sinon.mock
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sinon's API object
|
||||||
|
* @type {object}
|
||||||
|
*/
|
||||||
|
exports.sinon = sinon
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Turn of maxListeners warning during the tests
|
||||||
|
* See: https://nodejs.org/docs/latest/api/events.html#events_emitter_setmaxlisteners_n
|
||||||
|
*/
|
||||||
|
require('events').EventEmitter.prototype._maxListeners = 0;
|
||||||
|
|
||||||
|
|
Reference in a new issue