From eac14598326cb315b333d2834485f61b19421dc1 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Sat, 20 Jul 2019 07:46:41 +0300 Subject: [PATCH] Build: watch and dev mode webpack improvements (#18153) * Ignore `node_modules` in watch mode * Simplify development setup --- package.json | 2 +- packages/grafana-toolkit/src/cli/tasks/core.start.ts | 4 ++-- scripts/webpack/webpack.dev.js | 5 +++++ scripts/webpack/webpack.hot.js | 4 ++++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 3fe794c119a..04ab73c3dcf 100644 --- a/package.json +++ b/package.json @@ -128,7 +128,7 @@ "zone.js": "0.7.8" }, "scripts": { - "dev": "webpack --progress --colors --mode development --config scripts/webpack/webpack.dev.js", + "dev": "webpack --progress --colors --config scripts/webpack/webpack.dev.js", "start": "grafana-toolkit core:start --watchTheme", "start:hot": "grafana-toolkit core:start --hot --watchTheme", "start:ignoreTheme": "grafana-toolkit core:start --hot", diff --git a/packages/grafana-toolkit/src/cli/tasks/core.start.ts b/packages/grafana-toolkit/src/cli/tasks/core.start.ts index 2132ea33a8e..516c46a7334 100644 --- a/packages/grafana-toolkit/src/cli/tasks/core.start.ts +++ b/packages/grafana-toolkit/src/cli/tasks/core.start.ts @@ -15,11 +15,11 @@ const startTaskRunner: TaskRunner = async ({ watchThemes, hot }, hot ? { - command: 'webpack-dev-server --progress --colors --mode development --config scripts/webpack/webpack.hot.js', + command: 'webpack-dev-server --progress --colors --config scripts/webpack/webpack.hot.js', name: 'Dev server', } : { - command: 'webpack --progress --colors --watch --mode development --config scripts/webpack/webpack.dev.js', + command: 'webpack --progress --colors --watch --config scripts/webpack/webpack.dev.js', name: 'Webpack', }, ]; diff --git a/scripts/webpack/webpack.dev.js b/scripts/webpack/webpack.dev.js index 9a68582467f..47ce7fe2fcf 100644 --- a/scripts/webpack/webpack.dev.js +++ b/scripts/webpack/webpack.dev.js @@ -19,6 +19,11 @@ module.exports = merge(common, { light: './public/sass/grafana.light.scss', }, + // If we enabled watch option via CLI + watchOptions: { + ignored: /node_modules/ + }, + module: { rules: [ { diff --git a/scripts/webpack/webpack.hot.js b/scripts/webpack/webpack.hot.js index 81a5b3f3c9b..17f4d60fbab 100644 --- a/scripts/webpack/webpack.hot.js +++ b/scripts/webpack/webpack.hot.js @@ -10,6 +10,7 @@ const CleanWebpackPlugin = require('clean-webpack-plugin'); const IgnoreNotFoundExportPlugin = require("./IgnoreNotFoundExportPlugin.js"); module.exports = merge(common, { + mode: 'development', entry: { app: ['webpack-dev-server/client?http://localhost:3333', './public/app/dev.ts'], }, @@ -34,6 +35,9 @@ module.exports = merge(common, { proxy: { '!/public/build': 'http://localhost:3000', }, + watchOptions: { + ignored: /node_modules/ + } }, optimization: {