Add a fallback global scope for runtime likes wechat mini program#1066
Open
imyelo wants to merge 1 commit intodigitalbazaar:mainfrom
Open
Add a fallback global scope for runtime likes wechat mini program#1066imyelo wants to merge 1 commit intodigitalbazaar:mainfrom
imyelo wants to merge 1 commit intodigitalbazaar:mainfrom
Conversation
|
completely agree!!! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
WeChat Mini Program is a popular application form in China, similar to Progressive Web Apps but with a specific runtime and system interface provided by the application platform (wechat indeeded). Its runtime is similar to a browser or React Native but lacks global objects like document, window, self. As a result, using node-forge in WeChat Mini Program would cause crashes due to the inability to find the global scope, leading to issues like #1028 and #1027.
A few years ago, I made some minor efforts to support running such JavaScript modules in those environments, including applying a runtime patch for JS dependencies. However, this implementation heavily depends on webpack.
Especially with the popularity of various mini programs and cross-platform frameworks today, I believe that adding a fallback logic directly in node-forge can prevent crashes in such scenarios.
Hope this will be helpful for other mini program or hybrid developers as well. 😘