Przeglądaj źródła

chore(build): use nativeMagicString for inline enums

daiwei 2 miesięcy temu
rodzic
commit
79fdb81035
2 zmienionych plików z 8 dodań i 7 usunięć
  1. 3 0
      scripts/create-rolldown-config.js
  2. 5 7
      scripts/inline-enums.js

+ 3 - 0
scripts/create-rolldown-config.js

@@ -362,6 +362,9 @@ export function createConfigsForPackage({
       treeshake: {
         moduleSideEffects: false,
       },
+      experimental: {
+        nativeMagicString: true,
+      },
     }
   }
 

+ 5 - 7
scripts/inline-enums.js

@@ -22,7 +22,6 @@ import {
 import * as path from 'node:path'
 import { parseSync } from 'oxc-parser'
 import { spawnSync } from 'node:child_process'
-import MagicString from 'magic-string'
 
 /**
  * @typedef {{ readonly name: string, readonly value: string | number }} EnumMember
@@ -254,20 +253,20 @@ export function inlineEnums() {
    */
   const plugin = {
     name: 'inline-enum',
-    transform(code, id) {
+    transform(code, id, meta) {
       /**
-       * @type {MagicString | undefined}
+       * @type {import('rolldown').BindingMagicString | undefined}
        */
       let s
-
       if (id in enumData.declarations) {
-        s = s || new MagicString(code)
+        s = s || meta.magicString
         for (const declaration of enumData.declarations[id]) {
           const {
             range: [start, end],
             id,
             members,
           } = declaration
+          // @ts-ignore
           s.update(
             start,
             end,
@@ -297,8 +296,7 @@ export function inlineEnums() {
 
       if (s) {
         return {
-          code: s.toString(),
-          map: s.generateMap(),
+          code: s,
         }
       }
     },