@@ -32,18 +32,22 @@ if Code.ensure_loaded?(Igniter) do
3232 |> create_rpc_controller ( app_name , web_module )
3333 |> add_rpc_routes ( web_module )
3434
35- if react_enabled do
36- igniter
37- |> create_package_json ( )
38- |> create_react_index ( )
39- |> update_tsconfig ( )
40- |> update_esbuild_config ( app_name )
41- |> create_or_update_page_controller ( web_module )
42- |> create_index_template ( web_module )
43- |> add_page_index_route ( web_module )
44- else
45- igniter
46- end
35+ igniter =
36+ if react_enabled do
37+ igniter
38+ |> create_package_json ( )
39+ |> create_react_index ( )
40+ |> update_tsconfig ( )
41+ |> update_esbuild_config ( app_name )
42+ |> create_or_update_page_controller ( web_module )
43+ |> create_index_template ( web_module )
44+ |> add_page_index_route ( web_module )
45+ else
46+ igniter
47+ end
48+
49+ igniter
50+ |> add_next_steps_notice ( react_enabled )
4751 end
4852
4953 defp create_rpc_controller ( igniter , app_name , web_module ) do
@@ -461,9 +465,7 @@ if Code.ensure_loaded?(Igniter) do
461465 needs_jsx = not String . contains? ( content , ~s( "jsx":) )
462466 needs_interop = not String . contains? ( content , ~s( "esModuleInterop":) )
463467
464-
465468 if needs_jsx or needs_interop do
466-
467469 updated_content = content
468470
469471 updated_content =
@@ -671,6 +673,39 @@ if Code.ensure_loaded?(Igniter) do
671673 _ -> false
672674 end
673675 end
676+
677+ defp add_next_steps_notice ( igniter , react_enabled ) do
678+ base_notice = """
679+ 🎉 AshTypescript has been successfully installed!
680+
681+ Next Steps:
682+ 1. Configure your domain with the AshTypescript.Rpc extension
683+ 2. Add typescript_rpc configurations for your resources
684+ 3. Generate TypeScript types with: mix ash_typescript.codegen
685+ 4. Start using type-safe RPC functions in your frontend!
686+
687+ 📚 Documentation: https://hexdocs.pm/ash_typescript
688+ """
689+
690+ react_notice = """
691+ 🎉 AshTypescript with React has been successfully installed!
692+
693+ Your Phoenix + React + TypeScript setup is ready!
694+
695+ Next Steps:
696+ 1. Install frontend dependencies: cd assets && npm install
697+ 2. Configure your domain with the AshTypescript.Rpc extension
698+ 3. Add typescript_rpc configurations for your resources
699+ 4. Start your Phoenix server: mix phx.server
700+ 5. Check out http://localhost:4000/ash-typescript for how to get started!
701+
702+ 📚 Documentation: https://hexdocs.pm/ash_typescript
703+ """
704+
705+ notice = if react_enabled , do: react_notice , else: base_notice
706+
707+ Igniter . add_notice ( igniter , notice )
708+ end
674709 end
675710else
676711 defmodule Mix.Tasks.AshTypescript.Install do
0 commit comments