This should allow state to be more easily retained globally when switching views, and should make implementation of cross-view features like search easier too. It also removes the need for `ReloadableComponent` Fixes #78 Test Plan: This changes a lot of how the app works, and a lot of stuff that isn't currently covered by tests, so here's a rough manual test plan: 1. Loaded up http://localhost:1234/, click to load the example profile 2. Switch between views, see that viewport & selection position is now retained when switching views 3. See that clicking on nodes selects them in Time Order & Left Heavy views 4. See that hitting Cmd+S saves a profile 5. See that dropping a profile in works 6. See that dropping a profile + a symbol map works 7. See that visiting localhost:1234/#profileURL=https://raw.githubusercontent.com/jlfwong/speedscope/master/sample/profiles/speedscope/0.1.2/simple-sampled.speedscope.json works 8. See that hitting "r" to toggle recursion flattening works
76 lines
1.7 KiB
JSON
76 lines
1.7 KiB
JSON
{
|
|
"name": "speedscope",
|
|
"version": "0.4.0",
|
|
"description": "",
|
|
"main": "index.js",
|
|
"bin": {
|
|
"speedscope": "./cli.js"
|
|
},
|
|
"scripts": {
|
|
"deploy": "./deploy.sh",
|
|
"prepack": "./build-release.sh",
|
|
"prettier": "prettier --write './**/*.ts' './**/*.tsx'",
|
|
"lint": "eslint './**/*.ts' './**/*.tsx'",
|
|
"jest": "./test-setup.sh && jest",
|
|
"coverage": "npm run jest -- --coverage && coveralls < coverage/lcov.info",
|
|
"test": "tsc --noEmit && npm run lint && npm run coverage",
|
|
"serve": "parcel index.html --open --no-autoinstall"
|
|
},
|
|
"files": [
|
|
"cli.js",
|
|
"dist/release/**",
|
|
"!*.map"
|
|
],
|
|
"browserslist": [
|
|
"last 2 Chrome versions",
|
|
"last 2 Firefox versions"
|
|
],
|
|
"author": "",
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"@types/jest": "22.2.3",
|
|
"@types/jszip": "3.1.4",
|
|
"@types/node": "10.1.4",
|
|
"@types/pako": "1.0.0",
|
|
"aphrodite": "2.1.0",
|
|
"coveralls": "3.0.1",
|
|
"eslint": "4.19.1",
|
|
"eslint-plugin-prettier": "2.6.0",
|
|
"jest": "23.0.1",
|
|
"jsverify": "0.8.3",
|
|
"jszip": "3.1.5",
|
|
"pako": "1.0.6",
|
|
"parcel-bundler": "1.9.2",
|
|
"preact": "8.2.7",
|
|
"preact-redux": "jlfwong/preact-redux#a56dcc4",
|
|
"prettier": "1.12.0",
|
|
"quicktype": "15.0.45",
|
|
"redux": "^4.0.0",
|
|
"regl": "1.3.1",
|
|
"ts-jest": "22.4.6",
|
|
"typescript": "2.8.1",
|
|
"typescript-eslint-parser": "14.0.0",
|
|
"uglify-es": "3.2.2"
|
|
},
|
|
"jest": {
|
|
"transform": {
|
|
"^.+\\.tsx?$": "ts-jest"
|
|
},
|
|
"testRegex": "\\.test\\.tsx?$",
|
|
"collectCoverageFrom": [
|
|
"**/*.{ts,tsx}",
|
|
"!**/*.d.{ts,tsx}"
|
|
],
|
|
"moduleFileExtensions": [
|
|
"ts",
|
|
"tsx",
|
|
"js",
|
|
"jsx",
|
|
"json"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"opn": "5.3.0"
|
|
}
|
|
}
|