- .then(srcMap => {
- cache.psModuleMap = Object.keys(srcMap).reduce((map, file) => {
- const source = srcMap[file]
- const psModuleName = match(psModuleRegex, source)
- map[psModuleName] = path.resolve(file)
+ .then(fileMap => {
+ cache.psModuleMap = Object.keys(fileMap).reduce((map, file) => {
+ const source = fileMap[file]
+ const ext = path.extname(file)
+ const isPurs = ext.match(/purs$/i)
+ const moduleRegex = isPurs ? srcModuleRegex : ffiModuleRegex
+ const moduleName = match(moduleRegex, source)
+ map[moduleName] = map[moduleName] || {}
+ if (isPurs) {
+ map[moduleName].src = path.resolve(file)
+ } else {
+ map[moduleName].ffi = path.resolve(file)
+ }