Replace ts-node-script
and ts-node
shebangs with node
shebangs in
compiled scripts.
{
"scripts": {
"build": "tsc",
"postbuild": "shebang-trim dist/cli.js"
}
}
Before:
#!/usr/bin/env ts-node-script
'use strict';
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
...
#!/usr/bin/env node
'use strict';
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
...
When creating a TypeScript CLI it's helpful to use ts-node-script
during
development. In production, the CLI ships with compiled sources which are
runnable using node
. If the compiled source still depends on
ts-node-script
, it won't run unless ts-node
is installed.
tsc
passes through the existing shebang line at compile-time.
This script rewrites it.
Pull requests welcome!
If you are having issues, please let me know.
The project is licensed under the MIT license.