inertia_rails 3.12.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/lib/generators/inertia/controller/templates/controller.rb.tt +1 -1
  4. data/lib/generators/inertia/install/frameworks.yml +16 -36
  5. data/lib/generators/inertia/install/install_generator.rb +51 -8
  6. data/lib/generators/inertia/install/js_package_manager.rb +6 -6
  7. data/lib/generators/inertia/install/templates/controller.rb +2 -4
  8. data/lib/generators/inertia/install/templates/inertia_controller.rb +5 -0
  9. data/lib/generators/inertia/install/templates/react/InertiaExample.jsx +2 -2
  10. data/lib/generators/inertia/install/templates/react/InertiaExample.tsx +2 -2
  11. data/lib/generators/inertia/install/templates/react/inertia.jsx +65 -0
  12. data/lib/generators/inertia/install/templates/react/inertia.tsx +65 -0
  13. data/lib/generators/inertia/install/templates/react/tsconfig.app.json +7 -0
  14. data/lib/generators/inertia/install/templates/react/types/globals.d.ts +8 -0
  15. data/lib/generators/inertia/install/templates/react/types/index.ts +8 -0
  16. data/lib/generators/inertia/install/templates/svelte/InertiaExample.svelte +1 -1
  17. data/lib/generators/inertia/install/templates/svelte/InertiaExample.ts.svelte +1 -1
  18. data/lib/generators/inertia/install/templates/svelte/inertia.js +14 -3
  19. data/lib/generators/inertia/install/templates/svelte/{inertia.ts.tt → inertia.ts} +12 -2
  20. data/lib/generators/inertia/install/templates/svelte/tsconfig.json +8 -0
  21. data/lib/generators/inertia/install/templates/svelte/types/globals.d.ts +8 -0
  22. data/lib/generators/inertia/install/templates/svelte/types/index.ts +8 -0
  23. data/lib/generators/inertia/install/templates/tailwind/application.css +3 -3
  24. data/lib/generators/inertia/install/templates/vue/InertiaExample.ts.vue +1 -1
  25. data/lib/generators/inertia/install/templates/vue/InertiaExample.vue +1 -1
  26. data/lib/generators/inertia/install/templates/vue/inertia.js +30 -3
  27. data/lib/generators/inertia/install/templates/vue/inertia.ts +31 -3
  28. data/lib/generators/inertia/install/templates/vue/tsconfig.app.json +9 -1
  29. data/lib/generators/inertia/install/templates/vue/types/globals.d.ts +8 -0
  30. data/lib/generators/inertia/install/templates/vue/types/index.ts +8 -0
  31. data/lib/generators/inertia/scaffold_controller/scaffold_controller_generator.rb +4 -0
  32. data/lib/generators/inertia/scaffold_controller/templates/controller.rb.tt +7 -5
  33. data/lib/generators/inertia_templates/scaffold/templates/react/{Edit.jsx.tt → edit.jsx.tt} +5 -8
  34. data/lib/generators/inertia_templates/scaffold/templates/react/{Edit.tsx.tt → edit.tsx.tt} +7 -9
  35. data/lib/generators/inertia_templates/scaffold/templates/react/form.jsx.tt +94 -0
  36. data/lib/generators/inertia_templates/scaffold/templates/react/form.tsx.tt +109 -0
  37. data/lib/generators/inertia_templates/scaffold/templates/react/{Index.jsx.tt → index.jsx.tt} +1 -1
  38. data/lib/generators/inertia_templates/scaffold/templates/react/{Index.tsx.tt → index.tsx.tt} +1 -1
  39. data/lib/generators/inertia_templates/scaffold/templates/react/{New.jsx.tt → new.jsx.tt} +3 -5
  40. data/lib/generators/inertia_templates/scaffold/templates/react/{New.tsx.tt → new.tsx.tt} +5 -6
  41. data/lib/generators/inertia_templates/scaffold/templates/react/{Show.jsx.tt → show.jsx.tt} +1 -1
  42. data/lib/generators/inertia_templates/scaffold/templates/react/{Show.tsx.tt → show.tsx.tt} +1 -1
  43. data/lib/generators/inertia_templates/scaffold/templates/svelte/{Edit.svelte.tt → edit.svelte.tt} +9 -13
  44. data/lib/generators/inertia_templates/scaffold/templates/{svelte4/Edit.svelte.tt → svelte/edit.ts.svelte.tt} +11 -15
  45. data/lib/generators/inertia_templates/scaffold/templates/svelte/form.svelte.tt +96 -0
  46. data/lib/generators/inertia_templates/scaffold/templates/svelte/form.ts.svelte.tt +103 -0
  47. data/lib/generators/inertia_templates/scaffold/templates/svelte/{Index.svelte.tt → index.svelte.tt} +1 -1
  48. data/lib/generators/inertia_templates/scaffold/templates/svelte/{Index.ts.svelte.tt → index.ts.svelte.tt} +1 -1
  49. data/lib/generators/inertia_templates/scaffold/templates/svelte/{New.svelte.tt → new.svelte.tt} +4 -7
  50. data/lib/generators/inertia_templates/scaffold/templates/{svelte4/New.svelte.tt → svelte/new.ts.svelte.tt} +6 -9
  51. data/lib/generators/inertia_templates/scaffold/templates/svelte/{Show.svelte.tt → show.svelte.tt} +1 -1
  52. data/lib/generators/inertia_templates/scaffold/templates/svelte/{Show.ts.svelte.tt → show.ts.svelte.tt} +1 -1
  53. data/lib/generators/inertia_templates/scaffold/templates/vue/{Edit.ts.vue.tt → edit.ts.vue.tt} +11 -15
  54. data/lib/generators/inertia_templates/scaffold/templates/vue/{Edit.vue.tt → edit.vue.tt} +9 -13
  55. data/lib/generators/inertia_templates/scaffold/templates/vue/form.ts.vue.tt +102 -0
  56. data/lib/generators/inertia_templates/scaffold/templates/vue/form.vue.tt +98 -0
  57. data/lib/generators/inertia_templates/scaffold/templates/vue/{Index.ts.vue.tt → index.ts.vue.tt} +1 -1
  58. data/lib/generators/inertia_templates/scaffold/templates/vue/{Index.vue.tt → index.vue.tt} +1 -1
  59. data/lib/generators/inertia_templates/scaffold/templates/vue/{New.ts.vue.tt → new.ts.vue.tt} +6 -9
  60. data/lib/generators/inertia_templates/scaffold/templates/vue/{New.vue.tt → new.vue.tt} +4 -7
  61. data/lib/generators/inertia_templates/scaffold/templates/vue/{Show.ts.vue.tt → show.ts.vue.tt} +1 -1
  62. data/lib/generators/inertia_templates/scaffold/templates/vue/{Show.vue.tt → show.vue.tt} +1 -1
  63. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Edit.jsx.tt → edit.jsx.tt} +5 -8
  64. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Edit.tsx.tt → edit.tsx.tt} +6 -9
  65. data/lib/generators/inertia_tw_templates/scaffold/templates/react/form.jsx.tt +106 -0
  66. data/lib/generators/inertia_tw_templates/scaffold/templates/react/form.tsx.tt +122 -0
  67. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Index.jsx.tt → index.jsx.tt} +1 -1
  68. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Index.tsx.tt → index.tsx.tt} +1 -1
  69. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{New.jsx.tt → new.jsx.tt} +3 -5
  70. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{New.tsx.tt → new.tsx.tt} +4 -6
  71. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Show.jsx.tt → show.jsx.tt} +1 -1
  72. data/lib/generators/inertia_tw_templates/scaffold/templates/react/{Show.tsx.tt → show.tsx.tt} +1 -1
  73. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{Edit.svelte.tt → edit.svelte.tt} +9 -13
  74. data/lib/generators/inertia_tw_templates/scaffold/templates/{svelte4/Edit.svelte.tt → svelte/edit.ts.svelte.tt} +11 -15
  75. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/form.svelte.tt +109 -0
  76. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/form.ts.svelte.tt +115 -0
  77. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{Index.svelte.tt → index.svelte.tt} +1 -1
  78. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{Index.ts.svelte.tt → index.ts.svelte.tt} +1 -1
  79. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{New.svelte.tt → new.svelte.tt} +4 -6
  80. data/lib/generators/inertia_tw_templates/scaffold/templates/{svelte4/New.svelte.tt → svelte/new.ts.svelte.tt} +6 -9
  81. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{Show.svelte.tt → show.svelte.tt} +1 -1
  82. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{Show.ts.svelte.tt → show.ts.svelte.tt} +1 -1
  83. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Edit.ts.vue.tt → edit.ts.vue.tt} +10 -15
  84. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Edit.vue.tt → edit.vue.tt} +8 -13
  85. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Form.ts.vue.tt → form.ts.vue.tt} +19 -42
  86. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Form.vue.tt → form.vue.tt} +18 -38
  87. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Index.ts.vue.tt → index.ts.vue.tt} +1 -1
  88. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Index.vue.tt → index.vue.tt} +1 -1
  89. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{New.ts.vue.tt → new.ts.vue.tt} +6 -9
  90. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{New.vue.tt → new.vue.tt} +4 -7
  91. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Show.ts.vue.tt → show.ts.vue.tt} +1 -1
  92. data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{Show.vue.tt → show.vue.tt} +1 -1
  93. data/lib/inertia_rails/generators/controller_template_base.rb +1 -1
  94. data/lib/inertia_rails/generators/helper.rb +2 -3
  95. data/lib/inertia_rails/generators/scaffold_template_base.rb +3 -3
  96. data/lib/inertia_rails/renderer.rb +40 -36
  97. data/lib/inertia_rails/version.rb +1 -1
  98. metadata +87 -116
  99. data/lib/generators/inertia/install/templates/react/inertia.js +0 -45
  100. data/lib/generators/inertia/install/templates/react/inertia.ts +0 -51
  101. data/lib/generators/inertia/install/templates/svelte4/InertiaExample.svelte +0 -116
  102. data/lib/generators/inertia/install/templates/svelte4/InertiaExample.ts.svelte +0 -116
  103. data/lib/generators/inertia/install/templates/svelte4/inertia.js +0 -43
  104. data/lib/generators/inertia/install/templates/svelte4/inertia.ts.tt +0 -44
  105. data/lib/generators/inertia/install/templates/svelte4/svelte.config.js +0 -7
  106. data/lib/generators/inertia/install/templates/svelte4/tsconfig.json +0 -21
  107. data/lib/generators/inertia/install/templates/svelte4/tsconfig.node.json +0 -12
  108. data/lib/generators/inertia/install/templates/svelte4/vite-env.d.ts +0 -2
  109. data/lib/generators/inertia_templates/controller/templates/svelte4/view.svelte.tt +0 -2
  110. data/lib/generators/inertia_templates/scaffold/templates/react/Form.jsx.tt +0 -111
  111. data/lib/generators/inertia_templates/scaffold/templates/react/Form.tsx.tt +0 -130
  112. data/lib/generators/inertia_templates/scaffold/templates/svelte/Edit.ts.svelte.tt +0 -37
  113. data/lib/generators/inertia_templates/scaffold/templates/svelte/Form.svelte.tt +0 -97
  114. data/lib/generators/inertia_templates/scaffold/templates/svelte/Form.ts.svelte.tt +0 -102
  115. data/lib/generators/inertia_templates/scaffold/templates/svelte/New.ts.svelte.tt +0 -30
  116. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Edit.ts.svelte.tt +0 -38
  117. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Form.svelte.tt +0 -96
  118. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Form.ts.svelte.tt +0 -106
  119. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Index.svelte.tt +0 -36
  120. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Index.ts.svelte.tt +0 -37
  121. data/lib/generators/inertia_templates/scaffold/templates/svelte4/New.ts.svelte.tt +0 -31
  122. data/lib/generators/inertia_templates/scaffold/templates/svelte4/One.svelte.tt +0 -28
  123. data/lib/generators/inertia_templates/scaffold/templates/svelte4/One.ts.svelte.tt +0 -30
  124. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Show.svelte.tt +0 -39
  125. data/lib/generators/inertia_templates/scaffold/templates/svelte4/Show.ts.svelte.tt +0 -40
  126. data/lib/generators/inertia_templates/scaffold/templates/svelte4/types.ts.tt +0 -19
  127. data/lib/generators/inertia_templates/scaffold/templates/vue/Form.ts.vue.tt +0 -101
  128. data/lib/generators/inertia_templates/scaffold/templates/vue/Form.vue.tt +0 -94
  129. data/lib/generators/inertia_tw_templates/controller/templates/svelte4/view.svelte.tt +0 -2
  130. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Form.jsx.tt +0 -122
  131. data/lib/generators/inertia_tw_templates/scaffold/templates/react/Form.tsx.tt +0 -142
  132. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Edit.ts.svelte.tt +0 -45
  133. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Form.svelte.tt +0 -118
  134. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/Form.ts.svelte.tt +0 -123
  135. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/New.ts.svelte.tt +0 -33
  136. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Edit.ts.svelte.tt +0 -46
  137. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Form.svelte.tt +0 -120
  138. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Form.ts.svelte.tt +0 -130
  139. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Index.svelte.tt +0 -43
  140. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Index.ts.svelte.tt +0 -44
  141. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/New.ts.svelte.tt +0 -34
  142. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/One.svelte.tt +0 -28
  143. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/One.ts.svelte.tt +0 -30
  144. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Show.svelte.tt +0 -51
  145. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Show.ts.svelte.tt +0 -52
  146. data/lib/generators/inertia_tw_templates/scaffold/templates/svelte4/types.ts.tt +0 -19
  147. /data/lib/generators/inertia/install/templates/react/{vite-env.d.ts → types/vite-env.d.ts} +0 -0
  148. /data/lib/generators/inertia/install/templates/svelte/{vite-env.d.ts → types/vite-env.d.ts} +0 -0
  149. /data/lib/generators/inertia/install/templates/vue/{vite-env.d.ts → types/vite-env.d.ts} +0 -0
  150. /data/lib/generators/inertia_templates/scaffold/templates/react/{One.jsx.tt → one.jsx.tt} +0 -0
  151. /data/lib/generators/inertia_templates/scaffold/templates/react/{One.tsx.tt → one.tsx.tt} +0 -0
  152. /data/lib/generators/inertia_templates/scaffold/templates/svelte/{One.svelte.tt → one.svelte.tt} +0 -0
  153. /data/lib/generators/inertia_templates/scaffold/templates/svelte/{One.ts.svelte.tt → one.ts.svelte.tt} +0 -0
  154. /data/lib/generators/inertia_templates/scaffold/templates/vue/{One.ts.vue.tt → one.ts.vue.tt} +0 -0
  155. /data/lib/generators/inertia_templates/scaffold/templates/vue/{One.vue.tt → one.vue.tt} +0 -0
  156. /data/lib/generators/inertia_tw_templates/scaffold/templates/react/{One.jsx.tt → one.jsx.tt} +0 -0
  157. /data/lib/generators/inertia_tw_templates/scaffold/templates/react/{One.tsx.tt → one.tsx.tt} +0 -0
  158. /data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{One.svelte.tt → one.svelte.tt} +0 -0
  159. /data/lib/generators/inertia_tw_templates/scaffold/templates/svelte/{One.ts.svelte.tt → one.ts.svelte.tt} +0 -0
  160. /data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{One.ts.vue.tt → one.ts.vue.tt} +0 -0
  161. /data/lib/generators/inertia_tw_templates/scaffold/templates/vue/{One.vue.tt → one.vue.tt} +0 -0
