{"id":25936,"library":"metro-minify-swc","title":"metro-minify-swc","description":"A drop-in replacement minifier for Metro bundler that uses SWC (Speedy Web Compiler) for fast JavaScript minification. Version 1.0.0-alpha is experimental and may not be stable. SWC's Rust-based implementation aims to provide better performance than Metro's default minifier. Requires metro >=0.80.0. Provides TypeScript types.","status":"active","version":"1.0.0-alpha","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","metro","minifier","swc","bundler","typescript"],"install":[{"cmd":"npm install metro-minify-swc","lang":"bash","label":"npm"},{"cmd":"yarn add metro-minify-swc","lang":"bash","label":"yarn"},{"cmd":"pnpm add metro-minify-swc","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - required to be installed as the bundler that this minifier plugs into","package":"metro","optional":false}],"imports":[{"note":"Package uses CommonJS exports; ESM import is not available.","wrong":"import minifier from 'metro-minify-swc';","symbol":"default","correct":"const minifier = require('metro-minify-swc');"},{"note":"The default export is the minifier function, so destructuring may not work as expected. Prefer default import.","wrong":"import { minifier } from 'metro-minify-swc';","symbol":"minifier (named)","correct":"const { minifier } = require('metro-minify-swc');"},{"note":"Metro resolves the module automatically; specifying an index file is redundant and may cause resolution errors.","wrong":"minifierPath: 'metro-minify-swc/index.js'","symbol":"minifierPath in metro.config.js","correct":"minifierPath: 'metro-minify-swc'"}],"quickstart":{"code":"// metro.config.js\nmodule.exports = {\n  transformer: {\n    minifierPath: 'metro-minify-swc',\n    minifierConfig: {\n      compress: {\n        drop_console: true,\n        unused: true,\n      },\n      mangle: {\n        toplevel: true,\n      },\n    },\n  },\n};","lang":"javascript","description":"Shows how to configure Metro's transformer to use metro-minify-swc with custom compress and mangle options."},"warnings":[{"fix":"Pin exact version and monitor releases for breaking changes.","message":"Package is 1.0.0-alpha and experimental; API may change without notice.","severity":"deprecated","affected_versions":"1.0.0-alpha"},{"fix":"Always provide an empty object if no configuration is needed: minifierConfig: {}.","message":"minifierConfig must be an object; passing undefined or null can cause errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Explicitly set all minifier options in minifierConfig, including defaults.","message":"Metro's default minifier options are not automatically applied; you must specify all desired options.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Verify bundle behavior in development and production environments.","message":"SWC minifier may produce slightly different output than Metro's default (Terser-based) minifier; test thoroughly.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install --save-dev metro-minify-swc (or yarn/pnpm equivalent).","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'metro-minify-swc'"},{"fix":"Ensure the package is installed and check that metro.config.js uses the correct string for minifierPath.","cause":"Metro cannot resolve the minifier module.","error":"Error: Minifier path not found: metro-minify-swc"},{"fix":"Set minifierConfig to an empty object or a proper configuration object.","cause":"minifierConfig is undefined or not an object.","error":"TypeError: Cannot read properties of undefined (reading 'compress')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}