# Feature catalog — swc-project/swc

> Canonical page: https://codevetter.com/unpack/swc/feature-catalog

# Feature catalog — swc-project/swc

Scanned commit 3c46139b86b27a7b3fefcf7b19ca07a63de9db0a (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The principal public features are parsing, transformation, printing, and minification through synchronous and asynchronous APIs. Configuration supports language lowering, module formats, source maps, and custom transformations. Additional surfaces provide bundling, CLI compilation, HTML minification, CSS components, and React analysis. Availability depends on binding, target, and Cargo features; command names alone do not establish implementation.
- Compiler provides parse/parseSync and parseFile/parseFileSync with ECMAScript defaults and Script/Module overloads; filesystem parsing rejects the WASM fallback. — [packages/core/src/index.ts#L170-218](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L170-L218) [packages/core/src/index.ts#L221-260](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L221-L260)
- transform and transformSync accept source text or Program ASTs, while transformFile variants accept paths; Config::adjust enables TSX for .tsx, disables it for .ts, and recognizes .d.ts. — [packages/core/src/index.ts#L295-326](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L295-L326) [packages/core/src/index.ts#L389-416](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L389-L416) [crates/swc/src/config/mod.rs#L1274-1291](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc/src/config/mod.rs#L1274-L1291)
- minify variants accept text or buffers and internally recognize object input; native object input must contain exactly one filename-to-source entry, and extras can share an experimental mangle-name cache. — [packages/core/src/index.ts#L149-164](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L149-L164) [bindings/binding_core_node/src/minify.rs#L40-56](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_core_node/src/minify.rs#L40-L56) [bindings/binding_core_node/src/minify.rs#L83-103](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_core_node/src/minify.rs#L83-L103)
- Compilation can emit source maps and inline source content, select CommonJS/UMD/AMD/SystemJS/ES6/NodeNext module configuration, and generate isolated declarations when the isolated-dts feature and TypeScript syntax are enabled. — [crates/swc/src/config/mod.rs#L1242-1256](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc/src/config/mod.rs#L1242-L1256) [crates/swc/src/config/mod.rs#L1600-1615](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc/src/config/mod.rs#L1600-L1615) [crates/swc/src/lib.rs#L1280-1315](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc/src/lib.rs#L1280-L1315)
- Node bundle loads configuration through compileBundleOptions, merges multiple bundle results, and delegates to native bindings; swc_v1 handles named/library bundles but rejects dynamic code splitting, while the alternate task implementation is unfinished. — [packages/core/src/index.ts#L453-486](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/src/index.ts#L453-L486) [bindings/binding_core_node/src/bundle.rs#L104-115](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_core_node/src/bundle.rs#L104-L115) [bindings/binding_core_node/src/bundle.rs#L175-185](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_core_node/src/bundle.rs#L175-L185)
- CLI compile supports stdin or files, config overrides, source maps, output files/directories, copying other files, and watching; plugin new scaffolds a Rust plugin, but CLI bundle, lint, and minify handlers call unimplemented!. — [crates/swc_cli_impl/src/commands/compile.rs#L35-112](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc_cli_impl/src/commands/compile.rs#L35-L112) [crates/swc_cli_impl/src/commands/plugin.rs#L108-139](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc_cli_impl/src/commands/plugin.rs#L108-L139) [crates/swc_cli_impl/src/commands/bundle.rs#L3-9](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc_cli_impl/src/commands/bundle.rs#L3-L9) [crates/swc_cli_impl/src/commands/minify.rs#L3-9](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc_cli_impl/src/commands/minify.rs#L3-L9)
- The HTML native binding exposes document and fragment minification in async/sync forms; the Rust CSS facade exposes AST/parser/codegen plus feature-gated compatibility, minifier, modules, and prefixer components. — [bindings/binding_html_node/src/lib.rs#L707-763](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_html_node/src/lib.rs#L707-L763) [crates/swc_css/src/lib.rs#L1-17](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/crates/swc_css/src/lib.rs#L1-L17)
- React Compiler integration is exercised through jsc.transform.reactCompiler; a separate native binding exposes async/sync lint diagnostics and an isReactCompilerRequired check that returns true on parsing errors. — [packages/core/__tests__/transform/api_test.js#L43-86](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/packages/core/__tests__/transform/api_test.js#L43-L86) [bindings/binding_react_compiler_node/src/lint.rs#L77-95](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_react_compiler_node/src/lint.rs#L77-L95) [bindings/binding_react_compiler_node/src/support.rs#L25-69](https://github.com/swc-project/swc/blob/3c46139b86b27a7b3fefcf7b19ca07a63de9db0a/bindings/binding_react_compiler_node/src/support.rs#L25-L69)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
