Skip to content

Commit

Permalink
Add pre-deploy script (#362)
Browse files Browse the repository at this point in the history
  • Loading branch information
koistya authored Aug 31, 2019
1 parent 97fb548 commit 0043867
Show file tree
Hide file tree
Showing 5 changed files with 168 additions and 119 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@ __generated__
.eslintcache
.yarn-integrity
backup.sql
VERSION
23 changes: 13 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
"dependencies": {
"@babel/polyfill": "^7.2.5",
"@babel/runtime": "^7.3.1",
"@firebase/app": "^0.4.14",
"@firebase/app": "^0.4.15",
"@firebase/auth": "^0.11.8",
"@material-ui/core": "^4.3.2",
"@material-ui/core": "^4.4.0",
"@material-ui/icons": "^4.2.1",
"body-parser": "^1.19.0",
"clsx": "^1.0.4",
Expand All @@ -28,17 +28,17 @@
"ejs": "^2.6.2",
"express": "^4.17.1",
"express-graphql": "^0.9.0",
"firebase-admin": "^8.3.0",
"firebase-admin": "^8.4.0",
"firebase-functions": "^3.2.0",
"got": "^9.6.0",
"graphql": "^14.4.2",
"graphql": "^14.5.4",
"graphql-relay": "^0.6.0",
"history": "^4.9.0",
"hoist-non-react-statics": "^3.3.0",
"idx": "^2.5.6",
"jsonwebtoken": "^8.5.1",
"jwt-passport": "^0.0.5",
"knex": "^0.19.2",
"knex": "^0.19.3",
"load-script": "^1.0.0",
"lodash": "^4.17.15",
"moment-timezone": "^0.5.26",
Expand All @@ -47,15 +47,15 @@
"passport-google-oauth20": "^2.0.0",
"pg": "^7.12.1",
"prop-types": "^15.7.2",
"query-string": "^6.8.2",
"query-string": "^6.8.3",
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-relay": "^5.0.0",
"recompose": "^0.30.0",
"relay-runtime": "^5.0.0",
"request": "^2.88.0",
"request-promise-native": "^1.0.7",
"serialize-javascript": "^1.8.0",
"serialize-javascript": "^1.9.0",
"slugify": "^1.3.4",
"universal-router": "^8.2.1",
"uuid": "^3.3.3",
Expand All @@ -70,7 +70,7 @@
"eslint-config-prettier": "^6.1.0",
"eslint-plugin-prettier": "^3.1.0",
"husky": "^3.0.4",
"lint-staged": "^9.2.3",
"lint-staged": "^9.2.5",
"minimist": "^1.2.0",
"prettier": "^1.18.2",
"raw-loader": "^3.1.0",
Expand Down Expand Up @@ -111,8 +111,11 @@
"db-rollback": "knex migrate:rollback",
"db-seed": "knex seed:run",
"db-version": "knex migrate:currentVersion",
"db-reset-dev": "yarn db-rollback --env=dev && yarn db-migrate --env=dev && yarn db-restore --env=dev",
"db-reset-test": "yarn db-rollback --env=test && yarn db-migrate --env=test && yarn db-restore --env=test",
"db-reset-prod": "yarn db-rollback --env=prod && yarn db-migrate --env=prod && yarn db-restore --env=prod",
"deploy": "yarn run deploy-test",
"deploy-test": "firebase --project=example-test deploy && node ./scripts/post-deploy --env=test",
"deploy-prod": "firebase --project=example-prod deploy && node ./scripts/post-deploy --env=prod"
"deploy-test": "node ./scripts/post-deploy --env=test && firebase --project=example-test deploy && node ./scripts/post-deploy --env=test",
"deploy-prod": "node ./scripts/post-deploy --env=prod && firebase --project=example-prod deploy && node ./scripts/post-deploy --env=prod"
}
}
30 changes: 30 additions & 0 deletions scripts/pre-deploy.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/**
* React Starter Kit for Firebase
* https://github.com/kriasoft/react-firebase-starter
* Copyright (c) 2015-present Kriasoft | MIT License
*/

const fs = require('fs');
const path = require('path');
const cp = require('child_process');
const { env } = require('minimist')(process.argv.slice(2));

// Writes the current version number to ./VERSION file
const { status, stdout } = cp.spawnSync(
'git',
['show', '--no-patch', '--format=%cd+%h', '--date=format:%Y.%m.%d'],
{ stdio: ['pipe', 'pipe', 'inherit'] },
);

if (status === 0) {
fs.writeFileSync('./VERSION', stdout.toString().trim(), 'utf8');
} else {
process.exit(status);
}

// Generates ./build/public/robots.txt file. See https://robotstxt.org/
fs.writeFileSync(
path.resolve(__dirname, '../build/public/robots.txt'),
env === 'prod' ? 'User-agent: *\nDisallow:' : 'User-agent: *\nDisallow: /',
'utf8',
);
7 changes: 5 additions & 2 deletions src/server/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,17 @@
* Copyright (c) 2015-present Kriasoft | MIT License
*/

const fs = require('fs');
const dotenv = require('dotenv');
const express = require('express');
const firebase = require('firebase-admin');
const functions = require('firebase-functions');

// Load API keys, secrets etc. from Firebase environment
// https://firebase.google.com/docs/functions/config-env
if (process.env.NODE_ENV === 'production') {
process.env.APP_VERSION = fs.readFileSync('./VERSION', 'utf8').trim();

// Load API keys, secrets etc. from Firebase environment
// https://firebase.google.com/docs/functions/config-env
const { app: config } = functions.config();
Object.keys(config).forEach(key => {
process.env[key.toUpperCase()] =
Expand Down
Loading

0 comments on commit 0043867

Please sign in to comment.