Build config: add FE_BUILD_DIR to configure the output path

This commit is contained in:
Alex Gleason 2021-09-03 14:42:31 -05:00
parent 54d7d9c6db
commit 7861270355
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
3 changed files with 16 additions and 8 deletions

View file

@ -88,9 +88,9 @@ pages:
stage: deploy stage: deploy
script: script:
- yarn build - yarn build
- mv static public
variables: variables:
NODE_ENV: production NODE_ENV: production
FE_BUILD_DIR: public
artifacts: artifacts:
paths: paths:
- public - public

View file

@ -9,6 +9,7 @@ const { trim } = require('lodash');
const { const {
BACKEND_URL, BACKEND_URL,
FE_BASE_PATH, FE_BASE_PATH,
FE_BUILD_DIR,
} = process.env; } = process.env;
const sanitizeURL = url => { const sanitizeURL = url => {
@ -19,9 +20,12 @@ const sanitizeURL = url => {
} }
}; };
// Run Soapbox FE from a subdirectory. const sanitizeBasename = path => {
const getFeBasePath = () => { return `/${trim(path, '/')}`;
return `/${trim(FE_BASE_PATH, '/')}`; };
const sanitizePath = path => {
return trim(path, '/');
}; };
// JSON.parse/stringify is to emulate what @preval is doing and avoid any // JSON.parse/stringify is to emulate what @preval is doing and avoid any
@ -30,5 +34,6 @@ const sanitize = obj => JSON.parse(JSON.stringify(obj));
module.exports = sanitize({ module.exports = sanitize({
BACKEND_URL: sanitizeURL(BACKEND_URL), BACKEND_URL: sanitizeURL(BACKEND_URL),
FE_BASE_PATH: getFeBasePath(), FE_BASE_PATH: sanitizeBasename(FE_BASE_PATH),
FE_BUILD_DIR: sanitizePath(FE_BUILD_DIR) || 'static',
}); });

View file

@ -1,12 +1,15 @@
const { join } = require('path'); const { join } = require('path');
const { env } = require('process'); const { env } = require('process');
const { FE_BASE_PATH } = require(join(__dirname, '..', 'app', 'soapbox', 'build_config')); const {
FE_BASE_PATH,
FE_BUILD_DIR,
} = require(join(__dirname, '..', 'app', 'soapbox', 'build_config'));
const settings = { const settings = {
source_path: 'app', source_path: 'app',
public_root_path: 'static', public_root_path: FE_BUILD_DIR,
test_root_path: 'static-test', test_root_path: `${FE_BUILD_DIR}-test`,
cache_path: 'tmp/cache/webpacker', cache_path: 'tmp/cache/webpacker',
resolved_paths: [], resolved_paths: [],
static_assets_extensions: [ '.jpg', '.jpeg', '.png', '.tiff', '.ico', '.svg', '.gif', '.eot', '.otf', '.ttf', '.woff', '.woff2', '.mp3', '.ogg', '.oga' ], static_assets_extensions: [ '.jpg', '.jpeg', '.png', '.tiff', '.ico', '.svg', '.gif', '.eot', '.otf', '.ttf', '.woff', '.woff2', '.mp3', '.ogg', '.oga' ],