mirror of
https://github.com/jlfwong/speedscope.git
synced 2024-11-22 12:53:23 +03:00
d30bb2ef7e
@JustinBeckwith pointed out in #262 that `npm install` was broken in node 13.x, and @DanielRuf pointed in #254 that test fail for node 11+ because of a change to stability of sorting. This PR seeks to address both of those. The installation issue was fixed by just regenerating `package-lock.json` without needing to bump any of the direct dependency versions. The test failure issue requires manual intervention. To fix the sort stability issue, I updated the tests to use the stable sort values (these were all the correct values, though some of the test values were incorrect). To make the suite still pass for node 10, I added a hack where I override `Array.prototype.sort` with a stable implementation that's *only* used in tests (See comments in code for a justification for why) ## Test Plan Before this PR: `npm install` on node 13.x fails & `npm run jest` results in test failures After this PR: `npm install` on node 13.x passes & `npm run jest` passes for node 10, 12, and 13. |
||
---|---|---|
.. | ||
gl | ||
import | ||
lib | ||
store | ||
typings | ||
views | ||
jest-setup.js | ||
README.md | ||
speedscope.tsx |
Speedscope TypeScript source
This directory contains the bulk of speedscope's source code.
Subdirectories
gl/
: WebGL code. This includes e.g. the code to render flamecharts.import/
: Code to import profiles from varous profilers into speedscope. This include e.g. the code to import Chrome performance profiles.lib/
: Mostly dependency-less utilities. This includes e.g. an LRU cache implementation, basic linear algebra classes, and the definition of speedscope's file format.store/
: Speedscope's application state management. Implemented usingredux
.typings/
: TypeScript definition filesviews/
: View code to generate the HTML & CSS used to construct the UI. Implemented usingpreact
andaphrodite
. Also contains code mapping from theredux
store to views usingpreact-redux