Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sourcemaps not loading with Nuxt i18n module 9.0.0 #3239

Closed
dantuv90 opened this issue Nov 19, 2024 · 21 comments · Fixed by #3274
Closed

Sourcemaps not loading with Nuxt i18n module 9.0.0 #3239

dantuv90 opened this issue Nov 19, 2024 · 21 comments · Fixed by #3274

Comments

@dantuv90
Copy link

Environment


  • Operating System: Windows_NT
  • Node Version: v20.18.0
  • Nuxt Version: 3.14.159
  • CLI Version: 3.15.0
  • Nitro Version: 2.10.4
  • Package Manager: npm@10.8.2
  • Builder: -
  • User Config: default
  • Runtime Modules: @nuxtjs/i18n@9.0.0
  • Build Modules: -

Reproduction

Steps to reproduce:

Install and configure the Nuxt i18n module with version 9.0.0.
Run the Nuxt project in development mode (npm run dev or yarn dev).
Open the browser DevTools and attempt to debug the Nuxt i18n code.
Sourcemaps are not loaded, and the original source code is not available for debugging.

Describe the bug

Since upgrading to version 9.0.0 of the Nuxt i18n module, sourcemaps are no longer being loaded, preventing me from debugging the code in the browser. This issue makes it difficult to trace and debug the source code using browser DevTools.

Image

Additional context

No response

Logs

Copy link

Would you be able to provide a reproduction? 🙏

More info

Why do I need to provide a reproduction?

Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making.

What will happen?

If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritise it based on its severity and how many people we think it might affect.

If needs reproduction labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it.

How can I create a reproduction?

We have a couple of templates for starting with a minimal reproduction:

👉 Reproduction starter (v8 and higher)
👉 Reproduction starter (edge)

A public GitHub repository is also perfect. 👌

Please ensure that the reproduction is as minimal as possible. See more details in our guide.

You might also find these other articles interesting and/or helpful:

@InjustFr
Copy link

I'm also facing this same issue

Here's is a reproduction https://codesandbox.io/p/devbox/funny-rgb-hj2thz?workspaceId=649ba03f-26ca-46d1-89e9-81b5aa2c40d0

As you can see in .output/public/_nuxt, all the sourcemaps are invalid as they don't present any value in sources and mappings are empty

@marcelobotega
Copy link

I think we may also be facing the same issue.
Check this issue for a reproduction of the problem, could be related to the module.
This issue also mentions that the module on version 9 is the problem.

@TheDutchCoder
Copy link

TheDutchCoder commented Dec 16, 2024

This is also an issue with (unit) testing. I'm not even sure why i18n is involved at all.
We're doing pure unit tests on TS util files, there's no Nuxt instance involved (well... there shouldn't be, but there is, for some reason).

All our coverage results point to some intermediary processed files, not the original TS files. If I disable the nuxt-i18n module, everything works fine.

To clarify: i18n has always been the reason our sourcemaps don't work properly. We also can't run local debugging in the IDE because of it.

@fornazaric
Copy link

fornazaric commented Dec 20, 2024

Same issue here, a downgrade to i18n v9 and Nuxt i18n to v8 did the trick, i really don't know how they can make them break so often (talking about vue i18n, last time it was my problem too)

@BobbieGoede
Copy link
Collaborator

Can someone provide a new reproduction? the previous reproduction is no longer available..

The reproduction referenced by @marcelobotega does not include this module, I'll see if I can modify it to reproduce the issue but a new one would be preferred.

The only change that comes to mind that could possibly be the source of this issue is intlify/bundle-tools#413 (/cc @userquin). Can someone check if disabling bundle.optimizeTranslationDirective resolves this issue? As that should prevent the changes in that PR from being executed.

@TheDutchCoder
Copy link

@BobbieGoede setting that that has no effect for us.
Only when I fully disable the module do the sourcemaps match again.

@BobbieGoede
Copy link
Collaborator

We may have narrowed down the issue to a version resolution conflict, can someone confirm if adding the following override to package.json resolves the issue?

  "overrides": {
    "@intlify/shared": "10.0.5"
  },

@jakubkoje
Copy link

We may have narrowed down the issue to a version resolution conflict, can someone confirm if adding the following override to package.json resolves the issue?

  "overrides": {
    "@intlify/shared": "10.0.5"
  },

This doesnt fix the issue for me.

@BobbieGoede
Copy link
Collaborator

Can someone provide a minimal reproduction? A stackblitz project or a github repo will do.

@userquin
Copy link
Collaborator

We may have narrowed down the issue to a version resolution conflict, can someone confirm if adding the following override to package.json resolves the issue?

  "overrides": {
    "@intlify/shared": "10.0.5"
  },

This doesnt fix the issue for me.

If using pnpm try using pnpm.overrides

@jakubkoje
Copy link

We may have narrowed down the issue to a version resolution conflict, can someone confirm if adding the following override to package.json resolves the issue?

  "overrides": {
    "@intlify/shared": "10.0.5"
  },

This doesnt fix the issue for me.

If using pnpm try using pnpm.overrides

I am using pnpm workspace, with this override in root package.json.

  "pnpm": {
    "overrides": {
      "@intlify/shared": "10.0.5"
    }
  }

I have verified that the only installed version of @intlify/shared is 10.0.5, instead of 11.0.0-rc.1 that it was before the override.

@TheDutchCoder
Copy link

TheDutchCoder commented Dec 21, 2024

I'm setting up a repro with a bare setup with unit tests that have faulty sourcemaps. Give me a minute.

@BobbieGoede here's the repro, see the README for instructions on what to do.

Sorry for the odd "project", it's basically our enterprise app with everything removed except some utils.

@BobbieGoede
Copy link
Collaborator

@TheDutchCoder
If I add the following config to nuxt.config.ts in your reproduction it does print the desired output described in the readme 🤔 Can you confirm you're getting the same output with the reproduction and this added config?

  i18n: {
    bundle: {
      optimizeTranslationDirective: false,
    },
  },

@userquin
Copy link
Collaborator

userquin commented Dec 21, 2024

Using latest unplugin-vue-i18n plugin (no need to disable the directives plugin):

Image

@TheDutchCoder
Copy link

TheDutchCoder commented Dec 21, 2024

@TheDutchCoder If I add the following config to nuxt.config.ts in your reproduction it does print the desired output described in the readme 🤔 Can you confirm you're getting the same output with the reproduction and this added config?

  i18n: {
    bundle: {
      optimizeTranslationDirective: false,
    },
  },

Yes, that works in my reproduction!
Let me also check our actual project and see if it does the same.

Interestingly: it's not even an option in the other project. I assume it's a minor version behind (9.1.0), let me upgrade and see if that works.

🙌 success! On 9.1.1 with that setting it indeed maps correctly again!

@userquin
Copy link
Collaborator

how about using latest unplugin version without that flag disabled?

@TheDutchCoder
Copy link

how about using latest unplugin version without that flag disabled?

Yes that works as well!

@userquin
Copy link
Collaborator

userquin commented Dec 21, 2024

nice, we can finally close this issue 🥳

@BobbieGoede
Copy link
Collaborator

This should be resolved upstream now, refreshing your package lockfiles and installing should be sufficient to resolve this issue (no overrides needed).

We will publish a patch release in the coming days which will raise the compatible sub-dependency version, which should further ensure fix is included on install.

@jakubkoje
Copy link

jakubkoje commented Dec 21, 2024

Can confirm that sourcemaps are working again after recreating pnpm-lock.yaml. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants