bunext/dist/functions/server/web-pages/grab-page-bundled-react-component.js
2026-04-09 07:47:38 +01:00

33 lines
1003 B
JavaScript

import grabPageReactComponentString from "./grab-page-react-component-string";
import grabTsxStringModule from "./grab-tsx-string-module";
import { log } from "../../../utils/log";
import grabRootFilePath from "./grab-root-file-path";
export default async function grabPageBundledReactComponent({ file_path, return_tsx_only, }) {
try {
const { root_file_path } = grabRootFilePath();
let tsx = grabPageReactComponentString({
file_path,
root_file_path,
});
if (!tsx) {
return undefined;
}
if (return_tsx_only) {
return { tsx };
}
const mod = await grabTsxStringModule({
tsx,
page_file_path: file_path,
});
const Main = mod.default;
return {
component: Main,
tsx,
};
}
catch (error) {
log.error(`grabPageBundledReactComponent Error: ${error.message}`, error);
return undefined;
}
}