yesod 1.6.0.2 → 1.6.1.0
raw patch · 3 files changed
+14/−3 lines, 3 filesdep +file-embeddep −semigroups
Dependencies added: file-embed
Dependencies removed: semigroups
Files
- ChangeLog.md +4/−0
- Yesod/Default/Util.hs +8/−1
- yesod.cabal +2/−2
ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.6.1.0++* `widgetFileReload` and `widgetFileNoReload` now use absolute paths via the new `globFilePackage` Q Exp which can provide absolute templates paths within the project [#1691](https://github.com/yesodweb/yesod/pull/1691)+ ## 1.6.0.2 * Replace deprecated decodeFile with decodeFileEither. This should have no semantic impact, but silences a deprecation warning. [#1658](https://github.com/yesodweb/yesod/pull/1658)
Yesod/Default/Util.hs view
@@ -5,6 +5,7 @@ module Yesod.Default.Util ( addStaticContentExternal , globFile+ , globFilePackage , widgetFileNoReload , widgetFileReload , TemplateLanguage (..)@@ -15,6 +16,7 @@ ) where import qualified Data.ByteString.Lazy as L+import Data.FileEmbed (makeRelativeToProject) import Data.Text (Text, pack, unpack) import Yesod.Core -- purposely using complete import so that Haddock will see addStaticContent import Control.Monad (when, unless)@@ -64,6 +66,11 @@ globFile :: String -> String -> FilePath globFile kind x = "templates/" ++ x ++ "." ++ kind +-- | `globFile` but returned path is absolute and within the package the Q Exp is evaluated+-- @since 1.6.1.0+globFilePackage :: String -> String -> Q FilePath+globFilePackage = (makeRelativeToProject <$>) . globFile+ data TemplateLanguage = TemplateLanguage { tlRequiresToWidget :: Bool , tlExtension :: String@@ -124,7 +131,7 @@ -> Bool -- ^ requires toWidget wrap -> String -> (FilePath -> Q Exp) -> Q (Maybe Exp) warnUnlessExists shouldWarn x wrap glob f = do- let fn = globFile glob x+ fn <- globFilePackage glob x e <- qRunIO $ doesFileExist fn when (shouldWarn && not e) $ qRunIO $ putStrLn $ "widget file not found: " ++ fn if e
yesod.cabal view
@@ -1,5 +1,5 @@ name: yesod-version: 1.6.0.2+version: 1.6.1.0 license: MIT license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>@@ -25,8 +25,8 @@ , data-default-class , directory , fast-logger+ , file-embed , monad-logger- , semigroups , shakespeare , streaming-commons , template-haskell