Open deepfriedmind opened 9 years ago
that's very weird... try to add the verbose
options and see what prints..
have you tried this?
gulp.task('scss-lint', function() {
return gulp.src(['src/styles/**/*.scss', '!**/*_scsslint_tmp*.scss'])
.pipe($.scssLint())
});
I've been experiencing a similar issue...
I use a similar glob to reference my source in the following task:
gulp.task('styles', ['lint:sass'], function() {
return gulp.src(config.styles.src)
.pipe(...
}
and have the same glob registered for a watch to trigger my styles
task:
gulp.watch(config.styles.src, ['styles']);
This should work such that whenever I change a file, the lint:sass
task is run, followed by the styles
task; however, whenever I change a file, I see the following output:
[13:21:41] Starting 'lint:sass'...
[13:21:41] gulp-debug: app/modules/header/header-component_scsslint_tmp9067563165859372843.scss
[13:21:41] gulp-debug: 1 items
[13:21:41] gulp-notify: [Compile Error] Input file did not exist or was not readable
[13:21:41] Finished 'lint:sass' after 246 ms
[13:21:41] Starting 'styles'...
[13:21:41] Starting 'lint:sass'...
[13:21:41] gulp-debug: app/modules/header/header-component.scss
[13:21:41] gulp-debug: 1 items
[13:21:42] Finished 'lint:sass' after 1.08 s
[BS] Reloading Browsers...
[13:21:43] Finished 'styles' after 2.29 s
As you can see, there is an additional execution of the lint:sass
task somehow, with header-component_scsslint_tmp9067563165859372843.scss
included in the stream.
I've managed to work around the issue by extending gulp.watch
to add an exclusion to the passed glob:
var EXCLUDE_GLOB = '!!(node_modules)/**/*_scsslint_tmp*'; // !(node_modules) for performance
var gulp_watch = gulp.watch;
gulp.watch = function() {
var src = arguments[0];
src = _.isString(src) ? [src] : src;
if (!_.contains(src, EXCLUDE_GLOB)) {
src.push(EXCLUDE_GLOB);
}
arguments[0] = src;
return gulp_watch.apply(gulp, arguments);
};
The result is the following, as expected:
[13:45:36] Starting 'lint:sass'...
[13:45:36] gulp-debug: app/modules/header/header-component.scss
[13:45:36] gulp-debug: 1 items
[13:45:37] Finished 'lint:sass' after 406 ms
[13:45:37] Starting 'styles'...
[BS] Reloading Browsers...
[13:45:39] Finished 'styles' after 2.51 s
thanks @SpenceDiNicolantonio !
@juanfran, I assume these temp files are generated by scss-lint itself and not by gulp-scss-lint. Can you confirm? If this is the case, I'll submit a bug to the scss-lint project. I think these files should be generated in the system's temp folder.
that's it, gulp-scss-lint
doesn't create any tmp file
I think it could be an IDE problem, I use PHPStorm (newest version) and get these weird tmp files for my js files.
Yes .js
not .scss
...
It's horrible it creates those tmp files inside source dir, and scsslint
for js files does not make any sense...
tasks/docs-scripts_scsslint_tmp1537225672253761620.js
tasks/scripts-bundle_scsslint_tmp4377624646903046346.js
I created an issue at the scss-lint inteliJ plugin https://github.com/idok/scss-lint-plugin/issues/45
While my watch task is active and the scss-lint task is run, I sporadically get errors like the following:
I suspect it's because I'm also running the scss-lint plugin for PhpStorm (so I can catch issues even before saving), and that it creates these temp files.
I've excluded them from the
src
in the Gulp task, usinggulp-ignore
, like so:...and have confirmed with
gulp-debug
that the temp files aren't piped to scss-lint – yet I still get these errors from time to time. I haven't found a way to consistently reproduce the error unfortunately. Any ideas?