From 7d28a10594c370194b8c23dfa95e533b2b6067b2 Mon Sep 17 00:00:00 2001 From: Cyril Sobierajewicz Date: Mon, 3 Dec 2018 11:50:55 +0100 Subject: Annotate errors to prevent redundant parsing by other loaders --- src/index.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index ec9af5f..0b4ecf8 100644 --- a/src/index.js +++ b/src/index.js @@ -190,6 +190,8 @@ module.exports = function purescriptLoader(source, map) { }, emitError: pscMessage => { if (pscMessage.length) { + const modules = []; + const matchErrorsSeparator = /\n(?=Error)/; const errors = pscMessage.split(matchErrorsSeparator); for (const error of errors) { @@ -218,6 +220,11 @@ module.exports = function purescriptLoader(source, map) { } } + const desc = { + name: baseModuleName, + filename: baseModulePath + }; + if (typeof this.extractPursDependenciesFromError === 'function') { const dependencies = this.extractPursDependenciesFromError(error) || []; @@ -225,9 +232,11 @@ module.exports = function purescriptLoader(source, map) { this.addDependency(dep); } } + + modules.push(desc); } - CACHE_VAR.errors.push(pscMessage); + CACHE_VAR.errors.push(Object.assign(new Error(pscMessage), { modules })); } } } -- cgit v1.2.3