separate yesod-shakespeare package

This commit is contained in:
Greg Weber 2015-06-07 19:44:20 -04:00
parent 11bf4d9c58
commit 10680f5108
42 changed files with 178 additions and 61 deletions

View File

@ -1,4 +1,5 @@
./yesod-core ./yesod-core
./yesod-shakespeare
./yesod-static ./yesod-static
./yesod-persistent ./yesod-persistent
./yesod-newsfeed ./yesod-newsfeed

View File

@ -13,5 +13,6 @@ packages:
- ./yesod - ./yesod
- ./yesod-eventsource - ./yesod-eventsource
- ./yesod-websockets - ./yesod-websockets
- ./yesod-shakespeare
extra-deps: extra-deps:
- wai-app-static-3.1.0 - wai-app-static-3.1.0

View File

@ -24,6 +24,7 @@ import Web.Authenticate.OAuth
import Yesod.Auth import Yesod.Auth
import Yesod.Form import Yesod.Form
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
data YesodOAuthException = CredentialError String Credential data YesodOAuthException = CredentialError String Credential
| SessionError String | SessionError String

View File

@ -24,6 +24,7 @@ library
build-depends: authenticate-oauth >= 1.5 && < 1.6 build-depends: authenticate-oauth >= 1.5 && < 1.6
, bytestring >= 0.9.1.4 , bytestring >= 0.9.1.4
, yesod-core >= 1.4 && < 1.5 , yesod-core >= 1.4 && < 1.5
, yesod-shakespeare >= 1.5 && < 1.6
, yesod-auth >= 1.4 && < 1.5 , yesod-auth >= 1.4 && < 1.5
, text >= 0.7 , text >= 0.7
, yesod-form >= 1.4 && < 1.5 , yesod-form >= 1.4 && < 1.5

View File

@ -63,6 +63,7 @@ import qualified Network.Wai as W
import Yesod.Core import Yesod.Core
import Yesod.Persist import Yesod.Persist
import Yesod.Shakespeare
import Yesod.Auth.Message (AuthMessage, defaultMessage) import Yesod.Auth.Message (AuthMessage, defaultMessage)
import qualified Yesod.Auth.Message as Msg import qualified Yesod.Auth.Message as Msg
import Yesod.Form (FormMessage) import Yesod.Form (FormMessage)

View File

@ -61,6 +61,7 @@ import Data.Text.Encoding (encodeUtf8, decodeUtf8With)
import Data.Text.Encoding.Error (lenientDecode) import Data.Text.Encoding.Error (lenientDecode)
import Data.Text (Text) import Data.Text (Text)
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import qualified Yesod.PasswordStore as PS import qualified Yesod.PasswordStore as PS
import qualified Text.Email.Validate import qualified Text.Email.Validate
import qualified Yesod.Auth.Message as Msg import qualified Yesod.Auth.Message as Msg

View File

@ -21,6 +21,7 @@ import Yesod.Auth
import qualified Web.Authenticate.OpenId as OpenId import qualified Web.Authenticate.OpenId as OpenId
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Data.Text (Text) import Data.Text (Text)
import qualified Yesod.Auth.Message as Msg import qualified Yesod.Auth.Message as Msg
import qualified Data.Text as T import qualified Data.Text as T

View File

@ -83,8 +83,9 @@ import Yesod.Core (HandlerSite, MonadHandler,
getYesod, invalidArgs, lift, getYesod, invalidArgs, lift,
lookupGetParam, lookupGetParam,
lookupSession, notFound, redirect, lookupSession, notFound, redirect,
setSession, whamlet, (.:), setSession, (.:),
TypedContent, HandlerT, liftIO) TypedContent, HandlerT, liftIO)
import Yesod.Shakespeare (whamlet)
pid :: Text pid :: Text
pid = "googleemail2" pid = "googleemail2"

View File

@ -17,6 +17,7 @@ import qualified Web.Authenticate.OpenId as OpenId
import Yesod.Form import Yesod.Form
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Text.Cassius (cassius) import Text.Cassius (cassius)
import Data.Text (Text, isPrefixOf) import Data.Text (Text, isPrefixOf)
import qualified Yesod.Auth.Message as Msg import qualified Yesod.Auth.Message as Msg

