From: Eduardo San Martin Morote Date: Wed, 13 Jul 2022 10:11:22 +0000 (+0200) Subject: feat(nuxt): add `autoImports` option in module X-Git-Tag: @pinia/nuxt@0.3.0~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=42be2fc22aa99353821d9595061ca991d42127ff;p=thirdparty%2Fvuejs%2Fpinia.git feat(nuxt): add `autoImports` option in module --- diff --git a/packages/nuxt/src/module.ts b/packages/nuxt/src/module.ts index b3d5724e..10d297dc 100644 --- a/packages/nuxt/src/module.ts +++ b/packages/nuxt/src/module.ts @@ -17,6 +17,22 @@ export interface ModuleOptions { * @default `true` */ disableVuex?: boolean + + /** + * Array of auto imports to be added to the nuxt.config.js file. + * + * @example + * ```js + * autoImports: [ + * // automatically import `defineStore` + * 'defineStore', + * // automatically import `defineStore` as `definePiniaStore` + * ['defineStore', 'definePiniaStore', + * ] + * ``` + * + */ + autoImports?: Array } export default defineNuxtModule({ @@ -30,6 +46,7 @@ export default defineNuxtModule({ }, defaults: { disableVuex: true, + autoImports: [], }, setup(options, nuxt) { const resolver = createResolver(import.meta.url) @@ -56,7 +73,11 @@ export default defineNuxtModule({ const composables = resolver.resolve('./runtime/composables') addAutoImport([ { from: composables, name: 'usePinia' }, - { from: composables, name: 'definePiniaStore' }, + ...options.autoImports.map((imports) => + typeof imports === 'string' + ? { from: composables, name: imports } + : { from: composables, name: imports[0], as: imports[1] } + ), ]) }, }) diff --git a/packages/nuxt/src/runtime/composables.ts b/packages/nuxt/src/runtime/composables.ts index 3ed03155..5c9e8f70 100644 --- a/packages/nuxt/src/runtime/composables.ts +++ b/packages/nuxt/src/runtime/composables.ts @@ -1,6 +1,4 @@ import { useNuxtApp } from '#imports' -import { defineStore } from 'pinia' +export * from 'pinia' export const usePinia = () => useNuxtApp().$pinia - -export const definePiniaStore = defineStore