]> git.immae.eu Git - github/fretlink/purs-loader.git/blobdiff - src/index.js
Merge pull request #1 from cyrilfretlink/3.3.0
[github/fretlink/purs-loader.git] / src / index.js
index ec9af5fd1e1922c3ea584529dfbb012ad6228c68..8a2e468229d95b405bd740189044bc04fc16c1d9 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,16 +220,25 @@ module.exports = function purescriptLoader(source, map) {
             }
           }
 
-          if (typeof this.extractPursDependenciesFromError === 'function') {
-            const dependencies = this.extractPursDependenciesFromError(error) || [];
+          const desc = {
+            name: baseModuleName,
+            filename: baseModulePath
+          };
+
+          if (typeof this.describePscError === 'function') {
+            const { dependencies = [], details } = this.describePscError(error, desc);
 
             for (const dep of dependencies) {
               this.addDependency(dep);
             }
+
+            Object.assign(desc, details);
           }
+
+          modules.push(desc);
         }
 
-        CACHE_VAR.errors.push(pscMessage);
+        CACHE_VAR.errors.push(new utils.PscError(pscMessage, modules));
       }
     }
   }