Webpack Config Validator

v1.0.0

Validate JSON-exported webpack configuration files for structural issues, deprecated loaders/plugins, optimization gaps, and best practices. Use when auditin...

0· 21·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for charlie-morrison/webpack-config-validator.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Webpack Config Validator" (charlie-morrison/webpack-config-validator) from ClawHub.
Skill page: https://clawhub.ai/charlie-morrison/webpack-config-validator
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install charlie-morrison/webpack-config-validator

ClawHub CLI

Package manager switcher

npx clawhub@latest install webpack-config-validator
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (webpack config validation) matches the included Python script and SKILL.md. The script operates on a JSON-exported webpack config and the SKILL.md tells the user how to export that JSON via node — all requested resources (a JSON file) are consistent with the stated purpose.
Instruction Scope
Runtime instructions are narrowly scoped: export the webpack config to JSON and run the local Python validator against that file. The instructions do not ask the agent to read unrelated files, environment variables, or to transmit data to external endpoints. Note: the user-run node require(...) step will execute the project's webpack.config.js (see user guidance).
Install Mechanism
No install spec is provided (instruction-only skill with a bundled script). The Python script claims to be pure-stdlib and no external downloads or package installs are requested.
Credentials
The skill declares no required environment variables, no credentials, and no config paths. This is proportionate for a local static/structural validator.
Persistence & Privilege
always is false and the skill does not request persistent/privileged presence or modify other skills. Autonomous invocation is allowed by platform default but the skill itself does not request elevated privileges.
Assessment
This skill appears to do what it claims: inspect a local JSON-exported webpack config and report issues. Before running it: (1) review the included Python script if you want to be extra cautious (it appears to use only stdlib JSON/file inspection and not network I/O); (2) be aware the SKILL.md instructs you to run node -e "require('./webpack.config.js')" to export JSON — requiring a project's webpack.config.js will execute that file’s JS code, which can run arbitrary code, so only run the export step on code you trust or inside an isolated environment/CI runner; (3) run the validator on a copy of the exported JSON (the script reads only the provided file path); (4) if you plan to add this skill to automation/CI, confirm the script's behavior in your environment and ensure CI runners have minimal access to secrets and production systems.

Like a lobster shell, security has layers — review code before you run it.

latestvk975mx01nm0hb9jzyqf0gxwys985dqrm
21downloads
0stars
1versions
Updated 3h ago
v1.0.0
MIT-0

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

Comments

Loading comments...