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

Loading JSON with the ?url flag causes the import to fail #2455

Closed
3 tasks done
simonwep opened this issue Mar 10, 2021 · 1 comment
Closed
3 tasks done

Loading JSON with the ?url flag causes the import to fail #2455

simonwep opened this issue Mar 10, 2021 · 1 comment
Labels
p3-minor-bug An edge case that only affects very specific usage (priority)

Comments

@simonwep
Copy link

⚠️ IMPORTANT ⚠️ Please do not ignore this template. If you do, your issue will be closed immediately.

Describe the bug

I'm trying to use static url imports like the following:

import en from '../locales/en.json?url';

Raises the following error:

13:42:50 [vite] Internal server error: Failed to parse JSON file.
  Plugin: vite:json
  File: xxx/locales/de.json?url
      at formatError (xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:45829:46)
      at TransformContext.error (xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:45825:19)
      at TransformContext.transform (xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:46873:22)
      at Object.transform (xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:46027:53)
      at processTicksAndRejections (internal/process/task_queues.js:93:5)
      at async transformRequest (xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:61624:29)
      at async xxx\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:61732:32

Due to imported json being first transformed into a JS module:

export default '/locales/en.json';

before getting processed by the JSON Plugin which can't parse the JSON because it's an JS module..

Reproduction

I think the problem is obvious, I can imagine that the ?url part needs to be handled first before the json plugin kicks in.

System Info

  • vite version: 2.0.4
  • Operating System: Windows 10 Pro
  • Node version: v14.15.5
  • Package manager (npm/yarn/pnpm) and version: 7.5.6

Logs (Optional if provided reproduction)

Everything from the start until the "crash".

vite:time 0ms / +0ms vite:spa-fallback Rewriting GET / to /index.html +0ms vite:time 16ms /index.html +38ms vite:resolve 1ms /development/wpp/node_modules/vite/dist/client/client -> xxx/node_modules/vite/dist/client/client.js +0ms vite:resolve 3ms /@vite/client -> xxx/node_modules/vite/dist/client/client.js +1ms vite:load 9ms [fs] /@vite/client +0ms vite:resolve 1ms ./env -> xxx/node_modules/vite/dist/client/env.js +24ms vite:transform 13ms /@vite/client +0ms vite:time 34ms /@vite/client +84ms vite:resolve 1ms /main.ts -> xxx/frontend/main.ts +7ms vite:load 4ms [fs] /main.ts +26ms vite:load 0ms [fs] ..\node_modules\vite\dist\client\env.js +25ms vite:rewrite 0ms [no imports] xxx/node_modules/vite/dist/client/env.js +0ms vite:transform 1ms ..\node_modules\vite\dist\client\env.js +36ms vite:time 4ms ..\node_modules\vite\dist\client\env.js +35ms vite:resolve 0ms vue -> xxx/node_modules/.vite/vue.js?v=1df3aa28 +48ms vite:resolve 0ms ./App -> xxx/frontend/App.vue +1ms vite:resolve 1ms /App.vue -> xxx/frontend/App.vue +1ms vite:resolve 1ms ./plugins/day -> xxx/frontend/plugins/day.ts +1ms vite:resolve 1ms /plugins/day.ts -> xxx/frontend/plugins/day.ts +1ms vite:resolve 1ms ./store -> xxx/frontend/store/index.ts +2ms vite:resolve 0ms /store/index.ts -> xxx/frontend/store/index.ts +0ms vite:resolve 0ms ../config/frontend.config.json -> xxx/config/frontend.config.json +1ms vite:resolve 0ms ./plugins/vee-validate -> xxx/frontend/plugins/vee-validate.ts +1ms vite:resolve 0ms /plugins/vee-validate.ts -> xxx/frontend/plugins/vee-validate.ts +1ms vite:resolve 1ms ./styles/index.scss -> xxx/frontend/styles/index.scss +1ms vite:resolve 0ms /styles/index.scss -> xxx/frontend/styles/index.scss +0ms vite:resolve 0ms ./plugins/i18n -> xxx/frontend/plugins/i18n.ts +1ms vite:resolve 1ms /plugins/i18n.ts -> xxx/frontend/plugins/i18n.ts +1ms vite:resolve 0ms ./plugins/router -> xxx/frontend/plugins/router.ts +0ms vite:resolve 0ms /plugins/router.ts -> xxx/frontend/plugins/router.ts +1ms vite:resolve 0ms @vueuse/head -> xxx/node_modules/.vite/@vueuse_head.js?v=1df3aa28 +0ms vite:transform 59ms /main.ts +33ms vite:time 68ms /main.ts +34ms vite:load 5ms [fs] /plugins/day.ts +58ms vite:load 10ms [fs] /App.vue +2ms vite:hmr [self-accepts] App.vue +0ms vite:transform 19ms /App.vue +46ms vite:time 34ms /App.vue +45ms vite:resolve 0ms dayjs/plugin/localizedFormat -> xxx/node_modules/.vite/dayjs_plugin_localizedFormat.js?v=1df3aa28&es-interop +59ms vite:resolve 0ms dayjs/plugin/timezone -> xxx/node_modules/.vite/dayjs_plugin_timezone.js?v=1df3aa28&es-interop +5ms vite:resolve 0ms dayjs/plugin/utc -> xxx/node_modules/.vite/dayjs_plugin_utc.js?v=1df3aa28&es-interop +1ms vite:resolve 0ms dayjs -> xxx/node_modules/.vite/dayjs.js?v=1df3aa28&es-interop +1ms vite:resolve 0ms dayjs/locale/de -> xxx/node_modules/.vite/dayjs_locale_de.js?v=1df3aa28&es-interop +1ms vite:transform 41ms /plugins/day.ts +19ms vite:time 50ms /plugins/day.ts +20ms vite:load 11ms [fs] /store/index.ts +54ms vite:load 11ms [fs] ..\config\frontend.config.json +2ms vite:rewrite [skipped] xxx/config/frontend.config.json +116ms vite:transform 1ms ..\config\frontend.config.json +18ms vite:time 15ms ..\config\frontend.config.json?import +18ms vite:load 7ms [fs] /plugins/vee-validate.ts +5ms vite:resolve 0ms vuex -> xxx/node_modules/.vite/vuex.js?v=1df3aa28 +28ms vite:resolve 1ms ../plugins/i18n -> xxx/frontend/plugins/i18n.ts +2ms vite:resolve 0ms ./dialog -> xxx/frontend/store/dialog.ts +1ms vite:resolve 0ms /store/dialog.ts -> xxx/frontend/store/dialog.ts +1ms vite:resolve 0ms ./toast -> xxx/frontend/store/toast.ts +1ms vite:resolve 0ms /store/toast.ts -> xxx/frontend/store/toast.ts +1ms vite:transform 19ms /store/index.ts +16ms vite:time 33ms /store/index.ts +15ms vite:resolve 0ms vee-validate -> xxx/node_modules/.vite/vee-validate.js?v=1df3aa28 +8ms vite:resolve 0ms @vee-validate/rules -> xxx/node_modules/.vite/@vee-validate_rules.js?v=1df3aa28 +1ms vite:transform 20ms /plugins/vee-validate.ts +9ms vite:time 31ms /plugins/vee-validate.ts +9ms vite:load 8ms [fs] /styles/index.scss +25ms vite:load 2ms [fs] /plugins/i18n.ts +2ms vite:resolve 0ms @vee-validate/i18n -> xxx/node_modules/.vite/@vee-validate_i18n.js?v=1df3aa28 +11ms vite:resolve 0ms vue-i18n -> xxx/node_modules/.vite/vue-i18n.js?v=1df3aa28 +5ms vite:resolve 0ms ../locales/de.json?url -> xxx/frontend/locales/de.json?url +1ms vite:resolve 0ms /locales/de.json?url -> xxx/frontend/locales/de.json?url +1ms vite:resolve 0ms ../locales/en.json -> xxx/frontend/locales/en.json +1ms vite:resolve 1ms /locales/en.json -> xxx/frontend/locales/en.json +1ms vite:transform 14ms /plugins/i18n.ts +20ms vite:time 19ms /plugins/i18n.ts +20ms vite:load 2ms [fs] /plugins/router.ts +22ms vite:resolve 0ms vue-router -> xxx/node_modules/.vite/vue-router.js?v=1df3aa28 +15ms vite:resolve 1ms /@id/pages-generated -> null +3ms vite:transform 8ms /plugins/router.ts +17ms vite:time 15ms /plugins/router.ts +18ms vite:resolve 2ms /development/wpp/frontend/styles/globals.scss -> xxx/frontend/styles/globals.scss +0ms vite:resolve 2ms ~/styles/globals.scss -> xxx/frontend/styles/globals.scss +0ms vite:resolve 6ms sassyfication -> xxx/node_modules/sassyfication/src/index.scss +13ms vite:resolve 2ms frontend/styles/utilities/svg-icon -> null +903ms vite:hmr [self-accepts] styles\index.scss +2s vite:transform 1484ms /styles/index.scss +1s vite:time 1495ms /styles/index.scss +1s vite:load 1220ms [fs] /store/dialog.ts +1s vite:load 1220ms [fs] /store/toast.ts +1ms vite:rewrite 1ms [no imports] store\dialog.ts +2s vite:transform 4ms /store/dialog.ts +7ms vite:time 1226ms /store/dialog.ts +7ms vite:rewrite 0ms [no imports] store\toast.ts +3ms vite:transform 6ms /store/toast.ts +3ms vite:time 1228ms /store/toast.ts +3ms vite:load 0ms [plugin] /locales/de.json?url +24ms 13:47:38 [vite] Internal server error: Failed to parse JSON file. Plugin: vite:json File: xxx/frontend/locales/de.json?url at formatError (C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:45829:46) at TransformContext.error (C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:45825:19) at TransformContext.transform (C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:46873:22) at Object.transform (C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:46027:53) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async transformRequest (C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:61624:29) at async C:\development\wpp\node_modules\vite\dist\node\chunks\dep-1bdbec90.js:61732:32 vite:time 22ms /locales/de.json?import&url +37ms vite:load 14ms [fs] /locales/en.json +36ms vite:rewrite [skipped] locales\en.json +56ms vite:transform 2ms /locales/en.json +56ms ...
@yyx990803 yyx990803 added p3-minor-bug An edge case that only affects very specific usage (priority) bug and removed pending triage labels Mar 15, 2021
@duckbrain
Copy link

This is fixed Vite 2.1.0.

@github-actions github-actions bot locked and limited conversation to collaborators Jul 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
p3-minor-bug An edge case that only affects very specific usage (priority)
Projects
None yet
Development

No branches or pull requests

4 participants