UNPKG

@ordojs/core

Version:

Core compiler and runtime for OrdoJS framework

58 lines 2.31 kB
/** * @fileoverview Core OrdoJS Framework - Main entry point (Refactored) * @author OrdoJS Framework Team */ import { ComponentFactory } from './runtime/component-system.js'; // Core compiler exports (refactored modular versions) export { OrdoJSCodeGenerator } from './compiler/code-generator-refactored.js'; export { OrdoJSLexer } from './compiler/lexer-refactored.js'; export { OrdoJSParser } from './compiler/parser-refactored.js'; // Runtime exports (new signal-based reactivity) export { batch, combineSignals, computed, debouncedSignal, derived, effect, fromEvent, fromPromise, persistentSignal, reactivity, signal, throttledSignal, writableDerived } from './runtime/reactivity.js'; // Component system exports export { ComponentFactory, ComponentLifecycle, Fragment, componentFactory, createComponent, createComponentByName, defineComponent, h, registerComponent } from './runtime/component-system.js'; // Legacy exports (for backward compatibility) export * from './compiler/index.js'; export * from './runtime/index.js'; export * from './types/index.js'; /** * Version information for the OrdoJS core package */ export const VERSION = '0.5.0-beta.5'; /** * Framework metadata */ export const FRAMEWORK_INFO = { name: 'OrdoJS', version: VERSION, description: 'A revolutionary web framework with compile-time optimizations and signal-based reactivity', architecture: 'modular', features: [ 'Signal-based reactivity', 'Modular compiler architecture', 'Plugin-based transformations', 'Component composition', 'TypeScript-first' ] }; /** * Create a new OrdoJS application */ export function createApp(rootComponent, props = {}) { const factory = new ComponentFactory({ devMode: process.env.NODE_ENV !== 'production' }); const instance = factory.create(rootComponent, props); return { mount: (selector) => { const target = typeof selector === 'string' ? document.querySelector(selector) : selector; if (!target) { throw new Error(`Mount target not found: ${selector}`); } return instance.mount(target); }, unmount: () => instance.unmount(), instance }; } //# sourceMappingURL=index.js.map