diff options
author | Cyril Sobierajewicz <38043722+cyrilfretlink@users.noreply.github.com> | 2019-03-18 14:06:12 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-18 14:06:12 +0100 |
commit | d2dedd26a0ff0133904956198ce694c241214dfa (patch) | |
tree | ef9b29e62f4ae837926f1adcde72aa090ff8b461 /src | |
parent | 8a5fcc4d12c8526871d82cb5ea5760a32d1ae813 (diff) | |
parent | 5f7ec4c3db5bd3c6388ca346ab2ebde794c1b07d (diff) | |
download | purs-loader-d2dedd26a0ff0133904956198ce694c241214dfa.tar.gz purs-loader-d2dedd26a0ff0133904956198ce694c241214dfa.tar.zst purs-loader-d2dedd26a0ff0133904956198ce694c241214dfa.zip |
Merge pull request #3 from cyrilfretlink/4.1.0
Version 4.1.0
Diffstat (limited to 'src')
-rw-r--r-- | src/index.js | 13 | ||||
-rw-r--r-- | src/utils.js | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/index.js b/src/index.js index 28246e3..be809c6 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -202,6 +202,19 @@ module.exports = function purescriptLoader(source, map) { | |||
202 | const baseModulePath = path.join(this.rootContext, filename); | 202 | const baseModulePath = path.join(this.rootContext, filename); |
203 | this.addDependency(baseModulePath); | 203 | this.addDependency(baseModulePath); |
204 | 204 | ||
205 | const foreignModulesErrorCodes = [ | ||
206 | 'ErrorParsingFFIModule', | ||
207 | 'MissingFFIImplementations', | ||
208 | 'UnusedFFIImplementations', | ||
209 | 'MissingFFIModule' | ||
210 | ]; | ||
211 | for (const code of foreignModulesErrorCodes) { | ||
212 | if (error.includes(code)) { | ||
213 | const resolved = utils.resolveForeignModule(baseModulePath); | ||
214 | this.addDependency(resolved); | ||
215 | } | ||
216 | } | ||
217 | |||
205 | const matchErrModuleName = /in module ((?:\w+\.)*\w+)/; | 218 | const matchErrModuleName = /in module ((?:\w+\.)*\w+)/; |
206 | const [, baseModuleName] = matchErrModuleName.exec(error) || []; | 219 | const [, baseModuleName] = matchErrModuleName.exec(error) || []; |
207 | if (!baseModuleName) continue; | 220 | if (!baseModuleName) continue; |
diff --git a/src/utils.js b/src/utils.js index b6ccf81..829ba72 100644 --- a/src/utils.js +++ b/src/utils.js | |||
@@ -33,3 +33,7 @@ exports.resolvePursModule = ({ baseModulePath, baseModuleName, targetModuleName | |||
33 | `${path.join(...parts)}.purs`) | 33 | `${path.join(...parts)}.purs`) |
34 | : baseModulePath; | 34 | : baseModulePath; |
35 | }; | 35 | }; |
36 | |||
37 | exports.resolveForeignModule = pursModulePath => | ||
38 | path.join(path.dirname(pursModulePath), | ||
39 | path.basename(pursModulePath, path.extname(pursModulePath)) + '.js'); | ||