← 返回
未分类 中文

Webpack Config Validator

Validate JSON-exported webpack configuration files for structural issues, deprecated loaders/plugins, optimization gaps, and best practices. Use when auditin...
对导出的 JSON 格式 webpack 配置文件进行结构检查、检测已弃用的 loader/plugin、发现优化缺口并遵循最佳实践。适用于审计阶段。
charlie-morrison charlie-morrison 来源
未分类 clawhub v1.0.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 379
下载
💾 1
安装
1
版本
#latest

概述

Webpack Config Validator

Validate webpack configuration files exported as JSON for structural correctness, entry/output issues, deprecated loaders and plugins, optimization configuration, and best practices. Pure Python 3 stdlib — no external dependencies.

Note: webpack configs are JS/TS, not directly parseable. This validator works with JSON-exported configs. Export via:

node -e "console.log(JSON.stringify(require('./webpack.config.js')))" > config.json
python3 scripts/webpack_config_validator.py validate config.json

Commands

validate — Full validation with all rules

python3 scripts/webpack_config_validator.py validate config.json
python3 scripts/webpack_config_validator.py validate config.json --strict
python3 scripts/webpack_config_validator.py validate config.json --format json --mode production

check — Quick check (errors and warnings only)

python3 scripts/webpack_config_validator.py check config.json
python3 scripts/webpack_config_validator.py check config.json --format summary

explain — Show all rules with descriptions

python3 scripts/webpack_config_validator.py explain config.json
python3 scripts/webpack_config_validator.py explain config.json --format json

suggest — Run validation and propose fixes

python3 scripts/webpack_config_validator.py suggest config.json
python3 scripts/webpack_config_validator.py suggest config.json --format json

Flags

FlagDescription
-------------------
--strictTreat warnings as errors — exit code 1 (CI-friendly)
--format textHuman-readable output (default)
--format jsonMachine-readable JSON
--format summaryCompact summary with counts
--mode productionOverride mode context for mode-specific rules (E3, O3)
--mode developmentOverride mode context for mode-specific rules

Validation Rules (24)

Structure (5)

RuleSeverityDescription
-----------------------------
S1errorFile not found or unreadable
S2errorEmpty config file
S3errorInvalid JSON syntax
S4errorMissing required fields (entry, output)
S5warning/infoUnknown or deprecated top-level keys

Entry/Output (4)

RuleSeverityDescription
-----------------------------
E1errorEmpty entry point (empty string, object, or array)
E2errorOutput section missing 'path' property
E3warningOutput filename without content hash in production mode
E4warningpublicPath not set

Module/Rules (4)

RuleSeverityDescription
-----------------------------
M1warningModule rule without 'test' pattern
M2warningDuplicate loader for same test pattern
M3warningDeprecated loaders (raw-loader, url-loader, file-loader, json-loader)
M4infoNo babel-loader/ts-loader/esbuild-loader/swc-loader for JS/TS

Plugins (4)

RuleSeverityDescription
-----------------------------
P1errorDeprecated plugins (UglifyJsPlugin, ExtractTextPlugin, CommonsChunkPlugin)
P2warningDuplicate plugin instances
P3infoHtmlWebpackPlugin without explicit template
P4warningMiniCssExtractPlugin without corresponding loader in rules

Optimization (3)

RuleSeverityDescription
-----------------------------
O1infoMissing splitChunks configuration
O2infoMissing custom minimizer configuration
O3warning/infodevtool set to eval or source-map in production mode

Best Practices (4)

RuleSeverityDescription
-----------------------------
B1infoMissing resolve.extensions
B2warningHardcoded absolute filesystem paths in config
B3warningNo mode set (development/production/none)
B4infoMissing devServer configuration

Exit Codes

CodeMeaning
---------------
0No errors (warnings allowed unless --strict)
1Errors found (or warnings in --strict mode)
2File not found / parse error

CI Integration

# GitHub Actions example
- name: Validate webpack config
  run: |
    node -e "console.log(JSON.stringify(require('./webpack.config.js')))" > /tmp/wp-config.json
    python3 scripts/webpack_config_validator.py validate /tmp/wp-config.json --strict --mode production --format json

Example Output

webpack.config validate — config.json
======================================
[ERROR  ] S4: Missing required top-level field(s): output
         Every webpack config needs at least 'entry' and 'output'.
[WARNING] E4: output.publicPath not set
         Set publicPath to ensure assets are loaded from the correct URL. Common values: '/', '/assets/', 'auto'.
[WARNING] M3: Deprecated loader 'file-loader' in rule 2
         Replace with asset/resource (webpack 5 built-in).
[ERROR  ] P1: Deprecated plugin 'UglifyJsPlugin' at index 0
         Replace with TerserPlugin (terser-webpack-plugin).
[INFO   ] O1: No optimization.splitChunks configuration
         splitChunks enables automatic code splitting for shared dependencies. Add optimization: { splitChunks: { chunks: 'all' } } for better caching.
[WARNING] B3: No 'mode' set (development/production/none)
         Set mode to enable webpack's built-in optimizations. Without mode, webpack defaults to 'production' with a warning.

Result: INVALID
Summary: 2 error(s), 3 warning(s), 1 info

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-05-07 06:50 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195 📥 67,781
dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 72 📥 182,123
it-ops-security

Vulnerability Prioritizer

charlie-morrison
在CVSS评分之外,利用EPSS、CISA KEV、资产关键性、可达性分析以及利用成熟度进行漏洞优先级排序
★ 1 📥 510