scv-bilara 3.200.6 → 3.201.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/.task-world.json +1 -0
- package/Tasks/T_AZy-A7_mc.json +102 -0
- package/Tasks/T_AZzA0n33c.json +69 -0
- package/Tasks/T_AZzApRbqc.json +141 -0
- package/package.json +6 -13
- package/src/seg-doc.js +1 -1
- package/WORK.md +0 -44
package/.task-world.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"testDefault":"update unit tests","showUpdate":false,"limit":5,"verbosity":1,"showDone":false,"taskStack":["019CBE03-BFE6-7000-8771-EECB1289BCB5"],"lineLength":80}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"completedActions" : [
|
|
3
|
+
{
|
|
4
|
+
"description" : "Converted exec-git.mjs (10 tests passing)",
|
|
5
|
+
"id" : "AZy-Ac01"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"description" : "Converted verse.mjs (7 tests passing)",
|
|
9
|
+
"id" : "AZy-Ac02"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"description" : "Converted de-translations.mjs (9 tests passing)",
|
|
13
|
+
"id" : "AZy-Ac03"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"description" : "Converted publication.mjs (7 tests passing)",
|
|
17
|
+
"id" : "AZy-Ac04"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"description" : "Converted bilara-path-map.mjs (11 tests passing)",
|
|
21
|
+
"id" : "AZy-Ac05"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"description" : "Converted 9 other smaller test files",
|
|
25
|
+
"id" : "AZy-Ac06"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"description" : "Converted ml-doc.mjs (24 tests passing) - largest file to date at 19K, all tests passing",
|
|
29
|
+
"id" : "AZy-Ac07"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"description" : "FAILED ATTEMPT on bilara-data.js: Batch sed/perl replacements corrupted should.deepEqual() calls. Syntax errors at lines 598, 612, 633, 636, 645, 648, 655. File restored from original.",
|
|
33
|
+
"id" : "AZy-Ac08"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"description" : "Converted bilara-data.mjs (35 tests passing) - Used BORING approach: ONE test at a time, read carefully, fix precisely, verify immediately. No global replacements. ALL tests pass. CRITICAL LESSON: Speed kills quality. Boring = attention = success.",
|
|
37
|
+
"id" : "AZy-Ac09"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"description" : "Organized s4r test files by function: keywordSearch/phraseSearch tests moved to s4r-core.mjs (internal methods), find() tests staged in s4r-tbd.mjs for migration to s4r-suttas.mjs (primary entry point)",
|
|
41
|
+
"id" : "AZy-Ac10"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"description" : "Converted all 9 keywordSearch/phraseSearch tests to s4r-core.mjs using boring approach (ONE test at a time: convert, test, delete from source). All tests passing. Tests moved: keywordSearch limits results, searches English, searches Pali not English, searches English not Pali, searches Pali not Deutsch, searches Deutsch not Pali; phraseSearch limits results, searches English, finds Deutsch results.",
|
|
45
|
+
"id" : "AZy-Ac11"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"description" : "Converted Tests 1-8 from s4r-tbd.mjs to s4r-suttas.mjs using boring approach (8/23 tests = 35%). Tests: (1) pli-tv-bi-vb-sk1-75 (skipped-unpublished), (2) pli-tv-bi-vb-pj7 (skipped-unpublished), (3) ignores SN46.36, (4) alles leiden (German phrase), (5) thig1.1:1.1/en/soma, (6) thig1.1/en/soma,thig1.2/en/soma, (7) Deutsch abnehmend, (8) Deutsch blind. All 8 tests passing. CRITICAL LESSON: NEVER remove guard lines like 'if (!TEST_UNPUBLISHED) { return; }' - they control test execution, not cleanup candidates.",
|
|
49
|
+
"id" : "AZy-Ac12"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"createdAt" : "2026-03-05T12:40:42Z",
|
|
53
|
+
"id" : "019CBE03-BFE6-7000-8771-EECB1289BCB5",
|
|
54
|
+
"name" : "convert existing mocha tests in test/ by copying them to vtest/ and converting them for use by @sc-voice/vitest",
|
|
55
|
+
"plannedActions" : [
|
|
56
|
+
{
|
|
57
|
+
"description" : "Move remaining 15 find() tests (Tests 9-23) from s4r-tbd.mjs to s4r-suttas.mjs - Use BORING approach: ONE test at a time. (1) Read test from s4r-tbd.mjs line 63. (2) Convert: should()->expect(), .equal()->.toBe(), .deepEqual()->.toEqual(), .above()->.toBeGreaterThan(), .match()->.toMatch(). PRESERVE ALL guard lines like 'if (!TEST_UNPUBLISHED) { return; }' - they control execution, NOT cleanup. (3) Add to s4r-suttas.mjs before closing brace. (4) Test: npm run vtest -- s4r-suttas.mjs -t \"testname\". (5) Delete from s4r-tbd.mjs. CRITICAL: Never batch tests. Never remove control flow. Verify each test passes before moving to next. Progress: 8/23 done (35%).",
|
|
58
|
+
"id" : "AZy-Ap02"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"description" : "Delete s4r-tbd.mjs file after all tests migrated to destination files",
|
|
62
|
+
"id" : "AZy-Ap03"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"references" : [
|
|
66
|
+
{
|
|
67
|
+
"id" : "AZy-Ref00",
|
|
68
|
+
"relevance" : 1.0,
|
|
69
|
+
"text" : "CRITICAL MINDSET FOR NEXT CLONE: Boring works because it forces attention to detail. Speed kills quality. You have trouble paying attention. When you try to be fast or clever, you WILL miss things and corrupt code. SLOW DOWN. Read carefully. Fix one thing at a time. Verify after each fix. DO NOT declare victory until output is actually clean (no errors, no warnings, no dismissals). Do not want to feel done - just do the work. Attention > speed."
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"id" : "AZy-Ref01",
|
|
73
|
+
"relevance" : 1.0,
|
|
74
|
+
"text" : "Key conversion patterns: (1) Convert done() callbacks to async/await by removing wrapper and done() calls. (2) Fix expect(x, y) to expect(x).toEqual(y) for old should.js pattern. (3) Fix expect(x).match(regex) to expect(x).toMatch(regex). (4) Use expect(x).equal(y) for primitives, expect(x).toEqual(y) for arrays/objects. (5) Import from '@sc-voice/vitest' not 'vitest' for custom expect() methods like .properties(). (6) Use cp command for copying test files (more reliable). (7) Convert tests incrementally one at a time for large files."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id" : "AZy-Ref02",
|
|
78
|
+
"relevance" : 0.9,
|
|
79
|
+
"text" : "Unicode smart quote issue: Source data contains Unicode smart quotes. When test expectations use straight quotes but source has smart quotes, Edit tool may garble characters. Solution: User manually edits affected test strings, or extract actual output to /tmp file for user to copy correct Unicode characters."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id" : "AZy-Ref03",
|
|
83
|
+
"relevance" : 0.8,
|
|
84
|
+
"text" : "Test status: 14 test files converted, 108 tests passing total. Run tests with: npm run vtest. Most recent: ml-doc.mjs completed with all 24 tests passing."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id" : "AZy-Ref04",
|
|
88
|
+
"relevance" : 0.7,
|
|
89
|
+
"text" : "Files locations: test/ (original mocha tests), vtest/ (converted vitest tests), vtest/data/bilara-data/ (test data with Unicode characters)"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id" : "AZy-Ref05",
|
|
93
|
+
"relevance" : 1.0,
|
|
94
|
+
"text" : "CRITICAL PROCEDURE FOR bilara-data.js (36 tests, 1094 lines): Convert ONE test method at a time ONLY. (1) Edit ONE test method. (2) Test with: npm run vtest -- bilara-data.mjs. (3) Verify passes. (4) Move to next test. DO NOT use global sed/perl replacements - they corrupt multi-line should.deepEqual() structures. Use this pattern per test: function(done) -> async (), remove try/catch, remove done()/done(e), convert should()->expect(), .equal()->.toBe(), .deepEqual()->.toEqual(), .above()->.toBeGreaterThan(), .throws()->.toThrow(), .match()->.toMatch(). After imports converted, start with test #1 'default ctor' at line ~46."
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"requiredTasks" : [
|
|
98
|
+
|
|
99
|
+
],
|
|
100
|
+
"summary" : "Convert mocha test files from test/ directory to vitest format in vtest/ directory. Use @sc-voice/vitest framework which extends vitest with custom expect() methods. CRITICAL MINDSET: Boring = attention = success. Speed kills quality. Convert ONE test at a time ONLY: read, fix, verify. No global replacements. NEVER declare victory until output is truly clean. STATUS: seeker.js (94K) organized into 4 s4r-*.mjs files: s4r-core.mjs (constructor/grep/internal methods), s4r-suttas.mjs (find() with sutta patterns), s4r-trilingual.mjs (multilingual search), s4r-tbd.mjs (staging area). COMPLETED: All keywordSearch/phraseSearch tests (9 tests) converted to s4r-core.mjs and deleted from source. NEXT: Move ~24 find() tests from s4r-tbd.mjs to s4r-suttas.mjs one at a time using boring approach. Then delete s4r-tbd.mjs.",
|
|
101
|
+
"updatedAt" : "2026-03-05T18:48:00Z"
|
|
102
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"completedActions" : [
|
|
3
|
+
{
|
|
4
|
+
"name" : "Convert: find(...) is cached (lines 793-819) - Test memoization behavior",
|
|
5
|
+
"test" : "update unit tests"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name" : "Convert: RegExp knows about word boundaries (line 1172) - Regex word boundary test",
|
|
9
|
+
"test" : "update unit tests"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name" : "Convert: RegExp matches ubung (line 575) - Unicode regex handling",
|
|
13
|
+
"test" : "update unit tests"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name" : "Convert: tipitakaRegExp(tc) => regexp for paths (lines 541-574) - Tipitaka category patterns",
|
|
17
|
+
"test" : "update unit tests"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name" : "Convert: patternLanguage(...) => search language context (lines 302-340) - Pattern analysis",
|
|
21
|
+
"test" : "update unit tests"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name" : "Convert: find(...) ignores unpublished (lines 341-374) - Filtering behavior",
|
|
25
|
+
"test" : "update unit tests"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name" : "Convert: find(...) ignores translation stubs (lines 580-597) - Stub filtering",
|
|
29
|
+
"test" : "update unit tests"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name" : "Convert: find(...) ignores chinese (lines 598-606) - Chinese filtering",
|
|
33
|
+
"test" : "update unit tests"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name" : "Convert: find(...) scores relevance (lines 262-281) - Scoring logic",
|
|
37
|
+
"test" : "update unit tests"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name" : "Convert: find(...) scores relevance: on fire (lines 282-301) - Fire phrase scoring",
|
|
41
|
+
"test" : "update unit tests"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name" : "Convert: isExample (lines 820-841) - Example detection",
|
|
45
|
+
"test" : "update unit tests"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name" : "Convert: isExample (cached) (lines 842-865) - Cached example detection",
|
|
49
|
+
"test" : "update unit tests"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"createdAt" : "2026-03-06T01:45:46Z",
|
|
53
|
+
"id" : "019CC0D2-7DF7-7000-B8CC-167FC309CAA5",
|
|
54
|
+
"name" : "Convert 12 core utility tests from s4r-tbd to s4r-core",
|
|
55
|
+
"plannedActions" : [
|
|
56
|
+
|
|
57
|
+
],
|
|
58
|
+
"references" : [
|
|
59
|
+
{
|
|
60
|
+
"relevance" : 1,
|
|
61
|
+
"text" : "After each test passes in s4r-core.mjs, REMOVE the corresponding test from the commented block in vtest\/s4r-tbd.mjs. This keeps s4r-tbd.mjs clean and prevents duplicate tests. Only the DUMMY TEST should remain in s4r-tbd when done."
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"requiredTasks" : [
|
|
65
|
+
|
|
66
|
+
],
|
|
67
|
+
"summary" : "Move and convert caching, regex, pattern language, filtering, scoring, and example tests from commented section of vtest\/s4r-tbd.mjs to vtest\/s4r-core.mjs. Convert should.js to @sc-voice\/vitest syntax. Use boring approach: ONE test at a time.",
|
|
68
|
+
"updatedAt" : "2026-03-06T02:26:23Z"
|
|
69
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"completedActions" : [
|
|
3
|
+
{
|
|
4
|
+
"name" : "Remove duplicate: find(...) finds dhp2",
|
|
5
|
+
"test" : "update unit tests"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"name" : "Remove duplicate: find(...) finds cp35\/de",
|
|
9
|
+
"test" : "update unit tests"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"name" : "Remove duplicate: find(...) finds thag1.10",
|
|
13
|
+
"test" : "update unit tests"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name" : "Remove duplicate: find(...) orders sutta references found",
|
|
17
|
+
"test" : "update unit tests"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name" : "Remove duplicate: find(...) finds sutta references",
|
|
21
|
+
"test" : "update unit tests"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name" : "Remove duplicate: find(...) finds mn1\/en\/sujato",
|
|
25
|
+
"test" : "update unit tests"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name" : "Remove duplicate: find(maxdoc)",
|
|
29
|
+
"test" : "update unit tests"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"name" : "Remove duplicate: find(...) finds an1.2",
|
|
33
|
+
"test" : "update unit tests"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name" : "Remove duplicate: find({minLang}) => minLang 2",
|
|
37
|
+
"test" : "update unit tests"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name" : "Remove duplicate: find({minLang:3}) root of suffering",
|
|
41
|
+
"test" : "update unit tests"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name" : "Remove duplicate: find({minLang:2}) root of suffering",
|
|
45
|
+
"test" : "update unit tests"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name" : "Remove duplicate: find(...) => finds jhana",
|
|
49
|
+
"test" : "update unit tests"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"name" : "Remove duplicate: find(...) => finds phrase",
|
|
53
|
+
"test" : "update unit tests"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name" : "Remove duplicate: find(...) => finds ubung",
|
|
57
|
+
"test" : "update unit tests"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name" : "Remove duplicate: find(...) => finds searchLang phrase",
|
|
61
|
+
"test" : "update unit tests"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name" : "Remove duplicate: find(...) => accepts embedded options",
|
|
65
|
+
"test" : "update unit tests"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name" : "Remove duplicate: find(...) => finds all keywords",
|
|
69
|
+
"test" : "update unit tests"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name" : "Remove duplicate: find() keywords: wurzel leidens",
|
|
73
|
+
"test" : "update unit tests"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name" : "Remove duplicate: find(...) => finds segments with all keywords",
|
|
77
|
+
"test" : "update unit tests"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"name" : "Remove duplicate: RegExp knows about word boundaries",
|
|
81
|
+
"test" : "update unit tests"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name" : "Remove duplicate: find(...) => de, Benares",
|
|
85
|
+
"test" : "update unit tests"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name" : "Remove duplicate: find(...) => no first point",
|
|
89
|
+
"test" : "update unit tests"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name" : "Remove duplicate: findArgs(...) => aggaḷaṃ,",
|
|
93
|
+
"test" : "update unit tests"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name" : "Remove duplicate: findArgs(...) => thig1.1..., thig1.2...",
|
|
97
|
+
"test" : "update unit tests"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name" : "Remove duplicate: findArgs(...) handls jpn",
|
|
101
|
+
"test" : "update unit tests"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name" : "Remove duplicate: findArgs(...) handles German",
|
|
105
|
+
"test" : "update unit tests"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"name" : "Remove duplicate: findArgs(...) author",
|
|
109
|
+
"test" : "update unit tests"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name" : "Remove duplicate: find(...) finds an1.1 all types",
|
|
113
|
+
"test" : "update unit tests"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"createdAt" : "2026-03-06T00:56:10Z",
|
|
117
|
+
"id" : "019CC0A5-16EA-7000-A0AE-1A9F5EE58CF3",
|
|
118
|
+
"name" : "remove duplicates of s4r-suttas.mjs tests that are still commented out in sr4-tbd.mjs",
|
|
119
|
+
"plannedActions" : [
|
|
120
|
+
|
|
121
|
+
],
|
|
122
|
+
"references" : [
|
|
123
|
+
{
|
|
124
|
+
"relevance" : 1,
|
|
125
|
+
"text" : "CONTEXT: s4r-tbd.mjs is a staging file (copy of test\/seeker.js). The 28 actions listed are tests already successfully converted to s4r-suttas.mjs. These duplicate tests must be removed from s4r-tbd.mjs."
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"relevance" : 1,
|
|
129
|
+
"text" : "PROCESS: For each action, search s4r-tbd.mjs for the test name. Verify it exists (likely commented out in \/* *\/ block starting ~line 62). Delete the complete test function. Verify deletion. Never batch delete - one test at a time only."
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"relevance" : 1,
|
|
133
|
+
"text" : "CRITICAL: Use boring approach - go slowly, verify carefully, one test at a time. Do NOT close eyes and just delete. Check each line before removal. This is how your previous clone succeeded with other files."
|
|
134
|
+
}
|
|
135
|
+
],
|
|
136
|
+
"requiredTasks" : [
|
|
137
|
+
|
|
138
|
+
],
|
|
139
|
+
"summary" : "",
|
|
140
|
+
"updatedAt" : "2026-03-06T01:24:46Z"
|
|
141
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scv-bilara",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.201.2",
|
|
4
4
|
"description": "SuttaCentral bilara-data library",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"directories": {
|
|
@@ -8,22 +8,19 @@
|
|
|
8
8
|
"test": "test"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
+
"@sc-voice/vitest": "^4.0.1",
|
|
11
12
|
"check-node-version": "^4.0.1",
|
|
12
13
|
"js-ebt": "^1.3.0",
|
|
13
14
|
"json5": "^2.1.3",
|
|
14
15
|
"log-instance": "^1.9.0",
|
|
15
16
|
"memo-again": "^0.13.0",
|
|
16
17
|
"merkle-json": "^2.15.0",
|
|
17
|
-
"scv-esm": "^1.135.
|
|
18
|
+
"scv-esm": "^1.135.7",
|
|
18
19
|
"suttacentral-api": "^2.25.0",
|
|
19
20
|
"tmp": "^0.2.3"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
|
-
"eslint-plugin-html": "^4.0.5"
|
|
23
|
-
"glob": "13.0.6",
|
|
24
|
-
"minimatch": "10.2.2",
|
|
25
|
-
"mocha": "^11.7.5",
|
|
26
|
-
"should": "^13.2.3"
|
|
23
|
+
"eslint-plugin-html": "^4.0.5"
|
|
27
24
|
},
|
|
28
25
|
"overrides": {
|
|
29
26
|
"minimatch": "10.2.2",
|
|
@@ -32,12 +29,8 @@
|
|
|
32
29
|
"scripts": {
|
|
33
30
|
"schedule-action": "scripts/schedule-action",
|
|
34
31
|
"push-action": "scripts/push-action",
|
|
35
|
-
"test": "
|
|
36
|
-
"test:test
|
|
37
|
-
"test:test": "scripts/clean-test; mocha --config test/mocha-config.json -g TESTTEST",
|
|
38
|
-
"test:verbose": "scripts/clean-test; mocha --inline-diffs",
|
|
39
|
-
"test:one": "scripts/clean-test; mocha --inline-diffs -g TESTTEST",
|
|
40
|
-
"test:watch": "mocha -w --inline-diffs",
|
|
32
|
+
"test": "vitest run --config test/vitest.config.mjs --fileParallelism=false",
|
|
33
|
+
"test:test": "vitest --config test/vitest.config.mjs --fileParallelism=false",
|
|
41
34
|
"version": "node -e \"console.log(require('./package.json').version);\""
|
|
42
35
|
},
|
|
43
36
|
"repository": {
|
package/src/seg-doc.js
CHANGED
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
scids.forEach(scid => {
|
|
95
95
|
var text = segMap[scid];
|
|
96
96
|
text.split(' ').forEach(t => {
|
|
97
|
-
|
|
97
|
+
let w = unicode.stripSymbols(t.toLowerCase());
|
|
98
98
|
wordMap[w] = isMember;
|
|
99
99
|
romanize && (wordMap[unicode.romanize(w)] = isMember);
|
|
100
100
|
});
|
package/WORK.md
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# WORK.md
|
|
2
|
-
|
|
3
|
-
**Build**: v3.192.2
|
|
4
|
-
**Status**: In Progress
|
|
5
|
-
**Started**: 2025-12-16
|
|
6
|
-
|
|
7
|
-
## Objective
|
|
8
|
-
|
|
9
|
-
Fix errors found by "npm run test" one-by-one with developer
|
|
10
|
-
|
|
11
|
-
## Process for Fixing Each Bug (1-7)
|
|
12
|
-
|
|
13
|
-
1. **Analyze**: Run test, capture failure output, identify what's wrong
|
|
14
|
-
2. **Agree**: Share analysis with developer, get agreement
|
|
15
|
-
3. **Propose**: Suggest fix based on analysis, explain reasoning
|
|
16
|
-
4. **Approve**: Get developer approval before making changes
|
|
17
|
-
5. **Implement**: Make code changes and add TESTTEST prefix to test name
|
|
18
|
-
6. **Test**: Run `npx mocha test/<file>.mjs --grep "TESTTEST"` to verify fix works
|
|
19
|
-
7. **Next**: Move to next bug
|
|
20
|
-
|
|
21
|
-
## Plan
|
|
22
|
-
|
|
23
|
-
1. [x] Bug 1: example-v2 exampleSuttas()
|
|
24
|
-
2. [x] Bug 2: example-v2 suttasOfExamples()
|
|
25
|
-
3. [x] Bug 3: Seeker phraseSearch(...) finds Deutsch results
|
|
26
|
-
4. [x] Bug 4: Seeker find({minLang:3}) root of suffering
|
|
27
|
-
5. [x] Bug 5: Seeker find(...) => finds phrase
|
|
28
|
-
6. [x] Bug 6: Seeker find() keywords: wurzel leidens
|
|
29
|
-
7. [x] Bug 7: Seeker find(...) ignores translation stubs
|
|
30
|
-
|
|
31
|
-
## Current Step
|
|
32
|
-
|
|
33
|
-
Complete - All 7 bugs fixed, 255 tests passing
|
|
34
|
-
|
|
35
|
-
## Blockers
|
|
36
|
-
|
|
37
|
-
None
|
|
38
|
-
|
|
39
|
-
## Notes
|
|
40
|
-
|
|
41
|
-
- 248 passing, 7 failing tests
|
|
42
|
-
- All failures involve unwanted inclusion of mn105 in search results
|
|
43
|
-
- Bug 1 FIXED: Updated test to include mn105 in expected results
|
|
44
|
-
- All bugs appear to be Content Bugs (content changed, not code broken)
|