360 Secure SkillHub
360 安全技能中心

Swc Config Validator

核心功能含完整校验、语法检查、配置解释、优化建议等,覆盖22+规则,检查结构、JSC配置、模块、转换、压缩及最佳实践问题。适用于校验SWC转译配置、审计Next.js/Turbopack构建、lint配置文件。支持输入.swcrc或含swc字段的package.json,输出有文本、JSON、摘要三种格式,提供CI友好退出码,基于Python3.8+,无外部依赖

charlie-morrison
charlie-morrison
热度 52.69
最近更新 2026-05-11 17:45:02
分类:开发依赖:代码执行 / 读写文件应用场景:代码审查 / DevOps / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add swc-config-validator
Metadata
name
swc-config-validator
description
Validate SWC config files (.swcrc, package.json#swc) for parser settings, transform conflicts, module type issues, and best practices. Use when validating SWC transpiler configs, auditing Next.js/Turbopack build setups, or linting swc config files.

SWC Config Validator

Validate .swcrc and package.json#swc for parser errors, invalid targets, transform conflicts, module type issues, minification problems, and best practices. Supports text, JSON, and summary output formats with CI-friendly exit codes.

Commands

# Full validation (all 22+ rules)
python3 scripts/swc_config_validator.py validate .swcrc

# Quick syntax/structure check only
python3 scripts/swc_config_validator.py check .swcrc

# Explain config in human-readable form
python3 scripts/swc_config_validator.py explain .swcrc

# Suggest improvements
python3 scripts/swc_config_validator.py suggest .swcrc

# JSON output (CI-friendly)
python3 scripts/swc_config_validator.py validate .swcrc --format json

# Summary only (pass/fail + counts)
python3 scripts/swc_config_validator.py validate .swcrc --format summary

# Strict mode (warnings become errors)
python3 scripts/swc_config_validator.py validate .swcrc --strict

# Validate from package.json#swc
python3 scripts/swc_config_validator.py validate package.json

Rules (22+)

# Category Severity Rule
S1 Structure Error File not found or unreadable
S2 Structure Error Empty config
S3 Structure Error Invalid JSON syntax
S4 Structure Warning Unknown top-level keys
S5 Structure Warning Missing jsc key (most configs need it)
J1 JSC Config Error Invalid parser syntax (must be ecmascript or typescript)
J2 JSC Config Warning JSX enabled in parser without React transform
J3 JSC Config Warning Deprecated loose mode in jsc.transform
J4 JSC Config Warning Missing target (no compilation target specified)
J5 JSC Config Error Invalid target value (not es3/es5/es2015-es2024/esnext)
M1 Modules Error Unknown module type
M2 Modules Warning isModule: false with ESM module type
M3 Modules Warning CommonJS module with ESM-only parser features
T1 Transform Error React transform without parser.jsx enabled
T2 Transform Warning Legacy decorators without decoratorsBeforeExport
T3 Transform Warning Conflicting useDefineForClassFields with TypeScript
T4 Transform Warning Deprecated constModules in jsc.experimental
N1 Minification Warning Minification enabled with compress: false
N2 Minification Warning Mangle enabled without compress
N3 Minification Warning Drop console in development config
B1 Best Practices Warning sourceMaps not configured
B2 Best Practices Info No env config for different environments

Output Formats

  • text (default): Human-readable with severity icons
  • json: Machine-parseable JSON array of findings
  • summary: Pass/fail with error/warning counts

Exit Codes

  • 0: No errors (warnings/info only or clean)
  • 1: One or more errors found
  • 2: File not found or invalid input

Requirements

  • Python 3.8+
  • No external dependencies (pure stdlib)

Supported Targets

es3, es5, es2015 through es2024, esnext

Supported Module Types

es6, commonjs, umd, amd, nodenext, systemjs

Valid Top-Level Keys

$schema, jsc, module, minify, env, isModule, sourceMaps, inlineSourcesContent, emitSourceMapColumns, inputSourceMap, test, exclude, filename