From e28cbb4ec85b3292814d91e357a3b39115d12232 Mon Sep 17 00:00:00 2001 From: Cyril Sobierajewicz Date: Mon, 18 Mar 2019 14:08:02 +0100 Subject: Build v4.1.0 --- lib/index.js | 55 ++++++++++++++++++++++++++++++++++++++++++------------- lib/utils.js | 4 ++++ 2 files changed, 46 insertions(+), 13 deletions(-) diff --git a/lib/index.js b/lib/index.js index 3f37e3c..c6e88f8 100644 --- a/lib/index.js +++ b/lib/index.js @@ -216,6 +216,35 @@ module.exports = function purescriptLoader(source, map) { var baseModulePath = path.join(_this.rootContext, filename); _this.addDependency(baseModulePath); + var foreignModulesErrorCodes = ['ErrorParsingFFIModule', 'MissingFFIImplementations', 'UnusedFFIImplementations', 'MissingFFIModule']; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = foreignModulesErrorCodes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var code = _step2.value; + + if (error.includes(code)) { + var resolved = utils.resolveForeignModule(baseModulePath); + _this.addDependency(resolved); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + var matchErrModuleName = /in module ((?:\w+\.)*\w+)/; var _ref4 = matchErrModuleName.exec(error) || [], @@ -234,12 +263,12 @@ module.exports = function purescriptLoader(source, map) { targetModuleName = _ref7[1]; if (targetModuleName) { - var resolved = utils.resolvePursModule({ + var _resolved = utils.resolvePursModule({ baseModulePath: baseModulePath, baseModuleName: baseModuleName, targetModuleName: targetModuleName }); - _this.addDependency(resolved); + _this.addDependency(_resolved); } } @@ -254,28 +283,28 @@ module.exports = function purescriptLoader(source, map) { dependencies = _describePscError$dep === undefined ? [] : _describePscError$dep, details = _describePscError.details; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; try { - for (var _iterator2 = dependencies[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var dep = _step2.value; + for (var _iterator3 = dependencies[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var dep = _step3.value; _this.addDependency(dep); } } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; + _didIteratorError3 = true; + _iteratorError3 = err; } finally { try { - if (!_iteratorNormalCompletion2 && _iterator2.return) { - _iterator2.return(); + if (!_iteratorNormalCompletion3 && _iterator3.return) { + _iterator3.return(); } } finally { - if (_didIteratorError2) { - throw _iteratorError2; + if (_didIteratorError3) { + throw _iteratorError3; } } } diff --git a/lib/utils.js b/lib/utils.js index 3b9ba19..3c73fc6 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -61,4 +61,8 @@ exports.resolvePursModule = function (_ref) { var parts = diffPursModuleNames(baseModuleName.split('.'), targetModuleName.split('.'), []); return parts.length ? path.resolve(baseModulePath, path.join.apply(path, _toConsumableArray(parts)) + '.purs') : baseModulePath; +}; + +exports.resolveForeignModule = function (pursModulePath) { + return path.join(path.dirname(pursModulePath), path.basename(pursModulePath, path.extname(pursModulePath)) + '.js'); }; \ No newline at end of file -- cgit v1.2.3