diff --git a/app/.gitignore b/app/.gitignore index 4e90b9c81d1e624581eebe1d38e60aca2cfd83b9..cd02c38ed4e4e65c0c368af301b9fa21837f1eb9 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1,3 +1,4 @@ node_modules client/build +server/src/public diff --git a/app/client/config/paths.js b/app/client/config/paths.js index b3fd764aecb3206ecf048acb147d89d56589e56b..186111066c2e58da3b0032779a195814b916f4b9 100644 --- a/app/client/config/paths.js +++ b/app/client/config/paths.js @@ -21,6 +21,15 @@ const publicUrlOrPath = getPublicUrlOrPath( process.env.PUBLIC_URL ); +// NOTE: env var supersedes default +// +const defaultBuildPath = resolveApp('./build'); +const { BUILD_PATH = defaultBuildPath } = process.env; +if( BUILD_PATH.length <= 0 ){ + process.error( new Error(`environment variable 'BUILD_PATH' is defined but empty`) ); +} +const buildPath = path.resolve( BUILD_PATH ); + const moduleFileExtensions = [ 'web.mjs', 'mjs', @@ -52,7 +61,7 @@ const resolveModule = (resolveFn, filePath) => { module.exports = { dotenv: resolveApp('.env'), appPath: resolveApp('.'), - appBuild: resolveApp('build'), + appBuild: buildPath, appPublic: resolveApp('public'), appHtml: resolveApp('public/index.html'), appIndexJs: resolveModule(resolveApp, 'src/index'), diff --git a/app/server/src/index.js b/app/server/src/index.js index 10c725662c7f5ffa1ea6ce481eeed8ff31d18859..ae64c5f3ce282c5c731c1ac4a914749eb640df0c 100644 --- a/app/server/src/index.js +++ b/app/server/src/index.js @@ -33,7 +33,7 @@ app.use(helmet.contentSecurityPolicy({ app.use(todoRoutes); app.use(userRoutes); -app.use('/', express.static(path.join(__dirname,`./../../client/build`))); +app.use('/', express.static(path.resolve(__dirname, `./public`))); app.use(errorRoutes);