]> git.immae.eu Git - github/fretlink/purs-loader.git/commitdiff
Annotate errors to prevent redundant parsing by other loaders
authorCyril Sobierajewicz <cyril.sobierajewicz@fretlink.com>
Mon, 3 Dec 2018 10:50:55 +0000 (11:50 +0100)
committerCyril Sobierajewicz <cyril.sobierajewicz@fretlink.com>
Mon, 3 Dec 2018 10:57:30 +0000 (11:57 +0100)
src/index.js

index ec9af5fd1e1922c3ea584529dfbb012ad6228c68..0b4ecf8263c99d0ed1eb43912c65bbe1d8cc6f17 100644 (file)
@@ -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 }));
       }
     }
   }