summaryrefslogtreecommitdiffstats
path: root/webpack.dev.js
blob: b01723e4561c80249cbd1669dd1340c00c83ac11 (plain)
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
const path = require("path");
const merge = require("webpack-merge");
const exec = require("child_process").exec;
const WatchPlugin = require("webpack-watch-files-plugin").default;
const ShellPlugin = require("webpack-shell-plugin");
const common = require("./webpack.common.js");

module.exports = merge(common, {
  mode: "development",
  watch: true,
  // The dev server uses both contentBase and publicPath. The contentBase is
  // used to server the built docs, and publicPath is the bundle path for live
  // reloading. The publicPath intercepts requests to the static assets in
  // _static/. Opening http://localhost:1919 is everything you need for
  // development.
  devServer: {
    contentBase: "docs/build/html",
    port: 1919,
    open: false,
    hot: false,
    liveReload: true,
    publicPath: "/_static/",
    disableHostCheck: true,
    headers: {
      "Access-Control-Allow-Origin": "*"
    }
  },
  plugins: [
    new WatchPlugin({
      files: ["./docs/**/*.rst", "./docs/**/*.py"]
    }),
    new ShellPlugin({
      onBuildStart: ["make -C docs clean html"],
    })
  ]
});