Open sagar-lcm opened 1 year ago
This error seems to be fixed at current master branch (at least be7fdaac67cdb3ea1e7bff3cf0bca577b02e8e84).
We found a solution to this for our codebase. We migrated from Webpack to Vite v4.5.3 and because Vite doesn't use a bundle based web server, and serves dependencies directly to the browser as native ESM, we encountered this problem due to it running in strict mode.
For anyone that encounters this problem with Vite, this is the config that fixed it for us -
/**
*
* In development mode, variables defined in `define` will be added as globals to the code.
*
* In production mode, variables defined would be replaced (find and replace) in the build output. Similar to a string find and replace.
* It is used for example, replacing `process.env.NODE_ENV` with the actual value in the dependent bundles like react
*
*/
define:
command === 'serve'
? {
lunr: {},
}
: {
// https://vitejs.dev/config/shared-options#define
// elasticlunr fails in strict mode because lunr is declared as a global variable, without using 'var'
// This is a workaround to make it work in strict mode during build. Does not work for dev
'lunr = elasticlunr;': 'var lunr = elasticlunr;',
},
Hi! π
Firstly, thanks for your work on this project! π When the strict parsing option is enabled for typescript, we are getting the following error:
"errorType": "ReferenceError", "errorMessage": "lunr is not defined", "trace": [ "ReferenceError: lunr is not defined", " at /var/task/xxx.js:45:12", " at ../../node_modules/elasticlunr/elasticlunr.js (/var/task/xxx.js:1184:7)", " at __require (/var/task/etl.js:9:51)", " at Object.<anonymous> (/var/task/etl.js:61807:34)", " at Module._compile (node:internal/modules/cjs/loader:1105:14)", " at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)", " at Module.load (node:internal/modules/cjs/loader:981:32)", " at Function.Module._load (node:internal/modules/cjs/loader:822:12)", " at Module.require (node:internal/modules/cjs/loader:1005:19)", " at require (node:internal/modules/cjs/helpers:102:18)" ] }
Here is the diff that solved my problem: