@ordojs/core
Version:
Core compiler and runtime for OrdoJS framework
58 lines • 2.31 kB
JavaScript
/**
* @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