Skip to content

Instantly share code, notes, and snippets.

@dockleryxk
Last active October 15, 2020 18:56
Show Gist options
  • Save dockleryxk/dc006f38884f901cada9863faf614592 to your computer and use it in GitHub Desktop.
Save dockleryxk/dc006f38884f901cada9863faf614592 to your computer and use it in GitHub Desktop.
Gulpfile to compile scss to css and copy result to clipboard. Handy!!
'use strict'
// npm i gulp node-sass gulp-sass clipboardy through2
var gulp = require('gulp')
var sass = require('gulp-sass')
var clipboardy = require('clipboardy')
var through2 = require('through2')
sass.compiler = require('node-sass')
function compileScss() {
var opts = {
outputStyle: 'expanded'
}
return gulp.src('./*.scss')
.pipe(sass(opts).on('error', sass.logError))
.pipe(through2.obj(function (file, enc, callback) {
if (file.isNull()) {
this.push(file)
return callback()
}
if (file.isStream()) {
return callback(new Error('Streaming not supported'))
}
if (file.isBuffer()) {
clipboardy.writeSync(String(file.contents))
this.push(file)
}
return callback(null, file)
}))
.pipe(gulp.dest('.'))
}
gulp.task('sass', compileScss)
gulp.task('sass:watch', function () {
gulp.watch('./*.scss', compileScss)
})
gulp.task('default', gulp.series('sass', 'sass:watch'))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment