* add unit test
* add more unit test
* refine
* add test
* add more unit test
* add more unit test
* more change
* add commit
* add unit test
* commit package-lock.json
* revert some
* refine code
* add more test
* fix bugs
* fix bugs
* remove asserts from addChild
* expose js._registeredClassIds & js._registeredClassNames (sync #3174)
To unload scripts dynamically.
Also revert part of changes from https://github.com/cocos-creator/engine/pull/3204/files#diff-cabe5229c3c6e31339220008e54fe853L421
* remove unused code (sync #3174)
* minor tweak (sync #3421)
* should not invoke component if destroy() called before node activating (sync #3430)
* node should removed and destroyed with scene (sync #3456#3483)
* fix WebGL detection on Android browsers (sync #3510)
* remove redundant right shift for bitwise operation (sync #3754)
* fix label blur when using dark font color (sync #3949)
* refine tooltip of Block Input Event (sync #4053)
* fix IE/Edge exception when output log/warn before engine initialization(sync #4447, #4500)
* sync class, attribute (#4689, #4712, #4781, #4712)
* fix loading unknown texture format (sync #4820)
* prefer toLowerCase to toLocaleLowerCase + sync #5114
* optimize bezier calculation (sync #5155)
* fix potential memory leak in scene-editor (sync #5643)
* fix _posDirty error of Mask on native platform (sync #6168)
* unit test for ts
* Fix ts-jest warnings
* Remove puppeteer for now
* fix physics define and jest config for windows
* Replace Node ref with INode ref
* Fix ci issue
* Fix
* tweak
* tweak
* Fix vscode launcher
* now physics framework export all physics component (#28)
* tweaks