module Snap.Extras.SpliceUtils.Common where import qualified Data.Foldable as F import Data.List import Snap import System.Directory.Tree import System.FilePath getScripts :: MonadIO m => FilePath -> m [String] getScripts d = do tree <- liftIO $ build d let files = F.foldMap ((:[]) . fst) $ zipPaths $ "" :/ free tree return $ filter visibleScripts files where visibleScripts fname = isSuffixOf ".js" fname && not (isPrefixOf "_" (takeFileName fname))