@feasibleone/blong-gogo 1.31.0 → 1.31.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.31.2](https://github.com/feasibleone/blong/compare/blong-gogo-v1.31.1...blong-gogo-v1.31.2) (2026-09-09)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * dependencies ([519f8ea](https://github.com/feasibleone/blong/commit/519f8eace2d9ef5bbe69b8a8b2fd05a0ed656fbe))
9
+
10
+ ## [1.31.1](https://github.com/feasibleone/blong/compare/blong-gogo-v1.31.0...blong-gogo-v1.31.1) (2026-09-09)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * CI reporting ([4530692](https://github.com/feasibleone/blong/commit/4530692aa1d306a45d5f1485caec41520bec0f57))
16
+ * CI reporting ([1678ace](https://github.com/feasibleone/blong/commit/1678acec404970b171e0b22ce10c22364c227dde))
17
+ * CI reporting ([24d8de5](https://github.com/feasibleone/blong/commit/24d8de50a5b260a60357ceecefc1c9f360bfb540))
18
+ * dependencies ([d9da54c](https://github.com/feasibleone/blong/commit/d9da54cbc85b3046829175df6823e8a611e4d276))
19
+
3
20
  ## [1.31.0](https://github.com/feasibleone/blong/compare/blong-gogo-v1.30.0...blong-gogo-v1.31.0) (2026-09-07)
4
21
 
5
22
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feasibleone/blong-gogo",
3
- "version": "1.31.0",
3
+ "version": "1.31.2",
4
4
  "repository": {
5
5
  "url": "git+https://github.com/feasibleone/blong.git"
6
6
  },
@@ -45,8 +45,8 @@
45
45
  "browser-process-hrtime": "^1.0.0",
46
46
  "cacache": "^20.0.4",
47
47
  "chokidar": "^5.0.0",
48
- "fastify": "^5.11.3",
49
- "fastify-plugin": "^5.1.0",
48
+ "fastify": "^5.12.3",
49
+ "fastify-plugin": "^6.0.0",
50
50
  "got": "^14.6.6",
51
51
  "ioredis": "^6.0.0",
52
52
  "jose": "^6.2.1",
@@ -56,7 +56,7 @@
56
56
  "minimist": "^1.2.8",
57
57
  "mongo-uri-builder": "^4.0.0",
58
58
  "mongodb": "^7.1.0",
59
- "mysql2": "^3.16.3",
59
+ "mysql2": "^3.24.4",
60
60
  "node-rdkafka": "^3.6.1",
61
61
  "node-vault": "^0.10.10",
62
62
  "openapi-types": "^12.1.3",
@@ -88,7 +88,7 @@
88
88
  "tap": "^21.6.3",
89
89
  "typescript": "^6.0.3",
90
90
  "vite": "^8.2.1",
91
- "@feasibleone/blong-dev": "1.2.0"
91
+ "@feasibleone/blong-dev": "1.2.1"
92
92
  },
93
93
  "scripts": {
94
94
  "browser-check": "node scripts/browser-compat-check.mjs",
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Smoke test for the unified coverage pipeline (core/blong-gogo/run-coverage.sh
3
+ * -> mergeCoverage.mjs).
4
+ *
5
+ * Verifies that two istanbul coverage maps (a server map from `c8 --reporter
6
+ * json` and a browser map from vitest `coverage-final.json`) merge into a
7
+ * single `lcov.info` + `lcov-report/` HTML report with repo-relative paths.
8
+ * This guards against regressions like the c8-vitest incompatibility that
9
+ * silently produced 0% browser coverage.
10
+ */
11
+
12
+ import {spawnSync} from 'node:child_process';
13
+ import {existsSync, mkdtempSync, readFileSync, rmSync, writeFileSync} from 'node:fs';
14
+ import {tmpdir} from 'node:os';
15
+ import {dirname, join} from 'node:path';
16
+ import {fileURLToPath} from 'node:url';
17
+
18
+ import {test} from 'tap';
19
+
20
+ const scriptFile = fileURLToPath(new URL('../mergeCoverage.mjs', import.meta.url));
21
+ const repoRoot = join(dirname(dirname(fileURLToPath(import.meta.url))), '..', '..');
22
+ const c8BinDir = join(repoRoot, 'common', 'temp', 'node_modules', '.pnpm', 'node_modules', '.bin');
23
+
24
+ /** Minimal istanbul file-coverage fixture for one source file. */
25
+ function fileCoverage(relPath: string, hits: number): object {
26
+ return {
27
+ path: relPath,
28
+ statementMap: {
29
+ 0: {start: {line: 1, column: 0}, end: {line: 5, column: 0}},
30
+ },
31
+ fnMap: {},
32
+ branchMap: {},
33
+ s: {0: hits},
34
+ f: {},
35
+ b: {},
36
+ };
37
+ }
38
+
39
+ test('mergeCoverage — merges server + browser istanbul maps into lcov + HTML', async t => {
40
+ if (!existsSync(scriptFile) || !existsSync(c8BinDir)) {
41
+ t.comment('mergeCoverage.mjs or pnpm store not found — skipping');
42
+ t.end();
43
+ return;
44
+ }
45
+
46
+ const dir = mkdtempSync(join(tmpdir(), 'blong-merge-cov-'));
47
+ try {
48
+ const serverMap = join(dir, 'server.json');
49
+ const browserMap = join(dir, 'browser.json');
50
+ const outDir = join(dir, 'out');
51
+ writeFileSync(
52
+ serverMap,
53
+ JSON.stringify({
54
+ 'core/blong-gogo/src/server.ts': fileCoverage('core/blong-gogo/src/server.ts', 3),
55
+ }),
56
+ );
57
+ writeFileSync(
58
+ browserMap,
59
+ JSON.stringify({
60
+ 'core/blong-browser/src/Button.tsx': fileCoverage(
61
+ 'core/blong-browser/src/Button.tsx',
62
+ 2,
63
+ ),
64
+ }),
65
+ );
66
+
67
+ const result = spawnSync(process.execPath, [scriptFile, outDir, serverMap, browserMap], {
68
+ env: {...process.env, C8_BIN_DIR: c8BinDir, REPO_DIR: repoRoot},
69
+ encoding: 'utf8',
70
+ });
71
+
72
+ t.equal(result.status, 0, `mergeCoverage exits 0\n${result.stderr}`);
73
+ const lcov = readFileSync(join(outDir, 'lcov.info'), 'utf8');
74
+ t.match(lcov, /SF:core\/blong-gogo\/src\/server\.ts/, 'server source in lcov');
75
+ t.match(lcov, /SF:core\/blong-browser\/src\/Button\.tsx/, 'browser source in lcov');
76
+ t.match(
77
+ lcov,
78
+ /SF:core\/blong-gogo\/src\/server\.ts[\s\S]{0,400}?LH:[1-9]/,
79
+ 'server hits merged (positive)',
80
+ );
81
+ t.equal(
82
+ existsSync(join(outDir, 'lcov-report', 'index.html')),
83
+ true,
84
+ 'HTML report generated',
85
+ );
86
+ t.end();
87
+ } finally {
88
+ rmSync(dir, {recursive: true, force: true});
89
+ }
90
+ });