Skip to content

Commit

Permalink
Make auto imports optional
Browse files Browse the repository at this point in the history
Makes it possible to have local composables with the same names as auto-imported ones. Otherwise, auto-imported composables overwrite locale ones.

**/composables/useSupabaseClient.ts**

```ts
import type { Database } from "~/types/database";
import { useSupabaseClient } from "nuxt-modules/supabase";

export default () => useSupabaseClient<Database>();
```
  • Loading branch information
ozum authored Feb 25, 2023
1 parent 8a76b3d commit 08fe24a
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ import { defu } from 'defu'
import { defineNuxtModule, addPlugin, addServerHandler, extendViteConfig, createResolver, resolveModule, addTemplate } from '@nuxt/kit'
import type { SupabaseClientOptions } from '@supabase/supabase-js'
import { CookieOptions, RedirectOptions } from './runtime/types'
export { useSupabaseAuthClient } from './runtime/composables/useSupabaseAuthClient'
export { useSupabaseClient } from './runtime/composables/useSupabaseClient'
export { useSupabaseToken } from './runtime/composables/useSupabaseToken'
export { useSupabaseUser } from './runtime/composables/useSupabaseUser'

export interface ModuleOptions {
/**
Expand Down Expand Up @@ -59,6 +63,13 @@ export interface ModuleOptions {
* @type object
*/
cookies?: CookieOptions

/**
* Auto import necessary parts.
* @default true
* @type boolean
*/
autoImport?: boolean
}

export default defineNuxtModule<ModuleOptions>({
Expand All @@ -81,7 +92,8 @@ export default defineNuxtModule<ModuleOptions>({
domain: '',
path: '/',
sameSite: 'lax'
}
},
autoImport: true
},
setup (options, nuxt) {
const { resolve } = createResolver(import.meta.url)
Expand All @@ -103,7 +115,8 @@ export default defineNuxtModule<ModuleOptions>({
key: options.key,
client: options.client,
redirect: options.redirect,
cookies: options.cookies
cookies: options.cookies,
autoImport: options.autoImport
})

// Private runtimeConfig
Expand Down Expand Up @@ -143,9 +156,11 @@ export default defineNuxtModule<ModuleOptions>({
})

// Add supabase composables
nuxt.hook('imports:dirs', (dirs) => {
dirs.push(resolve(runtimeDir, 'composables'))
})
if (options.autoImport) {
nuxt.hook('imports:dirs', (dirs) => {
dirs.push(resolve(runtimeDir, 'composables'))
})
}

nuxt.hook('nitro:config', (nitroConfig) => {
nitroConfig.alias = nitroConfig.alias || {}
Expand Down

0 comments on commit 08fe24a

Please sign in to comment.