FaC: Das alte Flag von Terminen, die in die Zeiterfassung übernommen worden sind, wird ebenfalls berücksichtigt.
31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
// -------------------------------------------
|
|
// Serves the client library /ripple.js
|
|
// -------------------------------------------
|
|
module.exports = function serve(ripple, { server, serve, client = 'ripple' } = {}){
|
|
log('creating')
|
|
const { http = server } = ripple.server || {}
|
|
if (!http) return ripple
|
|
const app = expressify(http)
|
|
, path = local(serve, client)
|
|
, compress = compression()
|
|
|
|
app.use(`/${client}.js`, compress, send(path(prod ? 'min.js' : 'bundle.js')))
|
|
app.use(`/${client}.bundle.js`, compress, send(path('bundle.js')))
|
|
app.use(`/${client}.min.js`, compress, send(path('min.js')))
|
|
return ripple
|
|
}
|
|
|
|
const expressify = server => server.express
|
|
|| key('_events.request')(server)
|
|
|| server.on('request', express())._events.request
|
|
|
|
const local = (path, client) => ext => resolve(path, `./${client}.${ext}`)
|
|
|
|
const compression = require('compression')
|
|
, send = require('utilise/send')
|
|
, key = require('utilise/key')
|
|
, { resolve } = require('path')
|
|
, express = require('express')
|
|
, log = require('utilise/log')('[ri/serve]')
|
|
, lo = require('utilise/lo')
|
|
, prod = lo(process.env.NODE_ENV) == 'production' |