mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Merge pull request #2370 from overleaf/bg-precompile-pug-templates
precompile pug templates GitOrigin-RevId: bf340f52b4d8c413056be2f3006a28a55548d783
This commit is contained in:
parent
4f9eb281b7
commit
82c2b0e8d4
2 changed files with 76 additions and 0 deletions
|
@ -29,6 +29,7 @@ const RedirectManager = require('./RedirectManager')
|
||||||
const ProxyManager = require('./ProxyManager')
|
const ProxyManager = require('./ProxyManager')
|
||||||
const translations = require('translations-sharelatex').setup(Settings.i18n)
|
const translations = require('translations-sharelatex').setup(Settings.i18n)
|
||||||
const Modules = require('./Modules')
|
const Modules = require('./Modules')
|
||||||
|
const Views = require('./Views')
|
||||||
|
|
||||||
const ErrorController = require('../Features/Errors/ErrorController')
|
const ErrorController = require('../Features/Errors/ErrorController')
|
||||||
const HttpErrorController = require('../Features/Errors/HttpErrorController')
|
const HttpErrorController = require('../Features/Errors/HttpErrorController')
|
||||||
|
@ -168,6 +169,7 @@ expressLocals(webRouter, privateApiRouter, publicApiRouter)
|
||||||
if (app.get('env') === 'production') {
|
if (app.get('env') === 'production') {
|
||||||
logger.info('Production Enviroment')
|
logger.info('Production Enviroment')
|
||||||
app.enable('view cache')
|
app.enable('view cache')
|
||||||
|
Views.precompileViews(app) // precompile templates
|
||||||
}
|
}
|
||||||
|
|
||||||
webRouter.use(function(req, res, next) {
|
webRouter.use(function(req, res, next) {
|
||||||
|
|
74
services/web/app/src/infrastructure/Views.js
Normal file
74
services/web/app/src/infrastructure/Views.js
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
const logger = require('logger-sharelatex')
|
||||||
|
const pug = require('pug')
|
||||||
|
|
||||||
|
// List of view names found with
|
||||||
|
//
|
||||||
|
// git grep res.render | perl filter.pl | sort -u
|
||||||
|
//
|
||||||
|
// where filter.pl is the perl script below.
|
||||||
|
//
|
||||||
|
// #!/usr/bin/perl
|
||||||
|
// while (<>) {print "'$1',\n" if /render\(\'(.*?)\'/;}
|
||||||
|
|
||||||
|
const viewList = [
|
||||||
|
'admin/index',
|
||||||
|
'admin/register',
|
||||||
|
'beta_program/opt_in',
|
||||||
|
'blog/blog_holder',
|
||||||
|
'external/home/sl',
|
||||||
|
'external/home/v2',
|
||||||
|
'general/404',
|
||||||
|
'general/500',
|
||||||
|
'general/closed',
|
||||||
|
'project/cannot-import-v1-project',
|
||||||
|
'project/editor',
|
||||||
|
'project/importing',
|
||||||
|
'project/invite/not-valid',
|
||||||
|
'project/invite/show',
|
||||||
|
'project/list',
|
||||||
|
'project/v2-import',
|
||||||
|
'referal/bonus',
|
||||||
|
'subscriptions/canceled_subscription',
|
||||||
|
'subscriptions/dashboard',
|
||||||
|
'subscriptions/new',
|
||||||
|
'subscriptions/successful_subscription',
|
||||||
|
'subscriptions/team/invite',
|
||||||
|
'subscriptions/upgradeToAnnual',
|
||||||
|
'sudo_mode/sudo_mode_prompt',
|
||||||
|
'user/activate',
|
||||||
|
'user/confirm_email',
|
||||||
|
'user/login',
|
||||||
|
'user/logout',
|
||||||
|
'user_membership/index',
|
||||||
|
'user_membership/new',
|
||||||
|
'user/one_time_login',
|
||||||
|
'user/passwordReset',
|
||||||
|
'user/reconfirm',
|
||||||
|
'user/register',
|
||||||
|
'user/restricted',
|
||||||
|
'user/sessions',
|
||||||
|
'user/setPassword',
|
||||||
|
'user/settings'
|
||||||
|
]
|
||||||
|
module.exports = {
|
||||||
|
precompileViews(app) {
|
||||||
|
let startTime = Date.now()
|
||||||
|
let success = 0
|
||||||
|
let failures = 0
|
||||||
|
viewList.forEach(view => {
|
||||||
|
try {
|
||||||
|
let filename = app.get('views') + '/' + view + '.pug'
|
||||||
|
pug.compileFile(filename, { cache: true })
|
||||||
|
console.log('compiled', view)
|
||||||
|
success++
|
||||||
|
} catch (err) {
|
||||||
|
console.log('error compiling', view, err)
|
||||||
|
failures++
|
||||||
|
}
|
||||||
|
})
|
||||||
|
logger.log(
|
||||||
|
{ timeTaken: Date.now() - startTime, failures, success },
|
||||||
|
'compiled templates'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue