-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy pathwebpack.config.js
More file actions
101 lines (96 loc) · 3.99 KB
/
webpack.config.js
File metadata and controls
101 lines (96 loc) · 3.99 KB
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var argv = require('yargs').argv
var path = require('path')
var webpack = require('webpack')
var CommonsChunkPlugin = require(path.join(__dirname, '/node_modules/webpack/lib/optimize/CommonsChunkPlugin'))
// Create plugins array
var plugins = [
new CommonsChunkPlugin('commons.js')
]
// Add Uglify task to plugins array if there is a production flag
if (argv.production) {
plugins.push(new webpack.optimize.UglifyJsPlugin())
}
const pageDirPath = '/src/js/pages/'
const p = (pageName) => {
const pagesDir = path.join(__dirname, pageDirPath, 'page-')
return pagesDir + pageName
}
module.exports = {
entry: {
generic: p('generic'),
index: p('index'),
'service-provider-listing': path.join(__dirname, pageDirPath, 'service-providers/listing'),
serviceProvider: p('service-provider'),
addServiceProvider: p('add-service-provider'),
serviceProviderAddresses: p('service-provider-addresses'),
addServiceProviderAddress: p('add-service-provider-address'),
editServiceProviderAddress: p('edit-service-provider-address'),
serviceProviderServices: p('service-provider-services'),
addServiceProviderService: p('add-service-provider-service'),
editServiceProviderService: p('edit-service-provider-service'),
addServiceProviderNeed: p('add-service-provider-need'),
editServiceProviderNeed: p('edit-service-provider-need'),
needResponses: p('provider-need-responses'),
addUser: p('add-user'),
charterPledges: p('charter-pledges'),
actionGroups: p('action-groups'),
volunteers: p('volunteers'),
offersOfItems: p('offers-of-items'),
contactVolunteer: p('contact-volunteer'),
shareVolunteer: p('share-volunteer'),
contactAboutOffer: p('contact-about-offer'),
shareOffer: p('share-offer'),
mailingList: p('mailing-list'),
users: p('users'),
'create-city-admin': p('create-city-admin'),
'create-super-admin': p('create-super-admin'),
'create-swep-admin': p('create-swep-admin'),
'create-volunteer-admin': p('create-volunteer-admin'),
editServiceProviderNeedCategories: p('edit-service-provider-need-categories'),
impactupdates: p('impact-updates'),
swep: p('swep'),
'city-add': path.join(__dirname, pageDirPath, 'cities/add'),
tempAccom: p('accommodation'),
tempAccomAdd: p('accommodation-add'),
tempAccomEdit: p('accommodation-edit'),
tempAccomReviews: p('accommodation-reviews-add'),
accommodationReviews: p('accommodation-reviews'),
accommodationReviewDetails: p('accommodation-review-details'),
'auth0-login': path.join(__dirname, pageDirPath, 'auth0/login'),
'auth0-logout': path.join(__dirname, pageDirPath, 'auth0/logout'),
'auth0-authentication': path.join(__dirname, pageDirPath, 'auth0/authentication'),
'auth0-password-reset': path.join(__dirname, pageDirPath, 'auth0/password-reset'),
advice: path.join(__dirname, pageDirPath, 'advice/listing'),
'advice-add': path.join(__dirname, pageDirPath, 'advice/add'),
'advice-edit': path.join(__dirname, pageDirPath, 'advice/edit'),
'content-page': path.join(__dirname, pageDirPath, 'content-pages/listing'),
'content-page-add': path.join(__dirname, pageDirPath, 'content-pages/add'),
'content-page-edit': path.join(__dirname, pageDirPath, 'content-pages/edit'),
'parent-scenario': path.join(__dirname, pageDirPath, 'parent-scenarios/listing'),
'parent-scenario-add': path.join(__dirname, pageDirPath, 'parent-scenarios/add'),
'parent-scenario-edit': path.join(__dirname, pageDirPath, 'parent-scenarios/edit'),
dashboard: path.join(__dirname, pageDirPath, 'dashboard/')
},
output: {
path: path.join(__dirname, '/_dist/assets/js/'),
filename: '[name].bundle.js',
chunkFilename: '[id].chunk.js',
publicPath: '/assets/js/'
},
plugins: plugins,
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel',
query: {
presets: ['es2015']
}
}
]
},
standard: {
parser: 'babel-eslint'
}
}