Skip to content

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

License

Notifications You must be signed in to change notification settings

sxzz/rolldown-string

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

About

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

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •