graphql-engine/cabal.project

189 lines
6.5 KiB
Plaintext
Raw Normal View History

2020-01-24 02:20:58 +03:00
-- Global project configuration.
2020-01-24 02:20:58 +03:00
--
-- This file can be overridden with cabal.project.local (see e.g. cabal/dev.project)
--
-- If you need to switch between several local configurations you can also create a
-- symbolic link to this file in the project root directory; e.g.:
-- $ ln -s cabal.project myconfig.project
-- $ ln -s cabal.project.freeze myconfig.project.freeze
2020-01-24 02:20:58 +03:00
--
-- ...and then create a new set of overrides in:
-- myconfig.project.local
--
2020-01-24 02:20:58 +03:00
-- ...and then invoke cabal with
-- $ cabal new-build --project-file=myconfig.project
2020-01-24 02:20:58 +03:00
--
allow custom mutations through actions (#3042) * basic doc for actions * custom_types, sync and async actions * switch to graphql-parser-hs on github * update docs * metadata import/export * webhook calls are now supported * relationships in sync actions * initialise.sql is now in sync with the migration file * fix metadata tests * allow specifying arguments of actions * fix blacklist check on check_build_worthiness job * track custom_types and actions related tables * handlers are now triggered on async actions * default to pgjson unless a field is involved in relationships, for generating definition list * use 'true' for action filter for non admin role * fix create_action_permission sql query * drop permissions when dropping an action * add a hdb_role view (and relationships) to fetch all roles in the system * rename 'webhook' key in action definition to 'handler' * allow templating actions wehook URLs with env vars * add 'update_action' /v1/query type * allow forwarding client headers by setting `forward_client_headers` in action definition * add 'headers' configuration in action definition * handle webhook error response based on status codes * support array relationships for custom types * implement single row mutation, see https://github.com/hasura/graphql-engine/issues/3731 * single row mutation: rename 'pk_columns' -> 'columns' and no-op refactor * use top level primary key inputs for delete_by_pk & account select permissions for single row mutations * use only REST semantics to resolve the webhook response * use 'pk_columns' instead of 'columns' for update_by_pk input * add python basic tests for single row mutations * add action context (name) in webhook payload * Async action response is accessible for non admin roles only if the request session vars equals to action's * clean nulls, empty arrays for actions, custom types in export metadata * async action mutation returns only the UUID of the action * unit tests for URL template parser * Basic sync actions python tests * fix output in async query & add async tests * add admin secret header in async actions python test * document async action architecture in Resolve/Action.hs file * support actions returning array of objects * tests for list type response actions * update docs with actions and custom types metadata API reference * update actions python tests as per #f8e1330 Co-authored-by: Tirumarai Selvan <tirumarai.selvan@gmail.com> Co-authored-by: Aravind Shankar <face11301@gmail.com> Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
2020-02-13 20:38:23 +03:00
-- See: https://www.haskell.org/cabal/users-guide/nix-local-build.html#configuring-builds-with-cabal-project
with-compiler: ghc-9.6.4
-- package-level parallelism:
jobs: $ncpus
packages: server
packages: server/lib/*/*.cabal
packages: server/forks/*/*.cabal
-- TODO remove these when we are able:
allow-newer: req:template-haskell
allow-newer: ekg-core:base
allow-newer: ekg-core:ghc-prim
allow-newer: ekg-core:inspection-testing
allow-newer: ekg-core:text
allow-newer: ekg-json:base
allow-newer: ekg-json:text
allow-newer: ekg-prometheus:base
allow-newer: ekg-prometheus:text
allow-newer: ekg-prometheus:bytestring
-- Migrating to 0.25+ looks like it will be a real pain... :(
-- https://github.com/morpheusgraphql/morpheus-graphql/pull/766
allow-newer: relude:base
allow-newer: relude:ghc-prim
allow-newer: morpheus-graphql:text
allow-newer: morpheus-graphql:relude
allow-newer: morpheus-graphql:vector
allow-newer: morpheus-graphql:transformers
allow-newer: morpheus-graphql-app:text
allow-newer: morpheus-graphql-app:vector
allow-newer: morpheus-graphql-app:transformers
allow-newer: morpheus-graphql-code-gen:text
allow-newer: morpheus-graphql-code-gen:optparse-applicative
allow-newer: morpheus-graphql-code-gen-utils:text
allow-newer: morpheus-graphql-core:text
allow-newer: morpheus-graphql-core:transformers
allow-newer: morpheus-graphql-core:vector
allow-newer: morpheus-graphql-server:text
allow-newer: morpheus-graphql-server:transformers
allow-newer: morpheus-graphql-server:vector
allow-newer: morpheus-graphql-client:text
allow-newer: morpheus-graphql-client:req
allow-newer: morpheus-graphql-client:transformers
allow-newer: morpheus-graphql-client:vector
allow-newer: morpheus-graphql-subscriptions:text
allow-newer: morpheus-graphql-subscriptions:transformers
allow-newer: servant-openapi3:base
allow-newer: openapi3:base
allow-newer: servant-client:base
allow-newer: servant-client:transformers
allow-newer: servant-client:mtl
allow-newer: servant-client-core:base
allow-newer: servant-client-core:free
allow-newer: servant-client-core:template-haskell
allow-newer: servant-client-core:transformers
allow-newer: servant-server:base
allow-newer: servant-server:template-haskell
allow-newer: servant-server:transformers
allow-newer: servant-server:mtl
allow-newer: servant:base
allow-newer: servant:mtl
allow-newer: ghc-heap-view:base
allow-newer: ghc-heap-view:Cabal
allow-newer: servant:transformers
allow-newer: singleton-bool:base
allow-newer: semigroupoids:base
allow-newer: http-api-data:base
allow-newer: validation:assoc
allow-newer: aeson:th-abstraction
allow-newer: optics-th:th-abstraction
allow-newer: generics-sop:th-abstraction
-- https://gitlab.haskell.org/ghc/ghc-debug/-/merge_requests/27
allow-newer: ghc-debug-stub:ghc-prim
-- https://github.com/mokus0/th-extras/pull/20
allow-newer: th-extras:template-haskell
package *
-- NOTE: this gets applied to both local (hasura) packages and dependencies,
-- but optimizations for local hasura packages are overridden/controlled
-- via the 'optimize-hasura' flag.
optimization: 2
-- For tooling support, e.g. HLS:
ghc-options: -fwrite-ide-info
-- we statically link malloc from mimalloc. Out of an abundance of caution,
-- disable special treatment of these in all the foreign code we build. The
-- only risk is potential for some missed optimizations.
-- See: https://github.com/microsoft/mimalloc/issues/785
-- NOTE: cc-options is not recognized here for some reason, so we use ghc-options+optc:
ghc-options: -optc-fno-builtin-malloc -optc-fno-builtin-calloc -optc-fno-builtin-realloc -optc-fno-builtin-free
haddock-html: true
haddock-hoogle: true
haddock-hyperlink-source: true
haddock-quickjump: true
haddock-internal: true
-- Allow for dead-code elimination at link-time, to reduce binary size
if(os(linux))
package *
-- ld on M1 OSX does not recognise this:
ld-options: -Wl,--gc-sections
ghc-options: -split-sections
-- -----------------------------------------------------------
package graphql-engine
ghc-options: -j
haddock-options: "--show-all"
allow-newer: hedgehog-generic:base
allow-newer: hedgehog-generic:hedgehog
-- 9.6 support. Awaiting release I guess...
source-repository-package
type: git
location: https://github.com/agrafix/Spock
tag: 40d028bfea0e94ca7096c719cd024ca47a46e559
subdir: Spock-core
-- 9.6 support: https://github.com/jfischoff/postgres-options/pull/7
source-repository-package
type: git
location: https://github.com/jfischoff/postgres-options.git
tag: 3100f7ca4319748a07a46e2838f4c80f8e3f076a
-- 9.6 support: https://github.com/MichaelXavier/cron/pull/51
source-repository-package
type: git
location: https://github.com/TristanCacqueray/cron.git
tag: 5f5b662a1d7abc3951ea5a2a625bbf3e83f7a11a
source-repository-package
type: git
location: https://github.com/hasura/kriti-lang.git
tag: c8fd863d359876af3a0fce47db8a5393dc556667
-- This is an unrelesaed version of "odbc"
-- For text v2 support
-- WIP/FIXME: review change, maybe upstream PR
source-repository-package
type: git
location: https://github.com/hasura/odbc.git
tag: 43b07813d635215b3466824d07890de452920fc2
package odbc
ghc-options: -Wwarn
-- Our CI compiles with -Werror, which is also applied to those packages
-- while it's fine for packages we maintain, we can't actually enforce
-- that third-party packages are warning-free, hence this -Wno-error.
-- When the changes in odbc are released, we can instead depend on
-- the hackage version, and remove it from this list of packages.
source-repository-package
type: git
location: https://github.com/hasura/ekg-core.git
tag: df610859603b504494ad770bdbb7053a7f0b9a6c
-- because we need 27d87f01, not yet released
source-repository-package
type: git
location: https://github.com/snoyberg/yaml.git
tag: c1aa7b3991e669e4c6a977712b495d40a54cf819
subdir: yaml
source-repository-package
type: git
location: https://github.com/hasura/libdeflate-hs.git
tag: e6f020a1a24d07516d753fbb6f30758774f76372