hasql-check-0.5.0.0: hasql-check.cabal
cabal-version: 3.0
name: hasql-check
version: 0.5.0.0
synopsis: Check hasql-th statements against a live PostgreSQL schema
description:
Finds the hasql-th quasiquotes in Haskell source files and PREPAREs each
statement against a live PostgreSQL database, so statements that no longer
match the schema fail in CI rather than at runtime.
category: Database, Development
homepage: https://github.com/kronor-io/hasql-check
bug-reports: https://github.com/kronor-io/hasql-check/issues
license: BSD-3-Clause
license-file: LICENSE
author: Pranay Sashank, Jose Lorenzo Rodriguez
maintainer: lorenzo@kronor.io, pranay.sashank@kronor.io
copyright: 2021-2026 Kronor
build-type: Simple
tested-with: GHC ==9.10.3 || ==9.12.4 || ==9.14.1
extra-doc-files:
ChangeLog.md
README.md
source-repository head
type: git
location: https://github.com/kronor-io/hasql-check
flag lint
description: lint
manual: True
default: False
flag kronor-syntax
description:
Accept the hasql-th extensions of Kronor's forks (Haskell targets and
Haskell param fields). Needs Kronor's fork of postgresql-syntax.
manual: True
default: False
library
exposed-modules:
Hasql.Check
Hasql.Check.Annotate
Hasql.Check.Compile
Hasql.Check.Finding
Hasql.Check.Inferred
Hasql.Check.Inferred.Quote
Hasql.Check.Inferred.TH
Hasql.Check.Lexer
Hasql.Check.Nullability
Hasql.Check.Parser
Hasql.Check.Quoter
Hasql.Check.TH
Hasql.Check.Types
hs-source-dirs: src
default-language: GHC2021
default-extensions:
ApplicativeDo
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
DoAndIfThenElse
DuplicateRecordFields
EmptyDataDecls
EmptyDataDeriving
ExistentialQuantification
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
ImportQualifiedPost
InstanceSigs
KindSignatures
LambdaCase
MultiParamTypeClasses
MultiWayIf
NamedFieldPuns
NoImplicitPrelude
OverloadedRecordDot
OverloadedStrings
PartialTypeSignatures
PatternGuards
PatternSynonyms
PolyKinds
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TupleSections
TypeApplications
TypeFamilies
TypeSynonymInstances
ViewPatterns
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
-freverse-errors -fhide-source-paths
if flag(lint)
ghc-options: -Werror
build-depends:
, aeson >=2.0 && <2.4
, array >=0.5 && <0.6
, base >=4.20 && <4.23
, bytestring >=0.11 && <0.13
, containers >=0.6 && <0.9
, directory >=1.3 && <1.4
, hasql >=2.0 && <2.1
, hasql-th >=0.5 && <0.6
, mtl >=2.2 && <2.4
, postgresql-syntax >=0.5 && <0.6
, pqi >=1.1 && <1.2
, pqi-ffi >=1.0 && <1.1
, scientific >=0.3 && <0.4
, template-haskell >=2.18 && <2.25
, text >=2.0 && <2.2
, time >=1.11 && <1.17
, uuid >=1.3 && <1.4
, vector >=0.12 && <0.14
if flag(kronor-syntax)
cpp-options: -DKRONOR_SYNTAX
build-tool-depends:
, alex:alex >=3.2 && <4
, happy:happy >=1.20 && <3
executable hasql-check
main-is: Main.hs
hs-source-dirs: app
default-language: GHC2021
default-extensions:
ApplicativeDo
BangPatterns
BinaryLiterals
BlockArguments
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
DoAndIfThenElse
DuplicateRecordFields
EmptyDataDecls
EmptyDataDeriving
ExistentialQuantification
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
ImportQualifiedPost
InstanceSigs
KindSignatures
LambdaCase
MultiParamTypeClasses
MultiWayIf
NamedFieldPuns
NoImplicitPrelude
OverloadedRecordDot
OverloadedStrings
PartialTypeSignatures
PatternGuards
PatternSynonyms
PolyKinds
QuasiQuotes
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
StrictData
TupleSections
TypeApplications
TypeFamilies
TypeSynonymInstances
ViewPatterns
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-record-updates
-Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints
-freverse-errors -fhide-source-paths
build-depends:
, base >=4.20 && <4.23
, bytestring >=0.11 && <0.13
, directory >=1.3 && <1.4
, filepath >=1.4 && <1.6
, hasql >=2.0 && <2.1
, hasql-check
, pqi >=1.1 && <1.2
, pqi-ffi >=1.0 && <1.1
, text >=2.0 && <2.2
if flag(lint)
ghc-options: -Werror
-- The executable tests start their own PostgreSQL server, so initdb, pg_ctl
-- and psql must be on PATH.
test-suite hasql-check-test
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
default-language: GHC2021
default-extensions:
BlockArguments
DataKinds
LambdaCase
OverloadedStrings
ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
if flag(lint)
ghc-options: -Werror
build-depends:
, base >=4.20 && <4.23
, bytestring >=0.11 && <0.13
, directory >=1.3 && <1.4
, filepath >=1.4 && <1.6
, hasql >=2.0 && <2.1
, hasql-check
, pqi-ffi >=1.0 && <1.1
, process >=1.6 && <1.7
, sydtest >=0.19 && <0.34
, template-haskell >=2.18 && <2.25
, temporary >=1.3 && <1.4
, text >=2.0 && <2.2
, vector >=0.12 && <0.14
build-tool-depends: hasql-check:hasql-check
if flag(kronor-syntax)
cpp-options: -DKRONOR_SYNTAX