$
This commit is contained in:
5
node_modules/@webpack-cli/configtest/lib/index.d.ts
generated
vendored
Normal file
5
node_modules/@webpack-cli/configtest/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import { IWebpackCLI } from "webpack-cli";
|
||||
declare class ConfigTestCommand {
|
||||
apply(cli: IWebpackCLI): Promise<void>;
|
||||
}
|
||||
export default ConfigTestCommand;
|
55
node_modules/@webpack-cli/configtest/lib/index.js
generated
vendored
Normal file
55
node_modules/@webpack-cli/configtest/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const WEBPACK_PACKAGE = process.env.WEBPACK_PACKAGE || "webpack";
|
||||
class ConfigTestCommand {
|
||||
async apply(cli) {
|
||||
await cli.makeCommand({
|
||||
name: "configtest [config-path]",
|
||||
alias: "t",
|
||||
description: "Validate a webpack configuration.",
|
||||
pkg: "@webpack-cli/configtest",
|
||||
dependencies: [WEBPACK_PACKAGE],
|
||||
}, [], async (configPath) => {
|
||||
cli.webpack = await cli.loadWebpack();
|
||||
const config = await cli.loadConfig(configPath ? { config: [configPath] } : {});
|
||||
const configPaths = new Set();
|
||||
if (Array.isArray(config.options)) {
|
||||
config.options.forEach((options) => {
|
||||
if (config.path.get(options)) {
|
||||
configPaths.add(config.path.get(options));
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (config.path.get(config.options)) {
|
||||
configPaths.add(config.path.get(config.options));
|
||||
}
|
||||
}
|
||||
if (configPaths.size === 0) {
|
||||
cli.logger.error("No configuration found.");
|
||||
process.exit(2);
|
||||
}
|
||||
cli.logger.info(`Validate '${Array.from(configPaths).join(" ,")}'.`);
|
||||
try {
|
||||
// @ts-expect-error cli.webpack.validate returns void
|
||||
const error = cli.webpack.validate(config.options);
|
||||
// TODO remove this after drop webpack@4
|
||||
if (error && error.length > 0) {
|
||||
// @ts-expect-error schema argument is missing
|
||||
throw new cli.webpack.WebpackOptionsValidationError(error);
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
if (cli.isValidationError(error)) {
|
||||
cli.logger.error(error.message);
|
||||
}
|
||||
else {
|
||||
cli.logger.error(error);
|
||||
}
|
||||
process.exit(2);
|
||||
}
|
||||
cli.logger.success("There are no validation errors in the given webpack configuration.");
|
||||
});
|
||||
}
|
||||
}
|
||||
exports.default = ConfigTestCommand;
|
Reference in New Issue
Block a user