packages feed

css-parser-0.0.1: css-parser.cabal

cabal-version:       3.0
name:                css-parser
version:             0.0.1
synopsis:            pure CSS parser/printer
description:         Modern CSS parser in pure Haskell built on Alex+Happy stack
homepage:            https://github.com/yaitskov/css-parser
license:             BSD-3-Clause
license-file:        LICENSE
author:              Daniil Iaitskov
maintainer:          dyaitskov@gmail.com
copyright:           2026
category:            web
build-type:          Simple
extra-doc-files:
  , CHANGELOG.md
  , README.md

common base
  default-language: GHC2024
  ghc-options: -Wall
  default-extensions:
    DefaultSignatures
    NoImplicitPrelude
    OverloadedStrings
    DuplicateRecordFields
    OverloadedRecordDot
    PatternSynonyms
  build-depends:
    , base >=4.7 && < 5
    , text >=2 && < 3

library
  import: base
  hs-source-dirs: src
  exposed-modules:
    , CssParser
    , CssParser.At.Container
    , CssParser.At.CustomMedia
    , CssParser.At.FontFeatureValues
    , CssParser.At.FontPaletteValues
    , CssParser.At.Function
    , CssParser.At.Import
    , CssParser.At.Keyframe
    , CssParser.At.MediaQuery
    , CssParser.At.Page
    , CssParser.At.Supports
    , CssParser.Descriptor
    , CssParser.File
    , CssParser.FixRule
    , CssParser.Ident
    , CssParser.List
    , CssParser.MonoPair
    , CssParser.Norm
    , CssParser.Parser.Monad
    , CssParser.Prelude
    , CssParser.Rule
    , CssParser.Rule.Pseudo
    , CssParser.Rule.Show
    , CssParser.Rule.Type
    , CssParser.Rule.TypedNum
    , CssParser.Rule.Value
    , CssParser.Show
    , CssParser.TextMarshal
    , CssParser.Utils
  other-modules:
    , CssParser.Lexer
    , CssParser.Lexer.Token
    , CssParser.Parser
  build-depends:
    , array >=0.5.2 && < 1
    , bytestring >=0.9 && < 1
    , either < 6
    , generic-deriving < 2
    , reorder-expression < 1
    , these < 2
    , unordered-containers < 1
  build-tool-depends:
    , alex:alex
    , happy:happy

executable css-parser
  import: base
  ghc-options: -threaded
  main-is: Main.hs
  hs-source-dirs: app
  build-depends:
    , css-parser

test-suite test
  import: base
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs
  default-extensions:
    DerivingVia
    StandaloneDeriving
  other-modules:
    , CssParser.Test.Arbitrary
    , CssParser.Test.Arbitrary.At
    , CssParser.Test.Arbitrary.Container
    , CssParser.Test.Arbitrary.Ident
    , CssParser.Test.Arbitrary.File
    , CssParser.Test.Arbitrary.FontFeatureValues
    , CssParser.Test.Arbitrary.FontPaletteValues
    , CssParser.Test.Arbitrary.Function
    , CssParser.Test.Arbitrary.Media
    , CssParser.Test.Arbitrary.MonoPair
    , CssParser.Test.Arbitrary.Rule
    , CssParser.Test.Arbitrary.Value

  build-depends:
    , css-parser
    , containers
    , generic-arbitrary             >1 && <2
    , QuickCheck                    < 3
    , quickcheck-instances
    , tasty
    , tasty-discover
    , tasty-hunit
    , tasty-quickcheck
    , unordered-containers


  ghc-options:         -threaded -rtsopts -with-rtsopts=-N

source-repository head
  type:     git
  location: https://github.com/yaitskov/css-parser