packages feed

okf-cli-0.1.2.0: okf-cli.cabal

cabal-version:   3.4
name:            okf-cli
version:         0.1.2.0
synopsis:        Command-line interface for Open Knowledge Format bundles
description:
  okf-cli provides the @okf@ executable for working with Open Knowledge Format
  (OKF) bundles: validating bundles, inspecting their concept graph, and
  authoring documents from the command line, built on the okf-core library.

category:        Data, CLI
license:         BSD-3-Clause
license-file:    LICENSE
author:          Nadeem Bitar
maintainer:      nadeem@gmail.com
copyright:       (c) 2026 Nadeem Bitar
build-type:      Simple
extra-doc-files: CHANGELOG.md

common common-options
  ghc-options:
    -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
    -Wincomplete-record-updates -Wredundant-constraints
    -fhide-source-paths -Wmissing-export-lists -Wpartial-fields
    -Wmissing-deriving-strategies

  default-language:   GHC2024
  default-extensions:
    DeriveAnyClass
    DuplicateRecordFields
    OverloadedLabels
    OverloadedStrings

library
  import:          common-options
  hs-source-dirs:  src
  exposed-modules:
    Okf.Cli
    Okf.Cli.Assist
    Okf.Cli.Completions
    Okf.Cli.Config
    Okf.Cli.Help
    Okf.Cli.Kit
    Okf.Cli.Kit.Config
    Okf.Cli.Version

  other-modules:   Paths_okf_cli
  autogen-modules: Paths_okf_cli
  build-depends:
    , aeson                 >=2.2      && <2.4
    , baikai                ^>=0.3.0
    , baikai-kit            ^>=0.1.0.1
    , base                  >=4.20     && <5
    , bytestring            >=0.11     && <0.13
    , containers            >=0.6      && <0.8
    , dhall                 >=1.41     && <1.43
    , directory             >=1.3      && <1.4
    , file-embed            >=0.0.15   && <0.1
    , filepath              >=1.4      && <1.6
    , generic-lens          >=2.2      && <2.4
    , githash               ^>=0.1
    , lens                  ^>=5.3
    , okf-core              ^>=0.1.2.0
    , optparse-applicative  >=0.18     && <0.20
    , process               >=1.6      && <1.7
    , text                  ^>=2.1
    , time                  >=1.12     && <1.15

test-suite okf-cli-test
  import:         common-options
  type:           exitcode-stdio-1.0
  main-is:        Main.hs
  hs-source-dirs: test
  build-depends:
    , base                  >=4.20 && <5
    , directory
    , filepath
    , okf-cli
    , optparse-applicative  >=0.18
    , temporary
    , text                  ^>=2.1

executable okf
  import:         common-options
  main-is:        Main.hs
  hs-source-dirs: app
  ghc-options:    -threaded -rtsopts -with-rtsopts=-N
  build-depends:
    , base     >=4.20 && <5
    , okf-cli