xrefcheck/package.yaml
Constantine Ter-Matevosian 80b5edd1c7
[#49] Allow certain reserved characters in the URLs
Problem: The current version of xrefcheck doesn't allow the square
brackets and some other special characters, like the angle brackets and
the curly brackets, to be present in the URLs, even in the query
strings, as they need to be percent-encoded first.

Solution: Allow some of the reserved characters, like the brackets, to
be present in the query strings of the URLs.
There exist two main standards of URL parsing: RFC 3986 and the Web
Hypertext Application Technology Working Group's URL standard. Ideally,
we want to be able to parse the URLs in accordance with the latter
standard, because it provides a much less ambiguous set of rules for
percent-encoding special characters, and is essentially a living
standard that gets updated constantly.
We allow these characters to be present in the query strings by using
the `parseURI` function from the `uri-bytestring` library with
`laxURIParseOptions`.
2022-09-06 04:39:40 +10:00

171 lines
3.3 KiB
YAML

# SPDX-FileCopyrightText: 2018-2021 Serokell <https://serokell.io>
#
# SPDX-License-Identifier: MPL-2.0
spec-version: 0.31.0
name: xrefcheck
version: 0.2
github: serokell/xrefcheck
license: MPL-2.0
license-file: LICENSE
author: Kostya Ivanov, Serokell
maintainer: Serokell <hi@serokell.io>
copyright: 2018-2019 Serokell <https://serokell.io>
description: Please see the README on GitHub at <https://github.com/serokell/xrefcheck#readme>
extra-source-files:
- README.md
- CHANGES.md
default-extensions:
- AllowAmbiguousTypes
- BangPatterns
- BlockArguments
- ConstraintKinds
- DataKinds
- DefaultSignatures
- DeriveDataTypeable
- DeriveGeneric
- DerivingStrategies
- FlexibleContexts
- FlexibleInstances
- FunctionalDependencies
- GeneralizedNewtypeDeriving
- ImportQualifiedPost
- LambdaCase
- MultiParamTypeClasses
- MultiWayIf
- NamedFieldPuns
- NoImplicitPrelude
- OverloadedStrings
- RankNTypes
- RecordWildCards
- ScopedTypeVariables
- StandaloneDeriving
- TemplateHaskell
- TupleSections
- TypeFamilies
- UndecidableInstances
- ViewPatterns
- TypeApplications
- TypeOperators
ghc-options:
- -Weverything
- -Wincomplete-record-updates
- -Wincomplete-uni-patterns
- -Wmissing-deriving-strategies
- -Wno-missing-safe-haskell-mode
- -Wno-unsafe
- -Wno-missing-import-lists
- -Wno-missing-local-signatures
- -Wno-missing-export-lists
- -Wno-all-missed-specialisations
- -Wno-prepositive-qualified-module
- -Wno-monomorphism-restriction
dependencies:
- base
library:
source-dirs: src
generated-other-modules:
- Paths_xrefcheck
dependencies:
- aeson
- aeson-casing
- async
- bytestring
- containers
- cmark-gfm
- data-default
- directory-tree
- directory
- dlist
- filepath
- raw-strings-qq
- fmt
- ftp-client
- Glob
- http-client
- http-types
- lens
- pretty-terminal
- modern-uri
- mtl
- o-clock
- optparse-applicative
- regex-tdfa
- req
- roman-numerals
- tagsoup
- text
- text-metrics
- th-lift-instances
- time
- universum
- uri-bytestring
- yaml
executables:
xrefcheck:
main: Main.hs
source-dirs: exec
generated-other-modules:
- Paths_xrefcheck
ghc-options:
- -threaded
- -rtsopts
- -with-rtsopts=-N
- -O2
dependencies:
- xrefcheck
- bytestring
- universum
- with-utf8
tests:
xrefcheck-tests:
main: Main.hs
source-dirs: tests
generated-other-modules:
- Paths_xrefcheck
dependencies:
- case-insensitive
- containers
- firefly
- hspec
- hspec-expectations
- QuickCheck
- xrefcheck
- bytestring
- directory
- fmt
- http-types
- HUnit
- o-clock
- regex-tdfa
- time
- universum
- modern-uri
- yaml
build-tools:
- hspec-discover
links-tests:
main: Main.hs
source-dirs: links-tests
build-tools: tasty-discover:tasty-discover
generated-other-modules:
- Paths_xrefcheck
dependencies:
- optparse-applicative
- tagged
- tasty
- tasty-hunit
- xrefcheck
- universum