vite-plugin-react18-pages
Version:
<p> <a href="https://www.npmjs.com/package/vite-plugin-react-pages" target="_blank" rel="noopener"><img src="https://img.shields.io/npm/v/vite-plugin-react-pages.svg" alt="npm package" /></a> </p>
66 lines (64 loc) • 2.66 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DemoModuleManager = void 0;
const jest_docblock_1 = require("jest-docblock");
const virtual_module_1 = require("../../utils/virtual-module");
const utils_1 = require("../../utils/virtual-module/utils");
const DEMO_PROXY_PREFIX = '/@react-pages/demos';
class DemoModuleManager {
constructor() {
this.pmm = new virtual_module_1.ProxyModulesManager(DEMO_PROXY_PREFIX);
}
registerProxyModule(demoPath) {
return this.pmm.registerProxyModule(demoPath, async (file) => {
const content = await file.read();
const staticData = await (0, utils_1.extractStaticData)(file);
// strip staticData notation
const code = (0, jest_docblock_1.strip)(content);
return {
demoPath,
code,
staticData,
};
});
}
isProxyModuleId(id) {
return this.pmm.isProxyModuleId(id);
}
async loadProxyModule(demoProxyId) {
const data = await this.pmm.getProxyModuleData(demoProxyId);
const { demoPath, code, staticData } = data !== null && data !== void 0 ? data : {};
if (!demoPath || !code || !staticData)
throw new Error(`assertion fail: invalid demo data: ${demoProxyId}`);
return `export * from "${demoPath}";
export { default } from "${demoPath}";
const code = ${JSON.stringify((0, jest_docblock_1.strip)(code))};
const title = ${JSON.stringify(staticData.title)};
const desc = ${JSON.stringify(staticData.description || staticData.desc)};
export const demoMeta = { code, title, desc };
export const isDemo = true;`;
}
onUpdate(cb) {
this.pmm.onProxyModuleUpdate(cb);
}
close() {
this.pmm.close();
}
}
exports.DemoModuleManager = DemoModuleManager;
__exportStar(require("./mdx-plugin"), exports);
//# sourceMappingURL=index.js.map