graphql-engine/dc-agents/Makefile
Tom Harding a1c5ac46f6 Extract dc-api and its tests from graphql-engine.cabal
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6000
Co-authored-by: Daniel Chambers <1214352+daniel-chambers@users.noreply.github.com>
GitOrigin-RevId: d8f3cd0194191ab4c51a5a7d350cb2c3a0a5a7f3
2022-09-27 07:21:54 +00:00

63 lines
2.0 KiB
Makefile

SHELL := bash -e -u -o pipefail
# default target
.PHONY: help
## help: prints help message
help:
@echo "Usage:"
@sed -n 's/^##//p' ${MAKEFILE_LIST} | column -t -s ':' | sed -e 's/^/ /'
.PHONY: typecheck
## typecheck: Typechecks all workspaces
typecheck: typecheck-dc-api-types typecheck-reference-agent typecheck-sqlite-agent
.PHONY: typecheck-dc-api-types
## typecheck-dc-api-types: Typechecks the dc-api-types
typecheck-dc-api-types:
npm run -w dc-api-types typecheck
.PHONY: typecheck-reference-agent
## typecheck-reference-agent: Typechecks the Reference agent
typecheck-reference-agent:
npm run -w reference typecheck
.PHONY: typecheck-sqlite-agent
## typecheck-sqlite-agent: Typechecks the SQLite agent
typecheck-sqlite-agent:
npm run -w sqlite typecheck
.PHONY: start-reference-agent
## start-reference-agent: Starts the Reference agent
start-reference-agent:
npm start -w reference
.PHONY: start-sqlite-agent
## start-sqlite-agent: Starts the SQLite agent
start-sqlite-agent:
npm start -w sqlite
TESTS_DC_API := cabal run dc-api:test:tests-dc-api --
.PHONY: generate-types
## generate-types: Generates the TypeScript API types in dc-api-types
generate-types: export TESTS_DC_API := $(TESTS_DC_API)
generate-types:
./scripts/generate-types.sh
.PHONY: regenerate-types
## regenerate-types: Regenerates the TypeScript API types in dc-api-types from the original Haskell types
regenerate-types: export TESTS_DC_API := $(TESTS_DC_API)
regenerate-types:
rm -f ./dc-api-types/src/agent.openapi.json
./scripts/generate-types.sh
.PHONY: update-api-types-deps
## update-api-types-deps: Updates packages that are dependant on dc-api-types with its current version from its package.json
update-api-types-deps:
./scripts/update-api-types-deps.sh
.PHONY: derive-lockfiles
## derive-lockfiles: Derives individual lockfiles for the workspace packages from the lockfile in the root project
derive-lockfiles:
npx ts-node ./scripts/derive-lockfile.ts -l package-lock.json -w reference -w sqlite