View File

@ -24,6 +24,7 @@ library
, authenticate >= 1.3 , authenticate >= 1.3
, bytestring >= 0.9.1.4 , bytestring >= 0.9.1.4
, yesod-core >= 1.4 && < 1.5 , yesod-core >= 1.4 && < 1.5
, yesod-shakespeare >= 1.5 && < 1.6
, wai >= 1.4 , wai >= 1.4
, template-haskell , template-haskell
, base16-bytestring , base16-bytestring

View File

@ -3,8 +3,6 @@ module YesodCoreTest (specs) where
import YesodCoreTest.CleanPath import YesodCoreTest.CleanPath
import YesodCoreTest.Exceptions import YesodCoreTest.Exceptions
import YesodCoreTest.Widget
import YesodCoreTest.Media
import YesodCoreTest.Links import YesodCoreTest.Links
import YesodCoreTest.NoOverloadedStrings import YesodCoreTest.NoOverloadedStrings
import YesodCoreTest.InternalRequest import YesodCoreTest.InternalRequest
@ -28,8 +26,6 @@ specs :: Spec
specs = do specs = do
cleanPathTest cleanPathTest
exceptionsTest exceptionsTest
widgetTest
mediaTest
linksTest linksTest
noOverloadedTest noOverloadedTest
internalRequestTest internalRequestTest

View File

