Skip to content

Commit 476e70f

Browse files
authored
Merge pull request #779 from hydephp/cherry-pick-publications-feature-changes
Cherry pick publications feature changes
2 parents 0adf3dc + 885f06e commit 476e70f

File tree

6 files changed

+259
-27
lines changed

6 files changed

+259
-27
lines changed

.editorconfig

Lines changed: 230 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,236 @@
1-
root = true
2-
31
[*]
42
charset = utf-8
53
end_of_line = lf
6-
insert_final_newline = true
7-
indent_style = space
84
indent_size = 4
9-
trim_trailing_whitespace = true
10-
11-
[*.md]
12-
trim_trailing_whitespace = false
13-
14-
[*.{yml,yaml}]
15-
indent_size = 2
5+
indent_style = space
6+
insert_final_newline = true
7+
max_line_length = 160
8+
tab_width = 4
9+
ij_visual_guides = none
10+
ij_wrap_on_typing = false
1611

1712
[*.blade.php]
18-
insert_final_newline = false
13+
ij_blade_keep_indents_on_empty_lines = false
14+
15+
[{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml}]
16+
ij_php_align_assignments = false
17+
ij_php_align_class_constants = false
18+
ij_php_align_group_field_declarations = false
19+
ij_php_align_inline_comments = false
20+
ij_php_align_key_value_pairs = false
21+
ij_php_align_match_arm_bodies = false
22+
ij_php_align_multiline_array_initializer_expression = false
23+
ij_php_align_multiline_binary_operation = false
24+
ij_php_align_multiline_chained_methods = true
25+
ij_php_align_multiline_extends_list = false
26+
ij_php_align_multiline_for = false
27+
ij_php_align_multiline_parameters = false
28+
ij_php_align_multiline_parameters_in_calls = false
29+
ij_php_align_multiline_ternary_operation = true
30+
ij_php_align_named_arguments = false
31+
ij_php_align_phpdoc_comments = false
32+
ij_php_align_phpdoc_param_names = false
33+
ij_php_anonymous_brace_style = end_of_line
34+
ij_php_api_weight = 28
35+
ij_php_array_initializer_new_line_after_left_brace = true
36+
ij_php_array_initializer_right_brace_on_new_line = true
37+
ij_php_array_initializer_wrap = on_every_item
38+
ij_php_assignment_wrap = off
39+
ij_php_attributes_wrap = off
40+
ij_php_author_weight = 28
41+
ij_php_binary_operation_sign_on_next_line = false
42+
ij_php_binary_operation_wrap = off
43+
ij_php_blank_lines_after_class_header = 0
44+
ij_php_blank_lines_after_function = 1
45+
ij_php_blank_lines_after_imports = 1
46+
ij_php_blank_lines_after_opening_tag = 1
47+
ij_php_blank_lines_after_package = 1
48+
ij_php_blank_lines_around_class = 1
49+
ij_php_blank_lines_around_constants = 0
50+
ij_php_blank_lines_around_field = 0
51+
ij_php_blank_lines_around_method = 1
52+
ij_php_blank_lines_before_class_end = 0
53+
ij_php_blank_lines_before_imports = 1
54+
ij_php_blank_lines_before_method_body = 0
55+
ij_php_blank_lines_before_package = 1
56+
ij_php_blank_lines_before_return_statement = 0
57+
ij_php_blank_lines_between_imports = 1
58+
ij_php_block_brace_style = end_of_line
59+
ij_php_call_parameters_new_line_after_left_paren = true
60+
ij_php_call_parameters_right_paren_on_new_line = true
61+
ij_php_call_parameters_wrap = on_every_item
62+
ij_php_catch_on_new_line = false
63+
ij_php_category_weight = 28
64+
ij_php_class_brace_style = next_line
65+
ij_php_comma_after_last_argument = false
66+
ij_php_comma_after_last_array_element = false
67+
ij_php_comma_after_last_closure_use_var = false
68+
ij_php_comma_after_last_parameter = false
69+
ij_php_concat_spaces = false
70+
ij_php_copyright_weight = 28
71+
ij_php_deprecated_weight = 28
72+
ij_php_do_while_brace_force = always
73+
ij_php_else_if_style = combine
74+
ij_php_else_on_new_line = false
75+
ij_php_example_weight = 28
76+
ij_php_extends_keyword_wrap = off
77+
ij_php_extends_list_wrap = on_every_item
78+
ij_php_fields_default_visibility = private
79+
ij_php_filesource_weight = 28
80+
ij_php_finally_on_new_line = false
81+
ij_php_for_brace_force = always
82+
ij_php_for_statement_new_line_after_left_paren = true
83+
ij_php_for_statement_right_paren_on_new_line = true
84+
ij_php_for_statement_wrap = off
85+
ij_php_force_empty_methods_in_one_line = false
86+
ij_php_force_short_declaration_array_style = false
87+
ij_php_getters_setters_naming_style = camel_case
88+
ij_php_getters_setters_order_style = getters_first
89+
ij_php_global_weight = 28
90+
ij_php_group_use_wrap = on_every_item
91+
ij_php_if_brace_force = always
92+
ij_php_if_lparen_on_next_line = false
93+
ij_php_if_rparen_on_next_line = false
94+
ij_php_ignore_weight = 28
95+
ij_php_import_sorting = alphabetic
96+
ij_php_indent_break_from_case = true
97+
ij_php_indent_case_from_switch = true
98+
ij_php_indent_code_in_php_tags = false
99+
ij_php_internal_weight = 28
100+
ij_php_keep_blank_lines_after_lbrace = 0
101+
ij_php_keep_blank_lines_before_right_brace = 0
102+
ij_php_keep_blank_lines_in_code = 2
103+
ij_php_keep_blank_lines_in_declarations = 2
104+
ij_php_keep_control_statement_in_one_line = true
105+
ij_php_keep_first_column_comment = true
106+
ij_php_keep_indents_on_empty_lines = false
107+
ij_php_keep_line_breaks = true
108+
ij_php_keep_rparen_and_lbrace_on_one_line = true
109+
ij_php_keep_simple_classes_in_one_line = false
110+
ij_php_keep_simple_methods_in_one_line = false
111+
ij_php_lambda_brace_style = end_of_line
112+
ij_php_license_weight = 28
113+
ij_php_line_comment_add_space = false
114+
ij_php_line_comment_at_first_column = true
115+
ij_php_link_weight = 28
116+
ij_php_lower_case_boolean_const = true
117+
ij_php_lower_case_keywords = true
118+
ij_php_lower_case_null_const = true
119+
ij_php_method_brace_style = next_line
120+
ij_php_method_call_chain_wrap = off
121+
ij_php_method_parameters_new_line_after_left_paren = true
122+
ij_php_method_parameters_right_paren_on_new_line = true
123+
ij_php_method_parameters_wrap = on_every_item
124+
ij_php_method_weight = 28
125+
ij_php_modifier_list_wrap = false
126+
ij_php_multiline_chained_calls_semicolon_on_new_line = false
127+
ij_php_namespace_brace_style = 1
128+
ij_php_new_line_after_php_opening_tag = true
129+
ij_php_null_type_position = in_the_end
130+
ij_php_package_weight = 28
131+
ij_php_param_weight = 0
132+
ij_php_parameters_attributes_wrap = off
133+
ij_php_parentheses_expression_new_line_after_left_paren = false
134+
ij_php_parentheses_expression_right_paren_on_new_line = false
135+
ij_php_phpdoc_blank_line_before_tags = false
136+
ij_php_phpdoc_blank_lines_around_parameters = false
137+
ij_php_phpdoc_keep_blank_lines = true
138+
ij_php_phpdoc_param_spaces_between_name_and_description = 1
139+
ij_php_phpdoc_param_spaces_between_tag_and_type = 1
140+
ij_php_phpdoc_param_spaces_between_type_and_name = 1
141+
ij_php_phpdoc_use_fqcn = true
142+
ij_php_phpdoc_wrap_long_lines = false
143+
ij_php_place_assignment_sign_on_next_line = false
144+
ij_php_place_parens_for_constructor = 0
145+
ij_php_property_read_weight = 28
146+
ij_php_property_weight = 28
147+
ij_php_property_write_weight = 28
148+
ij_php_return_type_on_new_line = false
149+
ij_php_return_weight = 1
150+
ij_php_see_weight = 28
151+
ij_php_since_weight = 28
152+
ij_php_sort_phpdoc_elements = true
153+
ij_php_space_after_colon = true
154+
ij_php_space_after_colon_in_enum_backed_type = true
155+
ij_php_space_after_colon_in_named_argument = true
156+
ij_php_space_after_colon_in_return_type = true
157+
ij_php_space_after_comma = true
158+
ij_php_space_after_for_semicolon = true
159+
ij_php_space_after_quest = true
160+
ij_php_space_after_type_cast = true
161+
ij_php_space_after_unary_not = false
162+
ij_php_space_before_array_initializer_left_brace = false
163+
ij_php_space_before_catch_keyword = true
164+
ij_php_space_before_catch_left_brace = true
165+
ij_php_space_before_catch_parentheses = true
166+
ij_php_space_before_class_left_brace = true
167+
ij_php_space_before_closure_left_parenthesis = true
168+
ij_php_space_before_colon = true
169+
ij_php_space_before_colon_in_enum_backed_type = false
170+
ij_php_space_before_colon_in_named_argument = false
171+
ij_php_space_before_colon_in_return_type = false
172+
ij_php_space_before_comma = false
173+
ij_php_space_before_do_left_brace = true
174+
ij_php_space_before_else_keyword = true
175+
ij_php_space_before_else_left_brace = true
176+
ij_php_space_before_finally_keyword = true
177+
ij_php_space_before_finally_left_brace = true
178+
ij_php_space_before_for_left_brace = true
179+
ij_php_space_before_for_parentheses = true
180+
ij_php_space_before_for_semicolon = false
181+
ij_php_space_before_if_left_brace = true
182+
ij_php_space_before_if_parentheses = true
183+
ij_php_space_before_method_call_parentheses = false
184+
ij_php_space_before_method_left_brace = true
185+
ij_php_space_before_method_parentheses = false
186+
ij_php_space_before_quest = true
187+
ij_php_space_before_short_closure_left_parenthesis = false
188+
ij_php_space_before_switch_left_brace = true
189+
ij_php_space_before_switch_parentheses = true
190+
ij_php_space_before_try_left_brace = true
191+
ij_php_space_before_unary_not = false
192+
ij_php_space_before_while_keyword = true
193+
ij_php_space_before_while_left_brace = true
194+
ij_php_space_before_while_parentheses = true
195+
ij_php_space_between_ternary_quest_and_colon = false
196+
ij_php_spaces_around_additive_operators = true
197+
ij_php_spaces_around_arrow = false
198+
ij_php_spaces_around_assignment_in_declare = false
199+
ij_php_spaces_around_assignment_operators = true
200+
ij_php_spaces_around_bitwise_operators = true
201+
ij_php_spaces_around_equality_operators = true
202+
ij_php_spaces_around_logical_operators = true
203+
ij_php_spaces_around_multiplicative_operators = true
204+
ij_php_spaces_around_null_coalesce_operator = true
205+
ij_php_spaces_around_pipe_in_union_type = false
206+
ij_php_spaces_around_relational_operators = true
207+
ij_php_spaces_around_shift_operators = true
208+
ij_php_spaces_around_unary_operator = false
209+
ij_php_spaces_around_var_within_brackets = false
210+
ij_php_spaces_within_array_initializer_braces = false
211+
ij_php_spaces_within_brackets = false
212+
ij_php_spaces_within_catch_parentheses = false
213+
ij_php_spaces_within_for_parentheses = false
214+
ij_php_spaces_within_if_parentheses = false
215+
ij_php_spaces_within_method_call_parentheses = false
216+
ij_php_spaces_within_method_parentheses = false
217+
ij_php_spaces_within_parentheses = false
218+
ij_php_spaces_within_short_echo_tags = true
219+
ij_php_spaces_within_switch_parentheses = false
220+
ij_php_spaces_within_while_parentheses = false
221+
ij_php_special_else_if_treatment = false
222+
ij_php_subpackage_weight = 28
223+
ij_php_ternary_operation_signs_on_next_line = false
224+
ij_php_ternary_operation_wrap = off
225+
ij_php_throws_weight = 2
226+
ij_php_todo_weight = 28
227+
ij_php_treat_multiline_arrays_and_lambdas_multiline = false
228+
ij_php_unknown_tag_weight = 28
229+
ij_php_upper_case_boolean_const = false
230+
ij_php_upper_case_null_const = false
231+
ij_php_uses_weight = 28
232+
ij_php_var_weight = 28
233+
ij_php_variable_naming_style = camel_case
234+
ij_php_version_weight = 28
235+
ij_php_while_brace_force = always
236+
ij_php_while_on_new_line = false

