Fix in order to make images compatible with web workers #1354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The code meant to detect nodejs in gen-media.ts and pptxgen.ts is mistaking web workers for nodejs and crashes.
require('fs') returns a Proxy in the context of a web worker which happens to be true-ish in the tests that are following the code snippet above. The code then tries to use fs, which obviously fails and shouldn't be used in the context of a web browser.
This pull request adds a new check to differentiate web workers from the rest of the execution :
I have also added the "webworker" lib in tsconfig.json.
Unfortunately only PNG images work, due to how SVGs are rendered (similar to node).
Function writeFile() does not work either with web workers, users should use the write() function instead.