├── .editorconfig ├── LICENSE ├── README.md ├── composer.json ├── config └── pretty-routes.php ├── resources ├── lang │ ├── en │ │ └── info.php │ ├── es │ │ └── info.php │ ├── fr │ │ └── info.php │ ├── ru │ │ └── info.php │ ├── tr │ │ └── info.php │ └── zh_CN │ │ └── info.php └── views │ ├── components │ ├── dialog.blade.php │ └── snackbar.blade.php │ ├── favicon.blade.php │ ├── layout.blade.php │ ├── scripts.blade.php │ ├── styles.blade.php │ └── vue.blade.php ├── routes ├── laravel.php └── lumen.php └── src ├── Facades ├── Cache.php └── Trans.php ├── Http └── PrettyRoutesController.php ├── ServiceProvider.php └── Support ├── Cache.php ├── Config.php └── Trans.php /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset = utf-8 3 | end_of_line = lf 4 | indent_size = 4 5 | indent_style = space 6 | insert_final_newline = true 7 | max_line_length = 120 8 | tab_width = 4 9 | trim_trailing_whitespace = false 10 | ij_continuation_indent_size = 8 11 | ij_formatter_off_tag = @formatter:off 12 | ij_formatter_on_tag = @formatter:on 13 | ij_formatter_tags_enabled = true 14 | ij_smart_tabs = false 15 | ij_visual_guides = none 16 | ij_wrap_on_typing = false 17 | 18 | [*.blade.php] 19 | ij_continuation_indent_size = 4 20 | ij_blade_keep_indents_on_empty_lines = false 21 | 22 | [*.css] 23 | ij_css_align_closing_brace_with_properties = false 24 | ij_css_blank_lines_around_nested_selector = 1 25 | ij_css_blank_lines_between_blocks = 1 26 | ij_css_block_comment_add_space = true 27 | ij_css_brace_placement = end_of_line 28 | ij_css_enforce_quotes_on_format = true 29 | ij_css_hex_color_long_format = true 30 | ij_css_hex_color_lower_case = false 31 | ij_css_hex_color_short_format = false 32 | ij_css_hex_color_upper_case = true 33 | ij_css_keep_blank_lines_in_code = 1 34 | ij_css_keep_indents_on_empty_lines = false 35 | ij_css_keep_single_line_blocks = false 36 | ij_css_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow 37 | ij_css_space_after_colon = true 38 | ij_css_space_before_opening_brace = true 39 | ij_css_use_double_quotes = true 40 | ij_css_value_alignment = do_not_align 41 | 42 | [*.less] 43 | ij_less_align_closing_brace_with_properties = false 44 | ij_less_blank_lines_around_nested_selector = 1 45 | ij_less_blank_lines_between_blocks = 1 46 | ij_less_block_comment_add_space = false 47 | ij_less_brace_placement = 0 48 | ij_less_enforce_quotes_on_format = false 49 | ij_less_hex_color_long_format = true 50 | ij_less_hex_color_lower_case = false 51 | ij_less_hex_color_short_format = false 52 | ij_less_hex_color_upper_case = true 53 | ij_less_keep_blank_lines_in_code = 2 54 | ij_less_keep_indents_on_empty_lines = false 55 | ij_less_keep_single_line_blocks = false 56 | ij_less_line_comment_add_space = false 57 | ij_less_line_comment_at_first_column = false 58 | ij_less_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow 59 | ij_less_space_after_colon = true 60 | ij_less_space_before_opening_brace = true 61 | ij_less_use_double_quotes = true 62 | ij_less_value_alignment = 0 63 | 64 | [*.sass] 65 | ij_sass_align_closing_brace_with_properties = false 66 | ij_sass_blank_lines_around_nested_selector = 1 67 | ij_sass_blank_lines_between_blocks = 1 68 | ij_sass_brace_placement = 0 69 | ij_sass_enforce_quotes_on_format = false 70 | ij_sass_hex_color_long_format = false 71 | ij_sass_hex_color_lower_case = false 72 | ij_sass_hex_color_short_format = false 73 | ij_sass_hex_color_upper_case = false 74 | ij_sass_keep_blank_lines_in_code = 2 75 | ij_sass_keep_indents_on_empty_lines = false 76 | ij_sass_keep_single_line_blocks = false 77 | ij_sass_line_comment_add_space = false 78 | ij_sass_line_comment_at_first_column = false 79 | ij_sass_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow 80 | ij_sass_space_after_colon = true 81 | ij_sass_space_before_opening_brace = true 82 | ij_sass_use_double_quotes = true 83 | ij_sass_value_alignment = 0 84 | 85 | [*.scss] 86 | ij_scss_align_closing_brace_with_properties = false 87 | ij_scss_blank_lines_around_nested_selector = 1 88 | ij_scss_blank_lines_between_blocks = 1 89 | ij_scss_block_comment_add_space = true 90 | ij_scss_brace_placement = 0 91 | ij_scss_enforce_quotes_on_format = true 92 | ij_scss_hex_color_long_format = true 93 | ij_scss_hex_color_lower_case = false 94 | ij_scss_hex_color_short_format = false 95 | ij_scss_hex_color_upper_case = true 96 | ij_scss_keep_blank_lines_in_code = 1 97 | ij_scss_keep_indents_on_empty_lines = false 98 | ij_scss_keep_single_line_blocks = false 99 | ij_scss_line_comment_add_space = false 100 | ij_scss_line_comment_at_first_column = false 101 | ij_scss_properties_order = font,font-family,font-size,font-weight,font-style,font-variant,font-size-adjust,font-stretch,line-height,position,z-index,top,right,bottom,left,display,visibility,float,clear,overflow,overflow-x,overflow-y,clip,zoom,align-content,align-items,align-self,flex,flex-flow,flex-basis,flex-direction,flex-grow,flex-shrink,flex-wrap,justify-content,order,box-sizing,width,min-width,max-width,height,min-height,max-height,margin,margin-top,margin-right,margin-bottom,margin-left,padding,padding-top,padding-right,padding-bottom,padding-left,table-layout,empty-cells,caption-side,border-spacing,border-collapse,list-style,list-style-position,list-style-type,list-style-image,content,quotes,counter-reset,counter-increment,resize,cursor,user-select,nav-index,nav-up,nav-right,nav-down,nav-left,transition,transition-delay,transition-timing-function,transition-duration,transition-property,transform,transform-origin,animation,animation-name,animation-duration,animation-play-state,animation-timing-function,animation-delay,animation-iteration-count,animation-direction,text-align,text-align-last,vertical-align,white-space,text-decoration,text-emphasis,text-emphasis-color,text-emphasis-style,text-emphasis-position,text-indent,text-justify,letter-spacing,word-spacing,text-outline,text-transform,text-wrap,text-overflow,text-overflow-ellipsis,text-overflow-mode,word-wrap,word-break,tab-size,hyphens,pointer-events,opacity,color,border,border-width,border-style,border-color,border-top,border-top-width,border-top-style,border-top-color,border-right,border-right-width,border-right-style,border-right-color,border-bottom,border-bottom-width,border-bottom-style,border-bottom-color,border-left,border-left-width,border-left-style,border-left-color,border-radius,border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius,border-image,border-image-source,border-image-slice,border-image-width,border-image-outset,border-image-repeat,outline,outline-width,outline-style,outline-color,outline-offset,background,background-color,background-image,background-repeat,background-attachment,background-position,background-position-x,background-position-y,background-clip,background-origin,background-size,box-decoration-break,box-shadow,text-shadow 102 | ij_scss_space_after_colon = true 103 | ij_scss_space_before_opening_brace = true 104 | ij_scss_use_double_quotes = true 105 | ij_scss_value_alignment = 0 106 | 107 | [*.twig] 108 | ij_twig_keep_indents_on_empty_lines = false 109 | ij_twig_spaces_inside_comments_delimiters = true 110 | ij_twig_spaces_inside_delimiters = true 111 | ij_twig_spaces_inside_variable_delimiters = true 112 | 113 | [*.vue] 114 | ij_continuation_indent_size = 4 115 | ij_vue_indent_children_of_top_level = template 116 | ij_vue_interpolation_new_line_after_start_delimiter = true 117 | ij_vue_interpolation_new_line_before_end_delimiter = true 118 | ij_vue_interpolation_wrap = off 119 | ij_vue_keep_indents_on_empty_lines = false 120 | ij_vue_spaces_within_interpolation_expressions = true 121 | 122 | [.editorconfig] 123 | ij_editorconfig_align_group_field_declarations = false 124 | ij_editorconfig_space_after_colon = false 125 | ij_editorconfig_space_after_comma = true 126 | ij_editorconfig_space_before_colon = false 127 | ij_editorconfig_space_before_comma = false 128 | ij_editorconfig_spaces_around_assignment_operators = true 129 | 130 | [{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.rng,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul,phpunit.xml.dist}] 131 | ij_xml_align_attributes = true 132 | ij_xml_align_text = false 133 | ij_xml_attribute_wrap = normal 134 | ij_xml_block_comment_add_space = true 135 | ij_xml_block_comment_at_first_column = true 136 | ij_xml_keep_blank_lines = 2 137 | ij_xml_keep_indents_on_empty_lines = false 138 | ij_xml_keep_line_breaks = true 139 | ij_xml_keep_line_breaks_in_text = true 140 | ij_xml_keep_whitespaces = false 141 | ij_xml_keep_whitespaces_around_cdata = preserve 142 | ij_xml_keep_whitespaces_inside_cdata = false 143 | ij_xml_line_comment_at_first_column = true 144 | ij_xml_space_after_tag_name = false 145 | ij_xml_space_around_equals_in_attribute = false 146 | ij_xml_space_inside_empty_tag = true 147 | ij_xml_text_wrap = normal 148 | 149 | [{*.ats,*.cts,*.mts,*.ts}] 150 | ij_continuation_indent_size = 4 151 | ij_typescript_align_imports = false 152 | ij_typescript_align_multiline_array_initializer_expression = false 153 | ij_typescript_align_multiline_binary_operation = false 154 | ij_typescript_align_multiline_chained_methods = false 155 | ij_typescript_align_multiline_extends_list = false 156 | ij_typescript_align_multiline_for = true 157 | ij_typescript_align_multiline_parameters = true 158 | ij_typescript_align_multiline_parameters_in_calls = false 159 | ij_typescript_align_multiline_ternary_operation = false 160 | ij_typescript_align_object_properties = 0 161 | ij_typescript_align_union_types = false 162 | ij_typescript_align_var_statements = 0 163 | ij_typescript_array_initializer_new_line_after_left_brace = false 164 | ij_typescript_array_initializer_right_brace_on_new_line = false 165 | ij_typescript_array_initializer_wrap = off 166 | ij_typescript_assignment_wrap = off 167 | ij_typescript_binary_operation_sign_on_next_line = false 168 | ij_typescript_binary_operation_wrap = off 169 | ij_typescript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** 170 | ij_typescript_blank_lines_after_imports = 1 171 | ij_typescript_blank_lines_around_class = 1 172 | ij_typescript_blank_lines_around_field = 0 173 | ij_typescript_blank_lines_around_field_in_interface = 0 174 | ij_typescript_blank_lines_around_function = 1 175 | ij_typescript_blank_lines_around_method = 1 176 | ij_typescript_blank_lines_around_method_in_interface = 1 177 | ij_typescript_block_brace_style = end_of_line 178 | ij_typescript_block_comment_add_space = false 179 | ij_typescript_block_comment_at_first_column = true 180 | ij_typescript_call_parameters_new_line_after_left_paren = false 181 | ij_typescript_call_parameters_right_paren_on_new_line = false 182 | ij_typescript_call_parameters_wrap = off 183 | ij_typescript_catch_on_new_line = false 184 | ij_typescript_chained_call_dot_on_new_line = true 185 | ij_typescript_class_brace_style = next_line 186 | ij_typescript_comma_on_new_line = false 187 | ij_typescript_do_while_brace_force = never 188 | ij_typescript_else_on_new_line = false 189 | ij_typescript_enforce_trailing_comma = remove 190 | ij_typescript_enum_constants_wrap = on_every_item 191 | ij_typescript_extends_keyword_wrap = off 192 | ij_typescript_extends_list_wrap = off 193 | ij_typescript_field_prefix = _ 194 | ij_typescript_file_name_style = relaxed 195 | ij_typescript_finally_on_new_line = false 196 | ij_typescript_for_brace_force = never 197 | ij_typescript_for_statement_new_line_after_left_paren = false 198 | ij_typescript_for_statement_right_paren_on_new_line = false 199 | ij_typescript_for_statement_wrap = off 200 | ij_typescript_force_quote_style = true 201 | ij_typescript_force_semicolon_style = true 202 | ij_typescript_function_expression_brace_style = end_of_line 203 | ij_typescript_if_brace_force = never 204 | ij_typescript_import_merge_members = global 205 | ij_typescript_import_prefer_absolute_path = global 206 | ij_typescript_import_sort_members = true 207 | ij_typescript_import_sort_module_name = false 208 | ij_typescript_import_use_node_resolution = true 209 | ij_typescript_imports_wrap = on_every_item 210 | ij_typescript_indent_case_from_switch = true 211 | ij_typescript_indent_chained_calls = true 212 | ij_typescript_indent_package_children = 0 213 | ij_typescript_jsdoc_include_types = false 214 | ij_typescript_jsx_attribute_value = braces 215 | ij_typescript_keep_blank_lines_in_code = 1 216 | ij_typescript_keep_first_column_comment = true 217 | ij_typescript_keep_indents_on_empty_lines = false 218 | ij_typescript_keep_line_breaks = true 219 | ij_typescript_keep_simple_blocks_in_one_line = false 220 | ij_typescript_keep_simple_methods_in_one_line = false 221 | ij_typescript_line_comment_add_space = true 222 | ij_typescript_line_comment_at_first_column = false 223 | ij_typescript_method_brace_style = next_line 224 | ij_typescript_method_call_chain_wrap = off 225 | ij_typescript_method_parameters_new_line_after_left_paren = false 226 | ij_typescript_method_parameters_right_paren_on_new_line = false 227 | ij_typescript_method_parameters_wrap = off 228 | ij_typescript_object_literal_wrap = on_every_item 229 | ij_typescript_object_types_wrap = on_every_item 230 | ij_typescript_parentheses_expression_new_line_after_left_paren = false 231 | ij_typescript_parentheses_expression_right_paren_on_new_line = false 232 | ij_typescript_place_assignment_sign_on_next_line = false 233 | ij_typescript_prefer_as_type_cast = false 234 | ij_typescript_prefer_explicit_types_function_expression_returns = false 235 | ij_typescript_prefer_explicit_types_function_returns = false 236 | ij_typescript_prefer_explicit_types_vars_fields = false 237 | ij_typescript_prefer_parameters_wrap = false 238 | ij_typescript_reformat_c_style_comments = false 239 | ij_typescript_space_after_colon = true 240 | ij_typescript_space_after_comma = true 241 | ij_typescript_space_after_dots_in_rest_parameter = false 242 | ij_typescript_space_after_generator_mult = true 243 | ij_typescript_space_after_property_colon = true 244 | ij_typescript_space_after_quest = true 245 | ij_typescript_space_after_type_colon = true 246 | ij_typescript_space_after_unary_not = true 247 | ij_typescript_space_before_async_arrow_lparen = true 248 | ij_typescript_space_before_catch_keyword = true 249 | ij_typescript_space_before_catch_left_brace = true 250 | ij_typescript_space_before_catch_parentheses = true 251 | ij_typescript_space_before_class_lbrace = true 252 | ij_typescript_space_before_class_left_brace = true 253 | ij_typescript_space_before_colon = true 254 | ij_typescript_space_before_comma = false 255 | ij_typescript_space_before_do_left_brace = true 256 | ij_typescript_space_before_else_keyword = true 257 | ij_typescript_space_before_else_left_brace = true 258 | ij_typescript_space_before_finally_keyword = true 259 | ij_typescript_space_before_finally_left_brace = true 260 | ij_typescript_space_before_for_left_brace = true 261 | ij_typescript_space_before_for_parentheses = true 262 | ij_typescript_space_before_for_semicolon = false 263 | ij_typescript_space_before_function_left_parenth = true 264 | ij_typescript_space_before_generator_mult = false 265 | ij_typescript_space_before_if_left_brace = true 266 | ij_typescript_space_before_if_parentheses = true 267 | ij_typescript_space_before_method_call_parentheses = false 268 | ij_typescript_space_before_method_left_brace = true 269 | ij_typescript_space_before_method_parentheses = false 270 | ij_typescript_space_before_property_colon = false 271 | ij_typescript_space_before_quest = true 272 | ij_typescript_space_before_switch_left_brace = true 273 | ij_typescript_space_before_switch_parentheses = true 274 | ij_typescript_space_before_try_left_brace = true 275 | ij_typescript_space_before_type_colon = false 276 | ij_typescript_space_before_unary_not = false 277 | ij_typescript_space_before_while_keyword = true 278 | ij_typescript_space_before_while_left_brace = true 279 | ij_typescript_space_before_while_parentheses = true 280 | ij_typescript_spaces_around_additive_operators = true 281 | ij_typescript_spaces_around_arrow_function_operator = true 282 | ij_typescript_spaces_around_assignment_operators = true 283 | ij_typescript_spaces_around_bitwise_operators = true 284 | ij_typescript_spaces_around_equality_operators = true 285 | ij_typescript_spaces_around_logical_operators = true 286 | ij_typescript_spaces_around_multiplicative_operators = true 287 | ij_typescript_spaces_around_relational_operators = true 288 | ij_typescript_spaces_around_shift_operators = true 289 | ij_typescript_spaces_around_unary_operator = false 290 | ij_typescript_spaces_within_array_initializer_brackets = false 291 | ij_typescript_spaces_within_brackets = false 292 | ij_typescript_spaces_within_catch_parentheses = false 293 | ij_typescript_spaces_within_for_parentheses = false 294 | ij_typescript_spaces_within_if_parentheses = false 295 | ij_typescript_spaces_within_imports = true 296 | ij_typescript_spaces_within_interpolation_expressions = true 297 | ij_typescript_spaces_within_method_call_parentheses = false 298 | ij_typescript_spaces_within_method_parentheses = false 299 | ij_typescript_spaces_within_object_literal_braces = true 300 | ij_typescript_spaces_within_object_type_braces = true 301 | ij_typescript_spaces_within_parentheses = false 302 | ij_typescript_spaces_within_switch_parentheses = false 303 | ij_typescript_spaces_within_type_assertion = false 304 | ij_typescript_spaces_within_union_types = true 305 | ij_typescript_spaces_within_while_parentheses = false 306 | ij_typescript_special_else_if_treatment = true 307 | ij_typescript_ternary_operation_signs_on_next_line = false 308 | ij_typescript_ternary_operation_wrap = off 309 | ij_typescript_union_types_wrap = on_every_item 310 | ij_typescript_use_chained_calls_group_indents = false 311 | ij_typescript_use_double_quotes = false 312 | ij_typescript_use_explicit_js_extension = auto 313 | ij_typescript_use_path_mapping = always 314 | ij_typescript_use_public_modifier = false 315 | ij_typescript_use_semicolon_after_statement = false 316 | ij_typescript_var_declaration_wrap = normal 317 | ij_typescript_while_brace_force = never 318 | ij_typescript_while_on_new_line = false 319 | ij_typescript_wrap_comments = false 320 | 321 | [{*.bash,*.sh,*.zsh}] 322 | ij_shell_binary_ops_start_line = false 323 | ij_shell_keep_column_alignment_padding = false 324 | ij_shell_minify_program = false 325 | ij_shell_redirect_followed_by_space = false 326 | ij_shell_switch_cases_indented = false 327 | ij_shell_use_unix_line_separator = true 328 | 329 | [{*.cjs,*.js}] 330 | ij_continuation_indent_size = 4 331 | ij_javascript_align_imports = false 332 | ij_javascript_align_multiline_array_initializer_expression = false 333 | ij_javascript_align_multiline_binary_operation = false 334 | ij_javascript_align_multiline_chained_methods = false 335 | ij_javascript_align_multiline_extends_list = false 336 | ij_javascript_align_multiline_for = true 337 | ij_javascript_align_multiline_parameters = true 338 | ij_javascript_align_multiline_parameters_in_calls = false 339 | ij_javascript_align_multiline_ternary_operation = false 340 | ij_javascript_align_object_properties = 0 341 | ij_javascript_align_union_types = false 342 | ij_javascript_align_var_statements = 1 343 | ij_javascript_array_initializer_new_line_after_left_brace = true 344 | ij_javascript_array_initializer_right_brace_on_new_line = true 345 | ij_javascript_array_initializer_wrap = on_every_item 346 | ij_javascript_assignment_wrap = off 347 | ij_javascript_binary_operation_sign_on_next_line = false 348 | ij_javascript_binary_operation_wrap = off 349 | ij_javascript_blacklist_imports = rxjs/Rx,node_modules/**,**/node_modules/**,@angular/material,@angular/material/typings/** 350 | ij_javascript_blank_lines_after_imports = 1 351 | ij_javascript_blank_lines_around_class = 1 352 | ij_javascript_blank_lines_around_field = 0 353 | ij_javascript_blank_lines_around_function = 1 354 | ij_javascript_blank_lines_around_method = 1 355 | ij_javascript_block_brace_style = end_of_line 356 | ij_javascript_block_comment_add_space = false 357 | ij_javascript_block_comment_at_first_column = true 358 | ij_javascript_call_parameters_new_line_after_left_paren = false 359 | ij_javascript_call_parameters_right_paren_on_new_line = false 360 | ij_javascript_call_parameters_wrap = off 361 | ij_javascript_catch_on_new_line = false 362 | ij_javascript_chained_call_dot_on_new_line = true 363 | ij_javascript_class_brace_style = next_line 364 | ij_javascript_comma_on_new_line = false 365 | ij_javascript_do_while_brace_force = never 366 | ij_javascript_else_on_new_line = false 367 | ij_javascript_enforce_trailing_comma = remove 368 | ij_javascript_extends_keyword_wrap = off 369 | ij_javascript_extends_list_wrap = off 370 | ij_javascript_field_prefix = _ 371 | ij_javascript_file_name_style = lisp_case 372 | ij_javascript_finally_on_new_line = false 373 | ij_javascript_for_brace_force = never 374 | ij_javascript_for_statement_new_line_after_left_paren = false 375 | ij_javascript_for_statement_right_paren_on_new_line = false 376 | ij_javascript_for_statement_wrap = off 377 | ij_javascript_force_quote_style = true 378 | ij_javascript_force_semicolon_style = true 379 | ij_javascript_function_expression_brace_style = end_of_line 380 | ij_javascript_if_brace_force = never 381 | ij_javascript_import_merge_members = global 382 | ij_javascript_import_prefer_absolute_path = true 383 | ij_javascript_import_sort_members = true 384 | ij_javascript_import_sort_module_name = false 385 | ij_javascript_import_use_node_resolution = true 386 | ij_javascript_imports_wrap = on_every_item 387 | ij_javascript_indent_case_from_switch = true 388 | ij_javascript_indent_chained_calls = true 389 | ij_javascript_indent_package_children = 0 390 | ij_javascript_jsx_attribute_value = braces 391 | ij_javascript_keep_blank_lines_in_code = 1 392 | ij_javascript_keep_first_column_comment = true 393 | ij_javascript_keep_indents_on_empty_lines = false 394 | ij_javascript_keep_line_breaks = true 395 | ij_javascript_keep_simple_blocks_in_one_line = false 396 | ij_javascript_keep_simple_methods_in_one_line = false 397 | ij_javascript_line_comment_add_space = false 398 | ij_javascript_line_comment_at_first_column = false 399 | ij_javascript_method_brace_style = end_of_line 400 | ij_javascript_method_call_chain_wrap = off 401 | ij_javascript_method_parameters_new_line_after_left_paren = false 402 | ij_javascript_method_parameters_right_paren_on_new_line = false 403 | ij_javascript_method_parameters_wrap = off 404 | ij_javascript_object_literal_wrap = on_every_item 405 | ij_javascript_object_types_wrap = on_every_item 406 | ij_javascript_parentheses_expression_new_line_after_left_paren = false 407 | ij_javascript_parentheses_expression_right_paren_on_new_line = false 408 | ij_javascript_place_assignment_sign_on_next_line = false 409 | ij_javascript_prefer_as_type_cast = false 410 | ij_javascript_prefer_explicit_types_function_expression_returns = false 411 | ij_javascript_prefer_explicit_types_function_returns = false 412 | ij_javascript_prefer_explicit_types_vars_fields = false 413 | ij_javascript_prefer_parameters_wrap = false 414 | ij_javascript_reformat_c_style_comments = false 415 | ij_javascript_space_after_colon = true 416 | ij_javascript_space_after_comma = true 417 | ij_javascript_space_after_dots_in_rest_parameter = false 418 | ij_javascript_space_after_generator_mult = true 419 | ij_javascript_space_after_property_colon = true 420 | ij_javascript_space_after_quest = true 421 | ij_javascript_space_after_type_colon = true 422 | ij_javascript_space_after_unary_not = true 423 | ij_javascript_space_before_async_arrow_lparen = true 424 | ij_javascript_space_before_catch_keyword = true 425 | ij_javascript_space_before_catch_left_brace = true 426 | ij_javascript_space_before_catch_parentheses = true 427 | ij_javascript_space_before_class_lbrace = true 428 | ij_javascript_space_before_class_left_brace = true 429 | ij_javascript_space_before_colon = true 430 | ij_javascript_space_before_comma = false 431 | ij_javascript_space_before_do_left_brace = true 432 | ij_javascript_space_before_else_keyword = true 433 | ij_javascript_space_before_else_left_brace = true 434 | ij_javascript_space_before_finally_keyword = true 435 | ij_javascript_space_before_finally_left_brace = true 436 | ij_javascript_space_before_for_left_brace = true 437 | ij_javascript_space_before_for_parentheses = true 438 | ij_javascript_space_before_for_semicolon = false 439 | ij_javascript_space_before_function_left_parenth = true 440 | ij_javascript_space_before_generator_mult = false 441 | ij_javascript_space_before_if_left_brace = true 442 | ij_javascript_space_before_if_parentheses = true 443 | ij_javascript_space_before_method_call_parentheses = false 444 | ij_javascript_space_before_method_left_brace = true 445 | ij_javascript_space_before_method_parentheses = false 446 | ij_javascript_space_before_property_colon = false 447 | ij_javascript_space_before_quest = true 448 | ij_javascript_space_before_switch_left_brace = true 449 | ij_javascript_space_before_switch_parentheses = true 450 | ij_javascript_space_before_try_left_brace = true 451 | ij_javascript_space_before_type_colon = false 452 | ij_javascript_space_before_unary_not = false 453 | ij_javascript_space_before_while_keyword = true 454 | ij_javascript_space_before_while_left_brace = true 455 | ij_javascript_space_before_while_parentheses = true 456 | ij_javascript_spaces_around_additive_operators = true 457 | ij_javascript_spaces_around_arrow_function_operator = true 458 | ij_javascript_spaces_around_assignment_operators = true 459 | ij_javascript_spaces_around_bitwise_operators = true 460 | ij_javascript_spaces_around_equality_operators = true 461 | ij_javascript_spaces_around_logical_operators = true 462 | ij_javascript_spaces_around_multiplicative_operators = true 463 | ij_javascript_spaces_around_relational_operators = true 464 | ij_javascript_spaces_around_shift_operators = true 465 | ij_javascript_spaces_around_unary_operator = false 466 | ij_javascript_spaces_within_array_initializer_brackets = false 467 | ij_javascript_spaces_within_brackets = false 468 | ij_javascript_spaces_within_catch_parentheses = false 469 | ij_javascript_spaces_within_for_parentheses = false 470 | ij_javascript_spaces_within_if_parentheses = false 471 | ij_javascript_spaces_within_imports = true 472 | ij_javascript_spaces_within_interpolation_expressions = true 473 | ij_javascript_spaces_within_method_call_parentheses = false 474 | ij_javascript_spaces_within_method_parentheses = false 475 | ij_javascript_spaces_within_object_literal_braces = true 476 | ij_javascript_spaces_within_object_type_braces = true 477 | ij_javascript_spaces_within_parentheses = false 478 | ij_javascript_spaces_within_switch_parentheses = false 479 | ij_javascript_spaces_within_type_assertion = false 480 | ij_javascript_spaces_within_union_types = true 481 | ij_javascript_spaces_within_while_parentheses = false 482 | ij_javascript_special_else_if_treatment = true 483 | ij_javascript_ternary_operation_signs_on_next_line = false 484 | ij_javascript_ternary_operation_wrap = off 485 | ij_javascript_union_types_wrap = on_every_item 486 | ij_javascript_use_chained_calls_group_indents = false 487 | ij_javascript_use_double_quotes = false 488 | ij_javascript_use_explicit_js_extension = auto 489 | ij_javascript_use_path_mapping = always 490 | ij_javascript_use_public_modifier = false 491 | ij_javascript_use_semicolon_after_statement = false 492 | ij_javascript_var_declaration_wrap = on_every_item 493 | ij_javascript_while_brace_force = never 494 | ij_javascript_while_on_new_line = false 495 | ij_javascript_wrap_comments = false 496 | 497 | [{*.ctp,*.hphp,*.inc,*.module,*.php,*.php4,*.php5,*.phtml}] 498 | ij_continuation_indent_size = 4 499 | ij_php_align_assignments = true 500 | ij_php_align_class_constants = true 501 | ij_php_align_enum_cases = true 502 | ij_php_align_group_field_declarations = false 503 | ij_php_align_inline_comments = false 504 | ij_php_align_key_value_pairs = true 505 | ij_php_align_match_arm_bodies = true 506 | ij_php_align_multiline_array_initializer_expression = true 507 | ij_php_align_multiline_binary_operation = false 508 | ij_php_align_multiline_chained_methods = false 509 | ij_php_align_multiline_extends_list = true 510 | ij_php_align_multiline_for = false 511 | ij_php_align_multiline_parameters = false 512 | ij_php_align_multiline_parameters_in_calls = false 513 | ij_php_align_multiline_ternary_operation = false 514 | ij_php_align_named_arguments = true 515 | ij_php_align_phpdoc_comments = false 516 | ij_php_align_phpdoc_param_names = false 517 | ij_php_anonymous_brace_style = end_of_line 518 | ij_php_api_weight = 28 519 | ij_php_array_initializer_new_line_after_left_brace = true 520 | ij_php_array_initializer_right_brace_on_new_line = true 521 | ij_php_array_initializer_wrap = on_every_item 522 | ij_php_assignment_wrap = on_every_item 523 | ij_php_attributes_wrap = split_into_lines 524 | ij_php_author_weight = 3 525 | ij_php_binary_operation_sign_on_next_line = true 526 | ij_php_binary_operation_wrap = on_every_item 527 | ij_php_blank_lines_after_class_header = 0 528 | ij_php_blank_lines_after_function = 1 529 | ij_php_blank_lines_after_imports = 1 530 | ij_php_blank_lines_after_opening_tag = 1 531 | ij_php_blank_lines_after_package = 1 532 | ij_php_blank_lines_around_class = 1 533 | ij_php_blank_lines_around_constants = 0 534 | ij_php_blank_lines_around_enum_cases = 0 535 | ij_php_blank_lines_around_field = 1 536 | ij_php_blank_lines_around_method = 1 537 | ij_php_blank_lines_before_class_end = 0 538 | ij_php_blank_lines_before_imports = 1 539 | ij_php_blank_lines_before_method_body = 0 540 | ij_php_blank_lines_before_package = 1 541 | ij_php_blank_lines_before_return_statement = 1 542 | ij_php_blank_lines_between_imports = 1 543 | ij_php_block_brace_style = end_of_line 544 | ij_php_call_parameters_new_line_after_left_paren = true 545 | ij_php_call_parameters_right_paren_on_new_line = true 546 | ij_php_call_parameters_wrap = on_every_item 547 | ij_php_catch_on_new_line = true 548 | ij_php_category_weight = 28 549 | ij_php_class_brace_style = next_line 550 | ij_php_comma_after_last_argument = false 551 | ij_php_comma_after_last_array_element = true 552 | ij_php_comma_after_last_closure_use_var = false 553 | ij_php_comma_after_last_match_arm = true 554 | ij_php_comma_after_last_parameter = false 555 | ij_php_concat_spaces = true 556 | ij_php_copyright_weight = 4 557 | ij_php_deprecated_weight = 0 558 | ij_php_do_while_brace_force = always 559 | ij_php_else_if_style = combine 560 | ij_php_else_on_new_line = true 561 | ij_php_example_weight = 28 562 | ij_php_extends_keyword_wrap = normal 563 | ij_php_extends_list_wrap = on_every_item 564 | ij_php_fields_default_visibility = protected 565 | ij_php_filesource_weight = 28 566 | ij_php_finally_on_new_line = true 567 | ij_php_for_brace_force = always 568 | ij_php_for_statement_new_line_after_left_paren = false 569 | ij_php_for_statement_right_paren_on_new_line = false 570 | ij_php_for_statement_wrap = normal 571 | ij_php_force_empty_methods_in_one_line = true 572 | ij_php_force_short_declaration_array_style = true 573 | ij_php_getters_setters_naming_style = camel_case 574 | ij_php_getters_setters_order_style = getters_first 575 | ij_php_global_weight = 28 576 | ij_php_group_use_wrap = on_every_item 577 | ij_php_if_brace_force = always 578 | ij_php_if_lparen_on_next_line = true 579 | ij_php_if_rparen_on_next_line = true 580 | ij_php_ignore_weight = 28 581 | ij_php_import_sorting = alphabetic 582 | ij_php_indent_break_from_case = true 583 | ij_php_indent_case_from_switch = true 584 | ij_php_indent_code_in_php_tags = false 585 | ij_php_internal_weight = 1 586 | ij_php_keep_blank_lines_after_lbrace = 1 587 | ij_php_keep_blank_lines_before_right_brace = 0 588 | ij_php_keep_blank_lines_in_code = 1 589 | ij_php_keep_blank_lines_in_declarations = 0 590 | ij_php_keep_control_statement_in_one_line = false 591 | ij_php_keep_first_column_comment = false 592 | ij_php_keep_indents_on_empty_lines = false 593 | ij_php_keep_line_breaks = true 594 | ij_php_keep_rparen_and_lbrace_on_one_line = true 595 | ij_php_keep_simple_classes_in_one_line = true 596 | ij_php_keep_simple_methods_in_one_line = true 597 | ij_php_lambda_brace_style = end_of_line 598 | ij_php_license_weight = 5 599 | ij_php_line_comment_add_space = false 600 | ij_php_line_comment_at_first_column = false 601 | ij_php_link_weight = 7 602 | ij_php_lower_case_boolean_const = true 603 | ij_php_lower_case_keywords = true 604 | ij_php_lower_case_null_const = true 605 | ij_php_method_brace_style = next_line 606 | ij_php_method_call_chain_wrap = on_every_item 607 | ij_php_method_parameters_new_line_after_left_paren = true 608 | ij_php_method_parameters_right_paren_on_new_line = true 609 | ij_php_method_parameters_wrap = on_every_item 610 | ij_php_method_weight = 13 611 | ij_php_modifier_list_wrap = false 612 | ij_php_multiline_chained_calls_semicolon_on_new_line = false 613 | ij_php_namespace_brace_style = 2 614 | ij_php_new_line_after_php_opening_tag = true 615 | ij_php_null_type_position = in_the_end 616 | ij_php_package_weight = 28 617 | ij_php_param_weight = 9 618 | ij_php_parameters_attributes_wrap = split_into_lines 619 | ij_php_parentheses_expression_new_line_after_left_paren = false 620 | ij_php_parentheses_expression_right_paren_on_new_line = false 621 | ij_php_phpdoc_blank_line_before_tags = true 622 | ij_php_phpdoc_blank_lines_around_parameters = true 623 | ij_php_phpdoc_keep_blank_lines = true 624 | ij_php_phpdoc_param_spaces_between_name_and_description = 2 625 | ij_php_phpdoc_param_spaces_between_tag_and_type = 2 626 | ij_php_phpdoc_param_spaces_between_type_and_name = 2 627 | ij_php_phpdoc_use_fqcn = true 628 | ij_php_phpdoc_wrap_long_lines = true 629 | ij_php_place_assignment_sign_on_next_line = false 630 | ij_php_place_parens_for_constructor = 1 631 | ij_php_property_read_weight = 11 632 | ij_php_property_weight = 10 633 | ij_php_property_write_weight = 12 634 | ij_php_return_type_on_new_line = false 635 | ij_php_return_weight = 15 636 | ij_php_see_weight = 6 637 | ij_php_since_weight = 2 638 | ij_php_sort_phpdoc_elements = true 639 | ij_php_space_after_colon = true 640 | ij_php_space_after_colon_in_enum_backed_type = true 641 | ij_php_space_after_colon_in_named_argument = true 642 | ij_php_space_after_colon_in_return_type = true 643 | ij_php_space_after_comma = true 644 | ij_php_space_after_for_semicolon = true 645 | ij_php_space_after_quest = true 646 | ij_php_space_after_type_cast = true 647 | ij_php_space_after_unary_not = true 648 | ij_php_space_before_array_initializer_left_brace = true 649 | ij_php_space_before_catch_keyword = true 650 | ij_php_space_before_catch_left_brace = true 651 | ij_php_space_before_catch_parentheses = true 652 | ij_php_space_before_class_left_brace = true 653 | ij_php_space_before_closure_left_parenthesis = true 654 | ij_php_space_before_colon = true 655 | ij_php_space_before_colon_in_enum_backed_type = false 656 | ij_php_space_before_colon_in_named_argument = false 657 | ij_php_space_before_colon_in_return_type = false 658 | ij_php_space_before_comma = false 659 | ij_php_space_before_do_left_brace = true 660 | ij_php_space_before_else_keyword = true 661 | ij_php_space_before_else_left_brace = true 662 | ij_php_space_before_finally_keyword = true 663 | ij_php_space_before_finally_left_brace = true 664 | ij_php_space_before_for_left_brace = true 665 | ij_php_space_before_for_parentheses = true 666 | ij_php_space_before_for_semicolon = false 667 | ij_php_space_before_if_left_brace = true 668 | ij_php_space_before_if_parentheses = true 669 | ij_php_space_before_method_call_parentheses = false 670 | ij_php_space_before_method_left_brace = true 671 | ij_php_space_before_method_parentheses = false 672 | ij_php_space_before_quest = true 673 | ij_php_space_before_short_closure_left_parenthesis = true 674 | ij_php_space_before_switch_left_brace = true 675 | ij_php_space_before_switch_parentheses = true 676 | ij_php_space_before_try_left_brace = true 677 | ij_php_space_before_unary_not = false 678 | ij_php_space_before_while_keyword = true 679 | ij_php_space_before_while_left_brace = true 680 | ij_php_space_before_while_parentheses = true 681 | ij_php_space_between_ternary_quest_and_colon = false 682 | ij_php_spaces_around_additive_operators = true 683 | ij_php_spaces_around_arrow = false 684 | ij_php_spaces_around_assignment_in_declare = false 685 | ij_php_spaces_around_assignment_operators = true 686 | ij_php_spaces_around_bitwise_operators = true 687 | ij_php_spaces_around_equality_operators = true 688 | ij_php_spaces_around_logical_operators = true 689 | ij_php_spaces_around_multiplicative_operators = true 690 | ij_php_spaces_around_null_coalesce_operator = true 691 | ij_php_spaces_around_pipe_in_union_type = false 692 | ij_php_spaces_around_relational_operators = true 693 | ij_php_spaces_around_shift_operators = true 694 | ij_php_spaces_around_unary_operator = false 695 | ij_php_spaces_around_var_within_brackets = false 696 | ij_php_spaces_within_array_initializer_braces = false 697 | ij_php_spaces_within_brackets = false 698 | ij_php_spaces_within_catch_parentheses = false 699 | ij_php_spaces_within_for_parentheses = false 700 | ij_php_spaces_within_if_parentheses = false 701 | ij_php_spaces_within_method_call_parentheses = false 702 | ij_php_spaces_within_method_parentheses = false 703 | ij_php_spaces_within_parentheses = false 704 | ij_php_spaces_within_short_echo_tags = true 705 | ij_php_spaces_within_switch_parentheses = false 706 | ij_php_spaces_within_while_parentheses = false 707 | ij_php_special_else_if_treatment = true 708 | ij_php_subpackage_weight = 28 709 | ij_php_ternary_operation_signs_on_next_line = true 710 | ij_php_ternary_operation_wrap = on_every_item 711 | ij_php_throws_weight = 14 712 | ij_php_todo_weight = 28 713 | ij_php_treat_multiline_arrays_and_lambdas_multiline = false 714 | ij_php_unknown_tag_weight = 28 715 | ij_php_upper_case_boolean_const = false 716 | ij_php_upper_case_null_const = false 717 | ij_php_uses_weight = 28 718 | ij_php_var_weight = 28 719 | ij_php_variable_naming_style = camel_case 720 | ij_php_version_weight = 8 721 | ij_php_while_brace_force = always 722 | ij_php_while_on_new_line = true 723 | 724 | [{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.prettierrc,.stylelintrc,bowerrc,composer.lock,jest.config}] 725 | ij_continuation_indent_size = 4 726 | ij_json_array_wrapping = on_every_item 727 | ij_json_keep_blank_lines_in_code = 1 728 | ij_json_keep_indents_on_empty_lines = false 729 | ij_json_keep_line_breaks = true 730 | ij_json_keep_trailing_comma = false 731 | ij_json_object_wrapping = on_every_item 732 | ij_json_property_alignment = do_not_align 733 | ij_json_space_after_colon = true 734 | ij_json_space_after_comma = true 735 | ij_json_space_before_colon = false 736 | ij_json_space_before_comma = false 737 | ij_json_spaces_within_braces = true 738 | ij_json_spaces_within_brackets = false 739 | ij_json_wrap_long_lines = false 740 | 741 | [{*.htm,*.html,*.sht,*.shtm,*.shtml}] 742 | ij_continuation_indent_size = 4 743 | ij_visual_guides = 160 744 | ij_html_add_new_line_before_tags = body,div,p,form,h1,h2,h3 745 | ij_html_align_attributes = false 746 | ij_html_align_text = false 747 | ij_html_attribute_wrap = on_every_item 748 | ij_html_block_comment_add_space = false 749 | ij_html_block_comment_at_first_column = true 750 | ij_html_do_not_align_children_of_min_lines = 0 751 | ij_html_do_not_break_if_inline_tags = title,h1,h2,h3,h4,h5,h6,p 752 | ij_html_do_not_indent_children_of_tags = html,body,thead,tbody,tfoot 753 | ij_html_enforce_quotes = true 754 | ij_html_inline_tags = a,abbr,acronym,b,basefont,bdo,big,br,cite,cite,code,dfn,em,font,i,img,input,kbd,label,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var 755 | ij_html_keep_blank_lines = 2 756 | ij_html_keep_indents_on_empty_lines = false 757 | ij_html_keep_line_breaks = true 758 | ij_html_keep_line_breaks_in_text = true 759 | ij_html_keep_whitespaces = false 760 | ij_html_keep_whitespaces_inside = span,pre,textarea 761 | ij_html_line_comment_at_first_column = true 762 | ij_html_new_line_after_last_attribute = never 763 | ij_html_new_line_before_first_attribute = when_multiline 764 | ij_html_quote_style = double 765 | ij_html_remove_new_line_before_tags = br 766 | ij_html_space_after_tag_name = false 767 | ij_html_space_around_equality_in_attribute = false 768 | ij_html_space_inside_empty_tag = true 769 | ij_html_text_wrap = off 770 | 771 | [{*.http,*.rest}] 772 | indent_size = 0 773 | ij_continuation_indent_size = 4 774 | ij_http request_call_parameters_wrap = on_every_item 775 | 776 | [{*.markdown,*.md}] 777 | ij_markdown_force_one_space_after_blockquote_symbol = true 778 | ij_markdown_force_one_space_after_header_symbol = true 779 | ij_markdown_force_one_space_after_list_bullet = true 780 | ij_markdown_force_one_space_between_words = true 781 | ij_markdown_format_tables = true 782 | ij_markdown_insert_quote_arrows_on_wrap = true 783 | ij_markdown_keep_indents_on_empty_lines = false 784 | ij_markdown_keep_line_breaks_inside_text_blocks = true 785 | ij_markdown_max_lines_around_block_elements = 1 786 | ij_markdown_max_lines_around_header = 1 787 | ij_markdown_max_lines_between_paragraphs = 1 788 | ij_markdown_min_lines_around_block_elements = 1 789 | ij_markdown_min_lines_around_header = 2 790 | ij_markdown_min_lines_between_paragraphs = 1 791 | ij_markdown_wrap_text_if_long = true 792 | ij_markdown_wrap_text_inside_blockquotes = true 793 | 794 | [{*.yaml,*.yml}] 795 | ij_yaml_align_values_properties = do_not_align 796 | ij_yaml_autoinsert_sequence_marker = true 797 | ij_yaml_block_mapping_on_new_line = false 798 | ij_yaml_indent_sequence_value = true 799 | ij_yaml_keep_indents_on_empty_lines = false 800 | ij_yaml_keep_line_breaks = true 801 | ij_yaml_sequence_on_new_line = true 802 | ij_yaml_space_before_colon = false 803 | ij_yaml_spaces_within_braces = true 804 | ij_yaml_spaces_within_brackets = true 805 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020-2025 Andrey Helldar 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pretty Routes for Laravel 2 | 3 | Visualise your routes in pretty format. 4 | 5 |

6 | Pretty RoutesLight Theme 7 |

8 | 9 |

10 | Pretty Routes Dark Theme 11 |

12 | 13 | [![Stable Version][badge_stable]][link_packagist] 14 | [![Total Downloads][badge_downloads]][link_packagist] 15 | [![Github Workflow Status][badge_build]][link_build] 16 | [![License][badge_license]][link_license] 17 | 18 | ## Installation 19 | 20 | ### Laravel Framework 21 | 22 | To get the latest version of `Pretty Routes`, simply require the project using [Composer](https://getcomposer.org): 23 | 24 | ```bash 25 | composer require dragon-code/pretty-routes --dev 26 | ``` 27 | 28 | ### Lumen Framework 29 | 30 | > We do not provide support for the Lumen Framework because we consider it to be an insufficiently functional product, 31 | > as a result of which various errors may occur on more recent versions of Lumen. 32 | > 33 | > In addition, Taylor Otwell also [announced](https://lumen.laravel.com/docs/9.x#installation) the end of support for Lumen. 34 | > 35 | > ![image](https://user-images.githubusercontent.com/10347617/176400737-4911dc8d-0d5e-44df-a8af-782700807077.png) 36 | 37 | To get the latest version of `Pretty Routes`, simply require the project using [Composer](https://getcomposer.org): 38 | 39 | ```bash 40 | composer require dragon-code/pretty-routes dragon-code/laravel-routes-core:^4.1 --dev 41 | ``` 42 | 43 | In your `bootstrap/app.php` file add a line above `$app->register(App\Providers\RouteServiceProvider::class)`: 44 | 45 | ```php 46 | if (env('APP_ENV') !== 'production') { 47 | $app->register(\PrettyRoutes\ServiceProvider::class); 48 | $app->configure('pretty-routes'); 49 | } 50 | ``` 51 | 52 | Next, copy [config](config/pretty-routes.php) file to `config/pretty-routes.php` and change options to: 53 | 54 | ``` 55 | return [ 56 | // ... 57 | 58 | 'web_middleware' => null, 59 | 'api_middleware' => null, 60 | 61 | // ... 62 | ]; 63 | ``` 64 | 65 | ### Both frameworks 66 | 67 | By default, the package exposes a `/routes` url. If you wish to configure this, publish the config. 68 | 69 | ```bash 70 | php artisan vendor:publish --provider="PrettyRoutes\ServiceProvider" 71 | ``` 72 | 73 | > If accessing `/routes` isn't working, ensure that you've included the provider within the same area as all your package providers (before all your app's providers) to ensure it takes priority. 74 | 75 | > By default, pretty routes only enables itself when `APP_DEBUG` env is true. You can configure this on the published config as above, or add any custom middlewares. 76 | 77 | ## Upgrade from another packages 78 | 79 | ### Upgrade from `andrey-helldar/pretty-routes` 80 | 81 | 1. In your `composer.json` file, replace `"andrey-helldar/pretty-routes": "^2.0"` with `"dragon-code/pretty-routes": "^3.0"`. 82 | 2. Run the command `composer update`. 83 | 3. Profit! 84 | 85 | ### Upgrade from `garygreen/pretty-routes` 86 | 87 | 6. In your `composer.json` file, replace `"garygreen/pretty-routes": "^1.0"` with `"dragon-code/pretty-routes": "^3.0"`. 88 | 7. Run the command `composer update`. 89 | 8. Profit! 90 | 91 | ## Using 92 | 93 | Open the `/routes` uri. For example, [http://localhost:8000/routes](http://localhost:8000/routes) 94 | 95 | ## License 96 | 97 | This package is licensed under the [MIT License](LICENSE). 98 | 99 | 100 | [badge_build]: https://img.shields.io/github/actions/workflow/status/TheDragonCode/pretty-routes/phpunit.yml?style=flat-square 101 | 102 | [badge_downloads]: https://img.shields.io/packagist/dt/dragon-code/pretty-routes.svg?style=flat-square 103 | 104 | [badge_license]: https://img.shields.io/packagist/l/dragon-code/pretty-routes.svg?style=flat-square 105 | 106 | [badge_stable]: https://img.shields.io/github/v/release/TheDragonCode/pretty-routes?label=stable&style=flat-square 107 | 108 | [link_build]: https://github.com/TheDragonCode/pretty-routes/actions 109 | 110 | [link_license]: LICENSE 111 | 112 | [link_packagist]: https://packagist.org/packages/dragon-code/pretty-routes 113 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dragon-code/pretty-routes", 3 | "description": "Pretty Routes for Laravel", 4 | "license": "MIT", 5 | "type": "library", 6 | "keywords": [ 7 | "laravel", 8 | "routes", 9 | "pretty", 10 | "pretty-routes", 11 | "dragon-code", 12 | "dragon", 13 | "andrey-helldar" 14 | ], 15 | "authors": [ 16 | { 17 | "name": "Andrey Helldar", 18 | "email": "helldar@dragon-code.pro", 19 | "homepage": "https://dragon-code.pro" 20 | }, 21 | { 22 | "name": "Gary Green", 23 | "email": "holegary@gmail.com" 24 | } 25 | ], 26 | "support": { 27 | "issues": "https://github.com/TheDragonCode/pretty-routes/issues", 28 | "source": "https://github.com/TheDragonCode/pretty-routes" 29 | }, 30 | "funding": [ 31 | { 32 | "type": "boosty", 33 | "url": "https://boosty.to/dragon-code" 34 | }, 35 | { 36 | "type": "yoomoney", 37 | "url": "https://yoomoney.ru/to/410012608840929" 38 | } 39 | ], 40 | "require": { 41 | "php": "^7.3 || ^8.0", 42 | "ext-json": "*", 43 | "dragon-code/contracts": "^2.6", 44 | "dragon-code/laravel-routes-core": "^4.1 || ^5.0", 45 | "dragon-code/laravel-support": "^3.3", 46 | "dragon-code/support": "^5.6 || ^6.1", 47 | "illuminate/contracts": ">=6.0 <13.0", 48 | "illuminate/http": ">=6.0 <13.0", 49 | "illuminate/routing": ">=6.0 <13.0", 50 | "illuminate/support": ">=6.0 <13.0", 51 | "illuminate/view": ">=6.0 <13.0" 52 | }, 53 | "require-dev": { 54 | "mockery/mockery": "^1.0", 55 | "orchestra/testbench": ">=4.0 <11.0", 56 | "phpunit/phpunit": "^8.0 || ^9.6 || ^10.0 || ^11.0 || ^12.0" 57 | }, 58 | "conflict": { 59 | "garygreen/pretty-routes": "*" 60 | }, 61 | "minimum-stability": "stable", 62 | "prefer-stable": true, 63 | "autoload": { 64 | "psr-4": { 65 | "PrettyRoutes\\": "src" 66 | } 67 | }, 68 | "autoload-dev": { 69 | "psr-4": { 70 | "Tests\\": "tests" 71 | } 72 | }, 73 | "config": { 74 | "allow-plugins": { 75 | "dragon-code/codestyler": true, 76 | "ergebnis/composer-normalize": true, 77 | "friendsofphp/php-cs-fixer": true, 78 | "symfony/thanks": true 79 | }, 80 | "preferred-install": "dist", 81 | "sort-packages": true 82 | }, 83 | "extra": { 84 | "laravel": { 85 | "providers": [ 86 | "PrettyRoutes\\ServiceProvider" 87 | ] 88 | }, 89 | "thanks": [ 90 | { 91 | "name": "dragon-code/laravel-routes-core", 92 | "url": "https://github.com/TheDragonCode/laravel-routes-core" 93 | }, 94 | { 95 | "name": "dragon-code/support", 96 | "url": "https://github.com/TheDragonCode/support" 97 | } 98 | ] 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /config/pretty-routes.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | // The endpoint to access the routes. 17 | 18 | 'url' => 'routes', 19 | 20 | // The middleware(s) to apply before attempting to access routes pages (web + api). 21 | 22 | 'middlewares' => [], 23 | 24 | /* 25 | * The middleware(s) to apply before attempting to access WEB route page. 26 | * 27 | * Also routes for WEB will be determined by this value. 28 | */ 29 | 30 | 'web_middleware' => 'web', 31 | 32 | /* 33 | * The middleware(s) to apply before attempting to access API route. 34 | * 35 | * Also routes for API will be determined by this value. 36 | */ 37 | 38 | 'api_middleware' => 'api', 39 | 40 | // Indicates whether to enable pretty routes only when debug is enabled (APP_DEBUG). 41 | 42 | 'debug_only' => true, 43 | 44 | // The methods to hide. 45 | 46 | 'hide_methods' => [ 47 | 'HEAD', 48 | ], 49 | 50 | // The routes to hide with regular expression 51 | 52 | 'hide_matching' => [ 53 | '#^__clockwork#', 54 | '#^_debugbar#', 55 | '#^_ignition#', 56 | '#^horizon#', 57 | '#^routes#', 58 | '#^sanctum#', 59 | '#^telescope#', 60 | ], 61 | 62 | /* 63 | * Set a light or dark themes. 64 | * 65 | * Available: 66 | * light - always chooses a light theme. 67 | * dark - always chooses a dark theme. 68 | * auto - automatic theme detection from browser. 69 | * 70 | * By default, auto. 71 | */ 72 | 73 | 'color_scheme' => 'auto', 74 | 75 | /* 76 | * Apply color theme when idle time or active. 77 | * 78 | * If your browser theme following any specific condition (os, time etc.) helps to auto theme switch. 79 | * 80 | * 1000 ms = 1 seconds 81 | * 82 | * This option depends to "color_scheme" and works only with "auto" 83 | * 84 | * By default, 1000 and accepts only integer values. 85 | */ 86 | 87 | 'color_scheme_idle_time' => 1000, 88 | 89 | /* 90 | * Auto reload table contents when return back. 91 | * 92 | * 1000 ms = 1 seconds 93 | * 94 | * 0 = disabled 95 | * 96 | * By default, 10000 and accepts only integer values. 97 | */ 98 | 99 | 'table_reload_idle_time' => 10000, 100 | 101 | /* 102 | * If routes are not separated by a domain, this column is hidden from display by default. 103 | * 104 | * If you want to always show the column with the domain name, set the value to "true". 105 | * 106 | * By default, false. 107 | */ 108 | 109 | 'domain_force' => false, 110 | 111 | /* 112 | * In the case when you need to use a specific localization, set its name to the value. 113 | * 114 | * For example "de". 115 | * 116 | * Otherwise, leave the value "false". 117 | */ 118 | 119 | 'locale_force' => false, 120 | 121 | /* 122 | * Enable open link in new tab. 123 | * 124 | * Useful for manual testing or visual checks. 125 | * 126 | * This option related with "dummy_variable_prefix" 127 | */ 128 | 129 | 'show_path_link' => true, 130 | 131 | /* 132 | * Laravel stores variable names with curly bracktes, this option replaces "prefix" and "variable name". 133 | * So we can prevent url encode when browsing and we can get readable urls 134 | * 135 | * For example 136 | * before admin/line/lines/{line_id} => admin/line/lines/%7Bline_id%7D 137 | * after: admin/line/lines/{line_id} => admin/line/lines/param_line_id 138 | * 139 | * This option depends to "show_path_link" 140 | */ 141 | 142 | 'dummy_variable_prefix' => 'param_', 143 | 144 | // Click and copy to clipboard "path" and "name" text. 145 | 146 | 'click_and_copy' => true, 147 | 148 | /* 149 | * Double click and copy to clipboard "path" and "name" text. 150 | * 151 | * This option overwrites "click_and_copy" option. 152 | */ 153 | 154 | 'double_click_and_copy' => true, 155 | ]; 156 | -------------------------------------------------------------------------------- /resources/lang/en/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => 'Action', 17 | 'all' => 'All', 18 | 'api' => 'Api', 19 | 'cleaningRoutes' => 'Clear route cache', 20 | 'deprecated' => 'Deprecated', 21 | 'dismiss' => 'Dismiss', 22 | 'domain' => 'Domain', 23 | 'error' => 'Error', 24 | 'itemsPerPageAllText' => 'All', 25 | 'itemsPerPageText' => 'Routes per page', 26 | 'loadedOnActive' => 'Reloaded after idle', 27 | 'loading' => 'Loading... Please wait...', 28 | 'methods' => 'Methods', 29 | 'middlewares' => 'Middlewares', 30 | 'module' => 'Module', 31 | 'name' => 'Name', 32 | 'noDataText' => 'No data available', 33 | 'noResultsText' => 'No matching records found', 34 | 'of' => 'of', 35 | 'only' => 'Only', 36 | 'openGitHub' => 'Open the project page on GitHub', 37 | 'pageText' => '{0}-{1} of {2}', 38 | 'path' => 'Path', 39 | 'printData' => 'Print Data', 40 | 'priority' => 'Priority', 41 | 'refreshRoutes' => 'Refresh the list of routes', 42 | 'reload' => 'Reload', 43 | 'search' => 'Search', 44 | 'show' => 'Show', 45 | 'showMessage' => 'Show Message', 46 | 'textCopied' => 'Text copied', 47 | 'textNotCopy' => 'Text not copy', 48 | 'title' => 'Routes', 49 | 'types' => 'Route types', 50 | 'web' => 'Web', 51 | 'without' => 'Without', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/lang/es/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => 'Acción', 17 | 'all' => 'Todos', 18 | 'api' => 'API', 19 | 'cleaningRoutes' => 'Limpiar caché de ruta', 20 | 'deprecated' => 'Obsoleto', 21 | 'dismiss' => 'Descartar', 22 | 'domain' => 'Dominio', 23 | 'error' => 'Error', 24 | 'itemsPerPageAllText' => 'Todos', 25 | 'itemsPerPageText' => 'Rutas por página', 26 | 'loadedOnActive' => 'Recargado después de inactivo', 27 | 'loading' => 'Cargando... Por favor espere...', 28 | 'methods' => 'Métodos', 29 | 'middlewares' => 'Middlewares', 30 | 'module' => 'Módulo', 31 | 'name' => 'Nombre', 32 | 'noDataText' => 'No hay datos disponibles', 33 | 'noResultsText' => 'No se encontraron registros que coincidan', 34 | 'of' => 'de', 35 | 'only' => 'Solo', 36 | 'openGitHub' => 'Abrir la página del proyecto en GitHub', 37 | 'pageText' => '{0}-{1} de {2}', 38 | 'path' => 'Ruta', 39 | 'printData' => 'Imprimir Datos', 40 | 'priority' => 'Prioridad', 41 | 'refreshRoutes' => 'Refrescar listado de rutas', 42 | 'reload' => 'Recargar', 43 | 'search' => 'Buscar', 44 | 'show' => 'Mostrar', 45 | 'showMessage' => 'Mostrar Mensaje', 46 | 'textCopied' => 'Texto Copiado', 47 | 'textNotCopy' => 'Texto no copiado', 48 | 'title' => 'Rutas', 49 | 'types' => 'Tipos de Ruta', 50 | 'web' => 'Web', 51 | 'without' => 'Sin Dominio', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/lang/fr/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => 'Action', 17 | 'all' => 'Tout', 18 | 'api' => 'Api', 19 | 'cleaningRoutes' => 'Effacer le cache des routes', 20 | 'deprecated' => 'Obsolète', 21 | 'dismiss' => 'Dismiss', 22 | 'domain' => 'Domaine', 23 | 'error' => 'Error', 24 | 'itemsPerPageAllText' => 'Tout', 25 | 'itemsPerPageText' => 'Routes par page', 26 | 'loadedOnActive' => 'Reloaded after idle', 27 | 'loading' => 'Chargement, veuillez patienter ...', 28 | 'methods' => 'Méthodes', 29 | 'middlewares' => 'Middlewares', 30 | 'module' => 'Module', 31 | 'name' => 'Nom', 32 | 'noDataText' => 'Aucune donnée disponible', 33 | 'noResultsText' => 'Aucun résultat', 34 | 'of' => 'de', 35 | 'only' => 'Uniquement', 36 | 'openGitHub' => 'Ouvrir la page du projet sur GitHub', 37 | 'pageText' => '{0}-{1} sur {2}', 38 | 'path' => 'Chemin', 39 | 'printData' => 'Print Data', 40 | 'priority' => 'Priorité', 41 | 'refreshRoutes' => 'Actualiser la liste des routes', 42 | 'reload' => 'Reload', 43 | 'search' => 'Chercher', 44 | 'show' => 'Voir', 45 | 'showMessage' => 'Show Message', 46 | 'textCopied' => 'Text copied', 47 | 'textNotCopy' => 'Text not copy', 48 | 'title' => 'Routes', 49 | 'types' => 'Types de routes', 50 | 'web' => 'Web', 51 | 'without' => 'Sans', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/lang/ru/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => 'Экшены', 17 | 'all' => 'Все', 18 | 'api' => 'Api', 19 | 'cleaningRoutes' => 'Очистить кэш роутов', 20 | 'deprecated' => 'Устаревшие', 21 | 'dismiss' => 'Отклонено', 22 | 'domain' => 'Домен', 23 | 'error' => 'Ошибка', 24 | 'itemsPerPageAllText' => 'Все', 25 | 'itemsPerPageText' => 'Записей на странице', 26 | 'loadedOnActive' => 'Обновление роутов после простоя', 27 | 'loading' => 'Загрузка... Пожалуйста, подождите...', 28 | 'methods' => 'Методы', 29 | 'middlewares' => 'Мидлвари', 30 | 'module' => 'Модуль', 31 | 'name' => 'Название', 32 | 'noDataText' => 'Данные отсутствуют', 33 | 'noResultsText' => 'Элементы не найдены', 34 | 'of' => 'из', 35 | 'only' => 'Только', 36 | 'openGitHub' => 'Открыть страницу проекта в GitHub', 37 | 'pageText' => '{0}-{1} из {2}', 38 | 'path' => 'URI', 39 | 'printData' => 'Данные для печати', 40 | 'priority' => 'Приоритет', 41 | 'refreshRoutes' => 'Обновить список маршрутов', 42 | 'reload' => 'Перезагрузить', 43 | 'search' => 'Поиск', 44 | 'show' => 'Показать', 45 | 'showMessage' => 'Показать сообщение', 46 | 'textCopied' => 'Текст скопирован', 47 | 'textNotCopy' => 'Текст не скопирован', 48 | 'title' => 'Маршруты', 49 | 'types' => 'Типы маршрутов', 50 | 'web' => 'Web', 51 | 'without' => 'Не указано', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/lang/tr/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => 'Aksiyon', 17 | 'all' => 'Hepsi', 18 | 'api' => 'API', 19 | 'cleaningRoutes' => 'Rota önbelleğini temizle ', 20 | 'deprecated' => 'Kaldırıldı', 21 | 'dismiss' => 'Reddet', 22 | 'domain' => 'Alan Adı', 23 | 'error' => 'Hata', 24 | 'itemsPerPageAllText' => 'Hepsi', 25 | 'itemsPerPageText' => 'Sayfa başına rota', 26 | 'loadedOnActive' => 'Beklemeden sonra yeniden yüklendi', 27 | 'loading' => 'Yükleniyor... Lütfen bekleyin...', 28 | 'methods' => 'Metodlar', 29 | 'middlewares' => 'Ara yazılımlar', 30 | 'module' => 'Modül', 31 | 'name' => 'İsim', 32 | 'noDataText' => 'Veri yok', 33 | 'noResultsText' => 'Eşleşen herhangi bir kayıt bulunamadı', 34 | 'of' => 'arası', 35 | 'only' => 'Sadece', 36 | 'openGitHub' => 'GitHub\'da proje sayfasını görüntüle', 37 | 'pageText' => '{0}-{1} of {2}', 38 | 'path' => 'Yol', 39 | 'printData' => 'Veriyi Yazdır', 40 | 'priority' => 'Öncelik', 41 | 'refreshRoutes' => 'Rota listesini güncelle', 42 | 'reload' => 'Yeniden Yükle', 43 | 'search' => 'Ara', 44 | 'show' => 'Göster', 45 | 'showMessage' => 'Mesajı Göster', 46 | 'textCopied' => 'Metin kopyalandı', 47 | 'textNotCopy' => 'Metin kopyalanamadı', 48 | 'title' => 'Rotalar', 49 | 'types' => 'Rota türleri', 50 | 'web' => 'Web', 51 | 'without' => 'Olmadan', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/lang/zh_CN/info.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | return [ 16 | 'action' => '动作', 17 | 'all' => '全部', 18 | 'api' => '接口', 19 | 'cleaningRoutes' => '清除路由缓存', 20 | 'deprecated' => '废弃的', 21 | 'dismiss' => '解雇', 22 | 'domain' => '域名', 23 | 'error' => '错误', 24 | 'itemsPerPageAllText' => '全部数量', 25 | 'itemsPerPageText' => '每页显示的路由数量', 26 | 'loadedOnActive' => '闲置后重新加载', 27 | 'loading' => '加载中... 请稍候...', 28 | 'methods' => '方法', 29 | 'middlewares' => '中间件', 30 | 'module' => '模块', 31 | 'name' => '名称', 32 | 'noDataText' => '暂无数据', 33 | 'noResultsText' => '没有找到相关记录', 34 | 'of' => '的', 35 | 'only' => '只有', 36 | 'openGitHub' => '在 GitHub 上打开项目页面', 37 | 'pageText' => '{0}-{1} 共 {2}', 38 | 'path' => '路径', 39 | 'printData' => '打印数据', 40 | 'priority' => '优先顺序', 41 | 'refreshRoutes' => '刷新路由列表', 42 | 'reload' => '重新加载', 43 | 'search' => '搜索', 44 | 'show' => '显示', 45 | 'showMessage' => '显示信息', 46 | 'textCopied' => '文本已复制', 47 | 'textNotCopy' => '文本不可复制', 48 | 'title' => '路由', 49 | 'types' => '路由类型', 50 | 'web' => '网页', 51 | 'without' => '没有', 52 | ]; 53 | -------------------------------------------------------------------------------- /resources/views/components/dialog.blade.php: -------------------------------------------------------------------------------- 1 | 31 | -------------------------------------------------------------------------------- /resources/views/components/snackbar.blade.php: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /resources/views/favicon.blade.php: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /resources/views/layout.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | {{ \PrettyRoutes\Facades\Trans::get('title') }} | {{ config('app.name') }} 7 | 8 | 9 | 10 | 11 | @include('pretty-routes::favicon') 12 | @include('pretty-routes::styles') 13 | 14 | 15 | 16 |
17 | @include('pretty-routes::vue') 18 | 19 | @include('pretty-routes::components.dialog') 20 | @include('pretty-routes::components.snackbar') 21 |
22 | 23 | @include('pretty-routes::scripts') 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /resources/views/scripts.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 547 | -------------------------------------------------------------------------------- /resources/views/styles.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 43 | -------------------------------------------------------------------------------- /resources/views/vue.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | () 9 | 10 | 11 | 12 | 23 | 32 | 33 | 34 | 35 | 46 | 55 | 56 | 57 | 58 | 69 | 77 | 78 | 79 | 80 | 89 | 90 | 91 | 98 | 99 | 100 | 101 | 113 | 114 | 115 | 116 | 117 | 128 | 129 | 130 | 131 | 132 | 147 | 148 | 149 | 150 | 151 | 152 | 169 | 181 | 182 | 200 | 201 | 207 | 208 | 218 | 219 | 229 | 230 | 244 | 245 | 253 | 254 | 255 | 256 | -------------------------------------------------------------------------------- /routes/laravel.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | use Illuminate\Support\Facades\Route; 16 | 17 | Route::name('pretty-routes.') 18 | ->middleware(config('pretty-routes.middlewares')) 19 | ->prefix(config('pretty-routes.url')) 20 | ->group(function () { 21 | Route::middleware(config('pretty-routes.web_middleware')) 22 | ->get('/', 'PrettyRoutes\Http\PrettyRoutesController@show') 23 | ->name('show'); 24 | 25 | Route::middleware(config('pretty-routes.api_middleware')) 26 | ->get('json', 'PrettyRoutes\Http\PrettyRoutesController@routes') 27 | ->name('list'); 28 | 29 | Route::middleware(config('pretty-routes.api_middleware')) 30 | ->post('clear', 'PrettyRoutes\Http\PrettyRoutesController@clear') 31 | ->name('clear'); 32 | }); 33 | -------------------------------------------------------------------------------- /routes/lumen.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | use Illuminate\Support\Facades\Route; 16 | 17 | Route::group([ 18 | 'as' => 'pretty-routes', 19 | 'middleware' => config('pretty-routes.middlewares'), 20 | 'prefix' => config('pretty-routes.url'), 21 | ], static function () { 22 | Route::get('/', [ 23 | 'middleware' => config('pretty-routes.web_middleware'), 24 | 'uses' => 'PrettyRoutes\Http\PrettyRoutesController@show', 25 | 'as' => 'show', 26 | ]); 27 | 28 | Route::get('json', [ 29 | 'middleware' => config('pretty-routes.api_middleware'), 30 | 'uses' => 'PrettyRoutes\Http\PrettyRoutesController@routes', 31 | 'as' => 'list', 32 | ]); 33 | 34 | Route::post('clear', [ 35 | 'middleware' => config('pretty-routes.api_middleware'), 36 | 'uses' => 'PrettyRoutes\Http\PrettyRoutesController@clear', 37 | 'as' => 'clear', 38 | ]); 39 | }); 40 | -------------------------------------------------------------------------------- /src/Facades/Cache.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Facades; 16 | 17 | use Illuminate\Support\Facades\Facade; 18 | use PrettyRoutes\Support\Cache as Support; 19 | 20 | /** 21 | * @method static \PrettyRoutes\Support\Cache when($value); 22 | * @method static bool routeClear(); 23 | */ 24 | class Cache extends Facade 25 | { 26 | protected static function getFacadeAccessor() 27 | { 28 | return Support::class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Facades/Trans.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Facades; 16 | 17 | use Illuminate\Support\Facades\Facade; 18 | use PrettyRoutes\Support\Trans as Support; 19 | 20 | /** 21 | * @method static array all() 22 | * @method static string get(string $key) 23 | */ 24 | class Trans extends Facade 25 | { 26 | protected static function getFacadeAccessor() 27 | { 28 | return Support::class; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Http/PrettyRoutesController.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Http; 16 | 17 | use DragonCode\LaravelRoutesCore\Support\Routes; 18 | use Illuminate\Contracts\View\View; 19 | use Illuminate\Http\JsonResponse; 20 | use Illuminate\Routing\Controller as BaseController; 21 | use PrettyRoutes\Facades\Cache; 22 | use PrettyRoutes\Support\Config; 23 | 24 | class PrettyRoutesController extends BaseController 25 | { 26 | /** 27 | * Getting a template for routes. 28 | */ 29 | public function show(): View 30 | { 31 | return view('pretty-routes::layout'); 32 | } 33 | 34 | /** 35 | * Getting a list of routes. 36 | */ 37 | public function routes(Routes $routes, Config $config): JsonResponse 38 | { 39 | $routes->setFromConfig($config); 40 | 41 | return response()->json( 42 | $routes->get() 43 | ); 44 | } 45 | 46 | /** 47 | * Clearing cached routes. 48 | */ 49 | public function clear(): JsonResponse 50 | { 51 | return Cache::when($this->allow())->routeClear() 52 | ? response()->json('ok') 53 | : response()->json('disabled', 400); 54 | } 55 | 56 | protected function allow(): bool 57 | { 58 | return config('app.env') !== 'production' && (bool) config('app.debug') === true; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/ServiceProvider.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes; 16 | 17 | use DragonCode\LaravelSupport\Facades\App; 18 | use Illuminate\Support\Facades\Config; 19 | use Illuminate\Support\ServiceProvider as BaseServiceProvider; 20 | 21 | class ServiceProvider extends BaseServiceProvider 22 | { 23 | public function register() 24 | { 25 | $this->mergeConfigFrom( 26 | $this->fullPath('config/pretty-routes.php'), 27 | 'pretty-routes' 28 | ); 29 | } 30 | 31 | public function boot() 32 | { 33 | if ($this->isDisabled()) { 34 | return; 35 | } 36 | 37 | $this->loadViewsFrom( 38 | $this->fullPath('resources/views'), 39 | 'pretty-routes' 40 | ); 41 | 42 | $this->publishes([ 43 | $this->fullPath('config/pretty-routes.php') => $this->app->configPath('pretty-routes.php'), 44 | $this->fullPath('resources/views/styles.blade.php') => $this->app->resourcePath('views/vendor/pretty-routes/styles.blade.php'), 45 | ]); 46 | 47 | $this->loadRoutesFrom( 48 | $this->routesPath() 49 | ); 50 | } 51 | 52 | protected function isDisabled(): bool 53 | { 54 | return Config::get('pretty-routes.debug_only', true) && ! Config::get('app.debug'); 55 | } 56 | 57 | protected function fullPath(string $path): string 58 | { 59 | return realpath(__DIR__ . '/../' . ltrim($path, '/')); 60 | } 61 | 62 | protected function routesPath(): string 63 | { 64 | return App::isLaravel() 65 | ? $this->fullPath('routes/laravel.php') 66 | : $this->fullPath('routes/lumen.php'); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /src/Support/Cache.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Support; 16 | 17 | use Illuminate\Support\Facades\Artisan; 18 | 19 | class Cache 20 | { 21 | protected $when = true; 22 | 23 | public function when($value): self 24 | { 25 | $this->when = (bool) $value; 26 | 27 | return $this; 28 | } 29 | 30 | public function routeClear(): bool 31 | { 32 | return $this->when && $this->clear('route:clear'); 33 | } 34 | 35 | protected function clear(string $command): bool 36 | { 37 | Artisan::call($command); 38 | 39 | return true; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/Support/Config.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Support; 16 | 17 | use DragonCode\Contracts\Routing\Core\Config as ConfigContract; 18 | use Illuminate\Support\Facades\Config as Conf; 19 | 20 | class Config implements ConfigContract 21 | { 22 | public function getApiMiddleware(): array 23 | { 24 | return (array) $this->get('api_middleware'); 25 | } 26 | 27 | public function getWebMiddleware(): array 28 | { 29 | return (array) $this->get('web_middleware'); 30 | } 31 | 32 | public function getHideMethods(): array 33 | { 34 | return $this->get('hide_methods', []); 35 | } 36 | 37 | public function getHideMatching(): array 38 | { 39 | return $this->get('hide_matching', []); 40 | } 41 | 42 | public function getDomainForce(): bool 43 | { 44 | return (bool) $this->get('domain_force'); 45 | } 46 | 47 | public function getUrl(): string 48 | { 49 | return Conf::get('app.url'); 50 | } 51 | 52 | public function getNamespace(): ?string 53 | { 54 | return Conf::get('modules.namespace'); 55 | } 56 | 57 | protected function get(string $key, $default = null) 58 | { 59 | return Conf::get('pretty-routes.' . $key, $default); 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/Support/Trans.php: -------------------------------------------------------------------------------- 1 | 9 | * @copyright 2024 Andrey Helldar 10 | * @license MIT 11 | * 12 | * @see https://github.com/TheDragonCode/pretty-routes 13 | */ 14 | 15 | namespace PrettyRoutes\Support; 16 | 17 | use DragonCode\Support\Facades\Helpers\Arr; 18 | use Illuminate\Support\Facades\App; 19 | 20 | class Trans 21 | { 22 | public const DEFAULT_LOCALE = 'en'; 23 | 24 | protected static $translations = []; 25 | 26 | public function get(string $key): string 27 | { 28 | return Arr::get($this->all(), $key); 29 | } 30 | 31 | public function all(): array 32 | { 33 | $locale = $this->getLocale(); 34 | 35 | if (! isset(static::$translations[$locale])) { 36 | static::$translations[$locale] = require $this->path($locale); 37 | } 38 | 39 | return static::$translations[$locale]; 40 | } 41 | 42 | protected function isForce(): bool 43 | { 44 | return ! empty($this->getForceLocale()); 45 | } 46 | 47 | protected function appLocale(): string 48 | { 49 | return App::getLocale(); 50 | } 51 | 52 | protected function getLocale(): string 53 | { 54 | $current = explode(',', $this->isForce() ? $this->getForceLocale() : $this->appLocale()); 55 | $app = explode(',', $this->appLocale()); 56 | 57 | return $this->getCorrectedLocale( 58 | reset($current), 59 | reset($app) 60 | ); 61 | } 62 | 63 | protected function getCorrectedLocale(string $locale, string $default): string 64 | { 65 | if ($this->exist($locale)) { 66 | return $locale; 67 | } 68 | 69 | return $this->exist($default) ? $default : self::DEFAULT_LOCALE; 70 | } 71 | 72 | protected function getForceLocale() 73 | { 74 | return config('pretty-routes.locale_force'); 75 | } 76 | 77 | protected function exist(string $locale): bool 78 | { 79 | return ! empty($this->path($locale)); 80 | } 81 | 82 | protected function path(string $locale): string 83 | { 84 | return realpath(__DIR__ . '/../../resources/lang/' . $locale . '/info.php'); 85 | } 86 | } 87 | --------------------------------------------------------------------------------