Here you can catch up on the history of the pypyjs project.
PyPy.js: What? How? Why? - PyCon 2015
The Emterpreter: Run code before it can be parsed -- This may allow us to get pypy.js down to a reasonable size. See issue #37.
PyPy.js: What? How? Why? - PyCon Australia
PyPy.js: Now faster than CPython