Skip to content

Commit 1057f5b

Browse files
committed
fix: module type exports
1 parent 72eb74c commit 1057f5b

File tree

6 files changed

+54
-40
lines changed

6 files changed

+54
-40
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
},
1515
"build": {
1616
"externals": [
17-
"defu"
17+
"defu",
18+
"hookable"
1819
]
1920
},
2021
"exports": {

src/module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import { defu } from 'defu'
1313
import type { ExtensionName } from './runtime/types'
1414
import { addTemplates } from './templates'
1515

16+
export type * from './runtime/types'
17+
1618
export interface ModuleOptions {
1719
client?: {
1820
enabled?: boolean

src/runtime/app/plugins/pglite.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
import type { HookResult } from '@nuxt/schema'
12
import { defineNuxtPlugin, useRuntimeConfig } from '#imports'
2-
import type { PGliteClientHooks, PGliteClientOptions, PGliteWorkerOptions } from '#pglite-utils'
3+
import type { PGliteClientOptions, PGliteWorker, PGliteWorkerOptions } from '#pglite-utils'
34
import { pgliteWorkerCreate } from '#pglite-utils'
45
import { extensions } from '#build/pglite/extensions'
56

@@ -27,7 +28,7 @@ export default defineNuxtPlugin({
2728
},
2829
})
2930

30-
nuxtApp.callHook('pglite', pglite)
31+
nuxtApp.callHook('pglite', pglite as PGliteWorker<PGliteClientOptions<typeof extensions>>)
3132

3233
return {
3334
provide: {
@@ -37,6 +38,17 @@ export default defineNuxtPlugin({
3738
},
3839
})
3940

41+
export interface PGliteClientHooks {
42+
/**
43+
* Called before creating a PGlite instance
44+
*/
45+
'pglite:config': (options: PGliteWorkerOptions<typeof extensions>) => void
46+
/**
47+
* Called after creating a PGlite instance
48+
*/
49+
'pglite': (pg: PGliteWorker<PGliteClientOptions<typeof extensions>>) => HookResult
50+
}
51+
4052
declare module '#app' {
4153
interface RuntimeNuxtHooks extends PGliteClientHooks {}
4254
}

src/runtime/types/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
export type * from './utils'
2+
13
export type ExtensionName = ('live' | 'vector' | 'electricSync' | 'adminpack' | 'amcheck' | 'auto_explain' | 'bloom' | 'btree_gin' | 'btree_gist' | 'citext' | 'cube' | 'earthdistance' | 'fuzzystrmatch' | 'hstore' | 'isn' | 'lo' | 'ltree' | 'pg_trgm' | 'seg' | 'tablefunc' | 'tcn' | 'tsm_system_rows' | 'tsm_system_time' | 'uuid_ossp')

src/runtime/types/utils.d.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import type { Extensions, PGliteOptions, PGliteInterfaceExtensions, PGlite as _PGlite } from '@electric-sql/pglite'
2+
import type { PGliteWorker as _PGliteWorker } from '@electric-sql/pglite/worker'
3+
4+
export type { Extensions, PGliteOptions }
5+
export type PGliteWorkerOptions<E extends Extensions = Extensions> = PGliteOptions<E> & {
6+
meta?: any
7+
id?: string
8+
}
9+
10+
export type PGlite<O extends PGliteOptions = PGliteOptions> = _PGlite & PGliteInterfaceExtensions<O['extensions']>
11+
export type PGliteWorker<O extends PGliteWorkerOptions = PGliteWorkerOptions> = _PGliteWorker & PGliteInterfaceExtensions<O['extensions']>
12+
13+
export interface PGliteClientExtensions extends Extensions {
14+
}
15+
export interface PGliteServerExtensions extends Extensions {
16+
}
17+
18+
export interface PGliteClientOptions<
19+
E extends Extensions = Extensions,
20+
> extends PGliteWorkerOptions {
21+
extensions?: E & PGliteClientExtensions
22+
}
23+
export interface PGliteServerOptions<
24+
E extends Extensions = Extensions,
25+
> extends PGliteOptions {
26+
extensions?: E & PGliteServerExtensions
27+
}

src/runtime/utils.ts

Lines changed: 7 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,18 @@
1-
import type { Extensions, PGliteOptions, PGliteInterfaceExtensions } from '@electric-sql/pglite'
21
import { PGliteWorker as _PGliteWorker } from '@electric-sql/pglite/worker'
2+
import type { PGliteOptions } from '@electric-sql/pglite'
33
import { PGlite as _PGlite } from '@electric-sql/pglite'
44
import type { HookResult } from '@nuxt/schema'
55
import { createHooks } from 'hookable'
66

77
import type {
8-
extensions as clientExtensions,
9-
} from '#build/pglite/extensions'
8+
PGlite,
9+
PGliteServerOptions,
10+
PGliteWorker,
11+
PGliteWorkerOptions,
12+
} from './types'
1013

11-
export type { Extensions, PGliteOptions }
12-
export type PGliteWorkerOptions<E extends Extensions = Extensions> = PGliteOptions<E> & {
13-
meta?: any
14-
id?: string
15-
}
16-
17-
export type PGlite<O extends PGliteOptions = PGliteOptions> = _PGlite & PGliteInterfaceExtensions<O['extensions']>
18-
export type PGliteWorker<O extends PGliteWorkerOptions = PGliteWorkerOptions> = _PGliteWorker & PGliteInterfaceExtensions<O['extensions']>
19-
20-
export interface PGliteClientExtensions extends Extensions {
21-
}
22-
export interface PGliteServerExtensions extends Extensions {
23-
}
24-
25-
export interface PGliteClientOptions<
26-
E extends Extensions = Extensions,
27-
> extends PGliteWorkerOptions {
28-
extensions?: E & PGliteClientExtensions
29-
}
30-
export interface PGliteServerOptions<
31-
E extends Extensions = Extensions,
32-
> extends PGliteOptions {
33-
extensions?: E & PGliteServerExtensions
34-
}
14+
export type * from './types/utils'
3515

36-
export interface PGliteClientHooks {
37-
/**
38-
* Called before creating a PGlite instance
39-
*/
40-
'pglite:config': (options: PGliteWorkerOptions) => void
41-
/**
42-
* Called after creating a PGlite instance
43-
*/
44-
'pglite': (pg: PGliteWorker<PGliteClientOptions<typeof clientExtensions>>) => HookResult
45-
}
4616
export interface PGliteServerHooks {
4717
/**
4818
* Called before creating a PGlite instance

0 commit comments

Comments
 (0)