Quick hack until TypeStrong/ts-node#1258 is implemented.
- Invokes
node --loader ts-node/esm
, passes additional flags and env vars to achieve benefits outlined below - Passes absolute path to
--loader
to ensure hook is loaded when running script from different cwd - Sets correct
TS_NODE_PROJECT
to get the behavior you'd expect from the ts-node CLI - Suppresses node's warning about how
--loader
is experimental
npm i cspotcode/ts-node-esm ts-node
#!/usr/bin/env ts-node-esm
console.log('Hello world!');