@@ -9,7 +9,8 @@ const storage = require('./storage.js');
99const Raven = require ( 'raven' ) ;
1010const crypto = require ( 'crypto' ) ;
1111const fs = require ( 'fs' ) ;
12- const version = require ( '../public/version.json' ) ;
12+ const version = require ( '../dist/version.json' ) ;
13+ const assets = require ( '../dist/manifest.json' ) ;
1314
1415if ( conf . sentry_dsn ) {
1516 Raven . config ( conf . sentry_dsn ) . install ( ) ;
@@ -19,7 +20,7 @@ const mozlog = require('./log.js');
1920
2021const log = mozlog ( 'send.server' ) ;
2122
22- const STATIC_PATH = path . join ( __dirname , '../public ' ) ;
23+ const STATIC_PATH = path . join ( __dirname , '../dist ' ) ;
2324
2425const app = express ( ) ;
2526
@@ -36,6 +37,8 @@ function prodLangs() {
3637 return require ( '../package.json' ) . availableLanguages . join ( ',' ) ;
3738}
3839
40+ let asset = name => assets [ name ] ;
41+
3942const availableLanguages = conf . l10n_dev ? allLangs ( ) : prodLangs ( ) ;
4043
4144if ( conf . env === 'development' ) {
@@ -44,11 +47,16 @@ if (conf.env === 'development') {
4447 const config = require ( '../webpack.config.js' ) ;
4548 config . devtool = 'inline-source-map' ;
4649 const compiler = webpack ( config ) ;
47- app . use (
48- webpackDevMiddleware ( compiler , {
49- publicPath : config . output . publicPath
50- } )
51- ) ;
50+ const wdm = webpackDevMiddleware ( compiler , {
51+ publicPath : config . output . publicPath
52+ } ) ;
53+ app . use ( wdm ) ;
54+ asset = name => {
55+ const f = wdm . fileSystem . readFileSync (
56+ wdm . getFilenameFromUrl ( '/manifest.json' )
57+ ) ;
58+ return JSON . parse ( f ) [ name ] ;
59+ } ;
5260}
5361
5462app . engine (
@@ -57,6 +65,7 @@ app.engine(
5765 defaultLayout : 'main' ,
5866 partialsDir : 'views/partials/' ,
5967 helpers : {
68+ asset,
6069 availableLanguages,
6170 l10nDev : conf . l10n_dev ,
6271 baseUrl : conf . base_url ,
0 commit comments