| 238 | } |
| 239 | |
| 240 | throwFormattedBroccoliError(err) { |
| 241 | // TODO fix ember-cli/console-ui to handle current broccoli broccoliPayload |
| 242 | let broccoliPayload = err && err.broccoliPayload; |
| 243 | if (broccoliPayload) { |
| 244 | if (!broccoliPayload.error) { |
| 245 | let originalError = broccoliPayload.originalError || {}; |
| 246 | let location = broccoliPayload.location || originalError.location; |
| 247 | broccoliPayload.error = { |
| 248 | message: originalError.message, |
| 249 | stack: originalError.stack, |
| 250 | errorType: originalError.type || 'Build Error', |
| 251 | codeFrame: originalError.codeFrame || originalError.message, |
| 252 | location: location || {}, |
| 253 | }; |
| 254 | } |
| 255 | if (!broccoliPayload.broccoliNode) { |
| 256 | broccoliPayload.broccoliNode = { |
| 257 | nodeName: broccoliPayload.nodeName, |
| 258 | nodeAnnotation: broccoliPayload.nodeAnnotation, |
| 259 | instantiationStack: broccoliPayload.instantiationStack || '', |
| 260 | }; |
| 261 | } |
| 262 | if (!broccoliPayload.versions) { |
| 263 | broccoliPayload.versions = { |
| 264 | broccoli: require('broccoli/package').version, |
| 265 | node: process.version, |
| 266 | }; |
| 267 | } |
| 268 | } |
| 269 | |
| 270 | throw err; |
| 271 | } |
| 272 | } |
| 273 | |
| 274 | module.exports = Builder; |