aboutsummaryrefslogblamecommitdiffstats
path: root/mascara/server/index.js
blob: 2bc2441d032551069837c03bca0c820dc954cc4b (plain) (tree)
1
2
3
4
5
6
7
8
9
                            


                                                   
                                          



                                        
                                     

                   



                                                                                     
 
                 
                          

                           
                  
                                                           
                                                 
                                                       

                                                              
 




                                                                                                                          


               
const path = require('path')
const express = require('express')
const createBundle = require('./util').createBundle
const serveBundle = require('./util').serveBundle
const compression = require('compression')

module.exports = createMetamascaraServer


function createMetamascaraServer () {

  // start bundlers
  const metamascaraBundle = createBundle(path.join(__dirname, '/../src/mascara.js'))
  const proxyBundle = createBundle(path.join(__dirname, '/../src/proxy.js'))
  const uiBundle = createBundle(path.join(__dirname, '/../src/ui.js'))
  const backgroundBuild = createBundle(path.join(__dirname, '/../src/background.js'))

  // setup server
  const server = express()
  server.use(compression())

  // serve bundles
  serveBundle(server, '/metamascara.js', metamascaraBundle)
  serveBundle(server, '/scripts/ui.js', uiBundle)
  serveBundle(server, '/scripts/proxy.js', proxyBundle)
  // the serviceworker must be served from the root of the app
  serveBundle(server, '/background.js', backgroundBuild)

  // serve assets
  server.use(express.static(path.join(__dirname, '/../ui/'), { setHeaders: (res) => res.set('X-Frame-Options', 'DENY') }))
  server.use(express.static(path.join(__dirname, '/../../dist/mascara')))
  server.use(express.static(path.join(__dirname, '/../proxy')))

  return server

}