How to use gulp - 10 common examples

To help you get started, we’ve selected a few gulp examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github stefanwalther / sense-go / test / 01-index.spec.js View on Github external
it( 'reduces all .less files to a single .css file', function ( done ) {
			gulp.start.apply( gulp, ['lessReduce'] );
			gulp.on('task_stop', function ( e ) {
				expect( path.join( __dirname, './tmp/lessReduce/root.css' ) ).to.be.a.file().and.not.empty;
				expect( path.join( __dirname, './tmp/lessReduce/root.css' ) ).to.have.content( fs.readFileSync( path.join( __dirname, './expected/lessReduce/root.css'), 'utf8'));

				// Todo: doesn't work
				//expect( path.join( __dirname, './tmp/lessReduce/variables.css' ) ).to.not.be.a.file();
				//expect( path.join( __dirname, './tmp/lessReduce/whatever.css' ) ).to.not.be.a.file();
				done();
			});
		} );
github DevExpress / testcafe / Gulpfile.js View on Github external
}));

    return mergeStreams(scripts, bundledScripts)
        .pipe(gulp.dest('lib'));
});

gulp.step('client-scripts', gulp.series('client-scripts-bundle', 'client-scripts-templates-render'));

gulp.step('server-scripts-compile', () => {
    return childProcess
        .spawn('tsc -p src/tsconfig.json', { shell: true, stdio: 'inherit' });
});


// TODO: get rid of this step when we migrate to proper ES6 default imports
gulp.step('server-scripts-add-exports', () => {
    const transform = new Transform({
        objectMode: true,

        transform (file, enc, cb) {
            const fileSource = file.contents.toString();

            if (fileSource.indexOf('exports.default =') >= 0) {
                const sourceMapIndex = fileSource.indexOf('//# sourceMappingURL');
                const modifiedSource = fileSource.slice(0, sourceMapIndex) + 'module.exports = exports.default;\n' + fileSource.slice(sourceMapIndex);

                file.contents = Buffer.from(modifiedSource);
            }

            cb(null, file);
        }
    });
github DevExpress / testcafe / Gulpfile.js View on Github external
}));

    const bundledScripts = scripts
        .pipe(clone())
        .pipe(uglify())
        .pipe(rename(file => {
            file.extname = '.min.js';
        }));

    return mergeStreams(scripts, bundledScripts)
        .pipe(gulp.dest('lib'));
});

gulp.step('client-scripts', gulp.series('client-scripts-bundle', 'client-scripts-templates-render'));

gulp.step('server-scripts-compile', () => {
    return childProcess
        .spawn('tsc -p src/tsconfig.json', { shell: true, stdio: 'inherit' });
});


