@@ -36,6 +36,7 @@ import Control.Monad.Trans.Except
3636import Control.Monad.IO.Class
3737
3838import System.FilePath (takeFileName, takeDirectory)
39+import System.FilePath.Glob (glob)
3940import System.Exit (exitFailure)
4041import System.IO (stderr, hPutStrLn)
4142import System.Directory (createDirectoryIfMissing)
@@ -533,7 +534,11 @@ codeGen Options{..} ms = renderToString (NN (JSSourceElementsTop (prelude ++ con
533534-- and generates and prints the final Javascript bundle.
534535app :: forall m. (Applicative m, MonadError ErrorMessage m, MonadIO m) => Options -> m String
535536app opts@Options{..} = do
536− input <- for optionsInputFiles $ \filename -> do
537+ inputFiles <- concat <$> mapM (liftIO . glob) optionsInputFiles
538+ when (null inputFiles) . liftIO $ do
539+ hPutStrLn stderr "psc: No input files."
540+ exitFailure
541+ input <- for inputFiles $ \filename -> do
537542 js <- liftIO (readFile filename)
538543 ast <- fromRight (parse js filename)
539544 mid <- guessModuleIdentifier filename