-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.coffee
64 lines (61 loc) · 1.93 KB
/
webpack.config.coffee
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
component_path = 'app/components/'
webpack = require 'webpack'
# Load env variables
envFile = require 'node-env-file'
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
envFile __dirname+'/development.env' if process.env.NODE_ENV is 'development'
# End load env variables
###########################################
module.exports =
entry: [
'script!jquery/dist/jquery.min.js'
'script!foundation-sites/dist/foundation.min.js'
'./app/app.cjsx'
]
externals: {
jquery: 'jQuery'
}
plugins: [
new webpack.ProvidePlugin
'$': 'jquery'
'jQuery': 'jquery'
# This plugin loads env variables
new webpack.DefinePlugin
'process.env':
NODE_ENV: JSON.stringify process.env.NODE_ENV
API_KEY: JSON.stringify process.env.API_KEY
]
output:
path: __dirname
filename: './public/bundle.js'
resolve:
root: __dirname
alias: {
#Format is ComponentName: 'path/to/ComponentName.coffee'
# This allows use to just requie('ComponentName') instead of providing paths
Main: component_path + 'Main.coffee'
Nav: component_path + 'Nav.coffee'
Weather: component_path + 'Weather.coffee'
WeatherForm: component_path + 'WeatherForm.coffee'
WeatherMessage: component_path + 'WeatherMessage.coffee'
About: component_path + 'About.coffee'
Examples: component_path + 'Examples.coffee'
openWeatherMap: 'app/api/openWeatherMap.coffee'
ErrorModal: component_path + 'ErrorModal.coffee'
applicationStyles: 'app/styles/app.scss'
}
extensions: [
''
'.js'
'.coffee'
'.cjsx'
]
module:
loaders: [
loader: 'coffee-jsx-loader'
test: /(\.coffee|\.cjsx)$/,
exclude: /(node_modules|bower_components)/
]
devtool: 'cheap-module-eval-source-map'
node:
fs: 'empty'