mirror of
https://github.com/scratchfoundation/gh-pages.git
synced 2024-11-24 16:28:02 -05:00
Use glob and fs instead of Grunt, fixes #2
This commit is contained in:
parent
2824fd7ee9
commit
b190a605bb
3 changed files with 16 additions and 9 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
before_install: npm install -g npm
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
- "0.10"
|
- "0.10"
|
||||||
|
|
21
lib/index.js
21
lib/index.js
|
@ -1,9 +1,10 @@
|
||||||
var path = require('path');
|
var path = require('path');
|
||||||
|
var fs = require('fs');
|
||||||
|
|
||||||
var Q = require('q');
|
var Q = require('q');
|
||||||
var wrench = require('wrench');
|
var wrench = require('wrench');
|
||||||
var _ = require('lodash');
|
var _ = require('lodash');
|
||||||
var grunt = require('grunt');
|
var glob = require('glob');
|
||||||
|
|
||||||
var pkg = require('../package.json');
|
var pkg = require('../package.json');
|
||||||
var git = require('./git');
|
var git = require('./git');
|
||||||
|
@ -70,23 +71,29 @@ exports.publish = function publish(config, done) {
|
||||||
// override defaults with any task options
|
// override defaults with any task options
|
||||||
var options = _.extend({}, defaults, config);
|
var options = _.extend({}, defaults, config);
|
||||||
|
|
||||||
if (!grunt.file.isDir(options.base)) {
|
try {
|
||||||
done(new Error('The "base" option must be an existing directory'));
|
if (!fs.statSync(options.base).isDirectory()) {
|
||||||
|
done(new Error('The "base" option must be an existing directory'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
done(err);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var files = grunt.file.expand({
|
var files = glob.sync(options.src, {
|
||||||
filter: 'isFile',
|
|
||||||
cwd: options.base,
|
cwd: options.base,
|
||||||
dot: options.dotfiles
|
dot: options.dotfiles
|
||||||
}, options.src);
|
}).filter(function(file) {
|
||||||
|
return !fs.statSync(path.join(options.base, file)).isDirectory();
|
||||||
|
});
|
||||||
|
|
||||||
if (!Array.isArray(files) || files.length === 0) {
|
if (!Array.isArray(files) || files.length === 0) {
|
||||||
done(new Error('Files must be provided in the "src" property.'));
|
done(new Error('Files must be provided in the "src" property.'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var only = grunt.file.expand({cwd: options.base}, options.only);
|
var only = glob.sync(options.only, {cwd: options.base});
|
||||||
|
|
||||||
function log(message) {
|
function log(message) {
|
||||||
if (!options.silent) {
|
if (!options.silent) {
|
||||||
|
|
|
@ -36,10 +36,9 @@
|
||||||
"async": "0.2.9",
|
"async": "0.2.9",
|
||||||
"wrench": "1.5.1",
|
"wrench": "1.5.1",
|
||||||
"lodash": "~2.4.1",
|
"lodash": "~2.4.1",
|
||||||
"grunt": "~0.4.5"
|
"glob": "~4.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"glob": "~3.2.9",
|
|
||||||
"mocha": "~1.18.2",
|
"mocha": "~1.18.2",
|
||||||
"jshint": "~2.4.4",
|
"jshint": "~2.4.4",
|
||||||
"chai": "~1.9.1"
|
"chai": "~1.9.1"
|
||||||
|
|
Loading…
Reference in a new issue