npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ai-transform

v0.1.0

Published

A library for transforming source code or text using Large Language Models (LLMs).

Readme

AI Transform

A library for transforming source code or text using Large Language Models (LLMs).

Installation

# PNPM
pnpm add ai-transform

# Or Yarn
yarn add ai-transform

# Or NPM
npm install ai-transform

Usage

The library provides two main functions for transformations: transformFromSource for working with strings and transformFromFile for working with files directly.

Transform from Source String

import { transformFromSource } from 'ai-transform';

const sourceCode = `
function hello() {
  console.log("Hello, world!");
}
`;

const prompt = 'Convert this function to an arrow function';

const config = {
  llm: {
    provider: 'openai', // Select the preferred AI provider
    model: 'gpt-4.1', // Select preferred model
  },
};

try {
  const transformedCode = await transformFromSource(sourceCode, prompt, config);
  console.log(transformedCode);
  /*
  Expected output (will vary based on LLM response):
  const hello = () => {
    console.log("Hello, world!");
  };
  */
} catch (error) {
  console.error('Transformation failed:', error);
}

Transform from File

You can also transform code directly from a file:

import { transformFromFile } from 'ai-transform';

const filepath = './src/example.js';
const prompt = 'Convert all functions to arrow functions';

const config = {
  llm: {
    provider: 'openai',
    model: 'gpt-4.1',
  },
};

try {
  const transformedCode = await transformFromFile(filepath, prompt, config);
  console.log(transformedCode);
  // Use the transformed code, e.g., write it back to a file
} catch (error) {
  console.error('Transformation failed:', error);
}

Configuration

The config object requires an llm property.

OpenAI Configuration (provider: 'openai')

  • provider: Must be set to 'openai' or let it be inferred by passing in 1 of the OpenAI models to the model property.
  • apiKey: Optional to override the OpenAI API key, by default the library takes OPENAI_API_KEY environment variable.
  • model: Select your preferred OpenAI model, for example; gpt4.1

Google Configuration (provider: 'google')

  • provider: Must be set to 'google' or let it be inferred by passing in 1 of the Google AI models to the model property.
  • apiKey: Optional to override the Google AI API key, by default the library takes GOOGLE_AI_API_KEY environment variable.
  • model: Select your preferred Google AI model, for example; gemini-2.0-flash

Anthropics Configuration (provider: 'anthropics')

  • provider: Must be set to 'anthropics' or let it be inferred by passing in 1 of the Anthropics models to the model property.
  • apiKey: Optional to override the Anthropics API key, by default the library takes ANTHROPIC_API_KEY environment variable.
  • model: Select your preferred Anthropics model, for example; claude-3-7-sonnet-latest

Error Handling

The transformFromSource function may throw an AITransformError if the transformation fails (e.g., due to API errors or issues with the LLM response). It's recommended to wrap the call in a try...catch block.