openvibers/openvibe.tools Commits
Size budgets for the home page (WS-T task 1): openvibe-shared/perf-budget (gateway on shared 1.15.0) measures the gateway's / as it runs, no browser, in npm test; budgets a little above the 2026-09-26 measurement (html 135 KB / 19 KB brotli, js 208 KB)
Changes
@@@ -19,7 +19,7 @@"jsonwebtoken": "^9.0.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0"++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0"}},"node_modules/accepts": {@@@ -1061,9 +1061,9 @@}},"node_modules/openvibe-shared": {-- "version": "1.13.0",-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0",-- "integrity": "sha512-aodJtwID5ZVMc8usa0hxf2YZoG8AivhI65mrk0sv6i3EHYCV9vTJCtaALpxvgsZnTzYtSg08CtzQh8GfXmcmtg==",++ "version": "1.15.0",++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0",++ "integrity": "sha512-mpv4t+LN9IlqlwtugZmEZmWxo2JB+RVrvRZLXkwBghv7aTik91sjTmPNfkVi9ahARAjrIX51Hg/LZnkabVnH0A==","license": "MIT","dependencies": {"jsonwebtoken": "^9.0.0"@@@ -20,6 +20,6 @@"jsonwebtoken": "^9.0.0","openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0","openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",-- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0"++ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0"}}nnew file mode 100644@@@ -0,0 +1,35 @@++'use strict';++// Size budgets for openvibe.tools' home page (roadmap WS-T task 1, openvibe-shared/perf-budget): the++// gateway as it runs, measured without a browser. Budgets sit a little above the 2026-09-26 measurement;++// raising one is a decision to state in the commit.++const assert = require('assert');++const fs = require('fs');++const os = require('os');++const path = require('path');++const { measure, check, format } = require('openvibe-shared/perf-budget');++const { startApp } = require('../../_shared/test/spawn');++++const BUDGETS = {++ htmlRawKB: 160, // measured 135.5 (production; the catalogue is server-rendered)++ htmlBrotliKB: 23, // 19.5++ jsFiles: 6, // 5++ jsRawKB: 240, // 207.9++ jsBrotliKB: 56, // 48.5++ cssFiles: 1, // 0++ externalFiles: 3, // 1 in production++};++++(async () => {++ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'ov-tools-budget-'));++ const gw = await startApp('gateway', { DATA_DIR: tmp, OV_DOMAINS_URL: 'http://127.0.0.1:9/api/domains', OV_REGISTRY_URL: 'http://127.0.0.1:9/registry' });++ try {++ const m = await measure({ base: gw.base });++ const over = check(m, BUDGETS);++ assert.deepStrictEqual(over, [], format(m, over));++ console.log(format(m));++ console.log('perf budget: all checks passed');++ } finally {++ await gw.kill();++ fs.rmSync(tmp, { recursive: true, force: true });++ }++})().catch((err) => { console.error(err); process.exit(1); });
@@ -19,7 +19,7 @@
@@ -19,7 +19,7 @@
"jsonwebtoken": "^9.0.0",
"jsonwebtoken": "^9.0.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0"
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0"
}
}
},
},
"node_modules/accepts": {
"node_modules/accepts": {
@@ -1061,9 +1061,9 @@
@@ -1061,9 +1061,9 @@
}
}
},
},
"node_modules/openvibe-shared": {
"node_modules/openvibe-shared": {
- "version": "1.13.0",
- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0",
- "integrity": "sha512-aodJtwID5ZVMc8usa0hxf2YZoG8AivhI65mrk0sv6i3EHYCV9vTJCtaALpxvgsZnTzYtSg08CtzQh8GfXmcmtg==",
+ "version": "1.15.0",
+ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0",
+ "integrity": "sha512-mpv4t+LN9IlqlwtugZmEZmWxo2JB+RVrvRZLXkwBghv7aTik91sjTmPNfkVi9ahARAjrIX51Hg/LZnkabVnH0A==",
"license": "MIT",
"license": "MIT",
"dependencies": {
"dependencies": {
"jsonwebtoken": "^9.0.0"
"jsonwebtoken": "^9.0.0"
@@ -20,6 +20,6 @@
@@ -20,6 +20,6 @@
"jsonwebtoken": "^9.0.0",
"jsonwebtoken": "^9.0.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0",
"openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.49.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.11.0",
- "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.13.0"
+ "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v1.15.0"
}
}
}
}
new file mode 100644
new file mode 100644
@@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
+'use strict';
+// Size budgets for openvibe.tools' home page (roadmap WS-T task 1, openvibe-shared/perf-budget): the
+// gateway as it runs, measured without a browser. Budgets sit a little above the 2026-09-26 measurement;
+// raising one is a decision to state in the commit.
+const assert = require('assert');
+const fs = require('fs');
+const os = require('os');
+const path = require('path');
+const { measure, check, format } = require('openvibe-shared/perf-budget');
+const { startApp } = require('../../_shared/test/spawn');
+
+const BUDGETS = {
+ htmlRawKB: 160, // measured 135.5 (production; the catalogue is server-rendered)
+ htmlBrotliKB: 23, // 19.5
+ jsFiles: 6, // 5
+ jsRawKB: 240, // 207.9
+ jsBrotliKB: 56, // 48.5
+ cssFiles: 1, // 0
+ externalFiles: 3, // 1 in production
+};
+
+(async () => {
+ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'ov-tools-budget-'));
+ const gw = await startApp('gateway', { DATA_DIR: tmp, OV_DOMAINS_URL: 'http://127.0.0.1:9/api/domains', OV_REGISTRY_URL: 'http://127.0.0.1:9/registry' });
+ try {
+ const m = await measure({ base: gw.base });
+ const over = check(m, BUDGETS);
+ assert.deepStrictEqual(over, [], format(m, over));
+ console.log(format(m));
+ console.log('perf budget: all checks passed');
+ } finally {
+ await gw.kill();
+ fs.rmSync(tmp, { recursive: true, force: true });
+ }
+})().catch((err) => { console.error(err); process.exit(1); });