Skip to content

A simple gulp plugin to take a list of files, and rather than concatenating their contents into a singular file, you concat their file names into a file, with, template, prefix and suffix options

License

Notifications You must be signed in to change notification settings

fomantic/gulp-concat-filenames

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Forked Version using updated dependencies

Original repo at https://github.com/the-simian/gulp-concat-filenames

Information

Package gulp-concat-filenames
Description Similar to concat, but creates a list of names in the output file, rather than contents being merged.
Node Version >= 12

gulp-concat-filenames

Usage

Basic Usage, No options.

var concatFilenames = require('gulp-concat-filenames');

var concatFilenamesOptions = {

};

function fileManifest(){
  gulp
      .src('./lib/**/*.*')
      .pipe(concatFilenames('manifest.txt', concatFilenamesOptions))
      .pipe(gulp.dest('./output/'));
}


gulp.task('file-manifest', fileManifest);

###Arguments

Gulp concat-filenames takes 2 arguments: filename and options

####Filename [Required]

This first argument is the name of the output file the list of filenames will be put into.

#####Options [Optional]

The second argument is optional (pun intended), and is an object with the following properties:

  • newline - The character to use in place of \n for a newline. The default value will be \n
  • prepend - Some text to prepend to every entry in the list of filenames
  • append - Some text to append to every intry in the list of filenames
  • template - a function that takes one parameter (the file name) and returns the string after some formatting. Can be used in addition to, or instead of, append and prepend
  • root - the root folder. Including this argument will return a list of relative paths instead of absolute paths.

###Examples

Given the file structure:

.
+-- somefile.txt
+-- lib
|   +-- one.txt
|   +-- two.txt
+-- gulpfile.js

var concatFilenames = require('gulp-concat-filenames');

var concatFilenamesOptions = {
    root: '/lib',
    prepend: '==> ',
    append: ' <=='
};

function fileManifest(){
  gulp
      .src('./lib/**/*.*')
      .pipe(concatFilenames('manifest.txt', concatFilenamesOptions))
      .pipe(gulp.dest('./output/'));
}


gulp.task('file-manifest', fileManifest);

running gulp file-manifest now produces a file called manifest.txt with the contents

==> one.txt <==
==> two.txt <==

Or you can use the template property, to format the output as well.

function fileNameFormatter(filename) {
   return 'XXX--' + filename.toUpperCase() + '--YYY';
}

var concatFilenames = require('gulp-concat-filenames');

var concatFilenamesOptions = {
    root: '/lib',
    template: fileNameFormatter // Pass in a function
};

function fileManifest(){
  gulp
      .src('./lib/**/*.*')
      .pipe(concatFilenames('manifest.txt', concatFilenamesOptions))
      .pipe(gulp.dest('./output/'));
}


gulp.task('file-manifest', fileManifest);

running gulp file-manifest now produces a file called manifest.txt with the contents

XXX--ONE.TXT--YYY
XXX--TWO.TXT--YYY

###Contribution If you write tests, follow semver and have something to add, I love accepting pull requests!! Any questions? Make an issue on github! <3

About

A simple gulp plugin to take a list of files, and rather than concatenating their contents into a singular file, you concat their file names into a file, with, template, prefix and suffix options

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%