This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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!") | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 } | |
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// input - using CommonJS module syntax | |
const functions = require('firebase-functions') | |
module.exports.helloWorld = functions.https.onRequest((req, res) => { | |
let world = `from Babelified Cloud Functions!`; | |
res.status(200).send(`Hello ${world}`); | |
}) | |
// Babel output - with Babel REPL settings: | |
// * preset-es2015 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// input - using ES module syntax | |
import * as functions from 'firebase-functions'; | |
export let helloWorld = functions.https.onRequest((req, res) => { | |
let world = `from Babelified Cloud Functions!`; | |
res.status(200).send(`Hello ${world}`); | |
}) | |
// Babel output - with Babel REPL settings: | |
// * prettify |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// input - async/awaiy with CommonJS module syntax | |
const functions = require('firebase-functions'); | |
// returns a string after 5 seconds | |
const message = () => { | |
return new Promise(resolve => { | |
setTimeout(() => { | |
resolve(`from Babelified Cloud Functions!`) | |
}, 5000) | |
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Babel output - with Babel REPL settings: | |
// * preset-es2015 | |
"use strict"; | |
var functions = require("firebase-functions"); | |
var message = function message() { | |
return new Promise(function(resolve) { | |
setTimeout(function() { | |
resolve("from Babelified Cloud Functions!"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Babel output - with Babel REPL settings: | |
// * prettify | |
// * preset-es2015 (es6->es5) | |
// * preset-es2016 (es7->es6) | |
// * preset-es2017 (es8->es7) | |
"use strict"; | |
function _asyncToGenerator(fn) { | |
return function() { |