diff --git a/src/module.ts b/src/module.ts index 67d71ed..7415193 100644 --- a/src/module.ts +++ b/src/module.ts @@ -76,7 +76,25 @@ export default defineNuxtModule({ nuxt.options.vue.compilerOptions.isCustomElement = templateCompilerOptions.template.compilerOptions.isCustomElement - const promises: Promise[] = [] + nuxt.options.vite.resolve = defu(nuxt.options.vite.resolve, { + dedupe: ['three'], + }) + + nuxt.options.vite.optimizeDeps = defu(nuxt.options.vite.optimizeDeps, { + include: ['three'], + }) + + const promises: Promise[] = [ + addComponent({ + name: 'TresCanvas', + filePath: resolver.resolve('./runtime/TresCanvas.client.vue'), + }), + addComponent({ + name: 'TresCanvas', + filePath: resolver.resolve('./runtime/TresCanvas.server.vue'), + }), + ] + for (const mod of new Set([...options.modules, ...coreDeps])) { if (mod === '@tresjs/core' || mod === '@tresjs/nuxt') { continue @@ -108,27 +126,6 @@ export default defineNuxtModule({ await Promise.all(promises) - nuxt.options.vite.resolve = defu(nuxt.options.vite.resolve, { - dedupe: ['three'], - }) - - nuxt.options.vite.optimizeDeps = defu(nuxt.options.vite.optimizeDeps, { - include: ['three'], - }) - - promises.push( - addComponent({ - name: 'TresCanvas', - filePath: resolver.resolve('./runtime/TresCanvas.client.vue'), - }), - addComponent({ - name: 'TresCanvas', - filePath: resolver.resolve('./runtime/TresCanvas.server.vue'), - }), - ) - - await Promise.all(promises) - if (options.devtools) { setupDevToolsUI(nuxt, resolver) }