Communitygithub.com

G1Joshi/Agent-Skills

Asistencia experta en SWC que cubre compilación Rust de alto rendimiento para JavaScript/TypeScript, configuración de .swcrc, pruebas Jest mediante @swc/jest y minificación. Útil para reemplazar Babel por SWC para compilaciones más rápidas, acelerar la ejecución de pruebas o compilar características modernas de ECMAScript.

¿Qué es Agent-Skills?

Este skill proporciona asistencia experta sobre SWC (Speedy Web Compiler), una plataforma extensible basada en Rust que actúa como compilador dentro de Next.js y Deno. Está diseñado para desarrolladores que buscan reemplazar Babel por un compilador hasta 20 veces más rápido, acelerar la transpilación de JavaScript/TypeScript, optimizar pruebas unitarias con @swc/jest y minificar activos de producción a velocidades extremas. El skill cubre la creación de archivos .swcrc, compilación programática mediante la API de Node.js @swc/core, compilación CLI de alto rendimiento y patrones comunes como la aceleración de pruebas Jest y la minificación de bundles. Incluye mejores prácticas actualizadas para 2026, como instalar @swc/helpers para evitar duplicación de stubs, emparejar SWC con tsc --noEmit en CI/CD para verificación de tipos, y configurar target: 'es2022' para aprovechar capacidades nativas del navegador. Además, proporciona una tabla de solución de problemas para errores comunes como el análisis de TypeScript, metadatos de decoradores y fallos de instalación de binarios nativos. Es compatible con cualquier plataforma que use Node.js, npm/yarn y entornos de compilación modernos.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/G1Joshi/Agent-Skills/tree/HEAD/skills/tools/swc

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

SWC

SWC (Speedy Web Compiler) es una plataforma extensible basada en Rust. Es el compilador dentro de Next.js y Deno.

Cuándo Usar

  • Transpilación de Alto Rendimiento de JavaScript/TypeScript: Reemplazar Babel por un compilador basado en Rust hasta 20 veces más rápido.
  • Pipelines de Next.js y Bundlers Modernos: Transpilar React JSX, TSX, características modernas de ECMAScript y activos de Webpack/Turbopack.
  • Manipulación Programática de AST y Generación de Código: Construir herramientas de compilación personalizadas rápidas usando la API de Node.js @swc/core.
  • Minificación de Activos de Producción: Minificar bundles de JS y CSS a velocidades extremas usando el minificador de @swc/core.

Inicio Rápido

1. .swcrc Mínimo

{
  "$schema": "https://json.schemastore.org/swcrc",
  "jsc": {
    "parser": {
      "syntax": "typescript",
      "tsx": true,
      "decorators": true
    },
    "transform": {
      "react": {
        "runtime": "automatic"
      }
    },
    "target": "es2022"
  },
  "minify": false
}

2. Compilar vía CLI

npx @swc/cli src -d dist

Conceptos Clave

Configuración de Producción de SWC (.swcrc)

Configurando TypeScript moderno, React 19 JSX runtime y transpilación de módulos:

{
  "$schema": "https://json.schemastore.org/swcrc",
  "jsc": {
    "parser": {
      "syntax": "typescript",
      "tsx": true,
      "decorators": true,
      "dynamicImport": true
    },
    "transform": {
      "react": {
        "runtime": "automatic",
        "refresh": true
      }
    },
    "target": "es2022",
    "loose": false,
    "externalHelpers": true,
    "keepClassNames": true,
    "minify": {
      "compress": {
        "unused": true,
        "drop_console": true
      },
      "mangle": true
    }
  },
  "module": {
    "type": "es6"
  },
  "minify": true,
  "sourceMaps": true
}

Compilación Programática con la API de @swc/core

Transpilar archivos fuente de forma asíncrona en scripts de Node.js:

import swc from "@swc/core";
import fs from "node:fs/promises";

async function compileTypeScript(filePath) {
  const code = await fs.readFile(filePath, "utf-8");

  const output = await swc.transform(code, {
    filename: filePath,
    sourceMaps: true,
    jsc": {
      parser: { syntax: "typescript", tsx: true },
      target: "es2022",
    },
    module: { type: "commonjs" },
  });

  console.log("Transpiled Code:\n", output.code);
  if (output.map) {
    console.log("Source Map Generated");
  }
}

compileTypeScript("./src/index.ts");

Transpilación CLI de Alta Velocidad

Compilar árboles de directorios directamente con la línea de comandos de SWC:

# Transpilar src/ a dist/ con mapas de origen
npx swc src -d dist --copy-files --source-maps

# Transpilar y agrupar con swcpack
npx swc src/index.ts -o dist/bundle.js --minify

Patrones Comunes

Acelerar Pruebas Jest con @swc/jest

Problema: La transpilación de TypeScript con ts-jest hace que los conjuntos de pruebas se ejecuten muy lentamente.
Solución: Reemplazar ts-jest por @swc/jest.

