@forwardimpact/libharness 0.1.18 → 0.1.20

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/README.md CHANGED
@@ -1,11 +1,10 @@
1
1
  # libharness
2
2
 
3
- Shared test fixtures, mocks, and assertion helpers for the monorepo. Imported by
4
- `*.test.js` files across libraries, products, and services so test code stays
5
- consistent and test authors stop reinventing the same helpers.
3
+ <!-- BEGIN:description — Do not edit. Generated from package.json. -->
6
4
 
7
- Runner-independent: the mock primitive `spy()` does not depend on either
8
- `node:test` or `bun:test`, so the suite runs under both. See spec 650.
5
+ Shared mocks and test fixtures so every library and service tests the same way.
6
+
7
+ <!-- END:description -->
9
8
 
10
9
  ## Usage
11
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forwardimpact/libharness",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "description": "Shared mocks and test fixtures so every library and service tests the same way.",
5
5
  "keywords": [
6
6
  "test",
@@ -9,12 +9,14 @@
9
9
  "harness",
10
10
  "agent"
11
11
  ],
12
- "forwardimpact": {
13
- "capability": "foundations",
14
- "needs": [
15
- "Mock a config, storage, logger, or gRPC handler in a test"
16
- ]
12
+ "homepage": "https://www.forwardimpact.team",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/forwardimpact/monorepo.git",
16
+ "directory": "libraries/libharness"
17
17
  },
18
+ "license": "Apache-2.0",
19
+ "author": "D. Olsson <hi@senzilla.io>",
18
20
  "type": "module",
19
21
  "main": "./src/index.js",
20
22
  "exports": {
@@ -29,16 +31,14 @@
29
31
  "scripts": {
30
32
  "test": "bun test test/*.test.js"
31
33
  },
32
- "author": "Forward Impact Team",
33
- "license": "MIT",
34
34
  "peerDependencies": {
35
35
  "@forwardimpact/libtype": "*"
36
36
  },
37
- "publishConfig": {
38
- "access": "public"
39
- },
40
37
  "engines": {
41
38
  "bun": ">=1.2.0",
42
39
  "node": ">=18.0.0"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
43
  }
44
44
  }
@@ -9,7 +9,6 @@ import assert from "node:assert";
9
9
  export function assertThrowsMessage(fn, pattern, message) {
10
10
  assert.throws(
11
11
  fn,
12
- // eslint-disable-next-line security/detect-non-literal-regexp -- test-only utility; pattern is developer-controlled
13
12
  { message: pattern instanceof RegExp ? pattern : new RegExp(pattern) },
14
13
  message,
15
14
  );
@@ -24,7 +23,6 @@ export function assertThrowsMessage(fn, pattern, message) {
24
23
  export async function assertRejectsMessage(fn, pattern, message) {
25
24
  await assert.rejects(
26
25
  fn,
27
- // eslint-disable-next-line security/detect-non-literal-regexp -- test-only utility; pattern is developer-controlled
28
26
  { message: pattern instanceof RegExp ? pattern : new RegExp(pattern) },
29
27
  message,
30
28
  );
@@ -71,7 +71,7 @@ export function collectLines(stream) {
71
71
  * @returns {string}
72
72
  */
73
73
  export function stripAnsi(s) {
74
- // eslint-disable-next-line no-control-regex -- ANSI SGR detection is intentional.
74
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: ANSI SGR detection is intentional.
75
75
  return s.replace(/\[[0-9;]*m/g, "");
76
76
  }
77
77