Open bsrikanth-tby opened 2 months ago
The import is resulting in a promise that resolves to the module, instead of the module itself. We can work around that by reading the default
field on the result of the promise. But obviously we'd like to use the import as intended.
The webpack experiments
solution did not work for us. It broke the rest of our project unfortunately.
We ended up overriding the bson
package as mentioned here: https://github.com/mongodb-js/charts-embed-sdk/issues/98#issuecomment-2334659867
"overrides": {
"bson": "^4.5.2"
}
In my angular project after upgrading @mongodb-js/charts-embed-dom to version 3.3.1 code compiles fine but I see this runtime error.
TypeError: _mongodb_js_charts_embed_dom__WEBPACK_IMPORTED_MODULE_0___default(...) is not a constructor
This runtime error is thrown exactly when the below code is run
const sdk = new EmbedSDK({ baseUrl: 'https://charts.mongodb.com' });
I'm using import statement like this in my angular component.
import EmbedSDK from '@mongodb-js/charts-embed-dom';
I'm using ES2022 module system in my tsconfig file. (compilerOptions.module: 'ES2022' and compilerOptions.target: 'ES2022')
Note: Just after upgrading to 3.3.1 I got an error mentioned in https://github.com/mongodb-js/charts-embed-sdk/issues/98. To fix it I added this to webpack.config.js file.
experiments: {topLevelAwait: true, outputModule: true}, resolve: {fallback: { "crypto": false }}