Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Generate ¶
Generate materializes the full React scaffold under <artifactsDir>/frontend/. Emitted artifacts:
index.html, package.json, tsconfig.json, vite.config.ts tailwind.config.js, postcss.config.js src/main.tsx, src/App.tsx, src/index.css src/lib/api.ts — operationId-keyed api (openapi-fetch + typed paths) src/types/api.d.ts — openapi-typescript output (spawn) src/lib/utils.ts — shadcn cn() helper src/components/ui/*.tsx — 10 shadcn-like primitives src/lib/breadcrumbs.ts + src/components/ui/Breadcrumb.tsx — static breadcrumb trails from frontend/sitemap.html (sitemap present only)
Page files (src/pages/*.tsx) are **not** emitted — TSX is the SSOT, so yongol reads them, not writes them.
func RunTscCheck ¶
RunTscCheck spawns `tsc --noEmit` over the generated frontend tree (<artifactsDir>/frontend) so the "generate success = buildable" invariant is enforced for the frontend, symmetric to the backend `go build` step. A compile error fails generate (the gate); exit 0 passes.
Graceful skip (warn, not fail) when the toolchain is unresolved: no project node_modules (imported packages like react/@tanstack would not resolve — a false gate) or no tsc/npx. Auto `npm install` is out of scope.
Types ¶
This section is empty.
Source Files
¶
- action_has_claims_capture.go
- action_has_refresh_capture.go
- api_client_plan.go
- append_breadcrumb_trails.go
- append_menu_dynamic_ops.go
- append_menu_role_sets.go
- append_operations.go
- breadcrumb_crumb_for.go
- build_breadcrumb_trails.go
- build_cn_args.go
- build_destruct_params.go
- build_layout_set.go
- build_routes.go
- build_sitemap_menu.go
- build_sitemap_menu_items.go
- capture_declared_ops.go
- claims_store_body.go
- claims_store_token_refresh_body.go
- claims_store_types.go
- collect_endpoints.go
- collect_menu_active_prefixes.go
- collect_menu_dynamic_ops.go
- collect_menu_role_sets.go
- components_ui.go
- crumb_field_layouts.go
- dedupe_strings.go
- design_color.go
- detect_double_prefix.go
- endpoint.go
- extract_path_params.go
- find_openapi_spec.go
- find_refresh_op.go
- fs_openapi_doc.go
- fs_sitemap.go
- generate.go
- generate_frontend_setup.go
- group_routes_by_layout.go
- has_claims_captures.go
- has_refresh_captures.go
- html_attrs_type.go
- indent_lines.go
- index_eager_component.go
- infer_html_element.go
- infer_html_tag.go
- infer_refresh_ops.go
- kebab_to_pascal.go
- layout_component_name.go
- layout_imports.go
- lib_utils.go
- lower_first.go
- manifest_theme.go
- menu_has_nav_link.go
- menu_icon_names.go
- menu_uses_location.go
- naive_pluralize.go
- nav_link_path.go
- nav_route_patterns.go
- op_2xx_response_props.go
- op_security_index.go
- openapi_typescript.go
- or_default.go
- page_to_routes.go
- pick_accent.go
- pick_background.go
- pick_border.go
- pick_destructive.go
- pick_foreground.go
- pick_muted.go
- pick_primary.go
- pick_radius.go
- pick_secondary.go
- quoted_union.go
- refresh_body_key.go
- refresh_plan.go
- render_app_tsx.go
- render_breadcrumb_component.go
- render_breadcrumbs_ts.go
- render_component_tsx.go
- render_dynamic_breadcrumb_component.go
- render_layout_nav.go
- render_layout_outlet.go
- render_layout_tsx.go
- render_logout_handler.go
- render_role_consts.go
- render_simple_component.go
- render_sitemap_dynamic_group.go
- render_sitemap_entry.go
- render_sitemap_group_queries.go
- render_sitemap_group_query.go
- render_sitemap_item.go
- render_sitemap_item_body.go
- render_sitemap_menu.go
- render_variant_component.go
- resolve_api_client_plan.go
- resolve_auth_gates.go
- resolve_has_refresh.go
- resolve_index_redirect.go
- resolve_layout_auth_mode.go
- resolve_openapi_ts_binary.go
- resolve_protected_pages.go
- resolve_refresh_plan.go
- resolve_role_field.go
- resolve_tsc_argv.go
- roles_const_name.go
- run_tsc_check.go
- sanitize_identifier.go
- semantic_color_names.go
- session_store_body.go
- session_store_types.go
- sitemap_dynamic_item_key.go
- sitemap_has_icon.go
- sitemap_navs_for_layout.go
- sitemap_node_patterns.go
- sitemap_page_layouts.go
- sort_breadcrumb_routes.go
- sorted_keys.go
- sorted_layout_names.go
- sorted_map_keys.go
- static_route_prefix.go
- stml_route.go
- strip_optional_segments.go
- tailwind_config.go
- template_primitives.go
- theme_resolve.go
- ts_single_quote.go
- type_breadcrumb_crumb.go
- type_breadcrumb_trail.go
- type_sitemap_menu.go
- type_sitemap_menu_item.go
- ui_primitives.go
- wrap_auth_retry.go
- write_api_client.go
- write_api_client_entry.go
- write_app_tsx.go
- write_app_tsx_placeholder.go
- write_auth_stores.go
- write_authz_middleware.go
- write_breadcrumbs.go
- write_color_token.go
- write_cookie_401_redirect.go
- write_csrf_middleware.go
- write_design_components.go
- write_extra_design_colors.go
- write_flat_routes.go
- write_index_html.go
- write_layout_group_routes.go
- write_layout_imports.go
- write_layout_tsx.go
- write_layouts_tsx.go
- write_lib_artifacts.go
- write_main_tsx.go
- write_openapi_ts_stub.go
- write_package_json.go
- write_page_imports.go
- write_protected_route.go
- write_refresh_flow.go
- write_req_res_types.go
- write_session_store.go
- write_session_store_claims.go
- write_tailwind_border_radius.go
- write_tailwind_spacing.go
- write_ts_config.go
- write_variant_props.go
- write_variant_records.go
- write_variant_types.go
- write_vite_config.go