zxcvbn-hs-0.3.6: zxcvbn-hs.cabal
cabal-version: 2.2
name: zxcvbn-hs
version: 0.3.6
synopsis: Password strength estimation based on zxcvbn.
license: MIT
license-file: LICENSE
author: Peter Jones <pjones@devalot.com>
maintainer: Peter Jones <pjones@devalot.com>
copyright: Copyright (c) 2019-2020 Peter Jones
homepage: https://github.com/sthenauth/zxcvbn-hs
bug-reports: https://github.com/sthenauth/zxcvbn-hs/issues
category: System
tested-with: GHC ==8.10.7 || ==9.0.2 || ==9.2.2
description:
This is a native Haskell implementation of the zxcvbn password
strength estimation algorithm as it appears in the 2016 USENIX Security
<https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheeler paper>
and presentation (with some small modifications).
--------------------------------------------------------------------------------
extra-source-files:
CHANGELOG.md
README.md
--------------------------------------------------------------------------------
flag tools
description: Build the data processing tools (i.e. dictionary compilers)
default: False
manual: True
--------------------------------------------------------------------------------
source-repository head
type: git
location: https://github.com/sthenauth/zxcvbn-hs.git
--------------------------------------------------------------------------------
common options
default-language: Haskell2010
ghc-options:
-Wall -Werror=incomplete-record-updates
-Werror=incomplete-uni-patterns -Werror=missing-home-modules
-Widentities -Wmissing-export-lists -Wredundant-constraints
--------------------------------------------------------------------------------
common dependencies
build-depends:
aeson >=1.3 && <2.2 || ^>=2.2.0.0,
attoparsec >=0.13 && <0.15,
base >=4.9 && <5.0,
base64-bytestring >=1.0 && <1.3,
binary >=0.8 && <0.11,
binary-instances >=1 && <2.0,
containers ^>=0.6,
fgl >=5.7 && <5.9,
lens >=4.17 && <6,
math-functions ^>=0.3,
text >=1.2 && <2.1 || ^>=2.1,
time >=1.8 && <2.0,
unordered-containers ^>=0.2,
vector >=0.12 && <0.14,
zlib ^>=0.6
--------------------------------------------------------------------------------
library
import: options, dependencies
-- ghc-prof-options: -fprof-auto -fprof-cafs
hs-source-dirs: src
exposed-modules:
Text.Password.Strength
Text.Password.Strength.Config
Text.Password.Strength.Internal
Text.Password.Strength.Types
other-modules:
Text.Password.Strength.Generated.Adjacency
Text.Password.Strength.Generated.Frequency
Text.Password.Strength.Internal.Adjacency
Text.Password.Strength.Internal.Config
Text.Password.Strength.Internal.Date
Text.Password.Strength.Internal.Dictionary
Text.Password.Strength.Internal.Estimate
Text.Password.Strength.Internal.Keyboard
Text.Password.Strength.Internal.L33t
Text.Password.Strength.Internal.Match
Text.Password.Strength.Internal.Math
Text.Password.Strength.Internal.Repeat
Text.Password.Strength.Internal.Search
Text.Password.Strength.Internal.Sequence
Text.Password.Strength.Internal.Token
--------------------------------------------------------------------------------
executable zxcvbn-tools
import: options, dependencies
main-is: Main.hs
hs-source-dirs: tools
other-modules:
Zxcvbn.Adjacency
Zxcvbn.Encode
Zxcvbn.Freq
Zxcvbn.Global
build-depends:
zxcvbn-hs,
filepath ^>=1.4,
mtl >=2.2,
optparse-applicative >=0.14,
pipes ^>=4.3,
pipes-safe ^>=2.3,
pipes-text >=0.0
if !flag(tools)
buildable: False
--------------------------------------------------------------------------------
executable zxcvbn-example
import: options, dependencies
main-is: Main.hs
hs-source-dirs: example
ghc-prof-options: -rtsopts
build-depends: zxcvbn-hs
--------------------------------------------------------------------------------
test-suite test
import: options, dependencies
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
build-depends:
hedgehog >=0.6 && <1.3 || ^>=1.3 || ^>=1.4,
tasty >=1.1 && <1.6,
tasty-hedgehog >=0.2 && <2,
tasty-hunit ^>=0.10,
zxcvbn-hs
other-modules:
Zxcvbn.Adjacency
Zxcvbn.Date
Zxcvbn.Estimate
Zxcvbn.Match
Zxcvbn.Repeat
Zxcvbn.Search
Zxcvbn.Sequence
--------------------------------------------------------------------------------
benchmark bench
import: options, dependencies
type: exitcode-stdio-1.0
hs-source-dirs: benchmark
main-is: Main.hs
ghc-prof-options: -rtsopts
build-depends:
criterion >=1.5 && <1.7,
zxcvbn-hs