add-dist-header

Adds a header comment to a file and saves it to your distribution folder (written in TypeScript)

Usage no npm install needed!

<script type="module">
  import addDistHeader from 'https://cdn.skypack.dev/add-dist-header';
</script>

README

Add Dist Header

logo

Adds a header comment to a file and saves it to your distribution folder

License:MIT npm Vulnerabilities Build

add-dist-header uses the name, homepage, and license from your project's package.json file to create a header comment and prepend it to a build file.

Example header comment for a .js file:

//! my-app v0.3.7 ~~ https://github.com/my-org/my-app ~~ MIT License

Example header comment for a .css file:

/*! my-app v0.3.7 ~~ https://github.com/my-org/my-app ~~ MIT License */

Automatically prepending headers to distribution files is particularly handy when your build tools are configured to remove comments (such as if "removeComments": true in set in tsconfig.json). For a real-world example, see the files in the dist folder at w3c-html-validator

1) Setup

Install

Install package for node:

$ npm install --save-dev add-dist-header

2) Usage

Call add-dist-header from the "scripts" section of your package.json file.

The first parameter is the source file (defaults to "build/*"). The second parameter is the output folder (defaults to "dist").

Example package.json script:

   "scripts": {
      "add-headers": "add-dist-header build dist"
   },

Alternatively, you can run add-dist-header directly from the terminal in your project home folder.

Example terminal command:

$ ls package.json
package.json
$ npx add-dist-header "build" "dist"
[17:13:50] add-dist-header dist/my-app.d.ts 413.11 kB
[17:13:51] add-dist-header dist/my-app.js 1,569.70 kB

The parameters are optional:

$ npx add-dist-header  #same as above since "build/*" "dist" are the default parameter values
[17:13:50] add-dist-header dist/my-app.d.ts 413.11 kB
[17:13:51] add-dist-header dist/my-app.js 1,569.70 kB
$ npx add-dist-header "meta/config.js"  #creates "dist/config.js" prepended with header
[17:15:03] add-dist-header dist/config.js 3.91 kB

3) Version Number Substitution

In addition to prepending the header comment, add-dist-header also replaces all occurrences of ~~~version~~~ with the version number found in the package.json file. This enables inserting the current package version number into your distribution files.

The substitution feature is disabled by setting --version flag to false:

   "scripts": {
      "add-headers": "add-dist-header --version=false build dist"
   },

4) CLI Flags

Flag Description Values Default
--delimiter Characters separating the parts
of the header comment.
string ~~
--replace Delete the original first line
comment (if not marked ! important).
true, false true
--version Substitute occurrences of ~~~version~~~
with the package.json version number.
true, false true


MIT License