oc-template-preact-compiler
Version:
Compiler for the Preact OC template
33 lines (28 loc) • 1.14 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 preset_vite_1 = __importDefault(require("@preact/preset-vite"));
exports.plugin = preset_vite_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 { render, createElement } from 'preact';
const app = createElement(App, data);
const container = document.getElementById('root');
window.oc.cmd.push(() => {
render(app, container);
window.oc.events.fire('oc:rendered', { ...settings, element: container, });
});
</script>
`;
exports.appBlock = appBlock;