From 47c004ac97fbe8bc80f210806981b77fb437cbbe Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 18 Oct 2021 17:06:31 +0100 Subject: [PATCH] fix: improve type declarations (#1178) --- packages/nitro/types/fetch.d.ts | 4 +-- packages/nuxt3/src/app/types/augments.ts | 28 +++++++++++++++++++ packages/nuxt3/src/app/types/index.d.ts | 1 + packages/nuxt3/src/app/types/shims.d.ts | 35 +++--------------------- 4 files changed, 35 insertions(+), 33 deletions(-) create mode 100644 packages/nuxt3/src/app/types/augments.ts diff --git a/packages/nitro/types/fetch.d.ts b/packages/nitro/types/fetch.d.ts index 211d2df6b2..92084d81f0 100644 --- a/packages/nitro/types/fetch.d.ts +++ b/packages/nitro/types/fetch.d.ts @@ -23,7 +23,7 @@ export declare type TypedInternalResponse = : MiddlewareOf : Default -export declare interface $Fetch { +export declare interface $Fetch { (request: R, opts?: FetchOptions): Promise> raw (request: R, opts?: FetchOptions): Promise>> } @@ -38,4 +38,4 @@ declare global { } } -export default {} +export { } diff --git a/packages/nuxt3/src/app/types/augments.ts b/packages/nuxt3/src/app/types/augments.ts new file mode 100644 index 0000000000..54fd3d50de --- /dev/null +++ b/packages/nuxt3/src/app/types/augments.ts @@ -0,0 +1,28 @@ +import { NuxtApp } from '../nuxt' + +declare global { + namespace NodeJS { + interface Process { + browser: boolean + client: boolean + dev: boolean + mode: 'spa' | 'universal' + server: boolean + static: boolean + } + } + + interface Window { + __NUXT__?: Record + } +} + +declare module '@vue/runtime-core' { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface App { + $nuxt: NuxtApp + } + interface ComponentInternalInstance { + _nuxtOnBeforeMountCbs: Function[] + } +} diff --git a/packages/nuxt3/src/app/types/index.d.ts b/packages/nuxt3/src/app/types/index.d.ts index 58238f8979..86b524de90 100644 --- a/packages/nuxt3/src/app/types/index.d.ts +++ b/packages/nuxt3/src/app/types/index.d.ts @@ -1,3 +1,4 @@ +import './augments' import './shims' // eslint-disable-next-line diff --git a/packages/nuxt3/src/app/types/shims.d.ts b/packages/nuxt3/src/app/types/shims.d.ts index 78b585accf..413fc28556 100644 --- a/packages/nuxt3/src/app/types/shims.d.ts +++ b/packages/nuxt3/src/app/types/shims.d.ts @@ -1,33 +1,6 @@ -import { Component } from '@vue/runtime-core' -import { NuxtApp } from '../nuxt' - -declare global { - namespace NodeJS { - interface Process { - browser: boolean - client: boolean - dev: boolean - mode: 'spa' | 'universal' - server: boolean - static: boolean - } - } - - interface Window { - __NUXT__?: Record - } -} - +// https://github.com/vitejs/vite/blob/main/packages/create-vite/template-vue-ts/src/env.d.ts declare module '*.vue' { - export default Component -} - -declare module '@vue/runtime-core' { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - interface App { - $nuxt: NuxtApp - } - interface ComponentInternalInstance { - _nuxtOnBeforeMountCbs: Function[] - } + import { DefineComponent } from '@vue/runtime-core' + const component: DefineComponent<{}, {}, any> + export default component }