oruga icon indicating copy to clipboard operation
oruga copied to clipboard

Crash in Nuxt production mode with SSR

Open IlyaSemenov opened this issue 6 months ago • 6 comments

Overview of the problem

Oruga version: @oruga-ui/oruga-next 0.10.4

  • Operating System: Linux
  • Node Version: v20.19.1
  • Nuxt Version: 3.17.1
  • CLI Version: 3.25.0
  • Nitro Version: 2.11.11
  • Package Manager: [email protected]
  • Builder: -
  • User Config: compatibilityDate, devtools
  • Runtime Modules: -
  • Build Modules: -

Description

Oruga crashes in Nuxt 3.17.1 with the code as simple as:

<template>
  <o-loading active />
</template>

Steps to reproduce

Reproduction: https://stackblitz.com/edit/nuxt-starter-cz7uccfy

Press ^C in the terminal, and run: pnpm build && pnpm preview. Wait for it to compile, then refresh the preview pane. You will see the exception in the preview pane, and stack trace in the terminal.

Expected behavior

Both dev and production builds work.

Actual behavior

Production build crashes:

500
Cannot redefine property: rootElement

Logged errors:

Error: defineClasses must be called within a current active effect scope.
    at Module.defineClasses (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/node_modules/@oruga-ui/oruga-next/dist/esm/defineClasses-CLgOZjyB.mjs:37:11)
    at Module.usePreventScrolling (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/node_modules/@oruga-ui/oruga-next/dist/esm/usePreventScrolling-pctpT52o.mjs:21:57)
    at setup (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/node_modules/@oruga-ui/oruga-next/dist/esm/Loading.vue_vue_type_script_setup_true_lang-CXp1063E.mjs:63:60)
    at callWithErrorHandling (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:26703:21)
    at setupStatefulComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:32882:27)
    at setupComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:32869:38)
    at renderComponentVNode (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41183:17)
    at Object.ssrRenderComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:40903:12)
    at _sfc_ssrRender (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41674:40)
    at renderComponentSubTree (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41251:11)
TypeError: Cannot redefine property: rootElement
    at Object.defineProperty (<anonymous>)
    at Module.useTemplateRef (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js#cjs:1072:14)
    at setup (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/node_modules/@oruga-ui/oruga-next/dist/esm/Loading.vue_vue_type_script_setup_true_lang-CXp1063E.mjs:60:26)
    at callWithErrorHandling (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:26703:21)
    at setupStatefulComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:32882:27)
    at setupComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:32869:38)
    at renderComponentVNode (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41183:17)
    at Object.ssrRenderComponent (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:40903:12)
    at _sfc_ssrRender (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41674:40)
    at renderComponentSubTree (file:///home/projects/nuxt-starter-cz7uccfy/.output/server/chunks/build/server.mjs:41251:11)

IlyaSemenov avatar Apr 29 '25 04:04 IlyaSemenov