Load paco async, add visualizer, work on CF edge locations

This commit is contained in:
Piotr Rogowski 2022-02-26 00:02:24 +01:00
parent 3cbda0d076
commit 85822bd375
No known key found for this signature in database
GPG Key ID: 4A842D702D9C6F8F
10 changed files with 390 additions and 101 deletions

3
.gitignore vendored
View File

@ -26,3 +26,6 @@ yarn-error.log*
# custom ts builds
/src/**/*.js
# rollup-plugin-visualizer generated files
stats.html

364
package-lock.json generated
View File

@ -10,8 +10,8 @@
"license": "MIT",
"dependencies": {
"@reduxjs/toolkit": "^1.7.2",
"@sentry/react": "^6.17.9",
"@sentry/tracing": "^6.17.9",
"@sentry/react": "^6.18.0",
"@sentry/tracing": "^6.18.0",
"@speedy-tuner/ini": "^0.3.0",
"@speedy-tuner/types": "^0.3.0",
"antd": "^4.18.8",
@ -45,6 +45,7 @@
"eslint-plugin-prettier": "^4.0.0",
"less": "^4.1.2",
"prettier": "^2.5.1",
"rollup-plugin-visualizer": "^5.6.0",
"typescript": "^4.5.5"
}
},
@ -1438,13 +1439,13 @@
}
},
"node_modules/@sentry/browser": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.17.9.tgz",
"integrity": "sha512-RsC8GBZmZ3YfBTaIOJ06RlFp5zG7BkUoquNJmf4YhRUZeihT9osrn8qUYGFWSV/UduwKUIlSGJA/rATWWhwPRQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.18.0.tgz",
"integrity": "sha512-fQZdFs0jnBijVmhDWNIsHD0rGsIXup/1UYgMZqdBYYSBBQ7Ffpw+6nX1/vyKsCpLdgYhbi88eK/XO+QHtUJE2w==",
"dependencies": {
"@sentry/core": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/core": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -1452,14 +1453,14 @@
}
},
"node_modules/@sentry/core": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.17.9.tgz",
"integrity": "sha512-14KalmTholGUtgdh9TklO+jUpyQ/D3OGkhlH1rnGQGoJgFy2eYm+s+MnUEMxFdGIUCz5kOteuNqYZxaDmFagpQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.18.0.tgz",
"integrity": "sha512-I3iQVfMWHXR/LtevJg83aD7UAiUBLz1xAW8y3gd5lJej96UNv/4TbCmKZumYnEJMXf8EcFlg8t48W0Bl1GxhEg==",
"dependencies": {
"@sentry/hub": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -1467,12 +1468,12 @@
}
},
"node_modules/@sentry/hub": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.17.9.tgz",
"integrity": "sha512-34EdrweWDbBV9EzEFIXcO+JeoyQmKzQVJxpTKZoJA6PUwf2NrndaUdjlkDEtBEzjuLUTxhLxtOzEsYs1O6RVcg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.18.0.tgz",
"integrity": "sha512-E2GrrNcidyT67ONU3btHO5vyS1bPQNdWqC09sUc1F3q/nQyvc7L2W09TKY2veaMZQtC9EU760fTG1hMmgGwPmw==",
"dependencies": {
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -1480,12 +1481,12 @@
}
},
"node_modules/@sentry/minimal": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.17.9.tgz",
"integrity": "sha512-T3PMCHcKk6lkZq6zKgANrYJJxXBXKOe+ousV1Fas1rVBMv7dtKfsa4itqQHszcW9shusPDiaQKIJ4zRLE5LKmg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.18.0.tgz",
"integrity": "sha512-QkkWOhX3NMycUNLj96thMQ0BclmfxE2VdDf9ZqRkvdFzxI1FVY5NEArqD4wtlrCIoYN1ioAYrvdb48/BTuGung==",
"dependencies": {
"@sentry/hub": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/types": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -1493,14 +1494,14 @@
}
},
"node_modules/@sentry/react": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.17.9.tgz",
"integrity": "sha512-TYu9Yl+gsNHdt763Yh35rSHJenxXqHSfWA55bYHr8hXDWu0crI/3LDuZb1RONmCM712CaQA+M5tgApA8QbHS4Q==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.18.0.tgz",
"integrity": "sha512-jJ3g41ucDyudT5Ye6ry3mGQaHkbp14yqjbgBWKhCljWwYie0rHLCfjZ6letz6K1ey2Asvl6MLH5eoNhGEV0idg==",
"dependencies": {
"@sentry/browser": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/browser": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"hoist-non-react-statics": "^3.3.2",
"tslib": "^1.9.3"
},
@ -1512,14 +1513,14 @@
}
},
"node_modules/@sentry/tracing": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.17.9.tgz",
"integrity": "sha512-5Rb/OS4ryNJLvz2nv6wyjwhifjy6veqaF9ffLrwFYij/WDy7m62ASBblxgeiI3fbPLX0aBRFWIJAq1vko26+AQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.18.0.tgz",
"integrity": "sha512-thwVrYT+ba58h6F6Im4t+JH9o+7H+75ribkeTgM7NRhNuiGajlXNmb37Dh9gP5Iy76jNV8GATy4cOcuVc7P1jA==",
"dependencies": {
"@sentry/hub": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -1527,19 +1528,19 @@
}
},
"node_modules/@sentry/types": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.17.9.tgz",
"integrity": "sha512-xuulX6qUCL14ayEOh/h6FUIvZtsi1Bx34dSOaWDrjXUOJHJAM7214uiqW1GZxPJ13YuaUIubjTSfDmSQ9CBzTw==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.18.0.tgz",
"integrity": "sha512-SypDwXL1URE/XLkP4Ve+pFs41e+2OUYZ0lCimNreQQv46//pFXxP3LwU9Tc0Az4ZfxXnGiwofvt73XyBq9VpRQ==",
"engines": {
"node": ">=6"
}
},
"node_modules/@sentry/utils": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.17.9.tgz",
"integrity": "sha512-4eo9Z3JlJCGlGrQRbtZWL+L9NnlUXgTbfK3Lk7oO8D1ev8R5b5+iE6tZHTvU5rQRcq6zu+POT+tK5u9oxc/rnQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.18.0.tgz",
"integrity": "sha512-mKegOabkAjoUHfokjI5oi3CMez5GD3xXOrBFcLVc9GFDXCgNMdYnHyEn/mmy8PikFdGHxZ3oI/16ZGU22wi5aw==",
"dependencies": {
"@sentry/types": "6.17.9",
"@sentry/types": "6.18.0",
"tslib": "^1.9.3"
},
"engines": {
@ -3188,6 +3189,15 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"node_modules/define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@ -4869,6 +4879,21 @@
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-docker": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true,
"bin": {
"is-docker": "cli.js"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@ -5018,6 +5043,18 @@
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"devOptional": true
},
"node_modules/is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"dependencies": {
"is-docker": "^2.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@ -6111,6 +6148,23 @@
"wrappy": "1"
}
},
"node_modules/open": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
"integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
"dev": true,
"dependencies": {
"define-lazy-prop": "^2.0.0",
"is-docker": "^2.1.1",
"is-wsl": "^2.2.0"
},
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@ -7316,6 +7370,63 @@
"fsevents": "~2.3.2"
}
},
"node_modules/rollup-plugin-visualizer": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.6.0.tgz",
"integrity": "sha512-CKcc8GTUZjC+LsMytU8ocRr/cGZIfMR7+mdy4YnlyetlmIl/dM8BMnOEpD4JPIGt+ZVW7Db9ZtSsbgyeBH3uTA==",
"dev": true,
"dependencies": {
"nanoid": "^3.1.32",
"open": "^8.4.0",
"source-map": "^0.7.3",
"yargs": "^17.3.1"
},
"bin": {
"rollup-plugin-visualizer": "dist/bin/cli.js"
},
"engines": {
"node": ">=12"
},
"peerDependencies": {
"rollup": "^2.0.0"
}
},
"node_modules/rollup-plugin-visualizer/node_modules/source-map": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true,
"engines": {
"node": ">= 8"
}
},
"node_modules/rollup-plugin-visualizer/node_modules/yargs": {
"version": "17.3.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
"integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
"dev": true,
"dependencies": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
"yargs-parser": "^21.0.0"
},
"engines": {
"node": ">=12"
}
},
"node_modules/rollup-plugin-visualizer/node_modules/yargs-parser": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
"integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
"dev": true,
"engines": {
"node": ">=12"
}
},
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@ -9478,84 +9589,84 @@
}
},
"@sentry/browser": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.17.9.tgz",
"integrity": "sha512-RsC8GBZmZ3YfBTaIOJ06RlFp5zG7BkUoquNJmf4YhRUZeihT9osrn8qUYGFWSV/UduwKUIlSGJA/rATWWhwPRQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.18.0.tgz",
"integrity": "sha512-fQZdFs0jnBijVmhDWNIsHD0rGsIXup/1UYgMZqdBYYSBBQ7Ffpw+6nX1/vyKsCpLdgYhbi88eK/XO+QHtUJE2w==",
"requires": {
"@sentry/core": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/core": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
}
},
"@sentry/core": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.17.9.tgz",
"integrity": "sha512-14KalmTholGUtgdh9TklO+jUpyQ/D3OGkhlH1rnGQGoJgFy2eYm+s+MnUEMxFdGIUCz5kOteuNqYZxaDmFagpQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.18.0.tgz",
"integrity": "sha512-I3iQVfMWHXR/LtevJg83aD7UAiUBLz1xAW8y3gd5lJej96UNv/4TbCmKZumYnEJMXf8EcFlg8t48W0Bl1GxhEg==",
"requires": {
"@sentry/hub": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
}
},
"@sentry/hub": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.17.9.tgz",
"integrity": "sha512-34EdrweWDbBV9EzEFIXcO+JeoyQmKzQVJxpTKZoJA6PUwf2NrndaUdjlkDEtBEzjuLUTxhLxtOzEsYs1O6RVcg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.18.0.tgz",
"integrity": "sha512-E2GrrNcidyT67ONU3btHO5vyS1bPQNdWqC09sUc1F3q/nQyvc7L2W09TKY2veaMZQtC9EU760fTG1hMmgGwPmw==",
"requires": {
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
}
},
"@sentry/minimal": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.17.9.tgz",
"integrity": "sha512-T3PMCHcKk6lkZq6zKgANrYJJxXBXKOe+ousV1Fas1rVBMv7dtKfsa4itqQHszcW9shusPDiaQKIJ4zRLE5LKmg==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.18.0.tgz",
"integrity": "sha512-QkkWOhX3NMycUNLj96thMQ0BclmfxE2VdDf9ZqRkvdFzxI1FVY5NEArqD4wtlrCIoYN1ioAYrvdb48/BTuGung==",
"requires": {
"@sentry/hub": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/types": "6.18.0",
"tslib": "^1.9.3"
}
},
"@sentry/react": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.17.9.tgz",
"integrity": "sha512-TYu9Yl+gsNHdt763Yh35rSHJenxXqHSfWA55bYHr8hXDWu0crI/3LDuZb1RONmCM712CaQA+M5tgApA8QbHS4Q==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.18.0.tgz",
"integrity": "sha512-jJ3g41ucDyudT5Ye6ry3mGQaHkbp14yqjbgBWKhCljWwYie0rHLCfjZ6letz6K1ey2Asvl6MLH5eoNhGEV0idg==",
"requires": {
"@sentry/browser": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/browser": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"hoist-non-react-statics": "^3.3.2",
"tslib": "^1.9.3"
}
},
"@sentry/tracing": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.17.9.tgz",
"integrity": "sha512-5Rb/OS4ryNJLvz2nv6wyjwhifjy6veqaF9ffLrwFYij/WDy7m62ASBblxgeiI3fbPLX0aBRFWIJAq1vko26+AQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.18.0.tgz",
"integrity": "sha512-thwVrYT+ba58h6F6Im4t+JH9o+7H+75ribkeTgM7NRhNuiGajlXNmb37Dh9gP5Iy76jNV8GATy4cOcuVc7P1jA==",
"requires": {
"@sentry/hub": "6.17.9",
"@sentry/minimal": "6.17.9",
"@sentry/types": "6.17.9",
"@sentry/utils": "6.17.9",
"@sentry/hub": "6.18.0",
"@sentry/minimal": "6.18.0",
"@sentry/types": "6.18.0",
"@sentry/utils": "6.18.0",
"tslib": "^1.9.3"
}
},
"@sentry/types": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.17.9.tgz",
"integrity": "sha512-xuulX6qUCL14ayEOh/h6FUIvZtsi1Bx34dSOaWDrjXUOJHJAM7214uiqW1GZxPJ13YuaUIubjTSfDmSQ9CBzTw=="
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.18.0.tgz",
"integrity": "sha512-SypDwXL1URE/XLkP4Ve+pFs41e+2OUYZ0lCimNreQQv46//pFXxP3LwU9Tc0Az4ZfxXnGiwofvt73XyBq9VpRQ=="
},
"@sentry/utils": {
"version": "6.17.9",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.17.9.tgz",
"integrity": "sha512-4eo9Z3JlJCGlGrQRbtZWL+L9NnlUXgTbfK3Lk7oO8D1ev8R5b5+iE6tZHTvU5rQRcq6zu+POT+tK5u9oxc/rnQ==",
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.18.0.tgz",
"integrity": "sha512-mKegOabkAjoUHfokjI5oi3CMez5GD3xXOrBFcLVc9GFDXCgNMdYnHyEn/mmy8PikFdGHxZ3oI/16ZGU22wi5aw==",
"requires": {
"@sentry/types": "6.17.9",
"@sentry/types": "6.18.0",
"tslib": "^1.9.3"
}
},
@ -10734,6 +10845,12 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"define-lazy-prop": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
"integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
"dev": true
},
"define-properties": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
@ -11891,6 +12008,12 @@
"has-tostringtag": "^1.0.0"
}
},
"is-docker": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
@ -11986,6 +12109,15 @@
"integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
"devOptional": true
},
"is-wsl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
"requires": {
"is-docker": "^2.0.0"
}
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
@ -12724,6 +12856,17 @@
"wrappy": "1"
}
},
"open": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
"integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
"dev": true,
"requires": {
"define-lazy-prop": "^2.0.0",
"is-docker": "^2.1.1",
"is-wsl": "^2.2.0"
}
},
"optionator": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
@ -13573,6 +13716,47 @@
"fsevents": "~2.3.2"
}
},
"rollup-plugin-visualizer": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.6.0.tgz",
"integrity": "sha512-CKcc8GTUZjC+LsMytU8ocRr/cGZIfMR7+mdy4YnlyetlmIl/dM8BMnOEpD4JPIGt+ZVW7Db9ZtSsbgyeBH3uTA==",
"dev": true,
"requires": {
"nanoid": "^3.1.32",
"open": "^8.4.0",
"source-map": "^0.7.3",
"yargs": "^17.3.1"
},
"dependencies": {
"source-map": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
"dev": true
},
"yargs": {
"version": "17.3.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz",
"integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==",
"dev": true,
"requires": {
"cliui": "^7.0.2",
"escalade": "^3.1.1",
"get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
"string-width": "^4.2.3",
"y18n": "^5.0.5",
"yargs-parser": "^21.0.0"
}
},
"yargs-parser": {
"version": "21.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz",
"integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==",
"dev": true
}
}
},
"run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",

View File

@ -19,8 +19,8 @@
},
"dependencies": {
"@reduxjs/toolkit": "^1.7.2",
"@sentry/react": "^6.17.9",
"@sentry/tracing": "^6.17.9",
"@sentry/react": "^6.18.0",
"@sentry/tracing": "^6.18.0",
"@speedy-tuner/ini": "^0.3.0",
"@speedy-tuner/types": "^0.3.0",
"antd": "^4.18.8",
@ -54,6 +54,7 @@
"eslint-plugin-prettier": "^4.0.0",
"less": "^4.1.2",
"prettier": "^2.5.1",
"rollup-plugin-visualizer": "^5.6.0",
"typescript": "^4.5.5"
}
}

View File

@ -0,0 +1,93 @@
{
"EZE": "Buenos Aires, Argentina",
"MEL": "Melbourne, Australia",
"PER": "Perth, Australia",
"SYD": "Sydney, Australia",
"VIE": "Vienna, Austria",
"BAH": "Manama, Bahrain",
"BRU": "Brussels, Belgium",
"GIG": "Rio de Janeiro, Brazil",
"GRU": "São Paulo, Brazil",
"SOF": "Sofia, Bulgaria",
"YUL6": "Montréal, QC Canada",
"YTO": "Greater Toronto, ON Canada",
"YVR": "Vancouver, BC Canada",
"SCL": "Santiago, Chile",
"BJS": "Beijing Beijing, China",
"HKG": "Hong Kong, China",
"SHA": "Shanghai, China",
"SZX": "Shenzhen, GD China",
"TPE": "Taipei, TW China",
"ZHY": "Zhongwei, Zhongwei, NX China",
"BOG": "Bogotá, Colombia",
"ZAG": "Zagreb, Croatia",
"PRG": "Prague, Czech Republic",
"CPH": "Copenhagen, Denmark",
"HEL": "Helsinki, Finland",
"MRS": "Marseille, France",
"CDG": "Paris, France",
"TXL": "Berlin, Germany",
"DUS": "Düsseldorf, Germany",
"FRA": "Frankfurt, Germany",
"HAM": "Hamburg, Germany",
"MUC": "Munich, Germany",
"ATH": "Eleftherios Venizelos Athens, Greece",
"BUD": "Budapest, Hungary",
"BLR": "Bangalore, India",
"MAA": "Chennai, India",
"HYD": "Hyderabad, India",
"CCU": "Kolkata, India",
"BOM": "Mumbai, India",
"DEL": "New Delhi, India",
"CGK": "Jakarta, Indonesia",
"DUB": "Dublin, Ireland",
"TLV": "Tel Aviv, Israel",
"MXP": "Milan, Italy",
"PMO": "Falcone Palermo, Italy",
"FCO": "Rome, Italy",
"KIX": "Osaka, Japan",
"NRT": "Tokyo, Japan",
"NBO": "Nairobi, Kenya",
"KUL": "Kuala Lumpur, Malaysia",
"QRO": "Querétaro, Mexico",
"AKL": "Auckland, New Zealand",
"OSL": "Gardermoen Oslo, Norway",
"MNL": "Manila, Philippines",
"WAW": "Warsaw, Poland",
"LIS": "Lisbon, Portugal",
"OTP": "Bucharest, Romania",
"SIN": "Singapore, Singapore",
"CPT": "Cape Town, South Africa",
"JNB": "Johannesburg, South Africa",
"ICN": "Seoul South, Korea",
"MAD": "Madrid, Spain",
"ARN": "Stockholm, Sweden",
"ZRH": "Zürich, Switzerland",
"BKK": "Bangkok, Thailand",
"AMS": "Schiphol Amsterdam, Netherlands",
"DXB": "Dubai, United Arab Emirates",
"FJR": "Fujairah, United Arab Emirates",
"LHR": "London, UK",
"MAN": "Manchester, UK",
"IAD6": "Ashburn, VA, US",
"IAD": "Ashburn, VA, US",
"ATL": "Atlanta, GA, US",
"BOS": "Boston, MA, US",
"ORD": "Chicago, IL, US",
"DFW": "Dallas/Fort Worth, TX, US",
"DEN": "Denver, CO, US",
"HIO": "Hillsboro, OR, US",
"IAH": "Houston, TX, US",
"JAX": "Jacksonville, FL, US",
"LAX": "Los Angeles, CA, US",
"MIA": "Miami, FL, US",
"MSP": "Minneapolis, MN, US",
"JFK": "New York, NY, US",
"EWR": "Newark, NJ, US",
"PHL": "Philadelphia, PA, US",
"PHX": "Phoenix, AZ, US",
"SLC": "Salt Lake City, UT, US",
"SFO": "San Francisco, CA, US",
"SEA": "Seattle, WA, US",
"IND": "Indianapolis, South Bend, IN, US"
}

View File

@ -19,7 +19,6 @@ import {
GlobalOutlined,
} from '@ant-design/icons';
import * as Sentry from '@sentry/browser';
import pako from 'pako';
import useBreakpoint from 'antd/lib/grid/hooks/useBreakpoint';
import { connect } from 'react-redux';
import PerfectScrollbar from 'react-perfect-scrollbar';
@ -99,6 +98,8 @@ const Diagnose = ({ ui, config, loadedLogs }: { ui: UIState, config: Config, loa
const { signal } = controller;
const loadData = async () => {
const pako = await import('pako');
try {
const compositeRaw = await loadCompositeLogs((percent, total, edge) => {
setProgress(percent);

View File

@ -19,7 +19,6 @@ import {
EditOutlined,
GlobalOutlined,
} from '@ant-design/icons';
import pako from 'pako';
import { CheckboxValueType } from 'antd/lib/checkbox/Group';
import useBreakpoint from 'antd/lib/grid/hooks/useBreakpoint';
import { connect } from 'react-redux';
@ -164,6 +163,7 @@ const Logs = ({
setFileSize(formatBytes(raw.byteLength));
const pako = await import('pako');
worker.postMessage(pako.inflate(new Uint8Array(raw)).buffer);
worker.onmessage = ({ data }) => {

View File

@ -38,7 +38,6 @@ import {
useNavigate,
} from 'react-router-dom';
import ReactMarkdown from 'react-markdown';
import pako from 'pako';
import {
customAlphabet,
nanoid,
@ -177,6 +176,7 @@ const UploadPage = () => {
}
try {
const pako = await import('pako');
const buffer = await (file as File).arrayBuffer();
const compressed = pako.deflate(new Uint8Array(buffer));
const uploadTask = uploadFile(path, file as File, compressed);

View File

@ -1,5 +1,4 @@
import { INI } from '@speedy-tuner/ini';
import pako from 'pako';
import store from '../store';
import stdDialogs from '../data/standardDialogs';
import help from '../data/help';
@ -13,6 +12,7 @@ import { TuneDbData } from '../types/dbData';
import useServerStorage, { CDN_URL } from '../hooks/useServerStorage';
export const loadTune = async (tuneData: TuneDbData) => {
const pako = await import('pako');
// eslint-disable-next-line react-hooks/rules-of-hooks
const { getFile, getINIFile } = useServerStorage();
const started = new Date();

View File

@ -1,19 +1,23 @@
import locations from '../data/s3-edge-locations.json';
import locations from '../data/edge-locations.json';
type LocationsType = { [index: string]: string };
export type onProgress = (percent: number, total: number, edgeLocation: string | null) => void;
export const fetchWithProgress = async (url: string, onProgress?: onProgress, signal?: AbortSignal): Promise<ArrayBuffer> => {
let edgeLocation = null;
const response = await fetch(url, { signal });
const contentLength = response.headers.get('Content-Length');
const isContentEncoded = response.headers.has('Content-Encoding');
const edgeLocationCode = response.headers.get('x-amz-cf-pop');
let edgeLocation = null;
// must be added to "Access-Control-Expose-Headers" in the response header
const edgeLocationCode = response.headers.get('cf-ray');
if (edgeLocationCode) {
// simplify location code (`MEL50-C1` => `MEL`)
edgeLocation = (locations as LocationsType)[edgeLocationCode.slice(0, 3)];
// eg. 6e33fc504a7dcc77-WAW
const location = edgeLocationCode.split('-')[1];
if (location) {
edgeLocation = (locations as LocationsType)[location];
}
}
if (!contentLength || isContentEncoded) {

View File

@ -1,10 +1,12 @@
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';
// https://vitejs.dev/config/
export default defineConfig({
// This changes the out put dir from dist to build
build: { outDir: 'build' },
server: { open: true },
css: {
preprocessorOptions: {
less: { javascriptEnabled: true },
@ -12,5 +14,6 @@ export default defineConfig({
},
plugins: [
react(),
visualizer(),
],
});