The above message appears everytime the gulp gets to the 'markup' function.
Here is my gulpfile:
var gulp = require('gulp'),
autoPrefixer = require('gulp-autoprefixer'),
jade = require('gulp-jade'),
liveReload = require('gulp-livereload'),
sourceMaps = require('gulp-sourcemaps'),
ts = require('gulp-typescript'),
tsLint = require('gulp-tslint'),
watch = require('gulp-watch'),
sass = require('gulp-sass');
// Configuration
var config = {
js: 'public/_assets/frontend/js',
css: 'public/_assets/frontend/css',
fonts: 'public/_assets/frontend/fonts',
images: 'public/_assets/frontend/img',
markup: 'public/'
};
// Javascript
gulp.task('scripts', function() {
var tsResult = gulp.src(['src/ts/*.ts', 'src/ts/**/*.ts'])
.pipe(tsLint())
.pipe(ts({
noImplicitAny: true
}));
tsResult.js
.pipe(gulp.dest(config.js))
.pipe(liveReload());
});
// Sass
gulp.task('sass', function() {
return gulp.src(['src/sass/*.scss', 'src/sass/**/*.scss'])
.pipe(watch(['src/sass/*.scss', 'src/sass/**/*.scss']))
.pipe(sourceMaps.init())
.pipe(sass.sync().on('error', sass.logError))
.pipe(autoPrefixer({
browsers: ['last 3 versions'],
cascade: false
}))
.pipe(sourceMaps.write())
.pipe(gulp.dest(config.css))
.pipe(liveReload());
});
// jade
gulp.task('markup', function() {
return gulp.src([['src/**/*.jade', 'src/**/_*.jade']])
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(config.markup))
.pipe(liveReload());
});
// Images
gulp.task('images', function() {
return gulp.src(['src/images/**/*.*', 'src/images/*.*'])
.pipe(gulp.dest(config.images));
});
// Watch
gulp.task('watch', function() {
liveReload.listen();
gulp.watch(['src/ts/*.ts', 'src/ts/**/*.ts'], ['scripts']);
gulp.watch(['src/sass/*.scss', 'src/sass/**/*.scss'], ['sass']);
gulp.watch(['src/*.jade', 'src/**/*.jade'], ['markup']);
});
// Default Task
gulp.task('default', function() {
gulp.start('sass', 'scripts', 'markup', 'images', 'watch');
});
// Dist Scripts
gulp.task('distScripts', function() {
return gulp.src(['src/ts/plugins/**/*', 'src/ts/*.js'], { "base" : "./src/ts" })
.pipe(gulp.dest(config.js));
});
// Dist Styles
gulp.task('distStyles', function() {
return gulp.src('src/sass/**/*.css', { "base" : "./src/sass" })
.pipe(autoPrefixer({
browsers: ['last 3 versions'],
cascade: false
}))
.pipe(gulp.dest(config.css));
});
// Dist Fonts
gulp.task('distFonts', function() {
return gulp.src('src/fonts/**/*', { "base" : "./src/fonts" })
.pipe(gulp.dest(config.fonts));
});
// Dist
gulp.task('dist', function() {
gulp.start('distScripts', 'distStyles', 'images', 'distFonts');
});
Here is the message I get when I run 'gulp':
(node:9460) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version. [00:39:30] Using gulpfile D:\Projects\FrontEnd\Project\gulpfile.js [00:39:30] Starting 'default'... [00:39:30] Starting 'sass'... [00:39:30] Starting 'scripts'... [00:39:30] Finished 'scripts' after 4.66 ms [00:39:30] Starting 'markup'... [00:39:30] 'markup' errored after 86 μs [00:39:30] Error: Missing positive glob
at Object.gs.create (D:\Projects\FrontEnd\Project\node_modules\gulp\node_modules\glob-stream\index.js:73:39)
at Gulp.src (D:\Projects\FrontEnd\Project\node_modules\gulp\node_modules\vinyl-fs\lib\src\index.js:33:23)
at Gulp.<anonymous> (D:\Projects\FrontEnd\Project\gulpfile.js:50:14)
at module.exports (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:214:10)
at D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:279:18
at finish (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:21:8)
at module.exports (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:60:3)
at Gulp.Orchestrator._runTask (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:273:3) [00:39:30] Finished 'default' after 42 ms
Any idea why? Seems like it happens when rendering Jade... All the dependencies are installed of course.
The above message appears everytime the gulp gets to the 'markup' function.
Here is my gulpfile:
var gulp = require('gulp'),
autoPrefixer = require('gulp-autoprefixer'),
jade = require('gulp-jade'),
liveReload = require('gulp-livereload'),
sourceMaps = require('gulp-sourcemaps'),
ts = require('gulp-typescript'),
tsLint = require('gulp-tslint'),
watch = require('gulp-watch'),
sass = require('gulp-sass');
// Configuration
var config = {
js: 'public/_assets/frontend/js',
css: 'public/_assets/frontend/css',
fonts: 'public/_assets/frontend/fonts',
images: 'public/_assets/frontend/img',
markup: 'public/'
};
// Javascript
gulp.task('scripts', function() {
var tsResult = gulp.src(['src/ts/*.ts', 'src/ts/**/*.ts'])
.pipe(tsLint())
.pipe(ts({
noImplicitAny: true
}));
tsResult.js
.pipe(gulp.dest(config.js))
.pipe(liveReload());
});
// Sass
gulp.task('sass', function() {
return gulp.src(['src/sass/*.scss', 'src/sass/**/*.scss'])
.pipe(watch(['src/sass/*.scss', 'src/sass/**/*.scss']))
.pipe(sourceMaps.init())
.pipe(sass.sync().on('error', sass.logError))
.pipe(autoPrefixer({
browsers: ['last 3 versions'],
cascade: false
}))
.pipe(sourceMaps.write())
.pipe(gulp.dest(config.css))
.pipe(liveReload());
});
// jade
gulp.task('markup', function() {
return gulp.src([['src/**/*.jade', 'src/**/_*.jade']])
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(config.markup))
.pipe(liveReload());
});
// Images
gulp.task('images', function() {
return gulp.src(['src/images/**/*.*', 'src/images/*.*'])
.pipe(gulp.dest(config.images));
});
// Watch
gulp.task('watch', function() {
liveReload.listen();
gulp.watch(['src/ts/*.ts', 'src/ts/**/*.ts'], ['scripts']);
gulp.watch(['src/sass/*.scss', 'src/sass/**/*.scss'], ['sass']);
gulp.watch(['src/*.jade', 'src/**/*.jade'], ['markup']);
});
// Default Task
gulp.task('default', function() {
gulp.start('sass', 'scripts', 'markup', 'images', 'watch');
});
// Dist Scripts
gulp.task('distScripts', function() {
return gulp.src(['src/ts/plugins/**/*', 'src/ts/*.js'], { "base" : "./src/ts" })
.pipe(gulp.dest(config.js));
});
// Dist Styles
gulp.task('distStyles', function() {
return gulp.src('src/sass/**/*.css', { "base" : "./src/sass" })
.pipe(autoPrefixer({
browsers: ['last 3 versions'],
cascade: false
}))
.pipe(gulp.dest(config.css));
});
// Dist Fonts
gulp.task('distFonts', function() {
return gulp.src('src/fonts/**/*', { "base" : "./src/fonts" })
.pipe(gulp.dest(config.fonts));
});
// Dist
gulp.task('dist', function() {
gulp.start('distScripts', 'distStyles', 'images', 'distFonts');
});
Here is the message I get when I run 'gulp':
(node:9460) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version. [00:39:30] Using gulpfile D:\Projects\FrontEnd\Project\gulpfile.js [00:39:30] Starting 'default'... [00:39:30] Starting 'sass'... [00:39:30] Starting 'scripts'... [00:39:30] Finished 'scripts' after 4.66 ms [00:39:30] Starting 'markup'... [00:39:30] 'markup' errored after 86 μs [00:39:30] Error: Missing positive glob
at Object.gs.create (D:\Projects\FrontEnd\Project\node_modules\gulp\node_modules\glob-stream\index.js:73:39)
at Gulp.src (D:\Projects\FrontEnd\Project\node_modules\gulp\node_modules\vinyl-fs\lib\src\index.js:33:23)
at Gulp.<anonymous> (D:\Projects\FrontEnd\Project\gulpfile.js:50:14)
at module.exports (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:34:7)
at Gulp.Orchestrator._runTask (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:273:3)
at Gulp.Orchestrator._runStep (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:214:10)
at D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:279:18
at finish (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:21:8)
at module.exports (D:\Projects\FrontEnd\Project\node_modules\orchestrator\lib\runTask.js:60:3)
at Gulp.Orchestrator._runTask (D:\Projects\FrontEnd\Project\node_modules\orchestrator\index.js:273:3) [00:39:30] Finished 'default' after 42 ms
Any idea why? Seems like it happens when rendering Jade... All the dependencies are installed of course.
Share Improve this question asked Jun 30, 2016 at 21:49 NaxonNaxon 1,4145 gold badges22 silver badges40 bronze badges 2- Seems like you are using an array inside an array to read your files with gulp.src(). It should be: gulp.src(['src/**/*.jade', 'src/**/_.jade']) and not: gulp.src([['src/**/.jade', 'src/**/_*.jade']]) – Daniel Commented Jun 30, 2016 at 22:48
- Please post this as an answer... So this worked, but for some reason the live reload does not refresh the page when I update a page... (I'm using a python server) – Naxon Commented Jul 1, 2016 at 9:16
1 Answer
Reset to default 9Seems like you are using an multidimensional array [["item1","item2"]]
. To read your files with gulp.src()
you should use a string like 'path/to/*.jade'
or an simple onedimensional array like ["path/to/first/*.jade", "path/to/second/glob/**/*.jade"]
.
In your case the JADE-Task should look like this:
// jade
gulp.task('markup', function() {
return gulp.src(['src/**/*.jade', 'src/**/_*.jade'])
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(config.markup))
.pipe(liveReload());
});
Regarding your watch-task:
You should call your livereload in an own task as a callback of your watch-task. It is also remended to define the root path of your destination folder, as an argument option in the liveReload()
object.
// Watch
gulp.task('livereload', function() {
return gulp.src('./dist')
.pipe(
liveReload({
start: true,
basePath: 'path/to/destination'
})
);
});
gulp.task('watch', ['livereload'], function() {
liveReload.listen()
gulp.watch(['src/ts/*.ts', 'src/ts/**/*.ts'], ['scripts']);
gulp.watch(['src/sass/*.scss', 'src/sass/**/*.scss'], ['sass']);
gulp.watch(['src/*.jade', 'src/**/*.jade'], ['markup']);
});
Do not forget to start your watch-task in your default-task
// Dist
gulp.task('dist', ['watch'], function() {
gulp.start('distScripts', 'distStyles', 'images', 'distFonts');
});