0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 14:12:40 +00:00

process.chdir in app.js.

Everything works, no need for path.resolve. All tests pass.
This commit is contained in:
Trevor Buckner
2022-01-29 23:53:30 -05:00
parent e4c2ce6a8c
commit d7aa4afa60
4 changed files with 13 additions and 23 deletions

View File

@@ -1,6 +1,5 @@
const DB = require('./server/db.js');
const server = require('./server/app.js');
const config = require('./server/config.js');
DB.connect(config).then(()=>{

View File

@@ -4,6 +4,7 @@ const jwt = require('jwt-simple');
const express = require('express');
const yaml = require('js-yaml');
const app = express();
const config = require('./config.js');
const homebrewApi = require('./homebrew.api.js');
const GoogleActions = require('./googleActions.js');
@@ -13,6 +14,9 @@ const asyncHandler = require('express-async-handler');
const brewAccessTypes = ['edit', 'share', 'raw'];
// Set working directory to project root
process.chdir(`${__dirname}/..`);
//Get the brew object from the HB database or Google Drive
const getBrewFromId = asyncHandler(async (id, accessType)=>{
if(!brewAccessTypes.includes(accessType))
@@ -62,22 +66,13 @@ const splitTextStyleAndMetadata = (brew)=>{
}
};
app.use('/', serveCompressedStaticAssets(`${__dirname}/../build`));
process.chdir(__dirname);
app.use('/', serveCompressedStaticAssets(`build`));
//app.use(express.static(`${__dirname}/build`));
app.use(require('body-parser').json({ limit: '25mb' }));
app.use(require('cookie-parser')());
app.use(require('./forcessl.mw.js'));
// FIXME: the config should be passed as an argument for the app
const config = require('nconf')
.argv()
.env({ lowerCase: true })
.file('environment', { file: `config/${process.env.NODE_ENV}.json` })
.file('defaults', { file: 'config/default.json' });
//Account Middleware
app.use((req, res, next)=>{
if(req.cookies && req.cookies.nc_session){
@@ -99,16 +94,16 @@ app.use(homebrewApi);
app.use(require('./admin.api.js'));
const HomebrewModel = require('./homebrew.model.js').model;
const welcomeText = require('fs').readFileSync('./../client/homebrew/pages/homePage/welcome_msg.md', 'utf8');
const welcomeTextV3 = require('fs').readFileSync('./../client/homebrew/pages/homePage/welcome_msg_v3.md', 'utf8');
const changelogText = require('fs').readFileSync('./../changelog.md', 'utf8');
const faqText = require('fs').readFileSync('./../faq.md', 'utf8');
const welcomeText = require('fs').readFileSync('client/homebrew/pages/homePage/welcome_msg.md', 'utf8');
const welcomeTextV3 = require('fs').readFileSync('client/homebrew/pages/homePage/welcome_msg_v3.md', 'utf8');
const changelogText = require('fs').readFileSync('changelog.md', 'utf8');
const faqText = require('fs').readFileSync('faq.md', 'utf8');
String.prototype.replaceAll = function(s, r){return this.split(s).join(r);};
//Robots.txt
app.get('/robots.txt', (req, res)=>{
return res.sendFile(`${__dirname}/robots.txt`);
return res.sendFile(`robots.txt`, { root: process.cwd() });
});
//Home page

View File

@@ -1,7 +1,5 @@
const path = require('path');
module.exports = require('nconf')
.argv()
.env({ lowerCase: true })
.file('environment', { file: path.resolve(__dirname, '../config/${process.env.NODE_ENV}.json') })
.file('default', { file: path.resolve(__dirname, '../config/default.json') });
.file('environment', { file: `config/${process.env.NODE_ENV}.json` })
.file('defaults', { file: 'config/default.json' });

View File

@@ -21,9 +21,7 @@ describe('Tests for static pages', ()=>{
return app.get('/faq').expect(200);
});
// FIXME: robots.txt file can't be properly loaded under testing environment,
// most likely due to __dirname being different from what is expected
it.skip('robots.txt works', ()=>{
it('robots.txt works', ()=>{
return app.get('/robots.txt').expect(200);
});
});