idnaparse-1.0.0.0: idnaparse.cabal
cabal-version: 3.0
name: idnaparse
version: 1.0.0.0
synopsis: IDNA-aware DNS-name lint and reporter
description:
@idnaparse@ reads a stream of presentation-form domain names
(one per line on stdin) and emits one JSON record per name on
stdout. Each record reports either a successful parse (with
canonical presentation form, Unicode display form, and the
set of label-form classifications -- LDH, ALABEL, ULABEL,
FAKEA, ATTRLEAF, OCTET, WILDLABEL) or an error with enough
detail to identify the offending label and the specific rule
that failed.
Built on the @idna2008@ library. Useful for sweeping a zone
file or registrar feed for IDNA conformance, building a
summary of the label kinds present in a corpus, or as the
parsing front end for ad-hoc DNS-name analysis pipelines.
See @idnaparse --help@, @idnaparse --explain-forms@, and
@idnaparse --explain-opts@ for the full CLI vocabulary.
author: Viktor Dukhovni
maintainer: ietf-dane@dukhovni.org
copyright: 2026 Viktor Dukhovni
license: BSD-3-Clause
license-file: LICENSE
category: Network
homepage: https://github.com/dnsbase/idnaparse
bug-reports: https://github.com/dnsbase/idnaparse/issues
build-type: Simple
tested-with: GHC == 9.6.7
, GHC == 9.8.4
, GHC == 9.10.3
, GHC == 9.12.3
, GHC == 9.14.1
extra-doc-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: https://github.com/dnsbase/idnaparse.git
executable idnaparse
hs-source-dirs: app
main-is: idnaparse.hs
default-language: GHC2021
default-extensions:
BangPatterns
BlockArguments
LambdaCase
OverloadedStrings
PatternSynonyms
ghc-options: -O2 -Wall
build-depends:
base >= 4.18 && < 5
, bytestring >= 0.11 && < 0.13
, containers >= 0.6 && < 0.9
, idna2008 >= 1.0 && < 1.1
, optparse-applicative >= 0.17 && < 0.20
, streaming >= 0.2 && < 0.3
, streaming-bytestring >= 0.3 && < 0.4
, text >= 2.0 && < 2.2