grapheme-conformance 0.1.4 → 0.1.5

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.
Files changed (2) hide show
  1. package/VERIFY.md +14 -7
  2. package/package.json +1 -1
package/VERIFY.md CHANGED
@@ -50,18 +50,25 @@ Expected output:
50
50
 
51
51
  `Intl.Segmenter` is not a fixed library. It is scored against whatever ICU the
52
52
  host Node ships, so its row moves with the runtime. Measured across the CI
53
- matrix:
53
+ matrix, against these two older keys:
54
54
 
55
55
  | runtime | 15.1.0 | 16.0.0 | `2701 200D 2701` |
56
56
  |---|---|---|---|
57
- | Node 22.22.2 (ICU 78.2) | 1186 | 1092 | split, the known deviation |
58
- | Node 20.x | 1186 | 1092 | split |
59
- | Node 18.20.8 | 1187 | 1093 | not split |
57
+ | Node 22.22.2 (ICU 78.2) | 1186 | 1092 | two clusters |
58
+ | Node 20.x | 1186 | 1092 | two clusters |
59
+ | Node 18.20.8 | 1187 | 1093 | one cluster |
60
60
 
61
61
  Run the command above on Node 22 or 20 to get the expected output above. On
62
- Node 18 the `Intl.Segmenter` value reads `1187` and `1093` instead: that ICU
63
- predates the deviation and passes every case. The other four values are
64
- pinned to exact library versions and hold identically on every Node.
62
+ Node 18 the `Intl.Segmenter` value reads `1187` and `1093` instead. The other
63
+ four values are pinned to exact library versions and hold identically on
64
+ every Node.
65
+
66
+ That single differing case is not an ICU bug. Unicode 17.0 removed U+2701
67
+ from `Extended_Pictographic`, so GB11 stopped applying and two clusters became
68
+ the correct answer; newer ICU implements that change and these two older keys
69
+ predate it. Scored against `17.0.0`, which is what the CLI uses by default,
70
+ ICU on Node 22 passes all 766 cases. Score an implementation against the key
71
+ it targets.
65
72
 
66
73
  The baseline was verified on Node 22.22.2 (ICU 78.2, Unicode 17.0).
67
74
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grapheme-conformance",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Score any JavaScript grapheme segmenter against Unicode's official GraphemeBreakTest.txt. Find out which string splitters are wrong, and about what.",
5
5
  "keywords": [
6
6
  "unicode",