# gulp-header

> Gulp extension to add header to file(s) in the pipeline.

Latest version **2.0.12** (published 2026-02-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install gulp-header
pnpm add gulp-header
yarn add gulp-header
bun add gulp-header
```

## Health

**Score 63/100 (C)** — status: stable.

Positive: has types package; no vulnerabilities; has provenance; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 2.0.12 |
| Published | 2026-02-21 |
| First published | 2013-10-04 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/gulp-header) |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 106 |
| Author | Michael J. Ryan |
| Maintainers | tracker1, yocontra |
| Keywords | header, gulpplugin, eventstream |

## Links

- npm: https://www.npmjs.com/package/gulp-header
- Repository: https://github.com/gulp-community/gulp-header
- Homepage: https://github.com/gulp-community/gulp-header#readme
- Issues: https://github.com/gulp-community/gulp-header/issues
- npm.io page: https://npm.io/package/gulp-header

## Dependencies (4)

- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [through2](https://npm.io/package/through2.md) ^4.0.2
- [map-stream](https://npm.io/package/map-stream.md) ^0.0.7
- [concat-with-sourcemaps](https://npm.io/package/concat-with-sourcemaps.md) ^1.1.0

## Alternatives

- [byte-size](https://npm.io/package/byte-size.md) — 2.1M weekly downloads
- [speed-limiter](https://npm.io/package/speed-limiter.md) — 16.0K weekly downloads
- [@powersync/node](https://npm.io/package/@powersync/node.md) — 10.9K weekly downloads
- [@ledgerhq/coin-cardano](https://npm.io/package/@ledgerhq/coin-cardano.md) — 1.0K weekly downloads
- [@jayesol/jayeson.lib.streamfinder](https://npm.io/package/@jayesol/jayeson.lib.streamfinder.md) — 1.0K weekly downloads

## Recent versions

- 2.0.12 (latest) — 2026-02-21
- 2.0.10 — 2026-02-20
- 2.0.9 — 2019-07-12
- 2.0.8 — 2019-07-12
- 2.0.7 — 2018-12-13
- 2.0.5 — 2018-03-08
- 1.8.12 — 2018-03-08
- 2.0.3 — 2018-03-08
- 1.8.10 — 2018-03-08
- 2.0.2 — 2018-03-08
- 2.0.1 — 2018-01-17
- 1.8.9 — 2017-07-17
- 1.8.8 — 2016-08-10
- 1.8.7 — 2016-06-21
- 1.8.6 — 2016-06-21
- … 19 more at https://npm.io/package/gulp-header/versions

## README

The canonical location of this project is now [gulp-community/gulp-header](https://github.com/gulp-community/gulp-header).

# gulp-header

[![npm version](https://img.shields.io/github/package-json/v/gulp-community/gulp-header)](https://www.npmjs.com/package/gulp-header)
[![Actions Status](https://github.com/gulp-community/gulp-header/workflows/Tests/badge.svg)](https://github.com/gulp-community/gulp-header/actions)
[![Code Coverage](https://img.shields.io/coveralls/github/gulp-community/gulp-header)](https://github.com/gulp-community/gulp-header)
[![Dependency Status](https://img.shields.io/librariesio/release/npm/gulp-header)](https://libraries.io/npm/gulp-header)
![Github Issues](https://img.shields.io/github/issues/gulp-community/gulp-header?style=plastic) 
[![MIT License](https://img.shields.io/github/license/gulp-community/gulp-header)](./LICENSE)

gulp-header is a [Gulp](https://github.com/gulpjs/gulp) extension to add a header to file(s) in the pipeline.  [Gulp is a streaming build system](https://github.com/gulpjs/gulp) utilizing [node.js](http://nodejs.org/).

## Install

```javascript
npm install --save-dev gulp-header
```

## Usage

```javascript
// assign the module to a local variable
var header = require('gulp-header');


// literal string
// NOTE: a line separator will not be added automatically
gulp.src('./foo/*.js')
  .pipe(header('Hello'))
  .pipe(gulp.dest('./dist/'))


// ejs style templating
gulp.src('./foo/*.js')
  .pipe(header('Hello <%= name %>\n', { name : 'World'} ))
  .pipe(gulp.dest('./dist/'))


// ES6-style template string
gulp.src('./foo/*.js')
  .pipe(header('Hello ${name}\n', { name : 'World'} ))
  .pipe(gulp.dest('./dist/'))


// using data from package.json
var pkg = require('./package.json');
var banner = ['/**',
  ' * <%= pkg.name %> - <%= pkg.description %>',
  ' * @version v<%= pkg.version %>',
  ' * @link <%= pkg.homepage %>',
  ' * @license <%= pkg.license %>',
  ' */',
  ''].join('\n');

gulp.src('./foo/*.js')
  .pipe(header(banner, { pkg : pkg } ))
  .pipe(gulp.dest('./dist/'))


// reading the header file from disk
var fs = require('fs');
gulp.src('./foo/*.js')
  .pipe(header(fs.readFileSync('header.txt', 'utf8'), { pkg : pkg } ))
  .pipe(gulp.dest('./dist/'))


// for use with coffee-script
return gulp.src([
        'src/*.coffee',
    ])
    .pipe(header(banner, { pkg : pkg } ))
    .pipe(sourcemaps.init()) // init sourcemaps *after* header
    .pipe(coffee({
        bare: true
    }))
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest('dist/js'))
```

## Issues and Alerts

My handle on twitter is [@tracker1](https://twitter.com/tracker1) - If there is an urgent issue, I get twitter notifications sent to my phone.

## API

### header(text, data)

#### text

Type: `String`
Default: `''`

The template text.


#### data

Type: `Object`
Default: `{}`

The data object used to populate the text.

In addition to the passed in data, `file` will be the [stream object](https://github.com/gulpjs/vinyl#instance-properties) for the file being templated against and `filename` will be the path relative from the stream's basepath.

*NOTE: using `false` will disable template processing of the header*

---
_Source: https://npm.io/package/gulp-header · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
