diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts index 7fca11963d2..0527a3924f5 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.ts @@ -57,17 +57,19 @@ export const bundlePlugin = async ({ watch, production, preserveConsole }: Plugi } else { compiler.run((err: Error, stats: webpack.Stats) => { if (err) { - reject(err.message); - + reject(err); return; } + if (stats.hasErrors()) { stats.compilation.errors.forEach((e) => { console.log(e.message); }); reject('Build failed'); + return; } + console.log('\n', stats.toString({ colors: true }), '\n'); resolve(); }); diff --git a/packages/grafana-toolkit/src/cli/utils/useSpinner.ts b/packages/grafana-toolkit/src/cli/utils/useSpinner.ts index 193778bc2a4..a80df432f52 100644 --- a/packages/grafana-toolkit/src/cli/utils/useSpinner.ts +++ b/packages/grafana-toolkit/src/cli/utils/useSpinner.ts @@ -11,7 +11,8 @@ export const useSpinner = async (label: string, fn: () => Promise, killProc if (err.stdout) { console.error(err.stdout); - } else { + } else if (err.message) { + // Return stack trace if error object console.trace(err); // eslint-disable-line no-console }