How to preserve correct line numbers with node js and babel

Viewed 1109

I have the following setup and have an issue with my error/stack trace am i missing something ?

package.json looks like:

{
  "name": "xxxxxx",
  "main": "server.js",
  "private": true,
  "scripts": {
    "start": "nodemon --exec ./node_modules/.bin/babel-node server.js"
  },
  "dependencies": {
    "babel": "^6.5.2",
    "babel-cli": "^6.6.5",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "babel-preset-stage-0": "^6.5.0",
    "babel-runtime": "^6.6.1"
  }
}

.babelrc looks like:

{
  presets: ["es2015", "stage-0", "react"],
  sourceMap: 'inline',
  retainLines: true
}

server.js looks like:

let aVar = '';

throw new Error('some error');
import errorHandler from './app/middlewares/error_handler';

My stack trace is crazy

module.js:341
    throw err;
    ^
Error: Cannot find module 'bugsnag'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/home/projectName/lib/util/error.js:14:113)
    at Module._compile (module.js:413:34)
    at loader (/home/projectName/node_modules/babel-register/lib/node.js:126:5)
    at Object.require.extensions.(anonymous function) [as .js] (/home/projectName/node_modules/babel-register/lib/node.js:136:7)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/home/projectName/app/middlewares/error_handler.js:11:91)
    at Module._compile (module.js:413:34)
    at loader (/home/projectName/node_modules/babel-register/lib/node.js:126:5)
    at Object.require.extensions.(anonymous function) [as .js] (/home/projectName/node_modules/babel-register/lib/node.js:136:7)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (/home/projectName/server.js:15:22)
    at Module._compile (module.js:413:34)

As you can see this does not look right and really hard to follow. i am sure there's a way to fix that.

1 Answers
Related