diff --git a/package.json b/package.json index 239b9909..8f9bfac3 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,9 @@ "import": "./dist/index.mjs", "require": "./dist/index.js" }, + "./types": { + "types": "./types/index.d.ts" + }, "./preact": { "types": "./preact.d.ts" }, diff --git a/preact.d.ts b/preact.d.ts index 0a9bf882..82c62e9f 100644 --- a/preact.d.ts +++ b/preact.d.ts @@ -2,8 +2,11 @@ declare module 'virtual:pwa-register/preact' { // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error // @ts-ignore ignore when preact/hooks is not installed import type { StateUpdater } from 'preact/hooks' + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' - export function useRegisterSW(options?: import('./types/register-options').RegisterSWOptions): { + export type { RegisterSWOptions } + + export function useRegisterSW(options?: RegisterSWOptions): { needRefresh: [boolean, StateUpdater] offlineReady: [boolean, StateUpdater] /** diff --git a/react.d.ts b/react.d.ts index c9518ba4..93047c54 100644 --- a/react.d.ts +++ b/react.d.ts @@ -2,8 +2,11 @@ declare module 'virtual:pwa-register/react' { // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error // @ts-ignore ignore when react is not installed import type { Dispatch, SetStateAction } from 'react' + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' - export function useRegisterSW(options?: import('./types/register-options').RegisterSWOptions): { + export type { RegisterSWOptions } + + export function useRegisterSW(options?: RegisterSWOptions): { needRefresh: [boolean, Dispatch>] offlineReady: [boolean, Dispatch>] /** diff --git a/solid.d.ts b/solid.d.ts index 01b06f77..2268fbfd 100644 --- a/solid.d.ts +++ b/solid.d.ts @@ -2,8 +2,11 @@ declare module 'virtual:pwa-register/solid' { // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error // @ts-ignore ignore when solid-js is not installed import type { Accessor, Setter } from 'solid-js' + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' - export function useRegisterSW(options?: import('./types/register-options').RegisterSWOptions): { + export type { RegisterSWOptions } + + export function useRegisterSW(options?: RegisterSWOptions): { needRefresh: [Accessor, Setter] offlineReady: [Accessor, Setter] /** diff --git a/svelte.d.ts b/svelte.d.ts index 55c487f4..04ba4239 100644 --- a/svelte.d.ts +++ b/svelte.d.ts @@ -2,8 +2,11 @@ declare module 'virtual:pwa-register/svelte' { // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error // @ts-ignore ignore when svelte is not installed import type { Writable } from 'svelte/store' + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' - export function useRegisterSW(options?: import('./types/register-options').RegisterSWOptions): { + export type { RegisterSWOptions } + + export function useRegisterSW(options?: RegisterSWOptions): { needRefresh: Writable offlineReady: Writable /** diff --git a/types/register-options.d.ts b/types/index.d.ts similarity index 100% rename from types/register-options.d.ts rename to types/index.d.ts diff --git a/vanillajs.d.ts b/vanillajs.d.ts index 7e366df9..058ce25d 100644 --- a/vanillajs.d.ts +++ b/vanillajs.d.ts @@ -1,9 +1,13 @@ declare module 'virtual:pwa-register' { + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' + + export type { RegisterSWOptions } + /** * Registers the service worker returning a callback to reload the current page when an update is found. * * @param options the options to register the service worker. * @return (reloadPage?: boolean) => Promise From version 0.13.2+ `reloadPage` param is not used anymore. */ - export function registerSW(options?: import('./types/register-options').RegisterSWOptions): (reloadPage?: boolean) => Promise + export function registerSW(options?: RegisterSWOptions): (reloadPage?: boolean) => Promise } diff --git a/vue.d.ts b/vue.d.ts index 8f5a365f..24de5f0e 100644 --- a/vue.d.ts +++ b/vue.d.ts @@ -2,8 +2,11 @@ declare module 'virtual:pwa-register/vue' { // eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error // @ts-ignore ignore when vue is not installed import type { Ref } from 'vue' + import type { RegisterSWOptions } from 'vite-plugin-pwa/types' - export function useRegisterSW(options?: import('./types/register-options').RegisterSWOptions): { + export type { RegisterSWOptions } + + export function useRegisterSW(options?: RegisterSWOptions): { needRefresh: Ref offlineReady: Ref /**