packages/framework/src/Foundation/PageCollection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
* This class is stored as a singleton in the HydeKernel.
2222
* You would commonly access it via one of the facades:
2323
*
24+
* @todo We could improve this by catching exceptions and rethrowing them using a
25+
* DiscoveryException to make it clear that the problem is with the discovery process.
26+
*
2427
* @see \Hyde\Foundation\Facades\PageCollection
2528
* @see \Hyde\Hyde::pages()
2629
*/
@@ -60,6 +63,8 @@ protected function runDiscovery(): self
6063
$this->discoverPagesFor(DocumentationPage::class);
6164
}
6265

66+
// TODO: Add package developer hook to discover custom page types
67+
6368
return $this;
6469
}
6570

packages/framework/tests/ConfigurableSourceRootsFeatureTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* Also see these tests which cover specific implementation details:
2121
*
2222
* @see \Hyde\Framework\Testing\Feature\HydeKernelTest
23-
* @see \Hyde\Framework\Testing\Unit\HydeServiceProviderTest
23+
* @see \Hyde\Framework\Testing\Feature\HydeServiceProviderTest
2424
*/
2525
class ConfigurableSourceRootsFeatureTest extends TestCase
2626
{

packages/framework/tests/Unit/HydeServiceProviderTest.php renamed to packages/framework/tests/Feature/HydeServiceProviderTest.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Hyde\Framework\Testing\Unit;
5+
namespace Hyde\Framework\Testing\Feature;
66

77
use function app;
88
use function array_filter;
@@ -211,9 +211,7 @@ public function test_provider_registers_additional_module_service_providers()
211211
public function test_provider_registers_all_page_model_source_paths()
212212
{
213213
// Find all classes in the Hyde\Pages namespace that are not abstract
214-
$pages = array_values(array_filter(get_declared_classes(), function ($class) {
215-
return str_starts_with($class, 'Hyde\Pages') && ! str_starts_with($class, 'Hyde\Pages\Concerns');
216-
}));
214+
$pages = $this->getDeclaredPages();
217215

218216
// Assert we are testing all page models
219217
$this->assertEquals([
@@ -238,9 +236,7 @@ public function test_provider_registers_all_page_model_source_paths()
238236

239237
public function test_provider_registers_all_page_model_output_paths()
240238
{
241-
$pages = array_values(array_filter(get_declared_classes(), function ($class) {
242-
return str_starts_with($class, 'Hyde\Pages') && ! str_starts_with($class, 'Hyde\Pages\Concerns');
243-
}));
239+
$pages = $this->getDeclaredPages();
244240

245241
/** @var \Hyde\Pages\Concerns\HydePage|string $page */
246242
foreach ($pages as $page) {
@@ -253,4 +249,11 @@ public function test_provider_registers_all_page_model_output_paths()
253249
$this->assertNotEquals('foo', $page::$outputDirectory, "Output directory for $page was not set");
254250
}
255251
}
252+
253+
protected function getDeclaredPages(): array
254+
{
255+
return array_values(array_filter(get_declared_classes(), function ($class) {
256+
return str_starts_with($class, 'Hyde\Pages') && ! str_starts_with($class, 'Hyde\Pages\Concerns');
257+
}));
258+
}
256259
}

0 commit comments

Comments
 (0)