A CLI tool that imports a module and logs all its exports with syntax highlighting.
npm install @kentcdodds/log-moduleA CLI tool that imports a module and logs all its exports with syntax highlighting.
``bash`
npx @kentcdodds/log-module ./path/to/module.ts
Or install globally:
`bash`
npm install -g @kentcdodds/log-module
log-module ./path/to/module.ts
- Logs all exports with colorized output using util.inspect@babel/code-frame
- Awaits promises and indicates when a value was awaited
- Handles rejected promises gracefully with clean stack traces
- Syntax-highlighted code frames for syntax errors (via )
- Works with Node.js and Bun
Given a module:
`typescript`
// example.ts
export const name = 'world'
export const config = { nested: { deep: true } }
export const getData = async () => ({ data: 'fetched' })
export const promise = Promise.resolve({ resolved: 'success' })
export const failing = Promise.reject(new Error('Oops'))
Running log-module example.ts outputs:
`
name:
'world'
config:
{ nested: { deep: true } }
getData:
[AsyncFunction: getData]
promise (awaited):
{ resolved: 'success' }
failing (awaited):
rejected promise: Error: Oops
at /path/to/example.ts:5:40
`
When a module has a syntax error, you get a highlighted code frame:
`
Failed to import module: Expected ',', got 'missing'
1 | export const broken = {
2 | foo: "bar"
> 3 | missing: "comma"
| ^ Expected ',', got 'missing'
4 | }
``
MIT