willow-0.1.0.0: willow.cabal
cabal-version: 2.2
name: willow
author: Sam May
category: Web
synopsis: An implementation of the web Document Object Model, and its rendering.
version: 0.1.0.0
stability: experimental
maintainer: sam@eitilt.life
copyright: © 2020-2021 Sam May
license: MPL-2.0
license-file: LICENSE
extra-source-files: CHANGELOG.md
, README.md
, README.project.md
data-dir: data
data-files: *.index
, encodings.json
homepage: https://ag.eitilt.life/willow
bug-reports: mailto:ag@eitilt.life
description: `willow` is the basis of a web browser suite, providing the
underlying types to represent various documents found on
the internet. It does /not/ provide parsing algorithms for
anything but the simplest filetypes, instead expecting them
to be outsourced to other modules.
build-type: Simple
tested-with: GHC ==8.2.2, GHC ==8.4.4, GHC ==8.6.5, GHC ==8.8.4, GHC ==8.10.3
source-repository head
type: darcs
location: https://darcs.eitilt.life/willow
subdir: willow
source-repository this
type: darcs
location: https://darcs.eitilt.life/willow
subdir: willow
tag: v/dom/0.1.0.0.
flag dev
description: Trigger stricter behaviour for development
default: False
manual: True
flag html5lib
default: False
description: Enable the html5lib tests, which require manually
downloading the test data.
flag wpt
default: False
description: Enable integration with web-platform-tests suite, greatly
expanding the test surface at the expense of requiring the
manual download of the (large) test data repository.
common flags-ghc
if flag(dev)
ghc-options: -Weverything
-Wno-unrecognised-pragmas
-Wno-implicit-prelude -Wno-missing-import-lists
-Wno-missing-exported-signatures -Wno-missing-local-signatures
-Wno-missed-specialisations -Wno-all-missed-specialisations
-Wno-safe -Wno-unsafe
-Wno-monomorphism-restriction
if impl(ghc >= 8.4.1)
ghc-options: -Wno-missing-export-lists
if impl(ghc >= 8.8.1)
ghc-options: -Wno-missing-deriving-strategies
if impl(ghc >= 8.10.1)
ghc-options: -Wno-missing-safe-haskell-mode
-Wno-prepositive-qualified-module
else
ghc-options: -Wno-unrecognised-pragmas
library
import: flags-ghc
hs-source-dirs: src
exposed-modules: Web.Willow.Common.Encoding
, Web.Willow.Common.Encoding.Character
, Web.Willow.Common.Encoding.Labels
, Web.Willow.Common.Encoding.Sniffer
, Web.Willow.Common.Parser
, Web.Willow.Common.Parser.Switch
, Web.Willow.Common.Parser.Util
, Web.Willow.DOM
other-modules: Paths_willow
, Web.Willow.Common.Encoding.Big5
, Web.Willow.Common.Encoding.Common
, Web.Willow.Common.Encoding.EucJp
, Web.Willow.Common.Encoding.EucKr
, Web.Willow.Common.Encoding.GB
, Web.Willow.Common.Encoding.Iso2022Jp
, Web.Willow.Common.Encoding.ShiftJis
, Web.Willow.Common.Encoding.SingleByte
, Web.Willow.Common.Encoding.Utf8
, Web.Willow.Common.Encoding.Utf16
autogen-modules: Paths_willow
build-depends: base >=4.10 && <4.15
, aeson <1.6
, bytestring <0.11
, filepath <1.5
, hashable <1.4
, mtl <2.3
, text <1.3
, transformers <0.6
, unordered-containers <0.3
, utility-ht <0.1
, vector <0.13
default-language: Haskell98
test-suite html5lib
import: flags-ghc
type: exitcode-stdio-1.0
hs-source-dirs: test
if !flag(html5lib)
buildable: False
main-is: Test/Willow/Html5Lib.hs
other-modules: Paths_willow
, Test.Willow.Html5Lib.Common
, Test.Willow.Html5Lib.Encoding.Sniffer
autogen-modules: Paths_willow
build-depends: base
, willow
, bytestring
, filepath
, HUnit <1.7
default-language: Haskell98
other-extensions: CPP
, OverloadedStrings
test-suite property
import: flags-ghc
type: exitcode-stdio-1.0
hs-source-dirs: test
if impl(ghc < 8.6.1)
-- hedgehog-classes requires base>=4.12.0.0
buildable: False
main-is: Test/Willow/Property.hs
other-modules: Test.Willow.Property.Common
Test.Willow.Property.DOM
Test.Willow.Property.Parser
Test.Willow.Property.Encoding
Test.Willow.Property.Encoding.Big5
Test.Willow.Property.Encoding.EucJp
Test.Willow.Property.Encoding.EucKr
Test.Willow.Property.Encoding.GB
Test.Willow.Property.Encoding.ShiftJis
Test.Willow.Property.Encoding.Utf8
Test.Willow.Property.Encoding.Utf16
build-depends: base
, willow
, bytestring
, text
, transformers
, hedgehog <1.1
, hedgehog-classes <0.3
default-language: Haskell98
other-extensions: CPP
test-suite unit
import: flags-ghc
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Test/Willow/Unit.hs
other-modules: Paths_willow
Test.Willow.Unit.Common
, Test.Willow.Unit.Encoding
, Test.Willow.Unit.Encoding.Common
, Test.Willow.Unit.Encoding.Big5
, Test.Willow.Unit.Encoding.EucJp
, Test.Willow.Unit.Encoding.EucKr
, Test.Willow.Unit.Encoding.GB
, Test.Willow.Unit.Encoding.ShiftJis
, Test.Willow.Unit.Encoding.SingleByte
, Test.Willow.Unit.Encoding.Utf8
autogen-modules: Paths_willow
build-depends: base
, willow
, bytestring
, filepath
, text
, HUnit <1.7
default-language: Haskell98
other-extensions: OverloadedStrings
test-suite wpt
import: flags-ghc
type: exitcode-stdio-1.0
hs-source-dirs: test
if flag (wpt)
cpp-options: -DHAVE_WPT
main-is: Test/Willow/WebPlatformTests.hs
other-modules: Paths_willow
, Test.Willow.WebPlatformTests.Manual.Common
, Test.Willow.WebPlatformTests.Manual.Encoding
, Test.Willow.WebPlatformTests.Manual.Encoding.ApiBasics
, Test.Willow.WebPlatformTests.Manual.Encoding.ApiSurrogatesUtf8
, Test.Willow.WebPlatformTests.Manual.Encoding.Big5
, Test.Willow.WebPlatformTests.Manual.Encoding.ByteOrderMarks
, Test.Willow.WebPlatformTests.Manual.Encoding.Gb18030
, Test.Willow.WebPlatformTests.Manual.Encoding.Gbk
, Test.Willow.WebPlatformTests.Manual.Encoding.FatalSingleByte
, Test.Willow.WebPlatformTests.Manual.Encoding.FatalStreaming
, Test.Willow.WebPlatformTests.Manual.Encoding.Iso2022JpDecoder
, Test.Willow.WebPlatformTests.Manual.Encoding.Iso2022JpEncoder
, Test.Willow.WebPlatformTests.Manual.Encoding.TextDecoderUtf16Surrogates
, Test.Willow.WebPlatformTests.Manual.Encoding.TextEncoderUtf16Surrogates
autogen-modules: Paths_willow
if flag(wpt)
other-modules: Test.Willow.WebPlatformTests.Manual.CommonReader
, Test.Willow.WebPlatformTests.Manual.Encoding.ApiInvalidLabel
, Test.Willow.WebPlatformTests.Manual.Encoding.ApiReplacementEncodings
, Test.Willow.WebPlatformTests.Manual.Encoding.Fatal
, Test.Willow.WebPlatformTests.Manual.Encoding.SingleByte
build-depends: base
, willow
, bytestring
, filepath
, text
, unordered-containers
, aeson
, HUnit <1.7
default-language: Haskell98
other-extensions: CPP
, OverloadedStrings