yesod-static 1.5.3.1 → 1.6.0
raw patch · 6 files changed
+28/−36 lines, 6 filesdep −conduit-extradep ~conduitdep ~yesod-coredep ~yesod-test
Dependencies removed: conduit-extra
Dependency ranges changed: conduit, yesod-core, yesod-test
Files
- ChangeLog.md +4/−0
- Yesod/EmbeddedStatic.hs +2/−5
- Yesod/EmbeddedStatic/Generators.hs +5/−7
- Yesod/EmbeddedStatic/Internal.hs +2/−2
- Yesod/Static.hs +11/−16
- yesod-static.cabal +4/−6
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.6.0++* Upgrade to yesod-core 1.6.0+ ## 1.5.3.1 * Switch to cryptonite
Yesod/EmbeddedStatic.hs view
@@ -57,10 +57,7 @@ import Network.Wai (responseLBS, pathInfo) import Network.Wai.Application.Static (staticApp) import System.IO.Unsafe (unsafePerformIO)-import Yesod.Core- ( HandlerT- , YesodSubDispatch(..)- )+import Yesod.Core (YesodSubDispatch(..)) import Yesod.Core.Types ( YesodSubRunnerEnv(..) , YesodRunnerEnv(..)@@ -81,7 +78,7 @@ embeddedResourceR :: [T.Text] -> [(T.Text, T.Text)] -> Route EmbeddedStatic embeddedResourceR = EmbeddedResourceR -instance YesodSubDispatch EmbeddedStatic (HandlerT master IO) where+instance YesodSubDispatch EmbeddedStatic master where yesodSubDispatch YesodSubRunnerEnv {..} req = resp where master = yreSite ysreParentEnv
Yesod/EmbeddedStatic/Generators.hs view
@@ -24,9 +24,9 @@ -- * Util , pathToName- + -- * Custom Generators- + -- $example ) where @@ -34,7 +34,6 @@ import Control.Exception (try, SomeException) import Control.Monad (forM, when) import Data.Char (isDigit, isLower)-import Data.Conduit (($$)) import Data.Default (def) import Data.Maybe (isNothing) import Language.Haskell.TH@@ -44,8 +43,7 @@ import Text.Jasmine (minifym) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as BL-import qualified Data.Conduit.List as C-import Data.Conduit.Binary (sourceHandle)+import Conduit import qualified Data.Text as T import qualified System.Process as Proc import System.Exit (ExitCode (ExitSuccess))@@ -208,13 +206,13 @@ } (Just hin, Just hout, _, ph) <- Proc.createProcess p (compressed, (), code) <- runConcurrently $ (,,)- A.<$> Concurrently (sourceHandle hout $$ C.consume)+ A.<$> Concurrently (runConduit $ sourceHandle hout .| sinkLazy) A.<*> Concurrently (BL.hPut hin ct >> hClose hin) A.<*> Concurrently (Proc.waitForProcess ph) if code == ExitSuccess then do putStrLn $ "Compressed successfully with " ++ f- return $ BL.fromChunks compressed+ return compressed else error $ "compressTool: compression failed with " ++ f
Yesod/EmbeddedStatic/Internal.hs view
@@ -25,7 +25,7 @@ import Network.Wai.Application.Static (defaultWebAppSettings, staticApp) import WaiAppStatic.Types import Yesod.Core- ( HandlerT+ ( HandlerFor , ParseRoute(..) , RenderRoute(..) , getYesod@@ -136,7 +136,7 @@ -- | The type of 'addStaticContent' type AddStaticContent site = T.Text -> T.Text -> BL.ByteString- -> HandlerT site IO (Maybe (Either T.Text (Route site, [(T.Text, T.Text)])))+ -> HandlerFor site (Maybe (Either T.Text (Route site, [(T.Text, T.Text)]))) -- | Helper for embedStaticContent and embedLicensedStaticContent. staticContentHelper :: (site -> EmbeddedStatic)
Yesod/Static.hs view
@@ -68,7 +68,6 @@ import Control.Monad import Data.FileEmbed (embedDir) -import Control.Monad.Trans.Resource (runResourceT) import Yesod.Core import Yesod.Core.Types @@ -78,7 +77,6 @@ import Crypto.Hash.Conduit (hashFile, sinkHash) import Crypto.Hash (MD5, Digest)-import Control.Monad.Catch (MonadThrow) import Control.Monad.Trans.State import qualified Data.ByteArray as ByteArray@@ -94,11 +92,7 @@ import qualified Data.ByteString as S import System.PosixCompat.Files (getFileStatus, modificationTime) import System.Posix.Types (EpochTime)-import Data.Conduit-import Data.Conduit.List (sourceList, consume)-import Data.Conduit.Binary (sourceFile)-import qualified Data.Conduit.Text as CT-import Data.Functor.Identity (runIdentity)+import Conduit import System.FilePath ((</>), (<.>), takeDirectory) import qualified System.FilePath as F import qualified Data.Text.Lazy as TL@@ -175,12 +169,10 @@ instance ParseRoute Static where parseRoute (x, y) = Just $ StaticRoute x y -instance (MonadThrow m, MonadIO m, MonadBaseControl IO m)- => YesodSubDispatch Static (HandlerT master m) where+instance YesodSubDispatch Static master where yesodSubDispatch YesodSubRunnerEnv {..} req =- ysreParentRunner base ysreParentEnv (fmap ysreToParentRoute route) req+ ysreParentRunner handlert ysreParentEnv (fmap ysreToParentRoute route) req where- base = stripHandlerT handlert ysreGetSub ysreToParentRoute route route = Just $ StaticRoute (pathInfo req) [] Static set = ysreGetSub $ yreSite $ ysreParentEnv@@ -425,8 +417,8 @@ base64md5 :: L.ByteString -> String base64md5 lbs = base64 $ encode- $ runIdentity- $ sourceList (L.toChunks lbs) $$ sinkHash+ $ runConduitPure+ $ Conduit.sourceLazy lbs .| sinkHash where encode d = ByteArray.convert (d :: Digest MD5) @@ -461,8 +453,11 @@ -> [Route Static] -- ^ files to combine -> Q Exp combineStatics' combineType CombineSettings {..} routes = do- texts <- qRunIO $ runResourceT $ mapM_ yield fps $$ awaitForever readUTFFile =$ consume- ltext <- qRunIO $ preProcess $ TL.fromChunks texts+ texts <- qRunIO $ runConduitRes+ $ yieldMany fps+ .| awaitForever readUTFFile+ .| sinkLazy+ ltext <- qRunIO $ preProcess texts bs <- qRunIO $ postProcess fps $ TLE.encodeUtf8 ltext let hash' = base64md5 bs suffix = csCombinedFolder </> hash' <.> extension@@ -476,7 +471,7 @@ fps :: [FilePath] fps = map toFP routes toFP (StaticRoute pieces _) = csStaticDir </> F.joinPath (map T.unpack pieces)- readUTFFile fp = sourceFile fp =$= CT.decode CT.utf8+ readUTFFile fp = sourceFile fp .| decodeUtf8C postProcess = case combineType of JS -> csJsPostProcess
yesod-static.cabal view
@@ -1,5 +1,5 @@ name: yesod-static-version: 1.5.3.1+version: 1.6.0 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>@@ -29,7 +29,7 @@ build-depends: base >= 4 && < 5 , containers >= 0.2 , old-time >= 1.0- , yesod-core >= 1.4 && < 1.5+ , yesod-core >= 1.6 && < 1.7 , base64-bytestring >= 0.1.0.1 , byteable >= 0.1 , bytestring >= 0.9.1.4@@ -42,8 +42,7 @@ , file-embed >= 0.0.4.1 && < 0.5 , http-types >= 0.7 , unix-compat >= 0.2- , conduit >= 0.5- , conduit-extra+ , conduit >= 1.3 , cryptonite-conduit >= 0.1 , cryptonite >= 0.11 , memory@@ -92,7 +91,7 @@ YesodStaticTest build-depends: base , hspec >= 1.3- , yesod-test >= 1.4+ , yesod-test >= 1.6 , wai-extra , HUnit @@ -124,7 +123,6 @@ , unordered-containers , async , process- , conduit-extra , exceptions ghc-options: -Wall -threaded