Files
Verso/services/web/app/src/infrastructure/Views.js
T
Eric Mc SweenandCopybot e5676a9643 Merge pull request #5648 from overleaf/em-revert-gcp-logging-web
Revert "Improve GCP logging for web"

GitOrigin-RevId: 92d446baf62108da1df92146eec12a2fe69d30ee
2021-11-02 09:03:29 +00:00

54 lines
1.3 KiB
JavaScript

const logger = require('logger-sharelatex')
const pug = require('pug')
const globby = require('globby')
const Settings = require('@overleaf/settings')
const path = require('path')
// Generate list of view names from app/views
const viewList = globby
.sync('app/views/**/*.pug', {
onlyFiles: true,
concurrency: 1,
ignore: '**/_*.pug',
})
.concat(
globby.sync('modules/*/app/views/**/*.pug', {
onlyFiles: true,
concurrency: 1,
ignore: '**/_*.pug',
})
)
.map(x => {
return x.replace(/\.pug$/, '') // strip trailing .pug extension
})
.filter(x => {
return !/^_/.test(x)
})
module.exports = {
precompileViews(app) {
const startTime = Date.now()
let success = 0
let failures = 0
viewList.forEach(view => {
const filename = path.resolve(view + '.pug') // express views are cached using the absolute path
try {
pug.compileFile(filename, {
cache: true,
compileDebug: Settings.debugPugTemplates,
})
logger.log({ filename }, 'compiled')
success++
} catch (err) {
logger.error({ filename, err: err.message }, 'error compiling')
failures++
}
})
logger.log(
{ timeTaken: Date.now() - startTime, failures, success },
'compiled templates'
)
},
}