// TODO: get rid of this step when we migrate to proper ES6 default imports
gulp.step('server-scripts-add-exports', () => {
    const transform = new Transform({
        objectMode: true,

        transform (file, enc, cb) {
            const fileSource = file.contents.toString();

            if (fileSource.indexOf('exports.default =') >= 0) {
                const sourceMapIndex = fileSource.indexOf('//# sourceMappingURL');
                const modifiedSource = fileSource.slice(0, sourceMapIndex) + 'module.exports = exports.default;\n' + fileSource.slice(sourceMapIndex);
github webgme / webgme / src / client / bower_components / isis-ui-components / gulpfile.js View on Github external
console.log( 'Compiling templates...' );

  gulp.src( sourcePaths.libraryTemplates )
  .pipe( rename( function ( path ) {
    path.dirname = 'templates';
  } ) )
  .pipe( templateCache( libraryName + '-templates.js', {
    module: libraryTemplatesModule,
    standalone: true,
    root: '/' + libraryName + '/'
  } ) )
  .pipe( gulp.dest( buildPaths.root ) );
} );


gulp.task( 'compile-library-styles', function () {

  console.log( 'Compiling styles...' );

  gulp.src( sourcePaths.libraryStyles )
    // The onerror handler prevents Gulp from crashing when you make a mistake in your SASS
  .pipe(sourcemaps.init())
  .pipe( sass( {
    errLogToConsole: true,
    sourceComments: 'map'
  } ) )
  .pipe(sourcemaps.write())
  .pipe( rename( function ( path ) {
    path.dirname = '';
  } ) )
  .pipe( concat( libraryName + '.css' ) )
  .pipe( gulp.dest( buildPaths.root ) );
github fczbkk / workshop-automation / gulp / 04-basic-task / gulpfile.js View on Github external
gulp.task('basic', function() {
  console.log('Toto je task.');
});


/* gulp-src (minimatch) */

gulp.task('src', function() {
  var result = gulp.src('input/*.+(js|txt)');
  console.log('src', result);
});


/* gulp-dest (vinyl) */

gulp.task('dest', function() {
  gulp.src('input/**/*')
    .pipe(gulp.dest('output'));
});


/* gulp-watch */

gulp.task('watch', function() {
  gulp.watch('input/*', function(event) {
    console.log('event', event.type, event.path);
  });
});


/* watch and call task */
github jhipster / jdl-studio / gulpfile.js View on Github external
function serve(path) {
    // Serve files from the root of this project
    browserSync.init({
        server: {
            baseDir: path,
            index: "index-dev.html"
        }
    });

    gulp.watch("index-dev.html").on("change", reload);
    gulp.watch("partials/*.html").on("change", reload);
    gulp.watch("js/*.js").on("change", reload);
    gulp.watch("codemirror/*").on("change", reload);
    gulp.watch("nomnoml/*").on("change", reload);
    gulp.watch("css/*.css").on("change", reload);
}
github CALIL / unitrad-ui / gulpfile.babel.js View on Github external
.pipe((page.replace_js && page.replace_js.length > 2) ? replace(page.replace_js[2].match, page.replace_js[2].replacement) : through.obj())
    .pipe(gulp.dest(destDir));
});


gulp.task('copy:assets:local', () => {
  return gulp.src([configDir + 'assets/*'], {base: configDir}).pipe(gulp.dest(destDir))
});


gulp.task('copy:assets:global', () => {
  return gulp.src(['src/assets/*'], {base: 'src'}).pipe(gulp.dest(destDir))
});


gulp.task('build:html', gulp.series(gulp.parallel('copy:assets:local', 'copy:assets:global'), () => {
  /* HTMLをビルドする */
  let page = JSON.parse(fs.readFileSync(configDir + 'pageconfig.json'));
  if (process.env.NODE_ENV !== 'production') {
    page.siteUrl = null;
  }
  let values = {
    page: page,
    url: page.siteUrl,
    head: ejs.render(fs.readFileSync('./src/html/head.ejs', {encoding: 'utf8'}), {url: page.siteUrl}),
    body: fs.readFileSync('./src/html/body.ejs', {encoding: 'utf8'}),
    script: ejs.render(fs.readFileSync('./src/html/script.ejs', {encoding: 'utf8'}), {url: page.siteUrl})
  };
  console.log(configDir + 'index.html')
  return gulp.src(['index.html'], {cwd: configDir})
    .pipe(gulpEjs(values, {}, {ext: ".html"}))
    .pipe(gulp.dest(destDir))
github c-h- / universal-native-boilerplate / gulpfile.js View on Github external
}
setSettings(argv);

if (global.settings.production) {
  // in production mode, make sure environment is production
  process.env.NODE_ENV = 'production';
}

// Customize CLI behavior
// Make gulp think we have tasks so that it doesn't error
if (argv._) {
  if (argv._[0] && argv._[0].indexOf(':') > -1) {
    gutil.log(gutil.colors.red('Running subtasks is not allowed due to unknown behavior.'));
    process.exit();
  }
  const tasks = Object.keys(gulp.tasks);
  // fill in missing tasks
  const toFillIn = ['_', 'platform', 'recipe'];
  toFillIn.forEach((key) => {
    if (argv[key]) {
      const vals = Array.isArray(argv[key]) ? argv[key] : [argv[key]];
      vals.forEach((taskName) => {
        if (tasks.indexOf(taskName) === -1) {
          gulp.task(taskName, () => {});
        }
      });
    }
  });
}

require('./boilerplate/scripts/analyze.js');
require('./boilerplate/scripts/build.js');
github joelcoxokc / slush-y / slushy / index.js View on Github external
return function (done){
            // console.log(this.storage.get('me'))
            /**
             * Set options.generator equal to the context of the current gulp taks;
             * @type {Object};
             */
            options.generator = new Generator( this, options, __this );
            _.extend(gulp.tasks.default, options.generator);

            options.doneCallback = done;

            return __stream.validate( options )

                .then( __stream.flow          )
                .then( __stream.defaults      )
                .then( __stream.prompts       )
                .then( __stream.configuration )
                .then( __stream.filter        )
                .then( __stream.paths         )
                .then( __stream.use           )
                .catch( done )
          }
        }
github pubnub / javascript / gulpfile.babel.js View on Github external
const uglify = require('gulp-uglify');
const rename = require('gulp-rename');
const exec = require('child_process').exec;
const Karma = require('karma').Server;
const mocha = require('gulp-mocha');
const runSequence = require('gulp4-run-sequence');
const gulpIstanbul = require('gulp-istanbul');
const sourcemaps = require('gulp-sourcemaps');
const packageJSON = require('./package.json');
const gzip = require('gulp-gzip');
const unzip = require('gulp-unzip');

// increase mocha timeout from default of 2000 to allow long running async tests to complete
const mochaTimeout = 5000;

gulp.on('error', process.exit.bind(process, 1));
gulp.task('clean', () => {
  return gulp
    .src(['lib', 'dist', 'coverage', 'upload'], { read: false, allowEmpty: true })
    .pipe(clean());
});

gulp.task('babel', () => {
  return gulp
    .src('src/**/*.js')
    .pipe(sourcemaps.init())
    .pipe(babel())
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('lib'));
});

gulp.task('unzip_titanium_sdk', () => {