2025-09-05 14:59:21 +08:00

31 lines
735 B
JavaScript

import { createUnplugin } from 'unplugin';
import { createTransformer } from './transform.mjs';
import 'acorn';
import 'magic-string';
import 'estree-walker';
const unctxPlugin = createUnplugin(
(options = {}) => {
const transformer = createTransformer(options);
return {
name: "unctx:transform",
enforce: "post",
transformInclude: options.transformInclude,
transform(code, id) {
const result = transformer.transform(code);
if (result) {
return {
code: result.code,
map: result.magicString.generateMap({
source: id,
includeContent: true
})
};
}
}
};
}
);
export { unctxPlugin };