Skip to content

Commit 1cddf2d

Browse files
committed
Add SMS integration docs
1 parent 49924a3 commit 1cddf2d

File tree

4 files changed

+266
-12
lines changed

4 files changed

+266
-12
lines changed

docs/.vitepress/config.mts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ export default defineConfig({
5353
{text: 'XHProf Profiler', link: '/config/xhprof'},
5454
{text: 'Sentry', link: '/config/sentry'},
5555
{text: 'SMTP Server', link: '/config/smtp'},
56+
{text: 'SMS Gateway', link: '/config/sms'},
5657
{text: 'HTTP Dumps', link: '/config/http-dumps'},
5758
{text: 'Monolog', link: '/config/monolog'},
5859
{text: 'VarDumper', link: '/config/var-dumper'},

docs/config/sms.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
# SMS Gateway Interceptor
2+
3+
Your app sends SMS messages — OTP codes, delivery notifications, alerts. During development you don't want to send
4+
real messages through Twilio or Vonage. Buggregator acts as a fake SMS gateway: point your app's SMS webhook URL at
5+
Buggregator and every message shows up in the UI — with sender, recipient, message text, and detected provider.
6+
7+
## Use cases
8+
9+
- **OTP testing** — verify that verification codes are generated and sent correctly.
10+
- **Notification preview** — see the exact text your users will receive.
11+
- **Provider migration** — switch between Twilio, Vonage, Plivo etc. and verify the payload format.
12+
- **Validation feedback** — use explicit provider URLs to catch missing required fields before going to production.
13+
14+
## How it works
15+
16+
Buggregator exposes a single `/sms` endpoint. When your app sends an HTTP POST with SMS data, Buggregator:
17+
18+
1. **Auto-detects the provider** by inspecting request body fields (e.g. `MessageSid` → Twilio, `api_key`+`api_secret` → Vonage).
19+
2. **Extracts** `from`, `to`, and `message` using provider-specific field mappings.
20+
3. **Displays** the SMS in the UI with a colored provider badge.
21+
22+
If the payload doesn't match any known provider, the generic fallback tries common field names (`from`/`to`/`message`/`body`/`text`).
23+
24+
### Explicit provider URL
25+
26+
You can also specify the provider in the URL for stricter validation:
27+
28+
```
29+
POST /sms/twilio → forces Twilio field mapping + validates required fields
30+
POST /sms/vonage → forces Vonage field mapping + validates required fields
31+
POST /sms → auto-detects provider from payload
32+
```
33+
34+
When using an explicit provider URL, Buggregator validates that all required fields are present. If something is missing:
35+
- The HTTP response returns **422** with a JSON error listing missing fields.
36+
- The event is **still captured** in the UI with validation warnings highlighted in red.
37+
38+
This way your app sees the error (like it would from a real provider), and you can inspect the full payload in Buggregator.
39+
40+
### Project support
41+
42+
Append a project name as an additional URL segment:
43+
44+
```
45+
POST /sms/twilio/myproject → explicit provider + project
46+
POST /sms/myproject → auto-detect + project
47+
```
48+
49+
## Supported providers
50+
51+
Over 40 providers are auto-detected. Here are the most common ones:
52+
53+
| Provider | Detect fields | From | To | Message |
54+
|----------|--------------|------|-----|---------|
55+
| Twilio | `MessageSid`, `Body` | `From` | `To` | `Body` |
56+
| Vonage | `api_key`, `api_secret` | `from`, `msisdn` | `to` | `text` |
57+
| Plivo | `MessageUUID` | `From`, `src` | `To`, `dst` | `Text` |
58+
| Sinch | `batch_id`, `body` | `from` | `to` | `body` |
59+
| Infobip | `messages` | `from` | `to` | `text` |
60+
| MessageBird | `originator`, `recipients` | `originator` | `recipients` | `body` |
61+
| Telnyx | `messaging_profile_id` | `from` | `to` | `text` |
62+
| Bandwidth | `applicationId`, `text` | `from` | `to` | `text` |
63+
| Brevo | `sender`, `recipient`, `content` | `sender` | `recipient` | `content` |
64+
| Clickatell | `from`, `to`, `text` | `from` | `to` | `text` |
65+
| SMS.ru | `api_id`, `msg` | `from` | `to` | `msg` |
66+
| SMSC | `login`, `psw`, `phones` | `sender` | `phones` | `mes` |
67+
| Generic | _(always matches)_ | `from`/`From`/`sender` | `to`/`To`/`recipient` | `message`/`body`/`text` |
68+
69+
Full list: Twilio, Vonage, Plivo, Sinch, Infobip, MessageBird, Telnyx, Bandwidth, Brevo, Termii, Clickatell, MessageMedia, Lox24, Unifonic, Yunpian, Octopush, GatewayApi, SevenIo, SmsFactor, Redlink, OvhCloud, Smsc, 46elks, Mobyt, Smsapi, Sendberry, TurboSms, SimpleTextin, Isendpro, RingCentral, ClickSend, SMS.ru, SMS Aero, Devino, IQSms, MTS, Beeline, Megafon.
70+
71+
## Configuration
72+
73+
### Symfony Notifier
74+
75+
Symfony's Notifier component uses DSN-based transport configuration. Every SMS bridge has a configurable host — change it to point at Buggregator.
76+
77+
```dotenv
78+
# Default (sends to real Twilio):
79+
TWILIO_DSN=twilio://SID:TOKEN@default?from=+1234567890
80+
81+
# Point to Buggregator (explicit provider URL for validation):
82+
TWILIO_DSN=twilio://SID:TOKEN@127.0.0.1:8000/sms/twilio?from=+1234567890
83+
84+
# Or use auto-detect:
85+
TWILIO_DSN=twilio://SID:TOKEN@127.0.0.1:8000/sms?from=+1234567890
86+
```
87+
88+
Same pattern for any Symfony SMS bridge:
89+
90+
```dotenv
91+
# Vonage
92+
VONAGE_DSN=vonage://KEY:SECRET@127.0.0.1:8000/sms/vonage?from=MyApp
93+
94+
# Plivo
95+
PLIVO_DSN=plivo://AUTH_ID:AUTH_TOKEN@127.0.0.1:8000/sms/plivo?from=+1234567890
96+
97+
# Sinch
98+
SINCH_DSN=sinch://ACCOUNT_ID:AUTH_TOKEN@127.0.0.1:8000/sms/sinch?from=+1234567890
99+
```
100+
101+
> In Docker Compose, replace `127.0.0.1:8000` with the Buggregator service name (e.g., `buggregator:8000`).
102+
103+
### Laravel
104+
105+
Laravel doesn't have built-in SMS, but if you use an HTTP-based SMS package, you can override the API base URL:
106+
107+
```php
108+
// Example: sending directly via HTTP
109+
Http::post('http://127.0.0.1:8000/sms/twilio', [
110+
'MessageSid' => Str::uuid(),
111+
'From' => '+1234567890',
112+
'To' => $user->phone,
113+
'Body' => "Your code is {$code}",
114+
]);
115+
```
116+
117+
### Any language / any framework
118+
119+
Send an HTTP POST to Buggregator with the provider's payload format:
120+
121+
```bash
122+
# Twilio format
123+
curl -X POST http://127.0.0.1:8000/sms/twilio \
124+
-H "Content-Type: application/json" \
125+
-d '{"MessageSid":"SM123","From":"+1234","To":"+5678","Body":"Hello!"}'
126+
127+
# Generic format (auto-detect)
128+
curl -X POST http://127.0.0.1:8000/sms \
129+
-H "Content-Type: application/json" \
130+
-d '{"from":"+1234","to":"+5678","message":"Hello!"}'
131+
132+
# Test validation (missing required fields)
133+
curl -X POST http://127.0.0.1:8000/sms/twilio \
134+
-H "Content-Type: application/json" \
135+
-d '{"From":"+1234","To":"+5678"}'
136+
# Returns 422: {"error":"validation_failed","gateway":"twilio","missing_fields":["MessageSid","Body"]}
137+
# But the event is still visible in Buggregator UI with warnings!
138+
```
139+
140+
Both `application/json` and `application/x-www-form-urlencoded` are accepted.

docs/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ exceptions, logs, dumps, profiling, emails, and HTTP requests in a single UI. No
1515
- You want to see **exceptions with stack traces** like in Sentry, but don’t want to set up Sentry for local dev.
1616
- You need to **profile performance** and find memory leaks or slow functions.
1717
- You want to **test emails** your app sends without a real mail server.
18+
- You want to **capture SMS messages** without sending real ones through Twilio or Vonage.
1819
- You have **multiple services** (microservices, Docker Compose) and want all debug data in one place.
1920
- You want to **inspect HTTP requests** your app makes to external APIs.
2021
- You just need a better `dump()` — with syntax highlighting, IDE links, and no browser pollution.
@@ -57,6 +58,13 @@ attachments, and raw source. Just point your app’s SMTP config to port `1025`.
5758

5859
![smtp](https://github.com/buggregator/server/assets/773481/8dd60ddf-c8d8-4a26-a8c0-b05052414a5f)
5960

61+
### [SMS Gateway](/config/sms) — SMS Messages
62+
63+
Capture SMS messages your app sends through Twilio, Vonage, Plivo, and 40+ other providers. Point your SMS
64+
webhook URL at Buggregator and see every message with sender, recipient, text, and detected provider. Use
65+
explicit provider URLs (`/sms/twilio`) for field validation — missing fields are highlighted in the UI while
66+
your app gets a proper error response.
67+
6068
### [HTTP Dumps](/config/http-dumps) — Requests
6169

6270
Capture and inspect HTTP requests: method, URI, headers, cookies, POST data, uploaded files. Get a ready-to-use

yarn.lock

Lines changed: 117 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484
"@algolia/requester-common" "4.20.0"
8585
"@algolia/transporter" "4.20.0"
8686

87-
"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.20.0":
87+
"@algolia/client-search@4.20.0":
8888
version "4.20.0"
8989
resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz"
9090
integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==
@@ -138,7 +138,7 @@
138138
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz"
139139
integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==
140140

141-
"@docsearch/css@^3.5.2", "@docsearch/css@3.5.2":
141+
"@docsearch/css@3.5.2", "@docsearch/css@^3.5.2":
142142
version "3.5.2"
143143
resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz"
144144
integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==
@@ -161,11 +161,116 @@
161161
"@docsearch/css" "3.5.2"
162162
algoliasearch "^4.19.1"
163163

164+
"@esbuild/android-arm64@0.18.20":
165+
version "0.18.20"
166+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
167+
integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
168+
169+
"@esbuild/android-arm@0.18.20":
170+
version "0.18.20"
171+
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
172+
integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
173+
174+
"@esbuild/android-x64@0.18.20":
175+
version "0.18.20"
176+
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
177+
integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
178+
179+
"@esbuild/darwin-arm64@0.18.20":
180+
version "0.18.20"
181+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1"
182+
integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
183+
184+
"@esbuild/darwin-x64@0.18.20":
185+
version "0.18.20"
186+
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
187+
integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
188+
189+
"@esbuild/freebsd-arm64@0.18.20":
190+
version "0.18.20"
191+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
192+
integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
193+
194+
"@esbuild/freebsd-x64@0.18.20":
195+
version "0.18.20"
196+
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
197+
integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
198+
199+
"@esbuild/linux-arm64@0.18.20":
200+
version "0.18.20"
201+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
202+
integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
203+
204+
"@esbuild/linux-arm@0.18.20":
205+
version "0.18.20"
206+
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
207+
integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
208+
209+
"@esbuild/linux-ia32@0.18.20":
210+
version "0.18.20"
211+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
212+
integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
213+
214+
"@esbuild/linux-loong64@0.18.20":
215+
version "0.18.20"
216+
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
217+
integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
218+
219+
"@esbuild/linux-mips64el@0.18.20":
220+
version "0.18.20"
221+
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
222+
integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
223+
224+
"@esbuild/linux-ppc64@0.18.20":
225+
version "0.18.20"
226+
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
227+
integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
228+
229+
"@esbuild/linux-riscv64@0.18.20":
230+
version "0.18.20"
231+
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
232+
integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
233+
234+
"@esbuild/linux-s390x@0.18.20":
235+
version "0.18.20"
236+
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
237+
integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
238+
164239
"@esbuild/linux-x64@0.18.20":
165240
version "0.18.20"
166241
resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz"
167242
integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
168243

244+
"@esbuild/netbsd-x64@0.18.20":
245+
version "0.18.20"
246+
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
247+
integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
248+
249+
"@esbuild/openbsd-x64@0.18.20":
250+
version "0.18.20"
251+
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
252+
integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
253+
254+
"@esbuild/sunos-x64@0.18.20":
255+
version "0.18.20"
256+
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
257+
integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
258+
259+
"@esbuild/win32-arm64@0.18.20":
260+
version "0.18.20"
261+
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
262+
integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
263+
264+
"@esbuild/win32-ia32@0.18.20":
265+
version "0.18.20"
266+
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
267+
integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
268+
269+
"@esbuild/win32-x64@0.18.20":
270+
version "0.18.20"
271+
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
272+
integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
273+
169274
"@jridgewell/sourcemap-codec@^1.4.15":
170275
version "1.4.15"
171276
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
@@ -294,7 +399,7 @@
294399
resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz"
295400
integrity sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==
296401

297-
"@vueuse/core@^10.5.0", "@vueuse/core@10.6.1":
402+
"@vueuse/core@10.6.1", "@vueuse/core@^10.5.0":
298403
version "10.6.1"
299404
resolved "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz"
300405
integrity sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==
@@ -325,7 +430,7 @@
325430
dependencies:
326431
vue-demi ">=0.14.6"
327432

328-
algoliasearch@^4.19.1, "algoliasearch@>= 4.9.1 < 6":
433+
algoliasearch@^4.19.1:
329434
version "4.20.0"
330435
resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz"
331436
integrity sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==
@@ -388,13 +493,18 @@ estree-walker@^2.0.2:
388493
resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
389494
integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
390495

391-
focus-trap@*, focus-trap@^7.5.4:
496+
focus-trap@^7.5.4:
392497
version "7.5.4"
393498
resolved "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz"
394499
integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==
395500
dependencies:
396501
tabbable "^6.2.0"
397502

503+
fsevents@~2.3.2:
504+
version "2.3.3"
505+
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
506+
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
507+
398508
jsonc-parser@^3.2.0:
399509
version "3.2.0"
400510
resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
@@ -448,11 +558,6 @@ rollup@^3.27.1:
448558
optionalDependencies:
449559
fsevents "~2.3.2"
450560

451-
"search-insights@>= 1 < 3":
452-
version "2.10.0"
453-
resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.10.0.tgz"
454-
integrity sha512-pQGrOE56QuTRmq4NzliRZe9rv914hBMBjOviuDliDHoIhmBGoyZRlFsPd4RprGGNC4PKdD2Jz54YN4Cmkb44mA==
455-
456561
shiki@^0.14.5:
457562
version "0.14.5"
458563
resolved "https://registry.npmjs.org/shiki/-/shiki-0.14.5.tgz"
@@ -473,7 +578,7 @@ tabbable@^6.2.0:
473578
resolved "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz"
474579
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
475580

476-
vite@^4.0.0, vite@^4.5.0:
581+
vite@^4.5.0:
477582
version "4.5.0"
478583
resolved "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz"
479584
integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==
@@ -518,7 +623,7 @@ vue-demi@>=0.14.6:
518623
resolved "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz"
519624
integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==
520625

521-
"vue@^3.0.0-0 || ^2.6.0", vue@^3.2.25, vue@^3.3.6, vue@3.3.8:
626+
vue@^3.3.6:
522627
version "3.3.8"
523628
resolved "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz"
524629
integrity sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==

0 commit comments

Comments
 (0)