108 lines
2.6 KiB
Markdown
108 lines
2.6 KiB
Markdown
---
|
|
created: 2025-02-12 12:01
|
|
updated: 2025-07-04 07:27
|
|
tags:
|
|
- Laravel/Packages
|
|
---
|
|
# Install / update
|
|
```bash
|
|
npm uninstall @flareapp/flare-client @flareapp/flare-vue @flareapp/js @flareapp/vite @flareapp/vite-plugin-sourcemap-uploader @flareapp/vue
|
|
```
|
|
|
|
```bash
|
|
npm install @flareapp/js @flareapp/vue @flareapp/vite
|
|
```
|
|
|
|
```bash
|
|
composer require spatie/laravel-activitylog spatie/laravel-ignition
|
|
```
|
|
|
|
```js flare.js
|
|
import {flare} from "@flareapp/js";
|
|
|
|
flare.beforeSubmit = (report) => {
|
|
|
|
// Filter out errors that are not useful
|
|
if ([
|
|
'Request failed with status code 401',
|
|
'Network Error',
|
|
'Failed to fetch dynamically imported module',
|
|
'is not a valid JavaScript MIME type',
|
|
'Unable to preload CSS',
|
|
'Request aborted',
|
|
'Importing a module script failed.',
|
|
].some(v => report.message.includes(v))) {
|
|
return false;
|
|
}
|
|
|
|
// Filter silly bots
|
|
if ([
|
|
'adsbot',
|
|
'googlebot'
|
|
].some(v => report.context.request.useragent.includes(v))) {
|
|
return false;
|
|
}
|
|
|
|
return report;
|
|
};
|
|
|
|
export default flare;
|
|
```
|
|
|
|
```js app.js
|
|
import {flareVue} from "@flareapp/vue";
|
|
import flare from './plugins/flare';
|
|
|
|
if (import.meta.env.PROD) {
|
|
flare.light();
|
|
}
|
|
|
|
// createApp()
|
|
.use(flareVue)
|
|
//. .mount(el)
|
|
```
|
|
|
|
```js vite.config.js
|
|
import flareSourcemapUploader from '@flareapp/vite';
|
|
return {
|
|
plugins: [
|
|
// bla
|
|
flareSourcemapUploader({
|
|
key: env.VITE_FLARE_KEY,
|
|
}),
|
|
],
|
|
};
|
|
```
|
|
|
|
```php AppServiceProvider
|
|
private function versionStuff(): void
|
|
{
|
|
\Illuminate\Support\Facades\App::macro('getVersion', function () {
|
|
if (app()->isLocal()) {
|
|
return time();
|
|
}
|
|
|
|
if (file_exists(base_path('commit_hash.txt'))) {
|
|
return trim(file_get_contents(base_path('commit_hash.txt')));
|
|
}
|
|
|
|
return md5(base_path());
|
|
});
|
|
|
|
\Illuminate\Support\Facades\Cache::macro('getVersion', function () {
|
|
return app()->isLocal() ? time() : \Illuminate\Support\Facades\Cache::remember('version', now()->addDay(), fn() => App::getVersion());
|
|
});
|
|
|
|
\Spatie\LaravelIgnition\Facades\Flare::determineVersionUsing(function () {
|
|
return \Illuminate\Support\Facades\Cache::getVersion();
|
|
});
|
|
}
|
|
|
|
private function startLogBatch(): void
|
|
{
|
|
if (!\Spatie\Activitylog\Facades\LogBatch::isOpen()) {
|
|
\Spatie\Activitylog\Facades\LogBatch::startBatch();
|
|
\Illuminate\Support\Facades\Context::add('batch_uuid', \Spatie\Activitylog\Facades\LogBatch::getUuid());
|
|
}
|
|
}
|
|
``` |