]> git.immae.eu Git - github/fretlink/purs-loader.git/blobdiff - src/PursLoader/Loader.purs
Add all PureScript files as webpack dependencies
[github/fretlink/purs-loader.git] / src / PursLoader / Loader.purs
index 5373d2f1e6320c288d59a0b0aa4adec66e147903..3cb99cd47cd258e7aa155ef23d7ff051f8a091be 100644 (file)
@@ -16,6 +16,7 @@ import Data.Function (Fn2(), mkFn2)
 import Data.Maybe (Maybe(..), fromMaybe, maybe)
 import Data.String (joinWith)
 import Data.String.Regex (match, noFlags, regex, test)
 import Data.Maybe (Maybe(..), fromMaybe, maybe)
 import Data.String (joinWith)
 import Data.String.Regex (match, noFlags, regex, test)
+import Data.Traversable (sequence)
 
 import PursLoader.ChildProcess (ChildProcess(), spawn)
 import PursLoader.FS (FS(), writeFileUtf8, findFileUtf8)
 
 import PursLoader.ChildProcess (ChildProcess(), spawn)
 import PursLoader.FS (FS(), writeFileUtf8, findFileUtf8)
@@ -42,6 +43,8 @@ foreign import cwd :: String
 
 foreign import relative :: String -> String -> String
 
 
 foreign import relative :: String -> String -> String
 
+foreign import resolve :: String -> String
+
 mkPsci :: Array (Array String) -> Array (Array String) -> String
 mkPsci srcs ffis = joinWith "\n" ((loadModule <$> concat srcs) <> (loadForeign <$> concat ffis))
   where
 mkPsci :: Array (Array String) -> Array (Array String) -> String
 mkPsci srcs ffis = joinWith "\n" ((loadModule <$> concat srcs) <> (loadForeign <$> concat ffis))
   where
@@ -80,6 +83,7 @@ loader' ref source = do
 
   liftEff (clearDependencies ref)
   liftEff (addDependency ref (resourcePath ref))
 
   liftEff (clearDependencies ref)
   liftEff (addDependency ref (resourcePath ref))
+  liftEff (sequence $ (\src -> addDependency ref (resolve src)) <$> concat srcss)
 
   foreignPath <- if hasForeign
                     then fromMaybe (pure Nothing) (findFFI ffiss <$> moduleName)
 
   foreignPath <- if hasForeign
                     then fromMaybe (pure Nothing) (findFFI ffiss <$> moduleName)