@@ -6,15 +6,15 @@ require_relative 'inertia_rails'
6
6
 
7
7
  module InertiaRails
8
8
  class Renderer
9
- attr_reader(
10
- :component,
11
- :configuration,
12
- :controller,
13
- :props,
14
- :view_data,
15
- :encrypt_history,
16
- :clear_history
17
- )
9
+ %i[component configuration controller props view_data encrypt_history
10
+ clear_history].each do |method_name|
11
+ define_method(method_name) do
12
+ InertiaRails.deprecator.warn(
13
+ "[DEPRECATION] Accessing `InertiaRails::Renderer##{method_name}` is deprecated and will be removed in v4.0"
14
+ )
15
+ instance_variable_get("@#{method_name}")
16
+ end
17
+ end
18
18
 
19
19
  def initialize(component, controller, request, response, render_method, **options)
20
20
  if component.is_a?(Hash) && options.key?(:props)
@@ -24,15 +24,20 @@ module InertiaRails
24
24
 
25
25
  @controller = controller
26
26
  @configuration = controller.__send__(:inertia_configuration)
27
- @component = resolve_component(component)
28
27
  @request = request
29
28
  @response = response
30
29
  @render_method = render_method
31
- @props = options.fetch(:props, component.is_a?(Hash) ? component : controller.__send__(:inertia_view_assigns))
32
30
  @view_data = options.fetch(:view_data, {})
33
- @deep_merge = options.fetch(:deep_merge, configuration.deep_merge_shared_data)
34
- @encrypt_history = options.fetch(:encrypt_history, configuration.encrypt_history)
31
+ @encrypt_history = options.fetch(:encrypt_history, @configuration.encrypt_history)
35
32
  @clear_history = options.fetch(:clear_history, controller.session[:inertia_clear_history] || false)
33
+
34
+ deep_merge = options.fetch(:deep_merge, @configuration.deep_merge_shared_data)
35
+ passed_props = options.fetch(:props,
36
+ component.is_a?(Hash) ? component : @controller.__send__(:inertia_view_assigns))
37
+ @props = merge_props(shared_data, passed_props, deep_merge)
38
+
39
+ @component = resolve_component(component)
40
+
36
41
  @controller.instance_variable_set('@_inertia_rendering', true)
37
42
  controller.inertia_meta.add(options[:meta]) if options[:meta]
38
43
  end
@@ -48,32 +53,32 @@ module InertiaRails
48
53
  @render_method.call json: page.to_json, status: @response.status, content_type: Mime[:json]
49
54
  else
50
55
  begin
51
- return render_ssr if configuration.ssr_enabled
56
+ return render_ssr if @configuration.ssr_enabled
52
57
  rescue StandardError
