Cleaned dead code and updated documents
This commit is contained in:
@@ -108,37 +108,30 @@ anonymous request. The executor branches on those for `auth=True`,
|
||||
|
||||
## Generate the frontend
|
||||
|
||||
The codegen is `mizan-generate` (in `protocol/mizan-generate/`). Point a
|
||||
config at your FastAPI app and run the CLI:
|
||||
The codegen is the `mizan-generate` Rust binary (source at
|
||||
`protocol/mizan-codegen/`; `protocol/mizan-generate/` is a thin npm
|
||||
launcher that dispatches to the platform binary). Point a `mizan.toml` at
|
||||
your FastAPI app and run the CLI:
|
||||
|
||||
```js
|
||||
// frontend/fastapi.config.mjs
|
||||
import path from "path"
|
||||
import { fileURLToPath } from "url"
|
||||
```toml
|
||||
# frontend/mizan.toml
|
||||
output = "src/api"
|
||||
targets = ["react"]
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
const root = path.resolve(__dirname, "..")
|
||||
|
||||
export default {
|
||||
source: {
|
||||
fastapi: {
|
||||
module: "main", // module to import for @client side effects
|
||||
cwd: path.join(root, "backend"), // python cwd for module resolution
|
||||
command: ["uv", "run", "python"], // optional — defaults to ["python"]
|
||||
},
|
||||
},
|
||||
output: "src/api",
|
||||
}
|
||||
[source.fastapi]
|
||||
module = "main" # module to import for @client side effects
|
||||
cwd = "../backend" # python cwd for module resolution
|
||||
command = ["uv", "run", "python"] # optional — defaults to ["python"]
|
||||
```
|
||||
|
||||
```bash
|
||||
npx mizan-generate --config fastapi.config.mjs
|
||||
mizan-generate --config mizan.toml
|
||||
```
|
||||
|
||||
The codegen drives `python -m mizan_fastapi.cli <module>` under the hood,
|
||||
then emits Stage 1 (typed `callXxx`/`fetchXxx` over the runtime kernel) +
|
||||
Stage 2 (`<MizanContext>` provider, per-context providers, `use{Hook}()`
|
||||
hooks) into `src/api/`.
|
||||
The codegen drives `python -m mizan_fastapi.ir <module>` under the hood,
|
||||
parses the emitted KDL IR, then emits Stage 1 (typed `callXxx`/`fetchXxx`
|
||||
over the runtime kernel) + Stage 2 (`<MizanContext>` provider, per-context
|
||||
providers, `use{Hook}()` hooks) into `src/api/`.
|
||||
|
||||
```tsx
|
||||
// app.tsx
|
||||
@@ -171,13 +164,13 @@ uv run pytest
|
||||
For codegen consumption (or any tooling that wants the Mizan schema):
|
||||
|
||||
```bash
|
||||
python -m mizan_fastapi.cli <module>
|
||||
python -m mizan_fastapi.ir <module>
|
||||
```
|
||||
|
||||
Imports the named module (which must register every `@client` function as
|
||||
import-time side effects), then prints the OpenAPI schema as JSON to stdout.
|
||||
Mirrors mizan-django's `manage.py export_mizan_schema` so the codegen
|
||||
consumes either backend the same subprocess way.
|
||||
import-time side effects), then prints the Mizan KDL IR to stdout.
|
||||
Mirrors mizan-django's `manage.py export_mizan_ir` so the codegen consumes
|
||||
either backend the same subprocess way.
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user