svelte-material-ui icon indicating copy to clipboard operation
svelte-material-ui copied to clipboard

fix missing-exports-condition

Open ruckc opened this issue 1 year ago • 1 comments

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

ruckc avatar Jan 31 '24 14:01 ruckc

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"
 }
}

ludovic-trubert avatar Feb 17 '24 20:02 ludovic-trubert

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

wvdv777 avatar Feb 26 '24 08:02 wvdv777

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

jerch avatar Mar 12 '24 16:03 jerch

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.

hperrin avatar Mar 12 '24 16:03 hperrin