graphql-engine/cabal.project.freeze
Gil Mizrahi 904029aa7d Add fancier trace debugging functions to Hasura.Prelude
## Suggestion: Add fancier trace debugging functions to `Hasura.Prelude`

This PR adds two trace functions, `ltrace` and `ltraceM`, which use the `pretty-simple` package to `show` the input with nice formatting and colors for ease of reading (and comparing using diff tools such as `meld` or `vim-diff`).

I've also added warning pragmas to the functions, which means:
1. Traces will not be left in code, as CI builds with -Werror
2. Developers will have to change the `ghc-options` to `-Wwarn` in their `cabal.project.local` settings to use these functions

### Example

Usage:

```hs
selectFunctionAggregate ... = ... do
  ltraceM "functionInfo" function
  ...
```

Output to terminal looks like this:

<img width="524" alt="Screen Shot 2021-08-12 at 10 33 24" src="https://user-images.githubusercontent.com/8547573/129158878-4a5e96ba-30a5-452c-8f33-9eb4b2cc5e2a.png">

### Dependencies

Requires adding the following dependencies:
  - prettyprinter-ansi-terminal-1.1.2 (BSD2)
  - pretty-simple-4.0.0.0 (BSD3)

Question: what is the process for adding new dependencies? How does decisions on this matter happen?

https://github.com/hasura/graphql-engine-mono/pull/2075

GitOrigin-RevId: 490b0f0ca595da319b43e92e190ba50c0b132cd5
2021-08-12 19:33:56 +00:00

445 lines
18 KiB
Plaintext

active-repositories: hackage.haskell.org:merge
constraints: any.Cabal ==3.2.0.0,
any.Glob ==0.10.1,
any.HTTP ==4000.3.15,
HTTP -conduit10 -mtl1 +network-uri -warn-as-error -warp-tests,
any.HUnit ==1.6.2.0,
any.Only ==0.1,
any.QuickCheck ==2.14.2,
QuickCheck +old-random +templatehaskell,
any.RSA ==2.4.1,
any.SHA ==1.6.4.4,
SHA -exe,
any.Spock-core ==0.14.0.0,
any.StateVar ==1.2.1,
any.abstract-deque ==0.3,
abstract-deque -usecas,
any.abstract-par ==0.3.3,
any.adjunctions ==4.4,
any.aeson ==1.5.5.1,
aeson -bytestring-builder -cffi -developer -fast,
any.aeson-casing ==0.2.0.0,
any.ansi-terminal ==0.11,
ansi-terminal -example,
any.ansi-wl-pprint ==0.6.9,
ansi-wl-pprint -example,
any.appar ==0.1.8,
any.array ==0.5.4.0,
any.asn1-encoding ==0.9.6,
any.asn1-parse ==0.9.5,
any.asn1-types ==0.3.4,
any.assoc ==1.0.2,
any.async ==2.2.2,
async -bench,
any.atomic-primops ==0.8.4,
atomic-primops -debug,
any.attoparsec ==0.13.2.5,
attoparsec -developer,
any.attoparsec-iso8601 ==1.0.2.0,
attoparsec-iso8601 -developer -fast,
any.authenticate-oauth ==1.6.0.1,
any.auto-update ==0.1.6,
any.base ==4.14.1.0,
any.base-compat ==0.11.2,
any.base-compat-batteries ==0.11.2,
any.base-orphans ==0.8.4,
any.base-prelude ==1.4,
any.base16-bytestring ==1.0.1.0,
any.base64-bytestring ==1.2.0.1,
any.basement ==0.0.11,
any.bifunctors ==5.5.10,
bifunctors +semigroups +tagged,
any.binary ==0.8.8.0,
any.binary-orphans ==1.0.1,
any.binary-parser ==0.5.6,
any.blaze-builder ==0.4.2.1,
any.blaze-html ==0.9.1.2,
any.blaze-markup ==0.8.2.7,
any.blaze-textual ==0.2.1.0,
blaze-textual -developer -integer-simple +native,
any.bsb-http-chunked ==0.0.0.4,
any.byteorder ==1.0.4,
any.bytestring ==0.10.10.0,
any.bytestring-builder ==0.10.8.2.0,
bytestring-builder +bytestring_has_builder,
any.bytestring-lexing ==0.5.0.2,
any.bytestring-strict-builder ==0.4.5.3,
any.cabal-doctest ==1.0.8,
any.call-stack ==0.3.0,
any.case-insensitive ==1.2.1.0,
any.cassava ==0.5.2.0,
cassava -bytestring--lt-0_10_4,
any.cereal ==0.5.8.1,
cereal -bytestring-builder,
any.charset ==0.3.7.1,
any.ci-info ==0.1.0.0,
any.clock ==0.8.2,
clock -llvm,
any.cmdargs ==0.10.20,
cmdargs +quotation -testprog,
any.code-page ==0.2.1,
any.colour ==2.3.5,
any.comonad ==5.0.8,
comonad +containers +distributive +indexed-traversable,
any.concise ==0.1.0.1,
any.concurrent-output ==1.10.12,
any.conduit ==1.3.4,
any.conduit-extra ==1.3.5,
any.connection ==0.3.1,
any.constraints ==0.12,
any.constraints-extras ==0.3.0.2,
constraints-extras +build-readme,
any.containers ==0.6.2.1,
any.contravariant ==1.5.3,
contravariant +semigroups +statevar +tagged,
any.cookie ==0.4.5,
any.criterion ==1.5.9.0,
criterion -embed-data-files -fast,
any.criterion-measurement ==0.1.2.0,
criterion-measurement -fast,
any.cron ==0.7.0,
cron -lib-werror,
any.crypto-api ==0.13.3,
crypto-api -all_cpolys,
any.crypto-pubkey-types ==0.4.3,
any.cryptohash-md5 ==0.11.100.1,
any.cryptohash-sha1 ==0.11.100.1,
any.cryptonite ==0.28,
cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
any.data-bword ==0.1.0.1,
any.data-checked ==0.3,
any.data-default ==0.7.1.1,
any.data-default-class ==0.1.2.0,
any.data-default-instances-containers ==0.0.1,
any.data-default-instances-dlist ==0.0.1,
any.data-default-instances-old-locale ==0.0.1,
any.data-dword ==0.3.2,
any.data-endian ==0.1.1,
any.data-fix ==0.3.1,
any.data-has ==0.4.0.0,
any.data-serializer ==0.3.4.1,
any.data-textual ==0.3.0.3,
any.deepseq ==1.4.4.0,
any.deferred-folds ==0.9.15,
any.dense-linear-algebra ==0.1.0.0,
any.dependent-map ==0.4.0.0,
any.dependent-sum ==0.7.1.0,
any.directory ==1.3.6.0,
any.distributive ==0.6.2.1,
distributive +semigroups +tagged,
any.dlist ==1.0,
dlist -werror,
any.double-conversion ==2.0.2.0,
double-conversion -developer,
any.easy-file ==0.2.2,
any.either ==5.0.1.1,
any.ekg ==0.4.0.16,
any.ekg-core ==0.1.1.7,
any.ekg-json ==0.1.0.7,
any.ekg-statsd ==0.2.5.0,
any.entropy ==0.4.1.6,
entropy -halvm,
any.envy ==2.1.0.0,
any.erf ==2.0.0.0,
any.errors ==2.3.0,
any.exceptions ==0.10.4,
any.fail ==4.9.0.0,
any.fast-logger ==3.0.2,
any.file-embed ==0.0.13.0,
any.filepath ==1.4.2.1,
any.flush-queue ==1.0.0,
any.focus ==1.0.2,
any.foldl ==1.4.10,
any.formatting ==7.1.1,
any.free ==5.1.6,
any.generic-arbitrary ==0.1.0,
any.ghc ==8.10.2,
any.ghc-boot ==8.10.2,
any.ghc-boot-th ==8.10.2,
any.ghc-heap ==8.10.2,
any.ghc-heap-view ==0.6.2,
ghc-heap-view -prim-supports-any,
any.ghc-prim ==0.6.1,
any.ghci ==8.10.2,
any.graphql-parser ==0.2.0.0,
any.groom ==0.1.2.1,
any.happy ==1.20.0,
any.hashable ==1.3.0.0,
hashable -examples +integer-gmp +sse2 -sse41,
any.hashable-time ==0.2.1,
hashable-time -old-locale,
any.hashtables ==1.2.4.1,
hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
any.haskell-lexer ==1.1,
any.haskell-src-exts ==1.23.1,
any.hedgehog ==1.0.4,
any.hedis ==0.14.2,
hedis -dev,
any.hourglass ==0.2.12,
any.hpc ==0.6.1.0,
any.hsc2hs ==0.68.7,
hsc2hs -in-ghc-tree,
any.hspec ==2.7.8,
any.hspec-core ==2.7.8,
any.hspec-discover ==2.7.8,
any.hspec-expectations ==0.8.2,
any.hspec-expectations-lifted ==0.10.0,
any.http-api-data ==0.4.3,
http-api-data -use-text-show,
any.http-client ==0.7.5,
http-client +network-uri,
any.http-client-tls ==0.3.5.3,
any.http-conduit ==2.3.7.4,
http-conduit +aeson,
any.http-date ==0.0.10,
any.http-types ==0.12.3,
any.http2 ==2.0.5,
http2 -devel,
any.hvect ==0.4.0.0,
any.immortal ==0.2.2.1,
any.indexed-profunctors ==0.1,
any.indexed-traversable ==0.1.1,
any.insert-ordered-containers ==0.2.3.1,
any.inspection-testing ==0.4.5.0,
any.integer-gmp ==1.0.3.0,
any.integer-logarithms ==1.0.3.1,
integer-logarithms -check-bounds +integer-gmp,
any.invariant ==0.5.4,
any.io-streams ==1.5.2.1,
io-streams +network -nointeractivetests +zlib,
any.io-streams-haproxy ==1.0.1.0,
any.iproute ==1.7.10,
any.jose ==0.8.4,
jose -demos,
any.js-chart ==2.9.4.1,
any.kan-extensions ==5.2.1,
any.keys ==3.12.3,
any.lens ==4.19.2,
lens -benchmark-uniplate -dump-splices +inlining -j -old-inline-pragmas -safe +test-doctests +test-hunit +test-properties +test-templates +trustworthy,
any.lens-aeson ==1.1,
lens-aeson +test-doctests,
any.libyaml ==0.1.2,
libyaml -no-unicode -system-libyaml,
any.lifted-async ==0.10.1.2,
any.lifted-base ==0.2.3.12,
any.list-t ==1.0.4,
any.loch-th ==0.2.2,
any.logict ==0.7.0.3,
any.math-functions ==0.3.4.1,
math-functions +system-erf +system-expm1,
any.memory ==0.15.0,
memory +support_basement +support_bytestring +support_deepseq +support_foundation,
any.microstache ==1.0.1.2,
any.mime-types ==0.1.0.9,
any.mmorph ==1.1.4,
any.monad-control ==1.0.2.3,
any.monad-loops ==0.4.3,
monad-loops +base4,
any.monad-par ==0.3.5,
monad-par -chaselev -newgeneric,
any.monad-par-extras ==0.3.3,
any.monad-time ==0.3.1.0,
any.monad-validate ==1.2.0.0,
any.mono-traversable ==1.0.15.1,
any.mtl ==2.2.2,
any.mtl-compat ==0.2.2,
mtl-compat -two-point-one -two-point-two,
any.mustache ==2.3.1,
any.mwc-probability ==2.3.1,
any.mwc-random ==0.14.0.0,
any.mysql ==0.2.0.1,
mysql -developer,
any.mysql-simple ==0.4.6,
mysql-simple -developer,
any.natural-transformation ==0.4,
any.network ==3.1.2.1,
network -devel,
any.network-byte-order ==0.1.6,
any.network-info ==0.2.0.10,
any.network-ip ==0.3.0.3,
any.network-uri ==2.6.4.1,
any.odbc ==0.2.3,
any.old-locale ==1.0.0.7,
any.old-time ==1.1.0.3,
any.optics-core ==0.3.0.1,
any.optics-extra ==0.3,
any.optparse-applicative ==0.16.1.0,
optparse-applicative +process,
any.optparse-generic ==1.4.4,
any.parallel ==3.2.2.0,
any.parsec ==3.1.14.0,
any.parsers ==0.12.10,
parsers +attoparsec +binary +parsec,
any.pcre-light ==0.4.1.0,
pcre-light -old_base -use-pkg-config,
any.pem ==0.2.4,
any.pg-client ==0.1.0,
any.placeholders ==0.1,
any.pointed ==5.0.2,
pointed +comonad +containers +kan-extensions +semigroupoids +semigroups +stm +tagged +transformers +unordered-containers,
any.postgresql-binary ==0.12.3.3,
any.postgresql-libpq ==0.9.4.3,
postgresql-libpq -use-pkg-config,
any.pretty ==1.1.3.6,
any.pretty-simple ==4.0.0.0,
any.pretty-show ==1.10,
any.prettyprinter ==1.7.0,
prettyprinter -buildreadme,
prettyprinter-ansi-terminal ==1.1.2,
any.primitive ==0.7.1.0,
any.primitive-extras ==0.8,
any.primitive-unlifted ==0.1.3.0,
any.process ==1.6.9.0,
any.profunctors ==5.6.1,
any.psqueues ==0.2.7.2,
any.quickcheck-instances ==0.3.25.2,
quickcheck-instances -bytestring-builder,
any.quickcheck-io ==0.2.0,
any.random ==1.1,
any.readable ==0.3.1,
any.reflection ==2.1.6,
reflection -slow +template-haskell,
any.regex-base ==0.94.0.0,
any.regex-posix ==0.96.0.0,
regex-posix -_regex-posix-clib,
any.regex-tdfa ==1.3.1.0,
regex-tdfa -force-o2,
any.reroute ==0.6.0.0,
any.resource-pool ==0.2.3.2,
resource-pool -developer,
any.resourcet ==1.2.4.2,
any.retry ==0.8.1.2,
retry -lib-werror,
any.rts ==1.0,
any.safe ==0.3.19,
any.safe-exceptions ==0.1.7.2,
any.scanner ==0.3.1,
any.scientific ==0.3.6.2,
scientific -bytestring-builder -integer-simple,
any.semialign ==1.1.0.1,
semialign +semigroupoids,
any.semigroupoids ==5.3.5,
semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
any.semigroups ==0.19.1,
semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers,
any.semver ==0.4.0.1,
any.setenv ==0.1.1.3,
any.shakespeare ==2.0.25,
shakespeare -test_coffee -test_export -test_roy,
any.simple-sendfile ==0.2.30,
simple-sendfile +allow-bsd,
any.smallcheck ==1.2.1,
any.snap-core ==1.0.4.2,
snap-core -debug +network-uri -portable,
any.snap-server ==1.1.2.0,
snap-server -build-pong -build-testserver -debug -openssl -portable,
any.socks ==0.6.1,
any.some ==1.0.1,
some +newtype-unsafe,
any.split ==0.2.3.4,
any.splitmix ==0.1.0.3,
splitmix -optimised-mixer,
any.statistics ==0.15.2.0,
any.stm ==2.5.0.0,
any.stm-containers ==1.2,
any.stm-hamt ==1.2.0.4,
any.streaming-commons ==0.2.2.1,
streaming-commons -use-bytestring-builder,
any.strict ==0.4.0.1,
strict +assoc,
any.superbuffer ==0.3.1.1,
any.system-filepath ==0.4.14,
any.tagged ==0.8.6.1,
tagged +deepseq +transformers,
any.tasty ==1.4.1,
tasty +clock +unix,
any.tasty-golden ==2.3.4,
tasty-golden -build-example,
any.tasty-hspec ==1.1.6,
any.tasty-quickcheck ==0.10.1.2,
any.tasty-smallcheck ==0.8.2,
any.template-haskell ==2.16.0.0,
any.temporary ==1.3,
any.terminfo ==0.4.1.4,
any.terminal-size ==0.3.2.1,
any.text ==1.2.3.2,
any.text-builder ==0.6.6.1,
any.text-conversions ==0.3.1,
any.text-latin1 ==0.3.1,
any.text-printer ==0.5.0.1,
any.text-short ==0.1.3,
text-short -asserts,
any.tf-random ==0.5,
any.th-abstraction ==0.4.2.0,
any.th-compat ==0.1.1,
any.th-lift ==0.8.2,
any.th-lift-instances ==0.1.18,
any.these ==1.1.1.1,
these +assoc,
any.time ==1.9.3,
any.time-compat ==1.9.5,
time-compat -old-locale,
any.time-locale-compat ==0.1.1.5,
time-locale-compat -old-locale,
any.time-manager ==0.0.0,
any.tls ==1.5.5,
tls +compat -hans +network,
any.transformers ==0.5.6.2,
any.transformers-base ==0.4.5.2,
transformers-base +orphaninstances,
any.transformers-compat ==0.6.6,
transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
any.type-equality ==1,
any.type-hint ==0.1,
any.typed-process ==0.2.6.0,
any.unbounded-delays ==0.1.1.1,
any.unix ==2.7.2.2,
any.unix-compat ==0.5.3,
unix-compat -old-time,
any.unix-time ==0.4.7,
any.unliftio-core ==0.2.0.1,
any.unordered-containers ==0.2.13.0,
unordered-containers -debug,
any.uri-encode ==1.5.0.7,
uri-encode +network-uri -tools,
any.utf8-string ==1.0.2,
any.uuid ==1.3.13,
any.uuid-types ==1.0.3,
any.validation ==1.1,
any.vault ==0.3.1.4,
vault +useghc,
any.vector ==0.12.2.0,
vector +boundschecks -internalchecks -unsafechecks -wall,
any.vector-algorithms ==0.8.0.4,
vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
any.vector-binary-instances ==0.2.5.1,
any.vector-instances ==3.4,
vector-instances +hashable,
any.vector-th-unbox ==0.2.1.7,
any.void ==0.7.3,
void -safe,
any.wai ==3.2.3,
any.wai-extra ==3.1.6,
wai-extra -build-example,
any.wai-logger ==2.3.6,
any.warp ==3.3.14,
warp +allow-sendfilefd -network-bytestring -warp-debug,
any.wcwidth ==0.0.2,
wcwidth -cli +split-base,
any.websockets ==0.12.7.2,
websockets -example,
any.wl-pprint-annotated ==0.1.0.1,
any.word8 ==0.1.3,
any.wreq ==0.5.3.3,
wreq -aws -developer +doctest -httpbin,
any.x509 ==1.7.5,
any.x509-store ==1.6.7,
any.x509-system ==1.6.6,
any.x509-validation ==1.6.11,
any.yaml ==0.11.5.0,
yaml +no-examples +no-exe,
any.zlib ==0.6.2.2,
zlib -bundled-c-zlib -non-blocking-ffi -pkg-config,
any.zlib-bindings ==0.1.1.5
index-state: 2021-07-09T20:23:17Z