]> git.immae.eu Git - github/fretlink/purs-loader.git/commitdiff
Add all PureScript files as webpack dependencies
authoreric thul <thul.eric@gmail.com>
Wed, 12 Aug 2015 01:21:47 +0000 (21:21 -0400)
committereric thul <thul.eric@gmail.com>
Wed, 12 Aug 2015 01:21:47 +0000 (21:21 -0400)
Resolves #26

example/src/entry.js
src/PursLoader/Loader.js
src/PursLoader/Loader.purs

index a41536cc83d6c88a995ecd074f07b0f709972be1..cde8507aebe9fa5a446730c7403ad52ea11d46fc 100644 (file)
@@ -6,6 +6,4 @@ var foo = require('./Foo.purs');
 
 var baz = require('./Foo/Baz.purs');
 
-var bar = require('./Foo/Bar.purs');
-
-console.log(Prelude, test, foo, baz, bar);
+console.log(Prelude, test, foo, baz);
index d7b557823085bcc6211d05e2a62d726c443474d2..98459b69e5247a3c70f845d04903e329fc6e280e 100644 (file)
@@ -15,3 +15,5 @@ function relative(from) {
 exports.cwd = cwd;
 
 exports.relative = relative;
+
+exports.resolve = path.resolve;
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.Traversable (sequence)
 
 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 resolve :: String -> String
+
 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 (sequence $ (\src -> addDependency ref (resolve src)) <$> concat srcss)
 
   foreignPath <- if hasForeign
                     then fromMaybe (pure Nothing) (findFFI ffiss <$> moduleName)