53
58
  nil
54
59
  end
55
- controller.instance_variable_set('@_inertia_page', page)
56
- @render_method.call template: 'inertia', layout: layout, locals: view_data.merge(page: page)
60
+ @controller.instance_variable_set('@_inertia_page', page)
61
+ @render_method.call template: 'inertia', layout: layout, locals: @view_data.merge(page: page)
57
62
  end
58
63
  end
59
64
 
60
65
  private
61
66
 
62
67
  def render_ssr
63
- uri = URI("#{configuration.ssr_url}/render")
68
+ uri = URI("#{@configuration.ssr_url}/render")
64
69
  res = JSON.parse(Net::HTTP.post(uri, page.to_json, 'Content-Type' => 'application/json').body)
65
70
 
66
- controller.instance_variable_set('@_inertia_ssr_head', res['head'].join.html_safe)
67
- @render_method.call html: res['body'].html_safe, layout: layout, locals: view_data.merge(page: page)
71
+ @controller.instance_variable_set('@_inertia_ssr_head', res['head'].join.html_safe)
72
+ @render_method.call html: res['body'].html_safe, layout: layout, locals: @view_data.merge(page: page)
68
73
  end
69
74
 
70
75
  def layout
71
- layout = configuration.layout
76
+ layout = @configuration.layout
72
77
  layout.nil? || layout
73
78
  end
74
79
 
75
80
  def shared_data
76
- controller.__send__(:inertia_shared_data)
81
+ @controller.__send__(:inertia_shared_data)
77
82
  end
78
83
 
79
84
  # Cast props to symbol keyed hash before merging so that we have a consistent data structure and
@@ -81,8 +86,8 @@ module InertiaRails
81
86
  #
82
87
  # Functionally, this permits using either string or symbol keys in the controller. Since the results
83
88
  # is cast to json, we should treat string/symbol keys as identical.
84
- def merge_props(shared_props, props)
85
- if @deep_merge
89
+ def merge_props(shared_props, props, deep_merge)
90
+ if deep_merge
86
91
  shared_props.deep_symbolize_keys.deep_merge!(props.deep_symbolize_keys)
87
92
  else
88
93
  shared_props.symbolize_keys.merge(props.symbolize_keys)
@@ -91,16 +96,15 @@ module InertiaRails
91
96
 
92
97
  def computed_props
93
98
  # rubocop:disable Style/MultilineBlockChain
94
- merge_props(shared_data, props)
95
- .then do |merged_props| # Always keep errors in the props
99
+ @props
100
+ .tap do |merged_props| # Always keep errors in the props
96
101
  if merged_props.key?(:errors) && !merged_props[:errors].is_a?(BaseProp)
97
102
  errors = merged_props[:errors]
98
103
  merged_props[:errors] = InertiaRails.always { errors }
99
104
  end
100
- merged_props
101
105
  end
102
106
  .then { |props| deep_transform_props(props) } # Internal hydration/filtering
103
- .then { |props| configuration.prop_transformer(props: props) } # Apply user-defined prop transformer
107
+ .then { |props| @configuration.prop_transformer(props: props) } # Apply user-defined prop transformer
104
108
  .tap do |props| # Add meta tags last (never transformed)
105
109
  props[:_inertia_meta] = meta_tags if meta_tags.present?
106
110
  end
@@ -111,12 +115,12 @@ module InertiaRails
111
115
  return @page if defined?(@page)
112
116
 
113
117
  @page = {
114
- component: component,
118
+ component: @component,
115
119
  props: computed_props,
116
120
  url: @request.original_fullpath,
117
- version: configuration.version,
118
- encryptHistory: encrypt_history,
119
- clearHistory: clear_history,
121
+ version: @configuration.version,
122
+ encryptHistory: @encrypt_history,
123
+ clearHistory: @clear_history,
120
124
  }
121
125
 
122
126
  deferred_props = deferred_props_keys
@@ -138,9 +142,9 @@ module InertiaRails
138
142
  transformed_props[key] =
139
143
  case prop
140
144
  when BaseProp
141
- prop.call(controller)
145
+ prop.call(@controller)
142
146
  when Proc
143
- controller.instance_exec(&prop)
147
+ @controller.instance_exec(&prop)
144
148
  else
145
149
  prop
146
150
  end
@@ -248,12 +252,12 @@ module InertiaRails
248
252
  end
249
253
 
250
254
  def rendering_partial_component?
251
- @request.headers['X-Inertia-Partial-Component'] == component
255
+ @request.headers['X-Inertia-Partial-Component'] == @component
252
256
  end
253
257
 
254
258
  def resolve_component(component)
255
259
  if component == true || component.is_a?(Hash)
256
- configuration.component_path_resolver(path: controller.controller_path, action: controller.action_name)
260
+ @configuration.component_path_resolver(path: @controller.controller_path, action: @controller.action_name)
257
261
  else
258
262
  component
259
263
  end
@@ -289,7 +293,7 @@ module InertiaRails
289
293
  end
290
294
 
291
295
  def meta_tags
292
- controller.inertia_meta.meta_tags
296
+ @controller.inertia_meta.meta_tags
293
297
  end
294
298
  end
295
299
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module InertiaRails
4
- VERSION = '3.12.0'
4
+ VERSION = '3.13.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inertia_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.0
4
+ version: 3.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Knoles
@@ -9,7 +9,7 @@ authors:
9
9
  - Eugene Granovsky
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-11-08 00:00:00.000000000 Z
12
+ date: 2025-11-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
@@ -53,32 +53,29 @@ files:
53
53
  - lib/generators/inertia/install/templates/assets/vue.svg
54
54
  - lib/generators/inertia/install/templates/controller.rb
55
55
  - lib/generators/inertia/install/templates/dev
56
+ - lib/generators/inertia/install/templates/inertia_controller.rb
56
57
  - lib/generators/inertia/install/templates/initializer.rb
57
58
  - lib/generators/inertia/install/templates/react/InertiaExample.jsx
58
59
  - lib/generators/inertia/install/templates/react/InertiaExample.module.css
59
60
  - lib/generators/inertia/install/templates/react/InertiaExample.tsx
60
- - lib/generators/inertia/install/templates/react/inertia.js
61
- - lib/generators/inertia/install/templates/react/inertia.ts
61
+ - lib/generators/inertia/install/templates/react/inertia.jsx
62
+ - lib/generators/inertia/install/templates/react/inertia.tsx
62
63
  - lib/generators/inertia/install/templates/react/tsconfig.app.json
63
64
  - lib/generators/inertia/install/templates/react/tsconfig.json
64
65
  - lib/generators/inertia/install/templates/react/tsconfig.node.json
65
- - lib/generators/inertia/install/templates/react/vite-env.d.ts
66
+ - lib/generators/inertia/install/templates/react/types/globals.d.ts
67
+ - lib/generators/inertia/install/templates/react/types/index.ts
68
+ - lib/generators/inertia/install/templates/react/types/vite-env.d.ts
66
69
  - lib/generators/inertia/install/templates/svelte/InertiaExample.svelte
67
70
  - lib/generators/inertia/install/templates/svelte/InertiaExample.ts.svelte
68
71
  - lib/generators/inertia/install/templates/svelte/inertia.js
69
- - lib/generators/inertia/install/templates/svelte/inertia.ts.tt
72
+ - lib/generators/inertia/install/templates/svelte/inertia.ts
70
73
  - lib/generators/inertia/install/templates/svelte/svelte.config.js
71
74
  - lib/generators/inertia/install/templates/svelte/tsconfig.json
72
75
  - lib/generators/inertia/install/templates/svelte/tsconfig.node.json
73
- - lib/generators/inertia/install/templates/svelte/vite-env.d.ts
74
- - lib/generators/inertia/install/templates/svelte4/InertiaExample.svelte
75
- - lib/generators/inertia/install/templates/svelte4/InertiaExample.ts.svelte
76
- - lib/generators/inertia/install/templates/svelte4/inertia.js
77
- - lib/generators/inertia/install/templates/svelte4/inertia.ts.tt
78
- - lib/generators/inertia/install/templates/svelte4/svelte.config.js
79
- - lib/generators/inertia/install/templates/svelte4/tsconfig.json
80
- - lib/generators/inertia/install/templates/svelte4/tsconfig.node.json
81
- - lib/generators/inertia/install/templates/svelte4/vite-env.d.ts
76
+ - lib/generators/inertia/install/templates/svelte/types/globals.d.ts
77
+ - lib/generators/inertia/install/templates/svelte/types/index.ts
78
+ - lib/generators/inertia/install/templates/svelte/types/vite-env.d.ts
82
79
  - lib/generators/inertia/install/templates/tailwind/application.css
83
80
  - lib/generators/inertia/install/templates/vue/InertiaExample.ts.vue
84
81
  - lib/generators/inertia/install/templates/vue/InertiaExample.vue
@@ -87,7 +84,9 @@ files:
87
84
  - lib/generators/inertia/install/templates/vue/tsconfig.app.json
88
85
  - lib/generators/inertia/install/templates/vue/tsconfig.json
89
86
  - lib/generators/inertia/install/templates/vue/tsconfig.node.json
90
- - lib/generators/inertia/install/templates/vue/vite-env.d.ts
87
+ - lib/generators/inertia/install/templates/vue/types/globals.d.ts
88
+ - lib/generators/inertia/install/templates/vue/types/index.ts
89
+ - lib/generators/inertia/install/templates/vue/types/vite-env.d.ts
91
90
  - lib/generators/inertia/scaffold/scaffold_generator.rb
92
91
  - lib/generators/inertia/scaffold_controller/scaffold_controller_generator.rb
