Skip to content

Conversation

@DragorWW
Copy link
Collaborator

@DragorWW DragorWW commented Jan 7, 2025

Reface Ecosystem Refactoring

Overview

Major refactoring to transform Reface into a modular ecosystem:

  • Split monolithic Reface into separate modules (recast, framework)
  • Add new ecosystem modules (reface-ui, restory, redocs)
  • Implement async rendering support
  • Improve development experience

Key Changes

  • Core rendering engine extracted to @recast
  • Framework features moved to @framework
  • New UI kit module created (@reface-ui)
  • New documentation system (@redocs)
  • New component development tools (@restory)
  • Website rebuilt with new architecture

Critical Path

  1. Merge core changes to master
  2. Move UI and docs to alpha
  3. Continue development in separate PRs

Tasks by Module

general

  • Split Reface into modular ecosystem
  • Remove unused code and comments
  • Update CLI
  • Review and cleanup codebase
  • Fix type system issues
  • Prepare for master merge

@recast

  • Extract core rendering engine
  • Implement async rendering
  • Add AsyncExpression
  • Update rendering API
  • Pass template engine tests
  • Fix Template implementation
  • Add Promise tests
  • Implement context system
  • Clean up Recast class
  • Document render process

@framework

  • Extract framework features
  • Fix livereload plugin
  • Verify island functionality
  • Verify partial functionality
  • Test async features
  • Add integration tests
  • Add example implementations

website

  • Launch new version
  • Add dark theme
  • Basic examples
  • Build using only UI Kit
  • Remove external dependencies
  • Add interactive demos
  • Improve documentation

@reface-ui

  • Initial setup
  • Remove old implementation
  • Add dark theme support
  • Move to alpha status
  • Complete component set
  • Add tests and stories
  • Add theming system
  • Document components

@redocs

  • Initial setup
  • Integrate Deno Docs
  • Add API documentation
  • Support markdown files
  • Add search
  • Improve UI using reface-ui
  • Study Deno docs implementation

@restory

  • Initial setup
  • Integrate with redocs
  • Improve story system
  • Add visual testing
  • Add documentation

examples

  • Add basic examples
  • Add component patterns
  • Add island examples
  • Add partial examples
  • Add async examples
  • Add template examples

Reface Ecosystem

recast

Core rendering engine that provides base functionality for component rendering.

Features:

  • Expression system for different content types (Component, Element, Fragment, etc.)
  • JSX runtime support
  • HTML template literals and processing
  • CSS-in-JS functionality
  • Slot system for layouts
  • Plugin architecture
  • Style management

framework

High-level framework features for building web applications.

Features:

  • Island architecture for partial hydration
  • Partial rendering for dynamic updates
  • HTMX integration for server-driven UI
  • Live reload for development
  • Error handling and display system
  • Development tools

reface-ui

Comprehensive UI component library.

Components:

  • Layout: Grid, Stack, Panel, Tabs, Splitter, Card, Collapse
  • Forms: Input, Select, Checkbox, Radio, ColorPicker, NumberInput
  • Data: Table, TreeView, Code, Content, Quote, Link
  • Controls: Button

Features:

  • Theming system
  • Component stories
  • Visual testing

redocs

Documentation system for the framework.

Features:

  • Markdown parsing and processor
  • TypeScript documentation generation
  • Component documentation
  • API reference generation
  • Documentation components
  • Type definition display
  • CLI tools

restory

Storybook implementation for component development.

Features:

  • Story system and viewer
  • Component story creation
  • Visual testing environment
  • Story slots
  • CLI tools

common

Shared utilities and types used across the framework.

Features:

  • Utility types
  • Template literal utilities
  • Port management
  • CLI tools

@deno-deploy deno-deploy bot had a problem deploying to Preview January 7, 2025 05:23 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 8, 2025 19:00 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 9, 2025 06:10 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 9, 2025 07:02 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 9, 2025 10:34 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 9, 2025 18:37 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 14:54 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 15:14 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 16:59 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 17:28 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 17:47 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 17:49 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 18:39 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 10, 2025 19:31 Failure
- Reface UI: Removed old docs.
- Documentation: Created new site with dark theme and examples.
- CLI: Improved and fixed issues, including restory integration.
- Logos: Added and updated logos (Reface, DevExp).
- Rendering: Added async rendering with AsyncExpression and updated API.
- Templates: Refactored, renamed, and restructured templates.
- Slots: Enhanced slot functionality.
- Tests: Fixed and updated tests to cover new features.
- Types: Fixed TypeScript errors, added new utility types.
- Website: Redesigned, added examples and documentation.
- Debugging: Removed unused console.logs and Russian comments.
- Livereload: Fixed plugin for development.
- Restory: Integrated with Redocs and updated CLI.

Cleaned up and streamlined the entire project for better usability and performance.
@deno-deploy deno-deploy bot had a problem deploying to Preview January 11, 2025 03:48 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 11, 2025 11:01 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 11, 2025 18:33 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 12, 2025 05:21 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 12, 2025 06:35 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 12, 2025 07:07 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 12, 2025 09:34 Failure
@deno-deploy deno-deploy bot had a problem deploying to Preview January 12, 2025 10:07 Failure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant