@pulzar/core
Version:
Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support
75 lines • 3.07 kB
JavaScript
/**
* Pulzar Edge Runtime
*
* High-performance edge computing solution for modern web applications.
* Supports Cloudflare Workers, Vercel Edge Functions, Deno Deploy, and Netlify Edge Functions.
*
* Features:
* - Zero-cold-start with optimized bundling
* - WebSocket support where available
* - Automatic compression and optimization
* - Type-safe edge adapters
* - Platform-specific polyfills
* - Real-time bundle analysis
* - Hot module replacement in development
*/
// Import functions and types for the edge object
import { PLATFORM_CAPABILITIES, getPlatformCapabilities, createEdgeError, } from "./types";
import { createEdgeAdapter, createEdgeHandler } from "./adapter";
import { createEdgeBundler, bundleForEdge } from "./bundler";
import { edgePlugin, createEdgeConfig } from "./vite-adapter";
// Constants and utilities
export { PLATFORM_CAPABILITIES, DEFAULT_ADAPTER_OPTIONS, COMMON_MIME_TYPES, EDGE_RUNTIME_VERSION, getPlatformCapabilities, createEdgeError, isWebSocketUpgrade, extractRequestMetadata, normalizeHeaders, } from "./types";
// Edge adapters
export { BaseEdgeAdapter, CloudflareAdapter, VercelAdapter, DenoAdapter, NetlifyAdapter, createEdgeAdapter, createEdgeHandler, } from "./adapter";
// Fastify edge adapter (legacy compatibility)
export { FastifyEdgeAdapter, createFastifyEdgeAdapter, } from "./fastify-adapter";
export { edgePlugin, createEdgeConfig, DEFAULT_NODE_EXTERNALS, PLATFORM_CONFIGS, getPlatformPolyfills, getPlatformWrapper, } from "./vite-adapter";
export { EdgeBundler, createEdgeBundler, bundleForEdge } from "./bundler";
// Polyfills and utilities
export { applyPlatformPolyfills, isEdgeEnvironment, getPlatformFeatures, validateEdgeEnvironment, } from "./polyfills";
// Re-export default as namespace for convenience
import * as EdgeRuntime from "./types";
export { EdgeRuntime };
/**
* Quick setup for common use cases
*/
export const edge = {
// Adapter factory
createAdapter: createEdgeAdapter,
createHandler: createEdgeHandler,
// Bundler factory
createBundler: createEdgeBundler,
bundle: bundleForEdge,
// Vite plugin
vitePlugin: edgePlugin,
viteConfig: createEdgeConfig,
// Platform validation
validatePlatform: (platform) => {
return Object.keys(PLATFORM_CAPABILITIES).includes(platform);
},
// Environment detection
detectPlatform: () => {
if (typeof navigator !== "undefined" &&
navigator.userAgent?.includes("Cloudflare-Workers")) {
return "cloudflare";
}
if (typeof process?.env?.VERCEL !== "undefined") {
return "vercel";
}
if (typeof globalThis.Deno !== "undefined") {
return "deno";
}
if (typeof process?.env?.NETLIFY !== "undefined") {
return "netlify";
}
return null;
},
// Platform capabilities
getCapabilities: getPlatformCapabilities,
// Error handling
createError: createEdgeError,
};
// Default export for convenience
export default edge;
//# sourceMappingURL=index.js.map