Flatten to three packages + extract mizan-runtime
packages/
mizan-runtime/ Framework-agnostic state engine (~150 lines)
Context registry, batched invalidation, fetch primitives
mizan-django/ Django server adapter (was packages/mizan-rpc/adapters/django/)
Codegen moved to mizan-django/generate/
mizan-react/ React adapter (was packages/mizan-csr/adapters/react/)
Removed premature abstractions: mizan-ast, mizan-schema, mizan-rpc,
mizan-csr, mizan-ssr stub packages. The actual architecture is three
concrete packages, not five abstract layers.
mizan-runtime implements the v1 spec: registerContext with params,
scoped invalidation via microtask batching, server-driven invalidation
from mutation responses, mizanFetch for context bundles, mizanCall for
mutations.
264 Django + 33 React tests pass.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8,7 +8,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install mizan from local source with channels support
|
||||
COPY packages/mizan-rpc/adapters/django/ /app/django/
|
||||
COPY packages/mizan-django/ /app/django/
|
||||
RUN pip install --no-cache-dir /app/django[channels] daphne
|
||||
|
||||
# Copy example app
|
||||
|
||||
@@ -10,9 +10,9 @@ export default {
|
||||
source: {
|
||||
django: {
|
||||
managePath: path.join(root, 'examples/django-react-site/backend/manage.py'),
|
||||
command: [path.join(root, 'packages/mizan-rpc/adapters/django/.venv/bin/python')],
|
||||
command: [path.join(root, 'packages/mizan-django/.venv/bin/python')],
|
||||
env: {
|
||||
PYTHONPATH: `${path.join(root, 'packages/mizan-rpc/adapters/django/src')}:${path.join(root, 'examples/django-react-site/backend')}`,
|
||||
PYTHONPATH: `${path.join(root, 'packages/mizan-django/src')}:${path.join(root, 'examples/django-react-site/backend')}`,
|
||||
DJANGO_SETTINGS_MODULE: 'testapp.settings',
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user