syntax-error-stack

1.3.1 • Public • Published

Just better syntax error log for nodejs.

Example

a.js

require('./b')

b.js

! some invalid js, await async yield debugger

CLI

it is ignoring ts, tsx, jsx and css file extensions by default

yarn ses examples/simple/a.js
yarn run v1.17.3
$ bin/ses.js examples/simple/a.js
entry:  /Users/d.o.kuznetsov/github/syntax-error-stack/examples/simple/a.js
filename /Users/d.o.kuznetsov/github/syntax-error-stack/examples/simple/a.js
filename /Users/d.o.kuznetsov/github/syntax-error-stack/examples/simple/b.js
Total files number:  2
Total loads:         2

Bad require chain #1
  → /Users/d.o.kuznetsov/github/syntax-error-stack/examples/simple/b.js
...

JS API

is not ignoring any extensions by default, use require-hacker or something else

index.js

const ses = require('syntax-error-stack')
 
ses(require.resolve('./a'))

The result log will be:

$ node examples/simple/index.js

Bad require chain #1
  → /Users/xxx/github/syntax-error-stack/examples/simple/b.js
  → /Users/xxx/github/syntax-error-stack/examples/simple/a.js
  → /Users/xxx/github/syntax-error-stack/index.js
  → .

/Users/xxx/github/syntax-error-stack/examples/simple/b.js:1
(function (exports, require, module, __filename, __dirname) { ! some invalid js, await async yield debugger
                                                                     ^^^^^^^

Explanation

You can have a huge dependency tree, and only one bad file. It is important to extract not only filename, but full require chain.

syntax-error-stack uses non-stable API Module._compile and Module._extensions – same is used in require-hacker module. So, each js-file require is actually wrapped with custom function, which, in case of compile problems, stores errors and full require chains for log.

See /index.js for details – it is not too big/hard to read and understand.

Also, you could easily count the total number of files in your dependency tree, and list them all via CLI.

/syntax-error-stack/

    Package Sidebar

    Install

    npm i syntax-error-stack

    Weekly Downloads

    2

    Version

    1.3.1

    License

    MIT

    Unpacked Size

    8.62 kB

    Total Files

    13

    Last publish

    Collaborators

    • diokuz