Skip to content

Instantly share code, notes, and snippets.

@jthegedus
jthegedus / CFF-next|.firebaserc
Created July 20, 2017 15:05
Cloud Functions for Firebase - NextJS example
{
"projects": {
"default": "this will be the name you gave to the firebase project you linked"
}
}
@jthegedus
jthegedus / CFF-next|norewrite|firebase.json
Last active July 30, 2018 23:50
Cloud Functions for Firebase - NextJS example
{
"hosting": {
"public": "src/public"
},
"functions": {
"source": "src/functions"
}
}
@jthegedus
jthegedus / CFF-next|.gitignore
Last active July 25, 2017 10:15
Cloud Functions for Firebase - NextJS example
# src/app/.gitignore
.next
@jthegedus
jthegedus / CF4F-express|functionsES6|index-03.js
Last active March 4, 2019 06:32
Cloud Functions for Firebase - Express example 3/3 - using CORS and automatically appending a trailing slash
const functions = require("firebase-functions")
const cors = require("cors")
const express = require("express")
/* Express with CORS & automatic trailing '/' solution */
const app3 = express()
app3.use(cors({ origin: true }))
app3.get("*", (request, response) => {
response.send(
"Hello from Express on Firebase with CORS! No trailing '/' required!"
@jthegedus
jthegedus / CF4F-express|functionsES6|index-02.js
Last active October 9, 2017 13:51
Cloud Functions for Firebase - Express example 2/3 - using middleware
const functions = require("firebase-functions")
const cors = require("cors")
const express = require("express")
/* Express with CORS */
const app2 = express()
app2.use(cors({ origin: true }))
app2.get("*", (request, response) => {
response.send("Hello from Express on Firebase with CORS!")
})
@jthegedus
jthegedus / CF4F-graphql|firebaseFunctions|graphql|data|resolver.js
Last active October 9, 2017 14:39
Cloud Functions for Firebase - GraphQL Server - /functionsES6/graphql/data/resolvers.js
const authors = [
{ id: 1, firstName: "Tom", lastName: "Coleman" },
{ id: 2, firstName: "Sashko", lastName: "Stubailo" }
]
const posts = [
{ id: 1, authorId: 1, title: "Introduction to GraphQL", votes: 2 },
{ id: 2, authorId: 2, title: "GraphQL Rocks", votes: 3 },
{ id: 3, authorId: 2, title: "Advanced GraphQL", votes: 1 }
]
@jthegedus
jthegedus / CF4F-graphql|firebaseFunctions|graphql|data|schema.js
Last active October 9, 2017 14:38
Cloud Functions for Firebase - GraphQL Server - /functionsES6/graphql/data/schema.js
import { makeExecutableSchema } from "graphql-tools"
import resolvers from "./resolvers"
const schema = `
type Author {
id: Int! # the ! means that every author object _must_ have an id
firstName: String
lastName: String
posts: [Post] # the list of Posts by this author
@jthegedus
jthegedus / CF4F-graphql|firebaseFunctions|graphql|server.js
Last active April 1, 2018 08:43
Cloud Functions for Firebase - GraphQL Server - /functionsES6/graphql/server.js
import bodyParser from "body-parser"
import express from "express"
import { graphqlExpress, graphiqlExpress } from "graphql-server-express"
import schema from "./data/schema"
import { printSchema } from "graphql/utilities/schemaPrinter"
const setupGraphQLServer = () => {
// setup server
const graphQLServer = express()
@jthegedus
jthegedus / CF4F-graphql|firebaseFunctions|package.json
Last active October 9, 2017 14:37
Cloud Functions for Firebase - GraphQL Server - /functionsES6/package.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"dependencies": {
"apollo-server-express": "^1.1.3",
"body-parser": "^1.18.2",
"express": "^4.16.1",
"firebase-admin": "^5.4.1",
"firebase-functions": "^0.7.0",
"graphql": "^0.11.7",
@jthegedus
jthegedus / CF4F-graphql|firebaseFunctions|index.js
Last active October 9, 2017 14:37
Cloud Functions for Firebase - GraphQL Server - /functionsES6/index.js
import { https } from "firebase-functions"
import setupGraphQLServer from "./graphql/server"
/* CF for Firebase with graphql-server-express */
const graphQLServer = setupGraphQLServer()
// https://us-central1-<project-name>.cloudfunctions.net/api
export const api = https.onRequest(graphQLServer)