You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Identifier '$haml' has already been declared #13982
Hi! I'm trying to upgrade the Astro integration from 7.119.2 to 8.34.0 (also tried from 7.119.2 to 8.0.0 and same). I've tried to create a minimal reproduction to isolate this issue, but I can't manage to reproduce the error in a brand new project. I apogolize about this, I know it sucks as a maintainer not to get a minimal repro.
So this issue is first to ask for clues to debug the error, and 2nd to provide a proper minimal reproduction after debugging. There's one related issue at #13304 for Nuxt but it seems unrelated to my setup.
The issue occurs with a minimal setup, ie. pnpm astro add @sentry/astro:
The error goes away if I remove sentry from the integrations array.
Steps to Reproduce
Start the dev server with astro dev
Expected Result
The page should load properly
Actual Result
I get the following error:
12:05:04 [ERROR] [vite] Internal server error: Identifier '$haml' has already been declared
at compileSourceTextModule (node:internal/modules/esm/utils:339:16)
at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:168:18)
at callTranslator (node:internal/modules/esm/loader:428:14)
at ModuleLoader.moduleProvider (node:internal/modules/esm/loader:434:30)
at async link (node:internal/modules/esm/module_job:87:21)
The error seems to occur super early, here is what I get:
➜ satquiz git:(renovate/major-sentry-javascript-monorepo) ✗ pnpm astro dev
> satquiz@0.0.1 astro /home/florian/Documents/github/satquiztime/satquiz
> astro "dev"
09:07:19 [@sentry/astro] Using /home/florian/Documents/github/satquiztime/satquiz/sentry/client.ts for client init.
09:07:19 [@sentry/astro] Using /home/florian/Documents/github/satquiztime/satquiz/sentry/server.ts for server init.
09:07:19 [WARN] [config] The adapter @astrojs/netlify provides experimental support for"assets". You may experience issues or breaking changes until this feature is fully supported by the adapter.
09:07:19 [WARN] [config] The adapter @astrojs/netlify provides experimental support for"astro:env getSecret". You may experience issues or breaking changes until this feature is fully supported by the adapter.
09:07:19 [types] Generated 2ms
astro v4.16.3 ready in 742 ms
┃ Local http://localhost:4321/
┃ Network use --host to expose
09:07:20 watching for file changes...
09:07:33 [ERROR] Identifier '$haml' has already been declared
Stack trace:
at compileSourceTextModule (node:internal/modules/esm/utils:339:16)
at callTranslator (node:internal/modules/esm/loader:428:14)
at async link (node:internal/modules/esm/module_job:87:21)
The project has many dependencies so many things could conflict. I guess I'll have to go little by little, disabling things until it starts working to spot the issue. Thanks anyways!
Thanks @s1gr1d . My company is running an SSR app with Vue and an Express server. We utilize @sentry/node and @sentry/vue. This problem pops up for us only when running in dev mode with Vite HMR middleware. I took a look at the change above and implemented this in our init options for local dev:
Activity
chargome commentedon Oct 15, 2024
Hey @florian-lefebvre, thanks for reaching out. Can you add
debug: trueto your Sentry config and check the logs?florian-lefebvre commentedon Oct 16, 2024
The error seems to occur super early, here is what I get:
The error only occurs once I open
localhost:4321/chargome commentedon Oct 16, 2024
@florian-lefebvre astro build runs successfully? Are you using any UI framework integration within astro?
florian-lefebvre commentedon Oct 17, 2024
The project has many dependencies so many things could conflict. I guess I'll have to go little by little, disabling things until it starts working to spot the issue. Thanks anyways!
21 remaining items
fix(astro): Add vue to `registerEsmLoaderHooks` (#15352)
florian-lefebvre commentedon Feb 10, 2025
Awesome, can't wait to try this! Is there any way to subscribe to the release of v8.55?
s1gr1d commentedon Feb 10, 2025
If you want you can already update to version v9 (it's released now).
You cannot subscribe but our release bot (or me) will comment on this issue once the fix is released to v8.
dgautsch commentedon Feb 10, 2025
Thanks @s1gr1d . My company is running an SSR app with Vue and an Express server. We utilize
@sentry/nodeand@sentry/vue. This problem pops up for us only when running in dev mode with Vite HMR middleware. I took a look at the change above and implemented this in our init options for local dev:That seems to resolve our issue as well.
s1gr1d commentedon Feb 20, 2025
#15352 released with 8.55.0