rollup-plugin-strip-shebang
v2.0.0
Published
A Rollup.js plugin to remove and optionally extract shebang.
Downloads
1,886
Maintainers
Readme
rollup-plugin-strip-shebang
A Rollup.js plugin to remove and optionally extract shebang.
DEPRECATION NOTICE
As of Rollup v3 shebang will be stripped by rollup itself, but you might still need this plugin if you need to capture the shebang in order to add it back later.
As of Rollup v4 shebang will be stripped out and added back into the output file (check it out here), making this plugin almost unnecessary.
Install
npm i rollup-plugin-strip-shebang
Usage
// example.js
#!/usr/bin/env node
console.log("Hi!");
// rollup.config.js
import { stripShebang } from "rollup-plugin-strip-shebang";
export default {
input: "example.js",
output: {
file: "bin/cli.js",
format: "cjs"
},
plugins: [
stripShebang()
]
};
Features
- Target file filtering (see include / exclude)
- Capture stripped shebang (see capture option)
- Sourcemap support (see sourcemap option)
Options
include
/ exclude
options
minimatch pattern to be used as filter, see createFilter
documentation.
syntax
include: Array<string | RegExp> | string | RegExp | null;
exclude: Array<string | RegExp> | string | RegExp | null;
capture
option
You can pass a capture function
or object
to get the stripped shebang in case you need it later.
capture
option as function
syntax
capture: (shebang: string) => void;
example
let shebang;
...
plugins: [
strip({
capture(capturedShebang) {
shebang = capturedShebang;
},
}),
]
...
console.log(shebang);
capture
option as object
syntax
capture: Object;
example
let capture = {};
...
plugins: [
strip({
capture,
}),
]
...
console.log(capture.shebang);
sourcemap
option
You can pass sourcemap: false
to speed things up a bit if you don't need source maps. Anything other than false
will default to true
, including null
and undefined
.
syntax
sourcemap: boolean = true;
example
...
output: {
file: "bin/lib.js",
sourcemap: false,
},
plugins: [
strip({
sourcemap: false,
}),
]
...
:warning: Note that you will get a warning if you set rollup to generate source maps and set this to
false
.
License
MIT © 2019-2024 Manuel Fernández