-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcosmos.config.js
33 lines (31 loc) · 1.16 KB
/
cosmos.config.js
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
const webpack = require("webpack");
const WatchMissingNodeModulesPlugin = require("react-dev-utils/WatchMissingNodeModulesPlugin");
const InterpolateHtmlPlugin = require("react-dev-utils/InterpolateHtmlPlugin");
const path = require("path");
const CI = process.env.CI === "1" || process.env.CI === "true";
module.exports = {
rootPath: __dirname,
fileMatch: path.join(__dirname, "src", "cosmos", "fixtures.js"),
publicPath: "public",
proxiesPath: "src/cosmos/proxies",
outputPath: "src/cosmos/export",
watchDirs: ["src"],
globalImports: ["./src/index.css"],
containerQuerySelector: "#root",
webpackConfigPath: "react-scripts/config/webpack.config.dev",
hot: !CI,
webpack: (config, { env }) => {
config.entry = config.entry.filter(entry => {
return CI && !entry.includes("webpackHotDevClient");
});
config.plugins = config.plugins.filter(plugin => {
return (
!(CI && plugin instanceof webpack.HotModuleReplacementPlugin) &&
!(plugin instanceof WatchMissingNodeModulesPlugin) &&
!(plugin instanceof InterpolateHtmlPlugin)
);
});
config.devtool = CI ? false : config.devtool;
return config;
}
};