UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

71 lines (67 loc) 3.05 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: !0 }); }, __copyProps = (to, from, except, desc) => { if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod); var virtualEntryPlugin_exports = {}; __export(virtualEntryPlugin_exports, { createVirtualEntry: () => createVirtualEntry }); module.exports = __toCommonJS(virtualEntryPlugin_exports); var import_vxrn = require("vxrn"), import_virtualEntryConstants = require("./virtualEntryConstants.cjs"), import_glob_patterns = require("../../router/glob-patterns.cjs"); const USE_ONE_SETUP_FILE = ` if (process.env.ONE_SETUP_FILE) { import(/* @vite-ignore */ process.env.ONE_SETUP_FILE) } `; function createVirtualEntry(options) { const routeGlobs = [`/${options.root}/${import_glob_patterns.ROUTE_GLOB_PATTERN}`, ...(options.router?.ignoredRouteFiles?.map(pattern => `!/${options.root}/${pattern}`) || [])], apiRouteGlobs = `/${options.root}/${import_glob_patterns.API_ROUTE_GLOB_PATTERN}`; return { name: "one-virtual-entry", enforce: "pre", resolveId(id) { if (id === import_virtualEntryConstants.virtualEntryId) return import_virtualEntryConstants.resolvedVirtualEntryId; if (id === import_virtualEntryConstants.virtualEntryIdNative) return import_virtualEntryConstants.resolvedVirtualEntryIdNative; }, load(id) { if (id === import_virtualEntryConstants.resolvedVirtualEntryId) return ` ${(0, import_vxrn.isNativeEnvironment)(this.environment) ? "" : USE_ONE_SETUP_FILE} import { createApp } from 'one' // globbing ${JSON.stringify(routeGlobs)} export default createApp({ routes: import.meta.glob(${JSON.stringify([...routeGlobs, ...import_glob_patterns.ROUTE_WEB_EXCLUSION_GLOB_PATTERNS.map(p => `!${p}`)])}, { exhaustive: true }), routerRoot: ${JSON.stringify(options.root)}, flags: ${JSON.stringify(options.flags)}, }) `; if (id === import_virtualEntryConstants.resolvedVirtualEntryIdNative) return ` ${(0, import_vxrn.isNativeEnvironment)(this.environment) ? "" : USE_ONE_SETUP_FILE} import { createApp } from 'one' // globbing ${JSON.stringify(routeGlobs)} export default createApp({ routes: import.meta.glob(${JSON.stringify([...routeGlobs, ...import_glob_patterns.ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS.map(p => `!${p}`), `!${apiRouteGlobs}`])}, { exhaustive: true }), routerRoot: ${JSON.stringify(options.root)}, flags: ${JSON.stringify(options.flags)}, }) `; } }; }