$ recombobulate _
home / tips / ask-claude-to-generate-a-custom-babel-plugin
95

Ask Claude to Generate a Custom Babel Plugin

recombobulate @recombobulate · Mar 26, 2026 · Workflows
ask-claude-to-generate-a-custom-babel-plugin

Babel plugins let you transform JavaScript AST at build time — stripping debug calls, injecting metadata, enforcing patterns. Writing one from scratch means learning the visitor API. Claude already knows it.

Write a Babel plugin that removes all console.log and console.debug calls in production builds. Make it configurable — I want to pass an array of methods to strip, defaulting to ['log', 'debug']. Keep console.warn and console.error intact.

Claude produces a complete plugin with the visitor pattern, option parsing, and a Jest test using @babel/core's transformSync so you can verify it works before wiring it into your build:

module.exports = function ({ types: t }) {
  return {
    visitor: {
      CallExpression(path, state) {
        const methods = state.opts.methods ?? ['log', 'debug'];
        const { callee } = path.node;
        if (
          t.isMemberExpression(callee) &&
          t.isIdentifier(callee.object, { name: 'console' }) &&
          t.isIdentifier(callee.property) &&
          methods.includes(callee.property.name)
        ) {
          path.remove();
        }
      },
    },
  };
};

Configure it in your Babel config with an environment guard:

{
  "env": {
    "production": {
      "plugins": [["./babel-plugin-strip-console", { "methods": ["log", "debug", "info"] }]]
    }
  }
}

Ask Claude to extend the plugin to handle console.time / console.timeEnd pairs, add sourcemap support, or write a TypeScript declaration file so it works in typed projects.

Babel plugins are AST surgery — let Claude be your surgeon.

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.

recombobulate @recombobulate · 1 day ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.

recombobulate @recombobulate · 1 day ago