Skip to content

Commit 7776fce

Browse files
authoredJun 24, 2024
Merge pull request #36 from getsentry/sig/nuxt-example
feat(nuxt): Add nuxt example application
2 parents e5c5fec + 9428bc7 commit 7776fce

File tree

15 files changed

+5151
-150
lines changed

15 files changed

+5151
-150
lines changed
 

‎apps/nuxt/.gitignore

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
21+
# Local env files
22+
.env
23+
.env.*
24+
!.env.example

‎apps/nuxt/app.vue

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<template>
2+
<NuxtLayout>
3+
<header>
4+
<nav>
5+
<ul>
6+
<li><NuxtLink to="/test-param/1234">About</NuxtLink></li>
7+
<li><NuxtLink to="/catchAll/my-id-1337">Post 1</NuxtLink></li>
8+
<li><NuxtLink to="/404">404</NuxtLink></li>
9+
<li><NuxtLink to="/?middleware">Faulty Router Middleware</NuxtLink></li>
10+
</ul>
11+
</nav>
12+
</header>
13+
<NuxtPage />
14+
</NuxtLayout>
15+
</template>
16+
<script setup lang="ts"></script>

‎apps/nuxt/middleware/error.global.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export default defineNuxtRouteMiddleware(to => {
2+
if ('middleware' in to.query) {
3+
return showError('error in middleware');
4+
}
5+
});

‎apps/nuxt/nuxt.config.ts

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import * as Sentry from '@sentry/nuxt';
2+
3+
// https://nuxt.com/docs/api/configuration/nuxt-config
4+
export default defineNuxtConfig({
5+
devtools: { enabled: true },
6+
modules: ['@sentry/nuxt'],
7+
8+
runtimeConfig: {
9+
public: {
10+
sentry: {
11+
dsn: '' /* DSN */,
12+
debug: true,
13+
},
14+
},
15+
},
16+
});

‎apps/nuxt/package.json

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "nuxt-app",
3+
"private": true,
4+
"type": "module",
5+
"scripts": {
6+
"build": "nuxt build",
7+
"dev": "nuxt dev",
8+
"generate": "nuxt generate",
9+
"preview": "nuxt preview",
10+
"postinstall": "nuxt prepare"
11+
},
12+
"dependencies": {
13+
"@sentry/nuxt": "file:.yalc/@sentry/nuxt",
14+
"nuxt": "^3.12.2",
15+
"vue": "^3.4.29",
16+
"vue-router": "^4.3.3"
17+
}
18+
}

‎apps/nuxt/pages/catchAll/[...id].vue

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<div>test-{{ $route.params.id }}</div>
3+
</template>

‎apps/nuxt/pages/index.vue

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<template>
2+
<div><button @click="triggerError">Trigger Error</button><br /></div>
3+
</template>
4+
5+
<script>
6+
export default {
7+
methods: {
8+
triggerError() {
9+
throw new Error('This is a test error for Sentry');
10+
},
11+
},
12+
};
13+
</script>
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<template>
2+
<p>{{ $route.params.param }} - {{ $route.params.param }}</p>
3+
</template>

‎apps/nuxt/public/favicon.ico

4.19 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export default defineEventHandler(event => {
2+
const param = getRouterParam(event, 'param');
3+
4+
return `Param: ${param}!`;
5+
});

‎apps/nuxt/server/middleware/error.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export default defineEventHandler(event => {
2+
if ('api' in getQuery(event)) {
3+
throw new Error('Server middleware error');
4+
}
5+
});

‎apps/nuxt/server/tsconfig.json

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"extends": "../.nuxt/tsconfig.server.json"
3+
}

‎apps/nuxt/tsconfig.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
// https://nuxt.com/docs/guide/concepts/typescript
3+
"extends": "./.nuxt/tsconfig.json"
4+
}

‎package.json

+1
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
"apps/astro",
6666
"apps/nextjs-13_2_0",
6767
"apps/nextjs-14_2_1",
68+
"apps/nuxt",
6869
"apps/sveltekit-2",
6970
"apps/remix"
7071
],

‎yarn.lock

+5,035-150
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.