1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
var path = require('path');
var webpack = require('webpack');
var CopyWebpackPlugin = require('copy-webpack-plugin');
module.exports = {
entry: './app/js/index.js',
node: { fs: 'empty' },
output: {
path: path.join(__dirname, '/app/js/'),
filename: 'bundle.js',
publicPath: '/assets/js/'
},
resolve: {
alias: {
'js': path.join(__dirname, '/app/js'),
'flight': path.join(__dirname, '/app/bower_components/flight'),
'mail_list': path.join(__dirname, '/app/js/mail_list'),
'page': path.join(__dirname, '/app/js/page'),
'feedback': path.join(__dirname, '/app/js/feedback'),
'DOMPurify': 'dompurify',
'i18nextXHRBackend': 'i18next-xhr-backend',
'i18nextBrowserLanguageDetector': 'i18next-browser-languagedetector',
'hbs': path.join(__dirname, '/app/js/generated/hbs'),
'helpers': path.join(__dirname, '/app/js/helpers'),
'lib': path.join(__dirname, '/app/js/lib'),
'views': path.join(__dirname, '/app/js/views'),
'tags': path.join(__dirname, '/app/js/tags'),
'mail_list_actions': path.join(__dirname, '/app/js/mail_list_actions'),
'user_alerts': path.join(__dirname, '/app/js/user_alerts'),
'mail_view': path.join(__dirname, '/app/js/mail_view'),
'dispatchers': path.join(__dirname, '/app/js/dispatchers'),
'services': path.join(__dirname, '/app/js/services'),
'mixins': path.join(__dirname, '/app/js/mixins'),
'search': path.join(__dirname, '/app/js/search'),
'foundation': path.join(__dirname, '/app/js/foundation'),
'features': path.join(__dirname, '/app/js/features/features'),
'user_settings': path.join(__dirname, '/app/js/user_settings')
},
extensions: ['', '.js']
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: { presets: ['es2015']}
}
]
},
plugins: [
new CopyWebpackPlugin([
{ context: 'app/', from: '404.html', to: '../' },
{ context: 'app/', from: 'fonts/*', to: '../' },
{ context: 'app/', from: 'locales/**/*', to: '../' },
{ context: 'app/', from: 'bower_components/font-awesome/fonts/*', to: '../' },
{
context: 'app/',
from: 'bower_components/font-awesome/css/font-awesome.min.css',
to: '../bower_components/font-awesome/css'
},
{
context: 'app/',
from: 'bower_components/jquery-file-upload/css/jquery.fileupload.css',
to: '../bower_components/jquery-file-upload/css'
}
])
]
}
|