
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
add-dist-header
Advanced tools
Prepend a one-line banner comment (with license notice) to distribution files
<img src=https://centerkey.com/graphics/center-key-logo.svg align=right width=200 alt=logo>
Prepend a one-line banner comment (with license notice) to distribution files
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.
<img src=https://raw.githubusercontent.com/center-key/add-dist-header/main/screenshot.png width=800 alt=screenshot>
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
Install package for node:
$ npm install --save-dev add-dist-header
Run 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": "dist-header build dist"
},
Try out the first script with the command: npm run make-dist
You can install add-dist-header globally and then run it anywhere directly from the terminal.
Example terminal commands:
$ npm install --global add-dist-header
$ dist-header "build" "dist"
[17:13:50] dist-header build/my-app.d.ts --> dist/my-app.d.ts (413.11 KB)
[17:13:51] dist-header build/my-app.js --> dist/my-app.js (1,569.70 KB)
The parameters are optional:
$ dist-header #same as above since "build/*" "dist" are the default parameter values
[17:13:50] dist-header build/my-app.d.ts --> dist/my-app.d.ts (413.11 KB)
[17:13:51] dist-header build/my-app.js --> dist/my-app.js (1,569.70 KB)
$ dist-header "meta/config.js" #creates "dist/config.js" prepended with header
[17:15:03] dist-header meta/config.js --> dist/config.js (3.91 KB)
const validFlags = ['delimiter', 'keep', 'no-version', 'quiet'];
Command-line flags:
Flag | Description | Values | Default |
---|---|---|---|
--delimiter | Characters separating the parts of the header comment. | string | ~~ |
--keep | Do not delete the original first line comment. | N/A | N/A |
--no-version | Do not substitute occurrences of ~~~version~~~ with the package.json version number. | N/A | N/A |
--quiet | Suppress informational messages. | N/A | N/A |
In addition to prepending the header comment, add-dist-header also replaces all occurrences of
~~~version~~~
in each file with the version number found in package.json.
This enables inserting the current package version number into your distribution files.
The substitution feature is disabled by setting --version
flag to false
:
Examples:
dist-header temp dist --delimiter=🔥
Use "🔥" as the separator instead of "~~".dist-header --no-version build dist
Add headers but do not substitute the version number.Even though add-dist-header is primarily intended for build scripts, the package can easily be used programmatically in ESM and TypeScript projects.
Example:
import { addDistHeader } from 'add-dist-header';
const options = {
dist: 'dist',
delimiter: '🚀🚀🚀',
};
const result = addDistHeader.prepend('build/rocket.js', options);
console.log('The size of the new file is:', result.size);
See the TypeScript Declarations at the top of add-dist-header.ts for documentation.
CLI Build Tools
Feel free to submit questions at:
github.com/center-key/add-dist-header/issues
FAQs
Prepend a one-line banner comment (with license notice) to distribution files
The npm package add-dist-header receives a total of 18 weekly downloads. As such, add-dist-header popularity was classified as not popular.
We found that add-dist-header demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.