93
92
  - lib/generators/inertia/scaffold_controller/templates/controller.rb.tt
@@ -95,119 +94,91 @@ files:
95
94
  - lib/generators/inertia_templates/controller/templates/react/view.jsx.tt
96
95
  - lib/generators/inertia_templates/controller/templates/react/view.tsx.tt
97
96
  - lib/generators/inertia_templates/controller/templates/svelte/view.svelte.tt
98
- - lib/generators/inertia_templates/controller/templates/svelte4/view.svelte.tt
99
97
  - lib/generators/inertia_templates/controller/templates/vue/view.vue.tt
100
98
  - lib/generators/inertia_templates/scaffold/scaffold_generator.rb
101
- - lib/generators/inertia_templates/scaffold/templates/react/Edit.jsx.tt
102
- - lib/generators/inertia_templates/scaffold/templates/react/Edit.tsx.tt
103
- - lib/generators/inertia_templates/scaffold/templates/react/Form.jsx.tt
104
- - lib/generators/inertia_templates/scaffold/templates/react/Form.tsx.tt
105
- - lib/generators/inertia_templates/scaffold/templates/react/Index.jsx.tt
106
- - lib/generators/inertia_templates/scaffold/templates/react/Index.tsx.tt
107
- - lib/generators/inertia_templates/scaffold/templates/react/New.jsx.tt
108
- - lib/generators/inertia_templates/scaffold/templates/react/New.tsx.tt
109
- - lib/generators/inertia_templates/scaffold/templates/react/One.jsx.tt
110
- - lib/generators/inertia_templates/scaffold/templates/react/One.tsx.tt
111
- - lib/generators/inertia_templates/scaffold/templates/react/Show.jsx.tt
112
- - lib/generators/inertia_templates/scaffold/templates/react/Show.tsx.tt
99
+ - lib/generators/inertia_templates/scaffold/templates/react/edit.jsx.tt
100
+ - lib/generators/inertia_templates/scaffold/templates/react/edit.tsx.tt
101
+ - lib/generators/inertia_templates/scaffold/templates/react/form.jsx.tt
102
+ - lib/generators/inertia_templates/scaffold/templates/react/form.tsx.tt
103
+ - lib/generators/inertia_templates/scaffold/templates/react/index.jsx.tt
104
+ - lib/generators/inertia_templates/scaffold/templates/react/index.tsx.tt
105
+ - lib/generators/inertia_templates/scaffold/templates/react/new.jsx.tt
106
+ - lib/generators/inertia_templates/scaffold/templates/react/new.tsx.tt
107
+ - lib/generators/inertia_templates/scaffold/templates/react/one.jsx.tt
108
+ - lib/generators/inertia_templates/scaffold/templates/react/one.tsx.tt
109
+ - lib/generators/inertia_templates/scaffold/templates/react/show.jsx.tt
110
+ - lib/generators/inertia_templates/scaffold/templates/react/show.tsx.tt
113
111
  - lib/generators/inertia_templates/scaffold/templates/react/types.ts.tt
114
- - lib/generators/inertia_templates/scaffold/templates/svelte/Edit.svelte.tt
115
- - lib/generators/inertia_templates/scaffold/templates/svelte/Edit.ts.svelte.tt
116
- - lib/generators/inertia_templates/scaffold/templates/svelte/Form.svelte.tt
117
- - lib/generators/inertia_templates/scaffold/templates/svelte/Form.ts.svelte.tt
118
- - lib/generators/inertia_templates/scaffold/templates/svelte/Index.svelte.tt
119
- - lib/generators/inertia_templates/scaffold/templates/svelte/Index.ts.svelte.tt
120
- - lib/generators/inertia_templates/scaffold/templates/svelte/New.svelte.tt
121
- - lib/generators/inertia_templates/scaffold/templates/svelte/New.ts.svelte.tt
122
- - lib/generators/inertia_templates/scaffold/templates/svelte/One.svelte.tt
123
- - lib/generators/inertia_templates/scaffold/templates/svelte/One.ts.svelte.tt
124
- - lib/generators/inertia_templates/scaffold/templates/svelte/Show.svelte.tt
125
- - lib/generators/inertia_templates/scaffold/templates/svelte/Show.ts.svelte.tt
112
+ - lib/generators/inertia_templates/scaffold/templates/svelte/edit.svelte.tt
113
+ - lib/generators/inertia_templates/scaffold/templates/svelte/edit.ts.svelte.tt
114
+ - lib/generators/inertia_templates/scaffold/templates/svelte/form.svelte.tt
115
+ - lib/generators/inertia_templates/scaffold/templates/svelte/form.ts.svelte.tt
116
+ - lib/generators/inertia_templates/scaffold/templates/svelte/index.svelte.tt
117
+ - lib/generators/inertia_templates/scaffold/templates/svelte/index.ts.svelte.tt
118
+ - lib/generators/inertia_templates/scaffold/templates/svelte/new.svelte.tt
119
+ - lib/generators/inertia_templates/scaffold/templates/svelte/new.ts.svelte.tt
120
+ - lib/generators/inertia_templates/scaffold/templates/svelte/one.svelte.tt
121
+ - lib/generators/inertia_templates/scaffold/templates/svelte/one.ts.svelte.tt
122
+ - lib/generators/inertia_templates/scaffold/templates/svelte/show.svelte.tt
123
+ - lib/generators/inertia_templates/scaffold/templates/svelte/show.ts.svelte.tt
126
124
  - lib/generators/inertia_templates/scaffold/templates/svelte/types.ts.tt
