[READ-ONLY] Mirror of https://github.com/sxzz/rolldown-string. A compatibility layer for magic-string to work with Rolldown and other bundlers.
TypeScript 97%
JavaScript 3%

README.md

rolldown-string #

npm version npm downloads Unit Test

A compatibility layer for magic-string to work with Rolldown and other bundlers.

  • In Rolldown, native magic-string is used to optimize performance.
  • If native support is unavailable, it gracefully falls back to the JavaScript implementation of magic-string.

Recommended for use with unplugin.

Install #

npm i rolldown-string

Usage #

withMagicString #

Higher-order function to create a transform hook with magic-string support.

import { withMagicString } from 'rolldown-string'

const plugin = {
  transform: withMagicString((s, id) => {
    // your transformations...
    s.replace('42', '43')
  }),
}

rolldownString / generateTransform #

More flexible way to use rolldown-string.

import { generateTransform, rolldownString } from 'rolldown-string'

const yourPlugin = {
  transform(code, id, meta) {
    const s = rolldownString(code, id, meta)

    // your transformations...
    s.replace('42', '43')

    return generateTransform(s, id)
  },
}

Sponsors #

License #

MIT License © 2025-PRESENT Kevin Deng