ignition.php (11820B)
1 <?php 2 3 use Spatie\Ignition\Solutions\SolutionProviders\BadMethodCallSolutionProvider; 4 use Spatie\Ignition\Solutions\SolutionProviders\MergeConflictSolutionProvider; 5 use Spatie\Ignition\Solutions\SolutionProviders\UndefinedPropertySolutionProvider; 6 use Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder; 7 use Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder; 8 use Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder; 9 use Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder; 10 use Spatie\LaravelIgnition\Solutions\SolutionProviders\DefaultDbNameSolutionProvider; 11 use Spatie\LaravelIgnition\Solutions\SolutionProviders\GenericLaravelExceptionSolutionProvider; 12 use Spatie\LaravelIgnition\Solutions\SolutionProviders\IncorrectValetDbCredentialsSolutionProvider; 13 use Spatie\LaravelIgnition\Solutions\SolutionProviders\InvalidRouteActionSolutionProvider; 14 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingAppKeySolutionProvider; 15 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingColumnSolutionProvider; 16 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingImportSolutionProvider; 17 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingLivewireComponentSolutionProvider; 18 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingMixManifestSolutionProvider; 19 use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingViteManifestSolutionProvider; 20 use Spatie\LaravelIgnition\Solutions\SolutionProviders\RunningLaravelDuskInProductionProvider; 21 use Spatie\LaravelIgnition\Solutions\SolutionProviders\TableNotFoundSolutionProvider; 22 use Spatie\LaravelIgnition\Solutions\SolutionProviders\UndefinedViewVariableSolutionProvider; 23 use Spatie\LaravelIgnition\Solutions\SolutionProviders\UnknownValidationSolutionProvider; 24 use Spatie\LaravelIgnition\Solutions\SolutionProviders\ViewNotFoundSolutionProvider; 25 use Spatie\LaravelIgnition\Solutions\SolutionProviders\OpenAiSolutionProvider; 26 use Spatie\LaravelIgnition\Solutions\SolutionProviders\SailNetworkSolutionProvider; 27 28 return [ 29 30 /* 31 |-------------------------------------------------------------------------- 32 | Editor 33 |-------------------------------------------------------------------------- 34 | 35 | Choose your preferred editor to use when clicking any edit button. 36 | 37 | Supported: "phpstorm", "vscode", "vscode-insiders", "textmate", "emacs", 38 | "sublime", "atom", "nova", "macvim", "idea", "netbeans", 39 | "xdebug", "phpstorm-remote" 40 | 41 */ 42 43 'editor' => env('IGNITION_EDITOR', 'phpstorm'), 44 45 /* 46 |-------------------------------------------------------------------------- 47 | Theme 48 |-------------------------------------------------------------------------- 49 | 50 | Here you may specify which theme Ignition should use. 51 | 52 | Supported: "light", "dark", "auto" 53 | 54 */ 55 56 'theme' => env('IGNITION_THEME', 'auto'), 57 58 /* 59 |-------------------------------------------------------------------------- 60 | Sharing 61 |-------------------------------------------------------------------------- 62 | 63 | You can share local errors with colleagues or others around the world. 64 | Sharing is completely free and doesn't require an account on Flare. 65 | 66 | If necessary, you can completely disable sharing below. 67 | 68 */ 69 70 'enable_share_button' => env('IGNITION_SHARING_ENABLED', true), 71 72 /* 73 |-------------------------------------------------------------------------- 74 | Register Ignition commands 75 |-------------------------------------------------------------------------- 76 | 77 | Ignition comes with an additional make command that lets you create 78 | new solution classes more easily. To keep your default Laravel 79 | installation clean, this command is not registered by default. 80 | 81 | You can enable the command registration below. 82 | 83 */ 84 85 'register_commands' => env('REGISTER_IGNITION_COMMANDS', false), 86 87 /* 88 |-------------------------------------------------------------------------- 89 | Solution Providers 90 |-------------------------------------------------------------------------- 91 | 92 | You may specify a list of solution providers (as fully qualified class 93 | names) that should be loaded. Ignition will ignore these classes 94 | and possible solutions provided by them will never be displayed. 95 | 96 */ 97 98 'solution_providers' => [ 99 // from spatie/ignition 100 BadMethodCallSolutionProvider::class, 101 MergeConflictSolutionProvider::class, 102 UndefinedPropertySolutionProvider::class, 103 104 // from spatie/laravel-ignition 105 IncorrectValetDbCredentialsSolutionProvider::class, 106 MissingAppKeySolutionProvider::class, 107 DefaultDbNameSolutionProvider::class, 108 TableNotFoundSolutionProvider::class, 109 MissingImportSolutionProvider::class, 110 InvalidRouteActionSolutionProvider::class, 111 ViewNotFoundSolutionProvider::class, 112 RunningLaravelDuskInProductionProvider::class, 113 MissingColumnSolutionProvider::class, 114 UnknownValidationSolutionProvider::class, 115 MissingMixManifestSolutionProvider::class, 116 MissingViteManifestSolutionProvider::class, 117 MissingLivewireComponentSolutionProvider::class, 118 UndefinedViewVariableSolutionProvider::class, 119 GenericLaravelExceptionSolutionProvider::class, 120 OpenAiSolutionProvider::class, 121 SailNetworkSolutionProvider::class, 122 ], 123 124 /* 125 |-------------------------------------------------------------------------- 126 | Ignored Solution Providers 127 |-------------------------------------------------------------------------- 128 | 129 | You may specify a list of solution providers (as fully qualified class 130 | names) that shouldn't be loaded. Ignition will ignore these classes 131 | and possible solutions provided by them will never be displayed. 132 | 133 */ 134 135 'ignored_solution_providers' => [ 136 137 ], 138 139 /* 140 |-------------------------------------------------------------------------- 141 | Runnable Solutions 142 |-------------------------------------------------------------------------- 143 | 144 | Some solutions that Ignition displays are runnable and can perform 145 | various tasks. By default, runnable solutions are only enabled when your 146 | app has debug mode enabled and the environment is `local` or 147 | `development`. 148 | 149 | Using the `IGNITION_ENABLE_RUNNABLE_SOLUTIONS` environment variable, you 150 | can override this behaviour and enable or disable runnable solutions 151 | regardless of the application's environment. 152 | 153 | Default: env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS') 154 | 155 */ 156 157 'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS'), 158 159 /* 160 |-------------------------------------------------------------------------- 161 | Remote Path Mapping 162 |-------------------------------------------------------------------------- 163 | 164 | If you are using a remote dev server, like Laravel Homestead, Docker, or 165 | even a remote VPS, it will be necessary to specify your path mapping. 166 | 167 | Leaving one, or both of these, empty or null will not trigger the remote 168 | URL changes and Ignition will treat your editor links as local files. 169 | 170 | "remote_sites_path" is an absolute base path for your sites or projects 171 | in Homestead, Vagrant, Docker, or another remote development server. 172 | 173 | Example value: "/home/vagrant/Code" 174 | 175 | "local_sites_path" is an absolute base path for your sites or projects 176 | on your local computer where your IDE or code editor is running on. 177 | 178 | Example values: "/Users/<name>/Code", "C:\Users\<name>\Documents\Code" 179 | 180 */ 181 182 'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', base_path()), 183 'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''), 184 185 /* 186 |-------------------------------------------------------------------------- 187 | Housekeeping Endpoint Prefix 188 |-------------------------------------------------------------------------- 189 | 190 | Ignition registers a couple of routes when it is enabled. Below you may 191 | specify a route prefix that will be used to host all internal links. 192 | 193 */ 194 195 'housekeeping_endpoint_prefix' => '_ignition', 196 197 /* 198 |-------------------------------------------------------------------------- 199 | Settings File 200 |-------------------------------------------------------------------------- 201 | 202 | Ignition allows you to save your settings to a specific global file. 203 | 204 | If no path is specified, a file with settings will be saved to the user's 205 | home directory. The directory depends on the OS and its settings but it's 206 | typically `~/.ignition.json`. In this case, the settings will be applied 207 | to all of your projects where Ignition is used and the path is not 208 | specified. 209 | 210 | However, if you want to store your settings on a project basis, or you 211 | want to keep them in another directory, you can specify a path where 212 | the settings file will be saved. The path should be an existing directory 213 | with correct write access. 214 | For example, create a new `ignition` folder in the storage directory and 215 | use `storage_path('ignition')` as the `settings_file_path`. 216 | 217 | Default value: '' (empty string) 218 */ 219 220 'settings_file_path' => '', 221 222 /* 223 |-------------------------------------------------------------------------- 224 | Recorders 225 |-------------------------------------------------------------------------- 226 | 227 | Ignition registers a couple of recorders when it is enabled. Below you may 228 | specify a recorders will be used to record specific events. 229 | 230 */ 231 232 'recorders' => [ 233 DumpRecorder::class, 234 JobRecorder::class, 235 LogRecorder::class, 236 QueryRecorder::class, 237 ], 238 239 /* 240 * When a key is set, we'll send your exceptions to Open AI to generate a solution 241 */ 242 243 'open_ai_key' => env('IGNITION_OPEN_AI_KEY'), 244 245 /* 246 |-------------------------------------------------------------------------- 247 | Include arguments 248 |-------------------------------------------------------------------------- 249 | 250 | Ignition show you stack traces of exceptions with the arguments that were 251 | passed to each method. This feature can be disabled here. 252 | 253 */ 254 255 'with_stack_frame_arguments' => true, 256 257 /* 258 |-------------------------------------------------------------------------- 259 | Argument reducers 260 |-------------------------------------------------------------------------- 261 | 262 | Ignition show you stack traces of exceptions with the arguments that were 263 | passed to each method. To make these variables more readable, you can 264 | specify a list of classes here which summarize the variables. 265 | 266 */ 267 268 'argument_reducers' => [ 269 \Spatie\Backtrace\Arguments\Reducers\BaseTypeArgumentReducer::class, 270 \Spatie\Backtrace\Arguments\Reducers\ArrayArgumentReducer::class, 271 \Spatie\Backtrace\Arguments\Reducers\StdClassArgumentReducer::class, 272 \Spatie\Backtrace\Arguments\Reducers\EnumArgumentReducer::class, 273 \Spatie\Backtrace\Arguments\Reducers\ClosureArgumentReducer::class, 274 \Spatie\Backtrace\Arguments\Reducers\DateTimeArgumentReducer::class, 275 \Spatie\Backtrace\Arguments\Reducers\DateTimeZoneArgumentReducer::class, 276 \Spatie\Backtrace\Arguments\Reducers\SymphonyRequestArgumentReducer::class, 277 \Spatie\LaravelIgnition\ArgumentReducers\ModelArgumentReducer::class, 278 \Spatie\LaravelIgnition\ArgumentReducers\CollectionArgumentReducer::class, 279 \Spatie\Backtrace\Arguments\Reducers\StringableArgumentReducer::class, 280 ], 281 282 ];