127
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Edit.svelte.tt
128
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Edit.ts.svelte.tt
129
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Form.svelte.tt
130
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Form.ts.svelte.tt
131
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Index.svelte.tt
132
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Index.ts.svelte.tt
133
- - lib/generators/inertia_templates/scaffold/templates/svelte4/New.svelte.tt
134
- - lib/generators/inertia_templates/scaffold/templates/svelte4/New.ts.svelte.tt
135
- - lib/generators/inertia_templates/scaffold/templates/svelte4/One.svelte.tt
136
- - lib/generators/inertia_templates/scaffold/templates/svelte4/One.ts.svelte.tt
137
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Show.svelte.tt
138
- - lib/generators/inertia_templates/scaffold/templates/svelte4/Show.ts.svelte.tt
139
- - lib/generators/inertia_templates/scaffold/templates/svelte4/types.ts.tt
140
- - lib/generators/inertia_templates/scaffold/templates/vue/Edit.ts.vue.tt
141
- - lib/generators/inertia_templates/scaffold/templates/vue/Edit.vue.tt
142
- - lib/generators/inertia_templates/scaffold/templates/vue/Form.ts.vue.tt
143
- - lib/generators/inertia_templates/scaffold/templates/vue/Form.vue.tt
144
- - lib/generators/inertia_templates/scaffold/templates/vue/Index.ts.vue.tt
145
- - lib/generators/inertia_templates/scaffold/templates/vue/Index.vue.tt
146
- - lib/generators/inertia_templates/scaffold/templates/vue/New.ts.vue.tt
147
- - lib/generators/inertia_templates/scaffold/templates/vue/New.vue.tt
148
- - lib/generators/inertia_templates/scaffold/templates/vue/One.ts.vue.tt
149
- - lib/generators/inertia_templates/scaffold/templates/vue/One.vue.tt
150
- - lib/generators/inertia_templates/scaffold/templates/vue/Show.ts.vue.tt
151
- - lib/generators/inertia_templates/scaffold/templates/vue/Show.vue.tt
125
+ - lib/generators/inertia_templates/scaffold/templates/vue/edit.ts.vue.tt
126
+ - lib/generators/inertia_templates/scaffold/templates/vue/edit.vue.tt
127
+ - lib/generators/inertia_templates/scaffold/templates/vue/form.ts.vue.tt
128
+ - lib/generators/inertia_templates/scaffold/templates/vue/form.vue.tt
129
+ - lib/generators/inertia_templates/scaffold/templates/vue/index.ts.vue.tt
130
+ - lib/generators/inertia_templates/scaffold/templates/vue/index.vue.tt
131
+ - lib/generators/inertia_templates/scaffold/templates/vue/new.ts.vue.tt
132
+ - lib/generators/inertia_templates/scaffold/templates/vue/new.vue.tt
133
+ - lib/generators/inertia_templates/scaffold/templates/vue/one.ts.vue.tt
134
+ - lib/generators/inertia_templates/scaffold/templates/vue/one.vue.tt
135
+ - lib/generators/inertia_templates/scaffold/templates/vue/show.ts.vue.tt
136
+ - lib/generators/inertia_templates/scaffold/templates/vue/show.vue.tt
152
137
  - lib/generators/inertia_templates/scaffold/templates/vue/types.ts.tt
153
138
  - lib/generators/inertia_tw_templates/controller/controller_generator.rb
154
139
  - lib/generators/inertia_tw_templates/controller/templates/react/view.jsx.tt
155
140
  - lib/generators/inertia_tw_templates/controller/templates/react/view.tsx.tt
156
141
  - lib/generators/inertia_tw_templates/controller/templates/svelte/view.svelte.tt
157
- - lib/generators/inertia_tw_templates/controller/templates/svelte4/view.svelte.tt
158
142
  - lib/generators/inertia_tw_templates/controller/templates/vue/view.vue.tt
159
143
  - lib/generators/inertia_tw_templates/scaffold/scaffold_generator.rb
160
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Edit.jsx.tt
161
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Edit.tsx.tt
162
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Form.jsx.tt
163
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Form.tsx.tt
164
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Index.jsx.tt
165
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Index.tsx.tt
166
- - lib/generators/inertia_tw_templates/scaffold/templates/react/New.jsx.tt
167
- - lib/generators/inertia_tw_templates/scaffold/templates/react/New.tsx.tt
168
- - lib/generators/inertia_tw_templates/scaffold/templates/react/One.jsx.tt
169
- - lib/generators/inertia_tw_templates/scaffold/templates/react/One.tsx.tt
170
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Show.jsx.tt
171
- - lib/generators/inertia_tw_templates/scaffold/templates/react/Show.tsx.tt
144
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/edit.jsx.tt
145
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/edit.tsx.tt
146
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/form.jsx.tt
147
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/form.tsx.tt
148
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/index.jsx.tt
149
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/index.tsx.tt
150
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/new.jsx.tt
151
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/new.tsx.tt
152
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/one.jsx.tt
153
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/one.tsx.tt
154
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/show.jsx.tt
155
+ - lib/generators/inertia_tw_templates/scaffold/templates/react/show.tsx.tt
172
156
  - lib/generators/inertia_tw_templates/scaffold/templates/react/types.ts.tt
173
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Edit.svelte.tt
174
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Edit.ts.svelte.tt
175
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Form.svelte.tt
176
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Form.ts.svelte.tt
177
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Index.svelte.tt
178
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Index.ts.svelte.tt
179
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/New.svelte.tt
180
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/New.ts.svelte.tt
181
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/One.svelte.tt
182
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/One.ts.svelte.tt
183
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Show.svelte.tt
184
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte/Show.ts.svelte.tt
157
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/edit.svelte.tt
158
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/edit.ts.svelte.tt
159
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/form.svelte.tt
160
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/form.ts.svelte.tt
161
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/index.svelte.tt
162
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/index.ts.svelte.tt
163
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/new.svelte.tt
164
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/new.ts.svelte.tt
165
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/one.svelte.tt
166
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/one.ts.svelte.tt
167
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/show.svelte.tt
168
+ - lib/generators/inertia_tw_templates/scaffold/templates/svelte/show.ts.svelte.tt
185
169
  - lib/generators/inertia_tw_templates/scaffold/templates/svelte/types.ts.tt