@ -5,7 +5,7 @@ module YesodCoreTest.ErrorHandling
( errorHandlingTest ( errorHandlingTest
) where ) where
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare (whamlet) import Text.Hamlet (hamlet)
import Yesod.Core.Widget import Yesod.Core.Widget
import Test.Hspec import Test.Hspec
import Network.Wai import Network.Wai
@ -81,7 +81,7 @@ postAfterRunRequestBodyR = do
getErrorInBodyR :: Handler Html getErrorInBodyR :: Handler Html
getErrorInBodyR = do getErrorInBodyR = do
let foo = error "error in body 19328" :: String let foo = error "error in body 19328" :: String
defaultLayout [whamlet|#{foo}|] defaultLayout $ toWidget [hamlet|#{foo}|]
getErrorInBodyNoEvalR :: Handler (DontFullyEvaluate Html) getErrorInBodyNoEvalR :: Handler (DontFullyEvaluate Html)
getErrorInBodyNoEvalR = fmap DontFullyEvaluate getErrorInBodyR getErrorInBodyNoEvalR = fmap DontFullyEvaluate getErrorInBodyR

View File

@ -8,7 +8,7 @@ import YesodCoreTest.NoOverloadedStringsSub
import Yesod.Core import Yesod.Core
import Yesod.Core.Widget import Yesod.Core.Widget
import Yesod.Shakespeare import Text.Hamlet (hamlet)
import Network.Wai.Test import Network.Wai.Test
import Network.Wai (pathInfo) import Network.Wai (pathInfo)
import Data.Monoid (mempty) import Data.Monoid (mempty)
@ -22,11 +22,11 @@ getBarR :: Monad m => m T.Text
getBarR = return $ T.pack "BarR" getBarR = return $ T.pack "BarR"
getBazR :: Yesod master => HandlerT Subsite (HandlerT master IO) Html getBazR :: Yesod master => HandlerT Subsite (HandlerT master IO) Html
getBazR = lift $ defaultLayout [whamlet|Used Default Layout|] getBazR = lift $ defaultLayout $ toWidget [hamlet|Used Default Layout|]
getBinR :: Yesod master => HandlerT Subsite (HandlerT master IO) Html getBinR :: Yesod master => HandlerT Subsite (HandlerT master IO) Html
getBinR = do getBinR = do
widget <- widgetToParentWidget [whamlet| widget <- widgetToParentWidget $ toWidget [hamlet|
<p>Used defaultLayoutT <p>Used defaultLayoutT
<a href=@{BazR}>Baz <a href=@{BazR}>Baz
|] |]

View File

@ -2,7 +2,7 @@
module YesodCoreTest.StubSslOnly ( App ( App ) ) where module YesodCoreTest.StubSslOnly ( App ( App ) ) where
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare import Text.Hamlet (hamlet)
import qualified Web.ClientSession as CS import qualified Web.ClientSession as CS
data App = App data App = App
@ -17,8 +17,8 @@ instance Yesod App where
fmap Just $ defaultClientSessionBackend 120 CS.defaultKeyFile fmap Just $ defaultClientSessionBackend 120 CS.defaultKeyFile
getHomeR :: Handler Html getHomeR :: Handler Html
getHomeR = defaultLayout getHomeR = defaultLayout $ toWidget
[whamlet| [hamlet|
<p> <p>
Welcome to my test application. Welcome to my test application.
|] |]

View File

@ -2,7 +2,7 @@
module YesodCoreTest.StubUnsecured ( App ( App ) ) where module YesodCoreTest.StubUnsecured ( App ( App ) ) where
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare import Text.Hamlet (hamlet)
data App = App data App = App
@ -13,8 +13,8 @@ mkYesod "App" [parseRoutes|
instance Yesod App instance Yesod App
getHomeR :: Handler Html getHomeR :: Handler Html
getHomeR = defaultLayout getHomeR = defaultLayout $ toWidget
[whamlet| [hamlet|
<p> <p>
Welcome to my test application. Welcome to my test application.
|] |]

View File

@ -16,7 +16,6 @@ extra-source-files:
test/YesodCoreTest.hs test/YesodCoreTest.hs
test/YesodCoreTest/*.hs test/YesodCoreTest/*.hs
test/YesodCoreTest/JsLoaderSites/Bottom.hs test/YesodCoreTest/JsLoaderSites/Bottom.hs
test/en.msg
test/test.hs test/test.hs
ChangeLog.md ChangeLog.md
README.md README.md
@ -68,7 +67,6 @@ library
, word8 , word8
, auto-update , auto-update
, semigroups , semigroups
, shakespeare
exposed-modules: Yesod.Core exposed-modules: Yesod.Core
Yesod.Core.Content Yesod.Core.Content
@ -80,7 +78,6 @@ library
Yesod.Core.Types Yesod.Core.Types
Yesod.Core.Unsafe Yesod.Core.Unsafe
Yesod.Routes.TH.Types Yesod.Routes.TH.Types
Yesod.Shakespeare
other-modules: Yesod.Core.Internal.Session other-modules: Yesod.Core.Internal.Session
Yesod.Core.Internal.Request Yesod.Core.Internal.Request
Yesod.Core.Class.Handler Yesod.Core.Class.Handler
@ -104,7 +101,7 @@ library
Yesod.Routes.TH.ParseRoute Yesod.Routes.TH.ParseRoute
Yesod.Routes.TH.RouteAttrs Yesod.Routes.TH.RouteAttrs
ghc-options: -Wall -ddump-splices -ddump-to-file ghc-options: -Wall
-- Following line added due to: https://github.com/yesodweb/yesod/issues/545 -- Following line added due to: https://github.com/yesodweb/yesod/issues/545
-- This looks like a GHC bug -- This looks like a GHC bug
extensions: MultiParamTypeClasses extensions: MultiParamTypeClasses
@ -167,19 +164,6 @@ test-suite tests
ghc-options: -Wall -fno-warn-unused-binds ghc-options: -Wall -fno-warn-unused-binds
extensions: TemplateHaskell extensions: TemplateHaskell
benchmark widgets
type: exitcode-stdio-1.0
hs-source-dirs: bench
build-depends: base
, criterion
, bytestring
, text
, transformers
, yesod-core
, blaze-html
main-is: widget.hs
ghc-options: -Wall -O2
source-repository head source-repository head
type: git type: git
location: https://github.com/yesodweb/yesod location: https://github.com/yesodweb/yesod

View File

@ -33,6 +33,7 @@ import Control.Monad (liftM)
import Data.Text (Text) import Data.Text (Text)
import Data.String (IsString(..)) import Data.String (IsString(..))
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import qualified Data.Text as T import qualified Data.Text as T

View File

@ -62,6 +62,7 @@ import Yesod.Form.Types
import Yesod.Form.I18n.English import Yesod.Form.I18n.English
import Yesod.Form.Functions (parseHelper) import Yesod.Form.Functions (parseHelper)
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Text.Hamlet import Text.Hamlet
import Text.Blaze (ToMarkup (toMarkup), unsafeByteString) import Text.Blaze (ToMarkup (toMarkup), unsafeByteString)
#define ToHtml ToMarkup #define ToHtml ToMarkup

View File

@ -59,6 +59,7 @@ import Text.Blaze (Markup, toMarkup)
#define Html Markup #define Html Markup
#define toHtml toMarkup #define toHtml toMarkup
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Network.Wai (requestMethod) import Network.Wai (requestMethod)
import Text.Hamlet (shamlet) import Text.Hamlet (shamlet)
import Data.Monoid (mempty) import Data.Monoid (mempty)

View File

@ -17,6 +17,7 @@ import Yesod.Form.Types
import Data.Text (Text) import Data.Text (Text)
import Control.Applicative (Applicative (..)) import Control.Applicative (Applicative (..))
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Control.Monad (liftM, (<=<)) import Control.Monad (liftM, (<=<))
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Maybe (fromMaybe) import Data.Maybe (fromMaybe)

View File

@ -15,6 +15,7 @@ module Yesod.Form.Jquery
) where ) where
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Yesod.Form import Yesod.Form
import Data.Time (Day) import Data.Time (Day)
import Data.Default import Data.Default

View File

@ -13,6 +13,7 @@ import Yesod.Form.Types
import Yesod.Form.Functions import Yesod.Form.Functions
import Yesod.Form.Fields (checkBoxField) import Yesod.Form.Fields (checkBoxField)
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Control.Monad.Trans.RWS (get, put, ask) import Control.Monad.Trans.RWS (get, put, ask)
import Data.Maybe (fromMaybe) import Data.Maybe (fromMaybe)
import Data.Text.Read (decimal) import Data.Text.Read (decimal)

View File

@ -33,6 +33,7 @@ import Control.Monad (liftM)
import Control.Monad.Trans.Class import Control.Monad.Trans.Class
import Data.String (IsString (..)) import Data.String (IsString (..))
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Semigroup (Semigroup, (<>)) import Data.Semigroup (Semigroup, (<>))

View File

@ -22,6 +22,7 @@ library
build-depends: base >= 4 && < 5 build-depends: base >= 4 && < 5
, yesod-core >= 1.4 && < 1.5 , yesod-core >= 1.4 && < 1.5
, yesod-persistent >= 1.4 && < 1.5 , yesod-persistent >= 1.4 && < 1.5
, yesod-shakespeare >= 1.5 && < 1.6
, time >= 1.1.4 , time >= 1.1.4
, shakespeare >= 2.0 , shakespeare >= 2.0
, persistent , persistent

View File

@ -0,0 +1,3 @@
## 1.5
* split off from yesod-core

20
yesod-shakespeare/LICENSE Normal file
View File

@ -0,0 +1,20 @@
Copyright (c) 2012 Michael Snoyman, http://www.yesodweb.com/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,6 @@
## yesod-shakespeare
This package adds shakespeare integration on top of yesod-core.
The yesod package automatically adds in shakespeare functionality.
Yesod is well documented on [its website](http://www.yesodweb.com/).

View File

@ -69,12 +69,13 @@ import Text.Hamlet (hamlet, shamlet, xhamlet)
import Text.Lucius (Css, renderCss, CssUrl, renderCssUrl, lucius) import Text.Lucius (Css, renderCss, CssUrl, renderCssUrl, lucius)
import Text.Cassius (cassius) import Text.Cassius (cassius)
import Yesod.Core ( HandlerSite, MonadHandler
, getUrlRenderParams, toTextUrl, invalidArgs, permissionDenied, RedirectUrl, withUrlRenderer, getRequest, getYesod, sendResponse
, ToContent(..), ToTypedContent(..), HasContentType(..), typeJavascript, typeCss
, Route
, ToWidget(..), ToWidgetBody(..), ToWidgetMedia(..), ToWidgetHead(..), MonadWidget(..), asWidgetT, tellWidget, GWData(..), setMessage, setTitle
)
import Yesod.Core.Types import Yesod.Core.Types
import Yesod.Core.Widget
import Yesod.Core.Class.Handler (HandlerSite, MonadHandler)
import Yesod.Core.Handler (getUrlRenderParams, toTextUrl, invalidArgs, permissionDenied, RedirectUrl, withUrlRenderer, getRequest, getYesod, sendResponse)
import Yesod.Core.Content (ToContent(..), ToTypedContent(..), HasContentType(..), typeJavascript, typeCss)
import Yesod.Routes.Class (Route)
-- for hamlet expansion -- for hamlet expansion
import qualified Data.Foldable import qualified Data.Foldable

View File

@ -5,7 +5,7 @@
module Main where module Main where
import Criterion.Main import Criterion.Main
import Text.Hamlet import Yesod.Shakespeare
import Numeric (showInt) import Numeric (showInt)
import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Lazy as L
import qualified Text.Blaze.Html.Renderer.Utf8 as Utf8 import qualified Text.Blaze.Html.Renderer.Utf8 as Utf8

View File

@ -2,15 +2,15 @@
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances, ViewPatterns #-} {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
{-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
module YesodCoreTest.Media (mediaTest, Widget) where module YesodShakespeareTest.Media (mediaTest, Widget) where
import Test.Hspec import Test.Hspec
import Yesod.Core import Yesod.Core
import Yesod.Core.Widget import Yesod.Core.Widget
import Yesod.Shakespeare
import Network.Wai import Network.Wai
import Network.Wai.Test import Network.Wai.Test
import Text.Lucius import YesodShakespeareTest.MediaData
import YesodCoreTest.MediaData
mkYesodDispatch "Y" resourcesY mkYesodDispatch "Y" resourcesY

View File

@ -1,7 +1,7 @@
{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-} {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleInstances #-}
module YesodCoreTest.MediaData where module YesodShakespeareTest.MediaData where
import Yesod.Core import Yesod.Core

View File

@ -1,16 +1,13 @@
{-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-} {-# LANGUAGE QuasiQuotes, TypeFamilies, TemplateHaskell, MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances, ViewPatterns #-} {-# LANGUAGE FlexibleInstances, ViewPatterns #-}
module YesodCoreTest.Widget (widgetTest) where module YesodShakespeareTest.Widget (widgetTest) where
import Test.Hspec import Test.Hspec
import Yesod.Core import Yesod.Core
import Yesod.Core.Widget import Yesod.Core.Widget
import Yesod.Shakespeare import Yesod.Shakespeare
import Text.Julius
import Text.Lucius
import Text.Hamlet
import Network.Wai import Network.Wai
import Network.Wai.Test import Network.Wai.Test

View File

@ -0,0 +1,11 @@
import Test.Hspec
import YesodShakespeareTest.Widget
import YesodShakespeareTest.Media
main :: IO ()
main = hspec specs
specs :: Spec
specs = do
widgetTest
mediaTest

View File

@ -0,0 +1,73 @@
name: yesod-shakespeare
version: 1.5
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael@snoyman.com>
maintainer: Michael Snoyman <michael@snoyman.com>
synopsis: Creation of type-safe, RESTful web applications.
description: API docs and the README are available at <http://www.stackage.org/package/yesod-core>
category: Web, Yesod
stability: Stable
cabal-version: >= 1.8
build-type: Simple
homepage: http://www.yesodweb.com/
extra-source-files:
test/YesodShakespeareTest/*.hs
test/en.msg
test/test.hs
ChangeLog.md
README.md
library
build-depends: base >= 4.3 && < 5
, shakespeare
, yesod-core >= 1.4
, text >= 0.7
, template-haskell
, bytestring >= 0.9.1.4
, transformers >= 0.2.2
, blaze-html >= 0.5
, containers >= 0.2
exposed-modules: Yesod.Shakespeare
ghc-options: -Wall -ddump-splices -ddump-to-file
-- Following line added due to: https://github.com/yesodweb/yesod/issues/545
-- This looks like a GHC bug
extensions: MultiParamTypeClasses
-- Workaround for: http://ghc.haskell.org/trac/ghc/ticket/8443
extensions: TemplateHaskell
test-suite tests
type: exitcode-stdio-1.0
main-is: test.hs
hs-source-dirs: test
cpp-options: -DTEST
build-depends: base
,hspec >= 1.3
,hspec-expectations
,yesod-core
,yesod-shakespeare
,wai
,wai-extra
ghc-options: -Wall -fno-warn-unused-binds
extensions: TemplateHaskell
benchmark widgets
type: exitcode-stdio-1.0
hs-source-dirs: bench
build-depends: base
, yesod-shakespeare
, yesod-core
, transformers
, blaze-html
, bytestring
, criterion
main-is: widget.hs
ghc-options: -Wall -O2
source-repository head
type: git
location: https://github.com/yesodweb/yesod

View File

@ -11,6 +11,7 @@ import Network.Wai.Test (SResponse(simpleHeaders))
import Test.HUnit (assertFailure, assertBool) import Test.HUnit (assertFailure, assertBool)
import Test.Hspec (Spec) import Test.Hspec (Spec)
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Yesod.EmbeddedStatic import Yesod.EmbeddedStatic
import Yesod.Test import Yesod.Test
import qualified Data.ByteString as B import qualified Data.ByteString as B

View File

@ -80,6 +80,7 @@ test-suite tests
build-depends: base build-depends: base
, hspec >= 1.3 , hspec >= 1.3
, yesod-test >= 1.4 , yesod-test >= 1.4
, yesod-shakespeare >= 1.5
, wai-extra , wai-extra
, HUnit , HUnit

View File

@ -7,6 +7,7 @@ import Test.Hspec
import Yesod.Core import Yesod.Core
import Yesod.Form import Yesod.Form
import Yesod.Shakespeare
import Yesod.Test import Yesod.Test
import Yesod.Test.CssQuery import Yesod.Test.CssQuery
import Yesod.Test.TransversingCSS import Yesod.Test.TransversingCSS

View File

@ -57,6 +57,7 @@ test-suite test
, containers , containers
, html-conduit , html-conduit
, yesod-core , yesod-core
, yesod-shakespeare
, yesod-form , yesod-form
, text , text
, wai , wai

View File

@ -4,10 +4,12 @@
module Yesod module Yesod
( -- * Re-exports from yesod-core ( -- * Re-exports from yesod-core
module Yesod.Core module Yesod.Core
, module Yesod.Shakespeare
, module Yesod.Form , module Yesod.Form
, module Yesod.Persist , module Yesod.Persist
) where ) where
import Yesod.Core import Yesod.Core
import Yesod.Shakespeare
import Yesod.Form import Yesod.Form
import Yesod.Persist import Yesod.Persist

View File

@ -17,6 +17,7 @@ module Yesod.Default.Util
import qualified Data.ByteString.Lazy as L import qualified Data.ByteString.Lazy as L
import Data.Text (Text, pack, unpack) import Data.Text (Text, pack, unpack)
import Yesod.Core -- purposely using complete import so that Haddock will see addStaticContent import Yesod.Core -- purposely using complete import so that Haddock will see addStaticContent
import Yesod.Shakespeare
import Control.Monad (when, unless) import Control.Monad (when, unless)
import System.Directory (doesFileExist, createDirectoryIfMissing) import System.Directory (doesFileExist, createDirectoryIfMissing)
import Language.Haskell.TH.Syntax import Language.Haskell.TH.Syntax

View File

@ -19,6 +19,7 @@ library
build-depends: base >= 4.3 && < 5 build-depends: base >= 4.3 && < 5
, yesod-core >= 1.4 && < 1.5 , yesod-core >= 1.4 && < 1.5
, yesod-shakespeare >= 1.5 && < 1.6
, yesod-auth >= 1.4 && < 1.5 , yesod-auth >= 1.4 && < 1.5
, yesod-persistent >= 1.4 && < 1.5 , yesod-persistent >= 1.4 && < 1.5
, yesod-form >= 1.4 && < 1.5 , yesod-form >= 1.4 && < 1.5