I ran into the same problem recently, and ended up creating a full TypeScript port of Symfony’s ExpressionLanguage.
It mirrors the PHP API and syntax almost exactly, so you can evaluate the same expressions in both environments.
Here is the npm package for anyone still in need @andreasnicolaou/typescript-expression-language
Git repo: typescript-expression-language