oc-template-react-compiler
Version:
Compiler for the React OC template
35 lines (30 loc) • 1.21 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.plugin = exports.appBlock = void 0;
const plugin_react_1 = __importDefault(require("@vitejs/plugin-react"));
exports.plugin = plugin_react_1.default;
const appBlock = ({ name, version, entry }) => `
<div id="root"></div>
<script type="module">
const data = __INITIAL_DATA__;
window.__$$oc_initialData__ = Object.freeze(data);
const settings = Object.freeze({ baseUrl: '/', id: 'root', name: '${name}', staticPath: '/', version: '${version}' });
window.__$$oc_Settings__ = settings;
window.oc = window.oc || {};
window.oc.cmd = window.oc.cmd || [];
import App from "${entry}";
import React from 'react';
import { createRoot } from 'react-dom/client';
const app = React.createElement(App, data);
const container = document.getElementById('root');
const root = createRoot(container);
window.oc.cmd.push(() => {
root.render(app);
window.oc.events.fire('oc:rendered', { ...settings, element: container, });
});
</script>
`;
exports.appBlock = appBlock;