filerjs / filer

Node-like file system for browsers
BSD 2-Clause "Simplified" License
613 stars 153 forks source link

Critical dependency: the request of a dependency is an expression #794

Open Cobertos opened 2 years ago

Cobertos commented 2 years ago

When I bundle this library in my project, I get the following warning

WARNING in ./node_modules/filer/dist/filer.min.js 1:292-296
Critical dependency: the request of a dependency is an expression
 @ ./app/elements/REPLList.js 2:0-34 5:11-23
 @ ./app/index.js 3:0-46 4:107-115

It seems to be due to how Parcel bundles and exposes a require() where the path is an expression (at filer.min.js 1:292-296 you'll find require(t) instead of require('string')).

While I've found a workaround for the moment, it's annoying and hacky. It seems like Parcel 2 fixes this? Was wondering if filer would eventually upgrade to Parcel 2?

humphd commented 2 years ago

Agree this should be done. Switching to Parcel 2 is something I'd take a PR for, but it's not something I'm likely to do soon due to my schedule.

joshuali7536 commented 2 years ago

Hi, I would like to take a shot at fixing this issue.

humphd commented 2 years ago

@joshuali7536 sounds good. NOTE: the use of parcel is not critical here. Ideally the move to Parcel 2 should be the easiest thing to do (start with that); but if moving to rollup or something else is easier, I'd be open to that too. The goal here is, "no security issues in the bundling toolchain..."