gulp-group-concat

Concats groups of files into a smaller number of files

Usage no npm install needed!

<script type="module">
  import gulpGroupConcat from 'https://cdn.skypack.dev/gulp-group-concat';
</script>

README

Gulp Group Concat

Concatenates and filters groups of files into a smaller number of files.

Build Status

Code Climate

Coverage Status

Dependencies

NPM version

Concatenate files that match minimatch-styled file globs

Groups all files into either final.inline.js and final.test.js.

var gulp = require('gulp'),
  groupConcat = require('gulp-group-concat');

gulp.src('**/*.js')
  .pipe(groupConcat({
    'final.inline.js': ['**/*.js', '!**/*.test.js'],
    'final.test.js': '**/*.test.js'
  }))
  .pipe(gulp.dest('dest'));

Duplicate files that match more than one file glob

Put only components into components.js but include everything in all.js.

var gulp = require('gulp'),
  groupConcat = require('gulp-group-concat');

gulp.src('**/*.js')
  .pipe(groupConcat({
    'components.js': '**/components/*.js',
    'all.js': '**/*.js'
  }))
  .pipe(gulp.dest('dest'));

Filter files that do not match any file glob

Include all files that are not tests into no-tests.js.

var gulp = require('gulp'),
  groupConcat = require('gulp-group-concat');

gulp.src('**/*.js')
  .pipe(groupConcat({
    'no-tests.js': '!**/*.test.js'
  }))
  .pipe(gulp.dest('dest'));

Supports source-maps

Source-maps are duplicated, filtered, and concatenated as expects.

var gulp = require('gulp'),
  groupConcat = require('gulp-group-concat'),
  sourcemaps = require('gulp-sourcemaps'),
  please = require('gulp-pleeease');

gulp.src('./test/fixtures/*.css')
  .pipe(sourcemaps.init())
  .pipe(please()) //or anything else that supports gulp-sourcemaps
  .pipe(groupConcat({
    'final.inline.css': '**/*.inline.css',
    'final.css': '**/*.css'
  }))
  .pipe(sourcemaps.write('.'))
  .pipe(gulp.dest('dest'));

Install

npm install gulp-group-concat

Running Tests

To run the basic tests, just run mocha normally.

This assumes you've already installed the local npm packages with npm install.