@elg/speedscope
v1.9.0-a6f84db
Published
Custom Speedscope fork with exported internals
Downloads
26,299
Readme
🔬speedscope
Originally, Speedscope is a fast, interactive web-based viewer for performance profiles. For more information, see the upstream repository https://github.com/jlfwong/speedscope.
This fork exposes some of its internals for use in the React Concurrent Mode Profiler. There are no plans to upstream the changes in this fork; for more details, see this discussion.
Usage
yarn add @elg/speedscope
# OR
npm install @elg/speedscope
Maintenance
Rebasing on upstream
When upstream is updated, we'll want to update this fork as well. Because
this fork adds a few commits on top of Speedscope's master
branch, we'll
just need to rebase it on upstream/master
and fix anything that's broken.
- Update the fork's
master
branch. - Rebase
fork-for-scheduling-profiler
on it. - Test build: run
yarn build
to run thescripts/build-release.sh
script. - Flow typecheck
cd dist/library
- Run
flow init
to add a.flowconfig
file. (assumes you haveflow-bin
installed globally) flow check
. Follow the steps below to fix any errors.
- Force push to this branch.
Modifying exports
This package's exports are declared in src/library.ts
. Exports added here
will be able to be imported.
Flow types
Flow types are generated by Flowgen
and manually fixed up with regex. If flow check
is failing, follow these
steps to fix the errors:
- Try modifying the TypeScript type definitions to resolve the errors.
- If that doesn't work, add/modify the regex codemods in
scripts/build-release.sh
.
Deployment
The fork-for-scheduling-profiler
branch of this repository is automatically
published to NPM by GitHub
Actions.
Our generated version numbers have this format: <upstream Speedscope version>-<Git commit hash>