1 |
|
2 | log = require 'loglevel'
|
3 | express = require 'express'
|
4 | webpack = require 'webpack'
|
5 | WebpackDevServer = require 'webpack-dev-server'
|
6 |
|
7 | app = express()
|
8 |
|
9 | webpackDevPort = process.env.PORT or 3004
|
10 | webpackDevHostname = process.env.WEBPACK_DEV_HOSTNAME or 'localhost'
|
11 |
|
12 | entries = [
|
13 | "webpack-dev-server/client?http://#{webpackDevHostname}:#{webpackDevPort}"
|
14 | 'webpack/hot/dev-server'
|
15 | './src/demo'
|
16 | ]
|
17 |
|
18 | new WebpackDevServer webpack({
|
19 | entry: entries
|
20 | output:
|
21 | path: __dirname,
|
22 | filename: 'clay_sdk_base.js',
|
23 | publicPath: "//#{webpackDevHostname}:#{webpackDevPort}/"
|
24 | devtool: '#inline-source-map'
|
25 | module:
|
26 | postLoaders: [
|
27 | { test: /\.coffee$/, loader: 'transform/cacheable?envify' }
|
28 | ]
|
29 | loaders: [
|
30 | { test: /\.coffee$/, loader: 'coffee' }
|
31 | { test: /\.json$/, loader: 'json' }
|
32 | ]
|
33 | plugins: [
|
34 | new webpack.HotModuleReplacementPlugin()
|
35 | ]
|
36 | resolve:
|
37 | extensions: ['.coffee', '.js', '.json', '']
|
38 | }),
|
39 | publicPath: "//#{webpackDevHostname}:#{webpackDevPort}/"
|
40 | hot: true
|
41 | .listen webpackDevPort, (err) ->
|
42 | if err
|
43 | log.trace err
|
44 | log.info 'Webpack listening on port %d', webpackDevPort
|