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>
28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import { defineConfig } from 'vitest/config'
|
|
import path from 'path'
|
|
|
|
export default defineConfig({
|
|
resolve: {
|
|
alias: {
|
|
'mizan/channels': path.resolve(__dirname, 'src/channels/index.ts'),
|
|
'mizan/client/react': path.resolve(__dirname, 'src/client/react.ts'),
|
|
'mizan/client/nextjs': path.resolve(__dirname, 'src/client/nextjs.tsx'),
|
|
'mizan/client': path.resolve(__dirname, 'src/client/index.ts'),
|
|
'mizan/jwt': path.resolve(__dirname, 'src/jwt/index.ts'),
|
|
'mizan/allauth/nextjs': path.resolve(__dirname, 'src/allauth/nextjs.tsx'),
|
|
'mizan/allauth': path.resolve(__dirname, 'src/allauth/index.ts'),
|
|
'mizan': path.resolve(__dirname, 'src/index.ts'),
|
|
},
|
|
},
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: ['./vitest.setup.ts'],
|
|
include: ['src/**/*.test.{ts,tsx}'],
|
|
exclude: [
|
|
// Requires @/api/generated.mizan.schema.json from consuming project
|
|
'src/jwt/__tests__/contract.test.ts',
|
|
],
|
|
},
|
|
})
|