-
-
Notifications
You must be signed in to change notification settings - Fork 4.8k
Commit
- Loading branch information
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
!extends/node_modules |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
export default defineAppConfig({ | ||
userConfig: 123, | ||
nested: { | ||
val: 2 | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<script setup lang="ts"> | ||
defineProps({ | ||
aProp: Number | ||
}) | ||
defineSlots<{ | ||
fallback: { id: string } | ||
}>() | ||
defineExpose<{ | ||
_exposedValue: boolean | ||
}>() | ||
const _exposedValue = 42 | ||
const emit = defineEmits<{ | ||
'some-event': [id: string] | ||
}>() | ||
emit('some-event', '42') | ||
// @ts-expect-error an invalid argument | ||
emit('some-event', 42) | ||
// @ts-expect-error an unknown event | ||
emit('unknown-event', 42) | ||
</script> | ||
|
||
<template> | ||
<div> | ||
<!-- --> | ||
</div> | ||
</template> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export default { | ||
fromLayer: true | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
declare module 'bing' { | ||
interface BingInterface { | ||
foo: 'bar' | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<template> | ||
<div> | ||
<div>Extended layout from bar</div> | ||
<NuxtPage /> | ||
</div> | ||
</template> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export default defineNuxtRouteMiddleware((to) => { | ||
to.meta.override = 'Injected by extended middleware from bar' | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export default defineNuxtConfig({}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<script setup> | ||
definePageMeta({ | ||
layout: 'override', | ||
middleware: 'override' | ||
}) | ||
</script> | ||
|
||
<template> | ||
<div> | ||
<div>Extended page from bar</div> | ||
<div>Middleware | override: {{ $route.meta.override }}</div> | ||
<ExtendsOverride /> | ||
</div> | ||
</template> |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<template> | ||
<div> | ||
Custom Layout: | ||
<slot /> | ||
</div> | ||
</template> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
export default defineNuxtRouteMiddleware((to) => { | ||
if ('abort' in to.query) { | ||
return abortNavigation({ | ||
statusCode: 401 | ||
}) | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
export default defineNuxtRouteMiddleware((to) => { | ||
to.meta.auth = 'Injected by injectAuth middleware' | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { addServerHandler, createResolver, defineNuxtModule } from 'nuxt/kit' | ||
|
||
export default defineNuxtModule({ | ||
meta: { | ||
name: 'auto-registered-module' | ||
}, | ||
setup () { | ||
const resolver = createResolver(import.meta.url) | ||
|
||
addServerHandler({ | ||
handler: resolver.resolve('./runtime/handler'), | ||
route: '/auto-registered-module' | ||
}) | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export default defineEventHandler(() => 'handler added by auto-registered module') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import { addPlugin, createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' | ||
|
||
export default defineNuxtModule({ | ||
defaults: { | ||
enabled: true, | ||
typeTest: (value: boolean) => typeof value === 'boolean' | ||
}, | ||
meta: { | ||
name: 'my-module', | ||
configKey: 'sampleModule' | ||
}, | ||
setup () { | ||
const resolver = createResolver(import.meta.url) | ||
|
||
addPlugin(resolver.resolve('./runtime/plugin')) | ||
useNuxt().hook('app:resolve', (app) => { | ||
app.middleware.push({ | ||
name: 'unctx-test', | ||
path: resolver.resolve('./runtime/middleware') | ||
}) | ||
}) | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import { createResolver, defineNuxtModule, useNuxt } from 'nuxt/kit' | ||
|
||
export default defineNuxtModule({ | ||
meta: { | ||
name: 'page-extend' | ||
}, | ||
setup () { | ||
const nuxt = useNuxt() | ||
const resolver = createResolver(import.meta.url) | ||
|
||
nuxt.hook('pages:extend', (pages) => { | ||
pages.push({ | ||
name: 'page-extend', | ||
path: '/page-extend', | ||
file: resolver.resolve('./runtime/page.vue') | ||
}) | ||
}) | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
export default defineNuxtRouteMiddleware(async () => { | ||
await new Promise(resolve => setTimeout(resolve, 1)) | ||
useNuxtApp() | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<script setup lang="ts"> | ||
import { setResponseHeader } from 'h3' | ||
definePageMeta({ | ||
value: 'added in pages:extend' | ||
}) | ||
if (process.server) { | ||
setResponseHeader(useRequestEvent(), 'x-extend', useRoute().meta.value as string) | ||
} | ||
</script> | ||
|
||
<template> | ||
<div> | ||
added in pages:extend | ||
</div> | ||
</template> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
export default defineNuxtPlugin(async () => { | ||
await new Promise(resolve => setTimeout(resolve, 1)) | ||
useNuxtApp() | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { defineNuxtModule } from 'nuxt/kit' | ||
|
||
export default defineNuxtModule({ | ||
meta: { | ||
name: 'test' | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
export default defineNuxtConfig({ | ||
experimental: { | ||
typedPages: true | ||
}, | ||
typescript: { | ||
strict: true, | ||
tsConfig: { | ||
compilerOptions: { | ||
moduleResolution: process.env.MODULE_RESOLUTION | ||
} | ||
} | ||
}, | ||
buildDir: process.env.NITRO_BUILD_DIR, | ||
builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', | ||
theme: './extends/bar', | ||
extends: [ | ||
'./extends/node_modules/foo' | ||
], | ||
runtimeConfig: { | ||
baseURL: '', | ||
baseAPIToken: '', | ||
privateConfig: 'secret_key', | ||
public: { | ||
ids: [1, 2, 3], | ||
needsFallback: undefined, | ||
testConfig: 123 | ||
} | ||
}, | ||
appConfig: { | ||
fromNuxtConfig: true, | ||
nested: { | ||
val: 1 | ||
} | ||
}, | ||
modules: [ | ||
'./modules/test', | ||
[ | ||
'~/modules/example', | ||
{ | ||
typeTest (val) { | ||
// @ts-expect-error module type defines val as boolean | ||
const b: string = val | ||
return !!b | ||
} | ||
} | ||
], | ||
function (_options, nuxt) { | ||
nuxt.hook('pages:extend', (pages) => { | ||
pages.push({ | ||
name: 'internal-async-parent', | ||
path: '/internal-async-parent' | ||
}) | ||
}) | ||
} | ||
], | ||
telemetry: false, // for testing telemetry types - it is auto-disabled in tests | ||
hooks: { | ||
'schema:extend' (schemas) { | ||
schemas.push({ | ||
appConfig: { | ||
someThing: { | ||
value: { | ||
$default: 'default', | ||
$schema: { | ||
tsType: 'string | false' | ||
} | ||
} | ||
} | ||
} | ||
}) | ||
}, | ||
'prepare:types' ({ tsConfig }) { | ||
tsConfig.include = tsConfig.include!.filter(i => i !== '../../../../**/*') | ||
} | ||
} | ||
}) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"private": true, | ||
"name": "fixture-basic-types", | ||
"scripts": { | ||
"build": "nuxi build" | ||
}, | ||
"dependencies": { | ||
"nuxt": "workspace:*" | ||
}, | ||
"devDependencies": { | ||
"ofetch": "latest", | ||
"unplugin": "latest", | ||
"vitest": "latest", | ||
"vue-router": "latest" | ||
} | ||
} |