// jest.config.js
module.exports = {
  transform: {
    "^.+\\.(t|j)sx?$": [
      "@swc/jest",
      {
        jsc: {
          transform: {
            react: { runtime: "automatic" },
          },
        },
      },
    ],
  },
};

Pipeline de Agrupación y Minificación con SWC

Problema: Necesidad de minificación rápida para scripts de compilación de producción.
Solución: Habilitar opciones de minify dentro de .swcrc.

{
  "minify": true,
  "jsc": {
    "minify": {
      "compress": {
        "drop_console": true
      },
      "mangle": true
    }
  }
}

Mejores Prácticas (2026)

  • Hacer instalar @swc/helpers y habilitar externalHelpers: true para evitar duplicar stubs de ayuda del transpilador.
  • Hacer emparejar SWC con tsc --noEmit en pipelines de CI/CD ya que SWC transpila código sin realizar verificación de tipos.
  • Hacer configurar target: "es2022" o más reciente para aprovechar las capacidades nativas de los navegadores modernos.
  • Hacer usar @swc/jest o @swc/register para acelerar drásticamente la ejecución de pruebas unitarias.
  • No hacer depender de plugins de Babel a menos que sea estrictamente necesario; verificar si existen plugins nativos de SWC (plugins Wasm).
  • No hacer confirmar directorios de caché de compilación .swc en repositorios Git.
  • No hacer ejecutar la minificación de SWC sin generar mapas de origen para la resolución de problemas en producción.

Solución de Problemas

Error / SíntomaCausaSolución
failed to handle: error parsing typescriptSintaxis de TypeScript (ej. JSX o decoradores) usada sin habilitar banderas en .swcrcAsegurar que "syntax": "typescript", "tsx": true, y "decorators": true estén presentes en jsc.parser.
Los metadatos de decoradores no se emiten (Reflect.getMetadata devuelve undefined)transform.legacyDecorator y transform.decoratorMetadata no configuradosEstablecer "legacyDecorator": true y "decoratorMetadata": true dentro de jsc.transform.
Cannot find module '@swc/core-darwin-arm64'Falló la instalación del binario nativo durante npm/yarn installEjecutar npm install --force @swc/core para forzar la descarga del binario nativo para la arquitectura objetivo.

Referencias

Individual skills in this repo

This repo contains 11 individual skills — each has its own dedicated page.

G1Joshi/Agent-Skills

Expert Dask distributed computing assistance covering Dask DataFrames, Arrays, Futures, and cluster scaling. Use when analyzing datasets too large for pandas on a single machine or multi-node cluster.

G1Joshi/Agent-Skills

Expert dbt (data build tool) assistance covering SQL modeling, Jinja macros, tests, documentation, and semantic layer. Use when building analytics engineering pipelines on BigQuery, Snowflake, or PostgreSQL.

G1Joshi/Agent-Skills

Expert JAX assistance covering Autograd, XLA compilation (`jit`), vectorization (`vmap`), and parallelization (`pmap`). Use when building high-performance numerical computing and cutting-edge deep learning research.

G1Joshi/Agent-Skills

Expert Ray distributed computing assistance covering Ray Core (actors, tasks), Ray Train, Ray Tune, and Ray Serve. Use when scaling Python compute and ML training across multi-node clusters.

G1Joshi/Agent-Skills

Expert Git version control assistance covering branching, interactive rebase, cherry-pick, submodules, worktrees, and conflict resolution. Use when managing source code history and collaboration workflows.

G1Joshi/Agent-Skills

Expert K9s CLI assistance covering terminal Kubernetes cluster navigation, real-time log streaming, port forwarding, and pod debugging. Use when managing and troubleshooting Kubernetes clusters with speed.

G1Joshi/Agent-Skills

Expert Tig assistance covering text-mode interface for Git, interactive staging, commit graph visualization, diff exploration, and blame navigation. Use when navigating Git commit history in the terminal, staging hunks interactively, browsing file changes, or reviewing revisions.

G1Joshi/Agent-Skills

Expert Vim assistance covering modal editing, .vimrc configuration, registers, macros, search/replace, and plugin management via vim-plug. Use when editing text efficiently in terminal environments, writing Vimscript, recording macros, or configuring core Vim settings.

G1Joshi/Agent-Skills

Expert Zed editor assistance covering high-performance Rust-based text editing, multi-buffer editing, language server protocols (LSP), and AI assistant integrations. Use when configuring Zed settings.json, setting up language extensions, collaborating in real-time channels, or optimizing editor startup speed.

G1Joshi/Agent-Skills

Expert Zsh assistance covering shell customization, Oh My Zsh plugins, Zinit plugin manager, prompt engineering (Starship/Powerlevel10k), and shell scripting. Use when configuring .zshrc, writing Zsh automation scripts, optimizing shell startup time, or configuring tab-completion.

G1Joshi/Agent-Skills

Expert [skill-name] assistance covering [feature 1], [feature 2], and [feature 3]. Use when [working with X], [debugging Y], or [implementing Z].

Skills relacionados