Skip to content

Commit

Permalink
refactor: wip
Browse files Browse the repository at this point in the history
  • Loading branch information
piecyk committed Nov 4, 2020
1 parent 6c02ec7 commit 2261410
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 6 deletions.
3 changes: 1 addition & 2 deletions packages/webpack-cli/lib/plugins/WebpackCLIPlugin.js
@@ -1,8 +1,7 @@
const { packageExists } = require('../utils/package-exists');
const webpack = packageExists('webpack') ? require('webpack') : undefined;
const { getStatsOptions } = require('../utils/stats-options');

const PluginName = 'webpack-cli';
const { PluginName } = require('../utils/name');

const appendProgressPlugin = (compiler, progress) => {
const { ProgressPlugin } = compiler.webpack || webpack;
Expand Down
5 changes: 5 additions & 0 deletions packages/webpack-cli/lib/utils/name.js
@@ -0,0 +1,5 @@
const PluginName = 'webpack-cli';

module.exports = {
PluginName,
};
17 changes: 13 additions & 4 deletions packages/webpack-cli/lib/webpack-cli.js
@@ -1,6 +1,6 @@
const { packageExists } = require('./utils/package-exists');
const webpack = packageExists('webpack') ? require('webpack') : undefined;
const logger = require('./utils/logger');
const cliLogger = require('./utils/logger');
const webpackMerge = require('webpack-merge');
const { core, coreFlagMap } = require('./utils/cli-flags');
const argParser = require('./utils/arg-parser');
Expand All @@ -9,6 +9,7 @@ const assignFlagDefaults = require('./utils/flag-defaults');
const { writeFileSync } = require('fs');
const WebpackCLIPlugin = require('./plugins/WebpackCLIPlugin');
const { getStatsOptions } = require('./utils/stats-options');
const { PluginName } = require('./utils/name');

// CLI arg resolvers
const handleConfigResolution = require('./groups/ConfigGroup');
Expand Down Expand Up @@ -155,7 +156,13 @@ class WebpackCLI {
.then(() => this._baseResolver(resolveStats, parsedArgs));
}

handleError(error) {
resolveLogger(compiler) {
return compiler ? compiler.getInfrastructureLogger(PluginName) : cliLogger;
}

handleError(error, compiler) {
const logger = this.resolveLogger(compiler);

// https://github.com/webpack/webpack/blob/master/lib/index.js#L267
// https://github.com/webpack/webpack/blob/v4.44.2/lib/webpack.js#L90
const ValidationError = webpack.ValidationError || webpack.WebpackOptionsValidationError;
Expand All @@ -175,7 +182,7 @@ class WebpackCLI {
try {
compiler = webpack(options, callback);
} catch (error) {
this.handleError(error);
this.handleError(error, compiler);
process.exit(2);
}

Expand Down Expand Up @@ -217,14 +224,16 @@ class WebpackCLI {

const callback = (error, stats) => {
if (error) {
this.handleError(error);
this.handleError(error, compiler);
process.exit(2);
}

if (stats.hasErrors()) {
process.exitCode = 1;
}

const logger = this.resolveLogger(compiler);

if (isJsonOutput) {
process.nextTick(() => {
const statsOptions = compiler.compilers
Expand Down

0 comments on commit 2261410

Please sign in to comment.