77 lines
2.4 KiB
Makefile
77 lines
2.4 KiB
Makefile
###############################
|
|
# Common defaults/definitions #
|
|
###############################
|
|
|
|
# Checks two given strings for equality.
|
|
eq = $(if $(or $(1),$(2)),$(and $(findstring $(1),$(2)),\
|
|
$(findstring $(2),$(1))),1)
|
|
|
|
# Multiplatform prefix of `sed -i` commands.
|
|
sed-i = sed -i$(if $(call eq,$(shell uname -s),Darwin), '',)
|
|
|
|
|
|
|
|
|
|
######################
|
|
# Project parameters #
|
|
######################
|
|
|
|
GRAPHIQL_VER ?= $(strip \
|
|
$(shell grep -m1 '"graphiql": "' package.json | cut -d '"' -f4))
|
|
GRAPHQL_PLAYGROUND_VER ?= $(strip \
|
|
$(shell grep -m1 '"graphql-playground-react": "' package.json | cut -d '"' -f4))
|
|
|
|
|
|
|
|
|
|
############
|
|
# Commands #
|
|
############
|
|
|
|
# Download and prepare actual version of GraphiQL static files, used for
|
|
# integrating it.
|
|
#
|
|
# Usage:
|
|
# make graphiql
|
|
|
|
graphiql:
|
|
curl -fL -o src/http/graphiql.html \
|
|
https://raw.githubusercontent.com/graphql/graphiql/graphiql%40$(GRAPHIQL_VER)/examples/graphiql-cdn/index.html
|
|
$(sed-i) 's|unpkg.com/graphiql/|unpkg.com/graphiql@$(GRAPHIQL_VER)/|g' \
|
|
src/http/graphiql.html
|
|
$(sed-i) 's|react.development.js|react.production.min.js|g' \
|
|
src/http/graphiql.html
|
|
$(sed-i) 's|react-dom.development.js|react-dom.production.min.js|g' \
|
|
src/http/graphiql.html
|
|
$(sed-i) "s|'https://swapi-graphql.netlify.app/.netlify/functions/index'|JUNIPER_URL|g" \
|
|
src/http/graphiql.html
|
|
$(sed-i) "s|url: JUNIPER_URL,|url: JUNIPER_URL,\n subscriptionUrl: normalizeSubscriptionEndpoint(JUNIPER_URL, JUNIPER_SUBSCRIPTIONS_URL)|" \
|
|
src/http/graphiql.html
|
|
$(sed-i) 's|<script>|<script>\n<!-- inject -->|' \
|
|
src/http/graphiql.html
|
|
$(sed-i) '/X-Example-Header/d' \
|
|
src/http/graphiql.html
|
|
|
|
|
|
# Download and prepare actual version of GraphQL Playground static files, used
|
|
# for integrating it.
|
|
#
|
|
# Usage:
|
|
# make graphql-playground
|
|
|
|
graphql-playground:
|
|
curl -fL -o src/http/playground.html \
|
|
https://raw.githubusercontent.com/graphql/graphql-playground/graphql-playground-react%40$(GRAPHQL_PLAYGROUND_VER)/packages/graphql-playground-html/withAnimation.html
|
|
$(sed-i) 's|cdn.jsdelivr.net/npm/graphql-playground-react/|cdn.jsdelivr.net/npm/graphql-playground-react@$(GRAPHQL_PLAYGROUND_VER)/|g' \
|
|
src/http/playground.html
|
|
$(sed-i) "s|// you can add more options here|endpoint: 'JUNIPER_URL', subscriptionEndpoint: 'JUNIPER_SUBSCRIPTIONS_URL'|" \
|
|
src/http/playground.html
|
|
|
|
|
|
|
|
|
|
##################
|
|
# .PHONY section #
|
|
##################
|
|
|
|
.PHONY: graphiql graphql-playground
|