hperrin / svelte-material-ui

Svelte Material UI Components
https://sveltematerialui.com/
Apache License 2.0
3.27k stars 287 forks source link

fix missing-exports-condition #644

Closed ruckc closed 3 months ago

ruckc commented 5 months ago

Describe the bug It appears that at somepoint sveltekit changed to use package.json's exports field instead of svelte as the preferred behavior.

To Reproduce Steps to reproduce the behavior:

  1. npm create svelete@latest
  2. npm add @smui/button
  3. npm run dev
  4. See error

Expected behavior @smui components to work without warning.

Screenshots image

Additional context https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition

ludovic-trubert commented 4 months ago

When I migrated my SvelteKit app from version 1 to 2, I had this warning too and my app did not build anymore. I had the error :

> Using @sveltejs/adapter-node
error during build:
RollupError: Expression expected
    at getRollupEror (file:///.../website-app/node_modules/rollup/dist/es/shared/parseAst.js:375:41)
    at ParseError.initialise (file:///.../website-app/node_modules/rollup/dist/es/shared/node-entry.js:11155:28)
    at convertNode (file:///.../website-app/node_modules/rollup/dist/es/shared/node-entry.js:12895:10)
    at convertProgram (file:///.../website-app/node_modules/rollup/dist/es/shared/node-entry.js:12215:12)
    at Module.setSource (file:///.../website-app/node_modules/rollup/dist/es/shared/node-entry.js:14039:24)
    at async ModuleLoader.addModuleSource (file:///.../website-app/node_modules/rollup/dist/es/shared/node-entry.js:18697:13)

When I debug the build, this error occurs when parsing the SMUI components Card and Slider. Components I use in my app.

If I add the export like describe by @ruckc in these 2 components package.json, I still have some warning on other components, but the application build and run correctly :

"exports": {
  ".": {
    "svelte": "./dist/index.js"
  }
}
wvdv777 commented 4 months ago

The fix is here:

https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#missing-exports-condition

This needs to be added to all package.json files. We need this now to prevent the annoying logs and in the future they will not support the old syntax anymore

jerch commented 3 months ago

Created PR #649, which fixes this issue for the demo site.

hperrin commented 3 months ago

Thanks @jerch for the PR. Let me know if the fix causes any issues. I also added the package.json export. I'll release a new version as soon as I add a note in the docs for this.