Open jdcoldsmith opened 10 months ago
Can you provide a minimal reproduction?
Please try again with v6.10.8. If it still doesn't work, please provide a way to reproduce.
My apologies for not responding sooner! Thank you for your quick response! I will try v6.10.8 and let you know if I run into any issues!
I discovered the issue. We were attempting to upgrade from v6.10.5 to version v6.10.8 and in those changes a change was made to how the package is exported which broke our use of it in a browser context. I had to instruct our dev server to treat ml-matrix as CommonJS instead of ES and we are good to go now.
Would you be able to explain how you use it in a browser context? Maybe we can do something to fix it.
Hi @targos I apologize for the late response but I would like to work through diagnosing and resolving this without a workaround. Currently I am using ml-matrix
version 6.10.8 and this is the error that I get when attempted to load our web app.
The error occurs on this line of the matrix.js
file
I believe the main problem is in the matrix.js
file where it uses exports
and require
which cannot be used in a browser context. I am not sure how much work it would be for you to make this browser friendly, but this would be a really cool addition!
I still don't know how you're using the library in a browser context. Most of our apps are browser-based and work fine.
My apologies for not giving you more information.
We use it in 3 places in our app but here is an example of how we import ml-matrix
Another thing is that we have "type": "module"
set in our package.json
. I am not sure if that is an issue.
Thank you for your time helping with this!
Do you have a bundler / dev server ?
Another interesting piece of information is that when building our app using Rollup, we need to use a commonjs plugin specifically for ml-matrix
or we get these errors.
And when running the compiled code without the commonjs plugin we get this error:
As for our dev server we use Modern Web's @web/dev-server. In order get ml-matrix
to work when we serve our code locally we have to use a commonjs plugin and treat ml-matrix
as commonjs here as well
This is a really complicated issue. I'm sorry, but I don't see how we can make a fix for your use case without breaking others (recent fixes were related to the default export and CommonJS-ESM interop). I'm happy to accept a patch or any idea.
We need the package to work at least:
esModuleInterop: true
Thank you for your time responding to this! I will reach out to some other coworkers to see if we can come up with more ideas or solutions. I am curious, you mentioned that there are others using this package in a browser context. How are they using it that doesn't require them to force the CommonJS version? Are they using Vite or Webpack as their dev server and bundler and that is why it works for them?
Are they using Vite or Webpack as their dev server and bundler and that is why it works for them?
Yes, and to be clear, they are me and my team :)
Awesome! Vite is something that we are interested in potentially transitioning to in the future so I will keep that in mind. I will reach back out after chatting with my team about solutions for getting this to work in our current situation.
The same issue.
When upgrading from version 6.10.5 to 6.10.7, I am now getting this error in the
matrix.mjs
file.Here is what my import looks like:
Any help would be appreciated!