In [ ]:
import subprocess, re, json
from IPython.display import JSON, display

proc = subprocess.Popen(
    '../node_modules/.bin/jest --json',
    stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True
)
raw = proc.stdout.read()
data = json.loads(raw)

display(JSON(data))

In [ ]:
from vdom import table, tr, td

runtimes = [
    (re.split("packages/", x['name'])[1], x['endTime'] - x['startTime'])
    for x in data['testResults']
]

display(
    table(
        [
            tr(
                td(name),
                td(f"{time / 1000.}s")
            ) for (name, time) in 
            sorted(runtimes, key=lambda x: x[1], reverse=True)
            if time > 1000
        ]
    )
)