diff --git a/Procfile b/Procfile index 9e003b96d..19bdcf90d 100644 --- a/Procfile +++ b/Procfile @@ -1,4 +1,4 @@ -web: npm start +web: npm run start:heroku jobhandler: npm run prod-job-handler messagesender01: npm run prod-message-sender-01 messagesender234: npm run prod-message-sender-234 diff --git a/package.json b/package.json index 68b25221f..bbd6b2c26 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "postinstall": "if [ \"$NODE_ENV\" = production ] ; then npm run prod-build && npm run prod-static-upload && npm run notify-slack; fi", "notify-slack": "if [ \"$SLACK_NOTIFY_URL\" != \"\" ] ; then echo notifying slack && curl -XPOST -d '{\"channel\": \"#spoke\", \"text\":\"'\"$(whoami) building spoke $(git log -1 --pretty=%h) for $AWS_S3_BUCKET_NAME\"'\"}' $SLACK_NOTIFY_URL; fi", "start": "node ./build/server/server", + "start:heroku": "BASE_URL=$(node ./build/server/heroku/print-base-url) npm start", "dev-message-sender-01": "nodemon -e js,jsx -w ./src --exec ./dev-tools/babel-run -- ./src/workers/message-sender-01", "prod-message-sender-01": "./dev-tools/babel-run ./src/workers/message-sender-01.js", "dev-message-sender-234": "nodemon -e js,jsx -w ./src --exec ./dev-tools/babel-run -- ./src/workers/message-sender-234", diff --git a/src/heroku/print-base-url.js b/src/heroku/print-base-url.js new file mode 100644 index 000000000..5b1f9329d --- /dev/null +++ b/src/heroku/print-base-url.js @@ -0,0 +1,7 @@ +if (process.env.BASE_URL) { + console.log(process.env.BASE_URL) +} else if (process.env.HEROKU_APP_NAME) { + console.log(`https://${process.env.HEROKU_APP_NAME}.herokuapp.com`) +} else { + throw new Error('Neither BASE_URL nor HEROKU_APP_NAME environment variables are present.') +} diff --git a/src/lib/parse-base-url.js b/src/lib/parse-base-url.js deleted file mode 100644 index b56c2c456..000000000 --- a/src/lib/parse-base-url.js +++ /dev/null @@ -1,8 +0,0 @@ -export default function parseBaseURL() { - if (process.env.BASE_URL) { - return process.env.BASE_URL - } else if (process.env.HEROKU_APP_NAME) { - return `https://${process.env.HEROKU_APP_NAME}.herokuapp.com` - } - return '' -} diff --git a/src/server/auth-passport.js b/src/server/auth-passport.js index 6c283431e..845a8b4e5 100644 --- a/src/server/auth-passport.js +++ b/src/server/auth-passport.js @@ -5,14 +5,13 @@ import { Strategy as LocalStrategy } from 'passport-local' import { userLoggedIn } from './models/cacheable_queries' import { User } from './models' import wrap from './wrap' -import parseBaseURL from '../lib/parse-base-url' export function setupAuth0Passport() { const strategy = new Auth0Strategy({ domain: process.env.AUTH0_DOMAIN, clientID: process.env.AUTH0_CLIENT_ID, clientSecret: process.env.AUTH0_CLIENT_SECRET, - callbackURL: `${parseBaseURL()}/login-callback` + callbackURL: `${process.env.BASE_URL}/login-callback` }, (accessToken, refreshToken, extraParams, profile, done) => done(null, profile) ) diff --git a/src/server/middleware/render-index.js b/src/server/middleware/render-index.js index 81c8eff44..83a20e9d3 100644 --- a/src/server/middleware/render-index.js +++ b/src/server/middleware/render-index.js @@ -1,5 +1,3 @@ -import parseBaseURL from '../../lib/parse-base-url' - const rollbarScript = process.env.ROLLBAR_CLIENT_TOKEN ? `