186
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Edit.svelte.tt
187
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Edit.ts.svelte.tt
188
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Form.svelte.tt
189
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Form.ts.svelte.tt
190
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Index.svelte.tt
191
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Index.ts.svelte.tt
192
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/New.svelte.tt
193
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/New.ts.svelte.tt
194
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/One.svelte.tt
195
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/One.ts.svelte.tt
196
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Show.svelte.tt
197
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/Show.ts.svelte.tt
198
- - lib/generators/inertia_tw_templates/scaffold/templates/svelte4/types.ts.tt
199
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Edit.ts.vue.tt
200
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Edit.vue.tt
201
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Form.ts.vue.tt
202
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Form.vue.tt
203
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Index.ts.vue.tt
204
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Index.vue.tt
205
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/New.ts.vue.tt
206
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/New.vue.tt
207
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/One.ts.vue.tt
208
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/One.vue.tt
209
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Show.ts.vue.tt
210
- - lib/generators/inertia_tw_templates/scaffold/templates/vue/Show.vue.tt
170
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/edit.ts.vue.tt
171
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/edit.vue.tt
172
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/form.ts.vue.tt
173
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/form.vue.tt
174
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/index.ts.vue.tt
175
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/index.vue.tt
176
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/new.ts.vue.tt
177
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/new.vue.tt
178
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/one.ts.vue.tt
179
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/one.vue.tt
180
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/show.ts.vue.tt
181
+ - lib/generators/inertia_tw_templates/scaffold/templates/vue/show.vue.tt
211
182
  - lib/generators/inertia_tw_templates/scaffold/templates/vue/types.ts.tt
212
183
  - lib/inertia_rails.rb
213
184
  - lib/inertia_rails/action_filter.rb
@@ -1,45 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/react'
2
- import { createElement } from 'react'
3
- import { createRoot } from 'react-dom/client'
4
-
5
- createInertiaApp({
6
- // Set default page title
7
- // see https://inertia-rails.dev/guide/title-and-meta
8
- //
9
- // title: title => title ? `${title} - App` : 'App',
10
-
11
- // Disable progress bar
12
- //
13
- // see https://inertia-rails.dev/guide/progress-indicators
14
- // progress: false,
15
-
16
- resolve: (name) => {
17
- const pages = import.meta.glob('../pages/**/*.jsx', {
18
- eager: true,
19
- })
20
- const page = pages[`../pages/${name}.jsx`]
21
- if (!page) {
22
- console.error(`Missing Inertia page component: '${name}.jsx'`)
23
- }
24
-
25
- // To use a default layout, import the Layout component
26
- // and use the following lines.
27
- // see https://inertia-rails.dev/guide/pages#default-layouts
28
- //
29
- // page.default.layout ||= (page) => createElement(Layout, null, page)
30
-
31
- return page
32
- },
33
-
34
- setup({ el, App, props }) {
35
- if (el) {
36
- createRoot(el).render(createElement(App, props))
37
- } else {
38
- console.error(
39
- 'Missing root element.\n\n' +
40
- 'If you see this error, it probably means you load Inertia.js on non-Inertia pages.\n' +
41
- 'Consider moving <%%= vite_javascript_tag "inertia" %> to the Inertia-specific layout instead.',
42
- )
43
- }
44
- },
45
- })
@@ -1,51 +0,0 @@
1
- import { createInertiaApp } from '@inertiajs/react'
2
- import { createElement, ReactNode } from 'react'
3
- import { createRoot } from 'react-dom/client'
4
-
5
- // Temporary type definition, until @inertiajs/react provides one
6
- type ResolvedComponent = {
7
- default: ReactNode
8
- layout?: (page: ReactNode) => ReactNode
9
- }
10
-
11
- createInertiaApp({
12
- // Set default page title
13
- // see https://inertia-rails.dev/guide/title-and-meta
14
- //
15
- // title: title => title ? `${title} - App` : 'App',
16
-
17
- // Disable progress bar
18
- //
19
- // see https://inertia-rails.dev/guide/progress-indicators
20
- // progress: false,
21
-
22
- resolve: (name) => {
23
- const pages = import.meta.glob<ResolvedComponent>('../pages/**/*.tsx', {
24
- eager: true,
25
- })
26
- const page = pages[`../pages/${name}.tsx`]
27
- if (!page) {
28
- console.error(`Missing Inertia page component: '${name}.tsx'`)
29
- }
30
-
31
- // To use a default layout, import the Layout component
32
- // and use the following line.
33
- // see https://inertia-rails.dev/guide/pages#default-layouts
34
- //
35
- // page.default.layout ||= (page) => createElement(Layout, null, page)
36
-
37
- return page
38
- },
39
-
40
- setup({ el, App, props }) {
41
- if (el) {
42
- createRoot(el).render(createElement(App, props))
43
- } else {
44
- console.error(
45
- 'Missing root element.\n\n' +
46
- 'If you see this error, it probably means you load Inertia.js on non-Inertia pages.\n' +
47
- 'Consider moving <%%= vite_typescript_tag "inertia" %> to the Inertia-specific layout instead.',
48
- )
49
- }
50
- },
51
- })