scv-bilara 3.182.62 → 3.193.0

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.
@@ -1,17 +1,22 @@
1
1
  name: push-actions
2
2
  on: [push]
3
+ #schedule:
4
+ # - cron: 20 3,11,19 * * *
5
+ #workflow_dispatch: # Allows manual trigger from Github UI
3
6
  jobs:
4
7
  push-job:
8
+ timeout-minutes: 30
5
9
  runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write # OIDC npm
12
+ contents: write
6
13
  steps:
7
- - uses: actions/checkout@v4
8
- - uses: actions/setup-node@v4
14
+ - uses: actions/checkout@v6
15
+ - uses: actions/setup-node@v6
9
16
  with:
10
17
  node-version: '20.x'
11
- registry-url: 'https://registry.npmjs.org'
18
+ #registry-url: 'https://registry.npmjs.org'
12
19
  - run: scripts/install
13
20
  - run: git config user.name github-actions
14
21
  - run: git config user.email github-actions@github.com
15
22
  - run: npm run push-action
16
- env:
17
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -2,12 +2,17 @@ name: schedule-actions
2
2
  on:
3
3
  schedule:
4
4
  - cron: 20 3,11,19 * * *
5
+ workflow_dispatch: # Allows manual trigger from Github UI
5
6
  jobs:
6
7
  build-job:
8
+ timeout-minutes: 30
7
9
  runs-on: ubuntu-latest
10
+ permissions:
11
+ id-token: write # OIDC npm
12
+ contents: write
8
13
  steps:
9
- - uses: actions/checkout@v4
10
- - uses: actions/setup-node@v4
14
+ - uses: actions/checkout@v6
15
+ - uses: actions/setup-node@v6
11
16
  with:
12
17
  node-version: '20.x'
13
18
  registry-url: 'https://registry.npmjs.org'
@@ -15,5 +20,3 @@ jobs:
15
20
  - run: git config --global user.name github-actions
16
21
  - run: git config --global user.email github-actions@github.com
17
22
  - run: npm run schedule-action
18
- env:
19
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/CLAUDE.md ADDED
@@ -0,0 +1,76 @@
1
+ # CLAUDE.md - scv-bilara Project Guidelines
2
+
3
+ ## Bug Types
4
+
5
+ Two kinds of bugs can cause test failures:
6
+
7
+ 1. **Code Bug**: Code logic is broken (e.g., search algorithm, filtering logic)
8
+ - Fix: Update source code logic
9
+ - Test: Use TESTTEST prefix, run with mocha --grep
10
+
11
+ 2. **Content Bug**: Content has changed since test was written
12
+ - Fix: Update test expectations to match new content
13
+ - Test: Use TESTTEST prefix, run with mocha --grep
14
+
15
+ ## Determining Bug Type During Analysis
16
+
17
+ 1. **Check the actual vs expected values** in test failure
18
+ 2. **Look at the content files** that are being tested
19
+ 3. **Determine if content is present**:
20
+ - If content IS there and test expects it missing → Content Bug
21
+ - If content is missing and test expects it there → Content Bug
22
+ - If content hasn't changed but behavior is wrong → Code Bug
23
+
24
+ ## Content Bug Fixing Process
25
+
26
+ When tests fail due to content changes:
27
+
28
+ ### Understanding
29
+ - Tests represent **past truth** (when tests were written)
30
+ - Content in bilara-data/ebt-data changes over time
31
+ - Test failures indicate content has changed, not that code is broken
32
+ - **Our job**: Update test expectations to match new content reality
33
+ - NOT: Fix code to filter out or exclude content
34
+
35
+ ### Process for Each Failing Test
36
+
37
+ 1. **Analyze**:
38
+ - Run failing test, capture output
39
+ - Check content files (JSON translation files) for what's actually there
40
+ - Identify what changed since test was written
41
+ - **Determine bug type** (Content or Code)
42
+
43
+ 2. **Agree**:
44
+ - Share analysis with developer
45
+ - Confirm understanding of the change
46
+
47
+ 3. **Propose**:
48
+ - Suggest fix (update test expectations)
49
+ - Explain which content was added/changed
50
+
51
+ 4. **Approve**:
52
+ - Get developer approval before making changes
53
+
54
+ 5. **Implement**:
55
+ - Update test file with new expected values
56
+ - Add TESTTEST prefix to test name (e.g., `it("TESTTESTexampleSuttas()"`)
57
+
58
+ 6. **Test**:
59
+ - Run: `npx mocha test/<file>.mjs --grep "TESTTEST"`
60
+ - Verify test passes
61
+ - Remove TESTTEST prefix when confirmed
62
+
63
+ 7. **Next**:
64
+ - Move to next failing test
65
+
66
+ ### Key Files
67
+ - Test files: `/test/*.mjs` and `/test/*.js`
68
+ - Content files: `/local/bilara-data/translation/` and `/local/ebt-data/translation/`
69
+ - JSON structure: `{suttaId:segmentId: "translation text", ...}`
70
+
71
+ ### Example
72
+ When `mn105/de/sabbamitta` content changed to include "Wurzel des Leidens", tests that search for that phrase now return mn105. Update test expectations to include mn105 in expected results.
73
+
74
+ ## Build Status
75
+
76
+ - **v3.192.3**: Node v20 tests all passing (255 tests). All 7 failing tests were Content Bugs fixed by updating test expectations for mn105 German translations.
package/Makefile ADDED
@@ -0,0 +1,9 @@
1
+ .PHONY: commit
2
+
3
+ commit:
4
+ @if [ ! -f .commit-msg ]; then echo "Error: .commit-msg not found"; exit 1; fi
5
+ @MSG=$$(cat .commit-msg); \
6
+ rm .commit-msg; \
7
+ git add .; \
8
+ git commit -m "$$MSG"; \
9
+ git status
package/WORK.md ADDED
@@ -0,0 +1,44 @@
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)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scv-bilara",
3
- "version": "3.182.62",
3
+ "version": "3.193.0",
4
4
  "description": "SuttaCentral bilara-data library",
5
5
  "main": "index.js",
6
6
  "directories": {
@@ -9,14 +9,13 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "check-node-version": "^4.0.1",
12
- "esm": "^3.2.25",
13
12
  "js-ebt": "^1.0.1",
14
13
  "json5": "^2.1.3",
15
- "log-instance": "^1.6.0",
14
+ "log-instance": "^1.8.0",
16
15
  "memo-again": "^0.10.0",
17
16
  "merkle-json": "^2.2.0",
18
- "scv-esm": "^1.115.898",
19
- "suttacentral-api": "^2.17.71",
17
+ "scv-esm": "^1.123.0",
18
+ "suttacentral-api": "^2.24.0",
20
19
  "tmp": "^0.2.3"
21
20
  },
22
21
  "devDependencies": {
@@ -4,9 +4,9 @@ pushd $DIR/..
4
4
  SCRIPT=`basename $0 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`
5
5
 
6
6
  echo "npm version:" `npm -v`
7
- npm install --save suttacentral-api@latest
8
- npm install --save scv-esm@latest
9
- npm install --save log-instance@latest
10
- npm install --save memo-again@latest
7
+ npm install --verbose --save scv-esm@latest
8
+ npm install --verbose --save suttacentral-api@latest
9
+ npm install --verbose --save log-instance@latest
10
+ npm install --verbose --save memo-again@latest
11
11
  $DIR/js/suidmap.js
12
12
  $DIR/examples PUSH
@@ -38,7 +38,7 @@
38
38
  {
39
39
  "id": "ach!",
40
40
  "group": "Examples",
41
- "links": 18
41
+ "links": 14
42
42
  },
43
43
  {
44
44
  "id": "acht Befreiungen",
@@ -853,7 +853,7 @@
853
853
  {
854
854
  "id": "die Tore zur Unsterblichkeit",
855
855
  "group": "Examples",
856
- "links": 5
856
+ "links": 0
857
857
  },
858
858
  {
859
859
  "id": "die Unbeständigkeit aller Bedingungen",
@@ -1228,7 +1228,7 @@
1228
1228
  {
1229
1229
  "id": "Element de",
1230
1230
  "group": "Examples",
1231
- "links": 31
1231
+ "links": 28
1232
1232
  },
1233
1233
  {
1234
1234
  "id": "Ende der Welt",
@@ -3368,7 +3368,7 @@
3368
3368
  {
3369
3369
  "id": "Tor zur Unsterblichkeit",
3370
3370
  "group": "Examples",
3371
- "links": 12
3371
+ "links": 0
3372
3372
  },
3373
3373
  {
3374
3374
  "id": "töte ich",
@@ -4576,7 +4576,7 @@
4576
4576
  "id": "mn26",
4577
4577
  "group": "mn",
4578
4578
  "rank": 1,
4579
- "links": 21
4579
+ "links": 18
4580
4580
  },
4581
4581
  {
4582
4582
  "id": "mn36",
@@ -4594,7 +4594,7 @@
4594
4594
  "id": "mn85",
4595
4595
  "group": "mn",
4596
4596
  "rank": 1,
4597
- "links": 29
4597
+ "links": 26
4598
4598
  },
4599
4599
  {
4600
4600
  "id": "an8.77",
@@ -4648,19 +4648,19 @@
4648
4648
  "id": "sn12.27",
4649
4649
  "group": "sn",
4650
4650
  "rank": 1,
4651
- "links": 2
4651
+ "links": 1
4652
4652
  },
4653
4653
  {
4654
4654
  "id": "sn12.28",
4655
4655
  "group": "sn",
4656
4656
  "rank": 2,
4657
- "links": 2
4657
+ "links": 1
4658
4658
  },
4659
4659
  {
4660
4660
  "id": "sn12.33",
4661
4661
  "group": "sn",
4662
4662
  "rank": 1,
4663
- "links": 3
4663
+ "links": 2
4664
4664
  },
4665
4665
  {
4666
4666
  "id": "sn12.2",
@@ -4752,12 +4752,6 @@
4752
4752
  "rank": 2,
4753
4753
  "links": 4
4754
4754
  },
4755
- {
4756
- "id": "sn6.1",
4757
- "group": "sn",
4758
- "rank": 1,
4759
- "links": 9
4760
- },
4761
4755
  {
4762
4756
  "id": "sn15.20",
4763
4757
  "group": "sn",
@@ -4800,12 +4794,6 @@
4800
4794
  "rank": 1,
4801
4795
  "links": 9
4802
4796
  },
4803
- {
4804
- "id": "dn14",
4805
- "group": "dn",
4806
- "rank": 1,
4807
- "links": 31
4808
- },
4809
4797
  {
4810
4798
  "id": "dn16",
4811
4799
  "group": "dn",
@@ -5214,6 +5202,12 @@
5214
5202
  "rank": 4,
5215
5203
  "links": 3
5216
5204
  },
5205
+ {
5206
+ "id": "dn14",
5207
+ "group": "dn",
5208
+ "rank": 1,
5209
+ "links": 29
5210
+ },
5217
5211
  {
5218
5212
  "id": "an3.32",
5219
5213
  "group": "an",
@@ -6154,7 +6148,7 @@
6154
6148
  "id": "dn18",
6155
6149
  "group": "dn",
6156
6150
  "rank": 1,
6157
- "links": 10
6151
+ "links": 9
6158
6152
  },
6159
6153
  {
6160
6154
  "id": "sn46.52",
@@ -6894,6 +6888,12 @@
6894
6888
  "rank": 6,
6895
6889
  "links": 7
6896
6890
  },
6891
+ {
6892
+ "id": "sn6.1",
6893
+ "group": "sn",
6894
+ "rank": 1,
6895
+ "links": 6
6896
+ },
6897
6897
  {
6898
6898
  "id": "an5.140",
6899
6899
  "group": "an",
@@ -6904,7 +6904,7 @@
6904
6904
  "id": "mn64",
6905
6905
  "group": "mn",
6906
6906
  "rank": 1,
6907
- "links": 9
6907
+ "links": 8
6908
6908
  },
6909
6909
  {
6910
6910
  "id": "an10.63",
@@ -10335,14 +10335,14 @@
10335
10335
  {
10336
10336
  "id": "an11.16",
10337
10337
  "group": "an",
10338
- "rank": 9,
10339
- "links": 3
10338
+ "rank": 11,
10339
+ "links": 2
10340
10340
  },
10341
10341
  {
10342
10342
  "id": "mn52",
10343
10343
  "group": "mn",
10344
- "rank": 10,
10345
- "links": 3
10344
+ "rank": 13,
10345
+ "links": 2
10346
10346
  },
10347
10347
  {
10348
10348
  "id": "mn97",
@@ -10665,7 +10665,7 @@
10665
10665
  {
10666
10666
  "id": "iti51",
10667
10667
  "group": "iti",
10668
- "rank": 13,
10668
+ "rank": 14,
10669
10669
  "links": 1
10670
10670
  },
10671
10671
  {
@@ -10692,18 +10692,6 @@
10692
10692
  "rank": 19,
10693
10693
  "links": 1
10694
10694
  },
10695
- {
10696
- "id": "iti73",
10697
- "group": "iti",
10698
- "rank": 3,
10699
- "links": 2
10700
- },
10701
- {
10702
- "id": "an6.46",
10703
- "group": "an",
10704
- "rank": 1,
10705
- "links": 4
10706
- },
10707
10695
  {
10708
10696
  "id": "ud8.5",
10709
10697
  "group": "ud",
@@ -11856,6 +11844,12 @@
11856
11844
  "rank": 2,
11857
11845
  "links": 2
11858
11846
  },
11847
+ {
11848
+ "id": "iti73",
11849
+ "group": "iti",
11850
+ "rank": 3,
11851
+ "links": 1
11852
+ },
11859
11853
  {
11860
11854
  "id": "an5.34",
11861
11855
  "group": "an",
@@ -14368,7 +14362,7 @@
14368
14362
  "id": "mn34",
14369
14363
  "group": "mn",
14370
14364
  "rank": 4,
14371
- "links": 3
14365
+ "links": 2
14372
14366
  },
14373
14367
  {
14374
14368
  "id": "an11.502-981",
@@ -14730,6 +14724,12 @@
14730
14724
  "rank": 2,
14731
14725
  "links": 2
14732
14726
  },
14727
+ {
14728
+ "id": "an6.46",
14729
+ "group": "an",
14730
+ "rank": 1,
14731
+ "links": 3
14732
+ },
14733
14733
  {
14734
14734
  "id": "sn48.21",
14735
14735
  "group": "sn",
@@ -16368,24 +16368,6 @@
16368
16368
  "rank": 1,
16369
16369
  "links": 2
16370
16370
  },
16371
- {
16372
- "id": "iti84",
16373
- "group": "iti",
16374
- "rank": 2,
16375
- "links": 1
16376
- },
16377
- {
16378
- "id": "sn12.49",
16379
- "group": "sn",
16380
- "rank": 4,
16381
- "links": 2
16382
- },
16383
- {
16384
- "id": "sn12.50",
16385
- "group": "sn",
16386
- "rank": 5,
16387
- "links": 2
16388
- },
16389
16371
  {
16390
16372
  "id": "an4.111",
16391
16373
  "group": "an",
@@ -16740,6 +16722,18 @@
16740
16722
  "rank": 9,
16741
16723
  "links": 1
16742
16724
  },
16725
+ {
16726
+ "id": "sn12.49",
16727
+ "group": "sn",
16728
+ "rank": 9,
16729
+ "links": 1
16730
+ },
16731
+ {
16732
+ "id": "sn12.50",
16733
+ "group": "sn",
16734
+ "rank": 10,
16735
+ "links": 1
16736
+ },
16743
16737
  {
16744
16738
  "id": "an4.258",
16745
16739
  "group": "an",
@@ -18520,65 +18514,45 @@
18520
18514
  "target": "sn6.15",
18521
18515
  "rank": 6
18522
18516
  },
18523
- {
18524
- "source": "ach!",
18525
- "target": "sn6.1",
18526
- "rank": 7
18527
- },
18528
18517
  {
18529
18518
  "source": "ach!",
18530
18519
  "target": "sn15.20",
18531
- "rank": 8
18520
+ "rank": 7
18532
18521
  },
18533
18522
  {
18534
18523
  "source": "ach!",
18535
18524
  "target": "thag16.4",
18536
- "rank": 9
18525
+ "rank": 8
18537
18526
  },
18538
18527
  {
18539
18528
  "source": "ach!",
18540
18529
  "target": "mn99",
18541
- "rank": 10
18542
- },
18543
- {
18544
- "source": "ach!",
18545
- "target": "mn26",
18546
- "rank": 11
18530
+ "rank": 9
18547
18531
  },
18548
18532
  {
18549
18533
  "source": "ach!",
18550
18534
  "target": "thag20.1",
18551
- "rank": 12
18535
+ "rank": 10
18552
18536
  },
18553
18537
  {
18554
18538
  "source": "ach!",
18555
18539
  "target": "dn17",
18556
- "rank": 13
18540
+ "rank": 11
18557
18541
  },
18558
18542
  {
18559
18543
  "source": "ach!",
18560
18544
  "target": "dn21",
18561
- "rank": 14
18545
+ "rank": 12
18562
18546
  },
18563
18547
  {
18564
18548
  "source": "ach!",
18565
18549
  "target": "mn82",
18566
- "rank": 15
18567
- },
18568
- {
18569
- "source": "ach!",
18570
- "target": "mn85",
18571
- "rank": 16
18572
- },
18573
- {
18574
- "source": "ach!",
18575
- "target": "dn14",
18576
- "rank": 17
18550
+ "rank": 13
18577
18551
  },
18578
18552
  {
18579
18553
  "source": "ach!",
18580
18554
  "target": "dn16",
18581
- "rank": 18
18555
+ "rank": 14
18582
18556
  },
18583
18557
  {
18584
18558
  "source": "acht Befreiungen",
@@ -24270,31 +24244,6 @@
24270
24244
  "target": "an4.21",
24271
24245
  "rank": 2
24272
24246
  },
24273
- {
24274
- "source": "die Tore zur Unsterblichkeit",
24275
- "target": "dn18",
24276
- "rank": 1
24277
- },
24278
- {
24279
- "source": "die Tore zur Unsterblichkeit",
24280
- "target": "sn6.1",
24281
- "rank": 2
24282
- },
24283
- {
24284
- "source": "die Tore zur Unsterblichkeit",
24285
- "target": "mn26",
24286
- "rank": 3
24287
- },
24288
- {
24289
- "source": "die Tore zur Unsterblichkeit",
24290
- "target": "mn85",
24291
- "rank": 4
24292
- },
24293
- {
24294
- "source": "die Tore zur Unsterblichkeit",
24295
- "target": "dn14",
24296
- "rank": 5
24297
- },
24298
24247
  {
24299
24248
  "source": "die Unbeständigkeit aller Bedingungen",
24300
24249
  "target": "iti85",
@@ -26662,12 +26611,12 @@
26662
26611
  },
26663
26612
  {
26664
26613
  "source": "Element de",
26665
- "target": "iti51",
26614
+ "target": "an6.111",
26666
26615
  "rank": 13
26667
26616
  },
26668
26617
  {
26669
26618
  "source": "Element de",
26670
- "target": "an6.111",
26619
+ "target": "iti51",
26671
26620
  "rank": 14
26672
26621
  },
26673
26622
  {
@@ -26695,65 +26644,50 @@
26695
26644
  "target": "sn14.13",
26696
26645
  "rank": 19
26697
26646
  },
26698
- {
26699
- "source": "Element de",
26700
- "target": "iti73",
26701
- "rank": 20
26702
- },
26703
- {
26704
- "source": "Element de",
26705
- "target": "an6.46",
26706
- "rank": 21
26707
- },
26708
26647
  {
26709
26648
  "source": "Element de",
26710
26649
  "target": "sn22.47",
26711
- "rank": 22
26650
+ "rank": 20
26712
26651
  },
26713
26652
  {
26714
26653
  "source": "Element de",
26715
26654
  "target": "an4.23",
26716
- "rank": 23
26655
+ "rank": 21
26717
26656
  },
26718
26657
  {
26719
26658
  "source": "Element de",
26720
26659
  "target": "iti112",
26721
- "rank": 24
26660
+ "rank": 22
26722
26661
  },
26723
26662
  {
26724
26663
  "source": "Element de",
26725
26664
  "target": "an8.19",
26726
- "rank": 25
26665
+ "rank": 23
26727
26666
  },
26728
26667
  {
26729
26668
  "source": "Element de",
26730
26669
  "target": "an8.70",
26731
- "rank": 26
26670
+ "rank": 24
26732
26671
  },
26733
26672
  {
26734
26673
  "source": "Element de",
26735
26674
  "target": "ud8.5",
26736
- "rank": 27
26675
+ "rank": 25
26737
26676
  },
26738
26677
  {
26739
26678
  "source": "Element de",
26740
26679
  "target": "ud5.5",
26741
- "rank": 28
26742
- },
26743
- {
26744
- "source": "Element de",
26745
- "target": "mn64",
26746
- "rank": 29
26680
+ "rank": 26
26747
26681
  },
26748
26682
  {
26749
26683
  "source": "Element de",
26750
26684
  "target": "mn115",
26751
- "rank": 30
26685
+ "rank": 27
26752
26686
  },
26753
26687
  {
26754
26688
  "source": "Element de",
26755
26689
  "target": "dn29",
26756
- "rank": 31
26690
+ "rank": 28
26757
26691
  },
26758
26692
  {
26759
26693
  "source": "Ende der Welt",
@@ -41825,66 +41759,6 @@
41825
41759
  "target": "sn12.63",
41826
41760
  "rank": 14
41827
41761
  },
41828
- {
41829
- "source": "Tor zur Unsterblichkeit",
41830
- "target": "sn12.33",
41831
- "rank": 1
41832
- },
41833
- {
41834
- "source": "Tor zur Unsterblichkeit",
41835
- "target": "iti84",
41836
- "rank": 2
41837
- },
41838
- {
41839
- "source": "Tor zur Unsterblichkeit",
41840
- "target": "sn12.27",
41841
- "rank": 3
41842
- },
41843
- {
41844
- "source": "Tor zur Unsterblichkeit",
41845
- "target": "sn12.49",
41846
- "rank": 4
41847
- },
41848
- {
41849
- "source": "Tor zur Unsterblichkeit",
41850
- "target": "sn12.50",
41851
- "rank": 5
41852
- },
41853
- {
41854
- "source": "Tor zur Unsterblichkeit",
41855
- "target": "mn34",
41856
- "rank": 6
41857
- },
41858
- {
41859
- "source": "Tor zur Unsterblichkeit",
41860
- "target": "sn6.1",
41861
- "rank": 7
41862
- },
41863
- {
41864
- "source": "Tor zur Unsterblichkeit",
41865
- "target": "sn12.28",
41866
- "rank": 8
41867
- },
41868
- {
41869
- "source": "Tor zur Unsterblichkeit",
41870
- "target": "an11.16",
41871
- "rank": 9
41872
- },
41873
- {
41874
- "source": "Tor zur Unsterblichkeit",
41875
- "target": "mn52",
41876
- "rank": 10
41877
- },
41878
- {
41879
- "source": "Tor zur Unsterblichkeit",
41880
- "target": "mn26",
41881
- "rank": 11
41882
- },
41883
- {
41884
- "source": "Tor zur Unsterblichkeit",
41885
- "target": "mn85",
41886
- "rank": 12
41887
- },
41888
41762
  {
41889
41763
  "source": "töte ich",
41890
41764
  "target": "an4.111",
@@ -0,0 +1,4 @@
1
+ {
2
+ "nodes": [],
3
+ "links": []
4
+ }
@@ -14978,72 +14978,86 @@
14978
14978
  "sn10.1": {
14979
14979
  "translation/de/sabbamitta": "sutta/sn/sn10",
14980
14980
  "translation/en/sujato": "sutta/sn/sn10",
14981
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14981
14982
  "root/pli/ms": "sutta/sn/sn10"
14982
14983
  },
14983
14984
  "sn10.2": {
14984
14985
  "translation/de/sabbamitta": "sutta/sn/sn10",
14985
14986
  "translation/en/sujato": "sutta/sn/sn10",
14987
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14986
14988
  "root/pli/ms": "sutta/sn/sn10"
14987
14989
  },
14988
14990
  "sn10.3": {
14989
14991
  "translation/de/sabbamitta": "sutta/sn/sn10",
14990
14992
  "translation/en/sujato": "sutta/sn/sn10",
14993
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14991
14994
  "root/pli/ms": "sutta/sn/sn10"
14992
14995
  },
14993
14996
  "sn10.4": {
14994
14997
  "translation/de/sabbamitta": "sutta/sn/sn10",
14995
14998
  "translation/en/sujato": "sutta/sn/sn10",
14999
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
14996
15000
  "root/pli/ms": "sutta/sn/sn10"
14997
15001
  },
14998
15002
  "sn10.5": {
14999
15003
  "translation/de/sabbamitta": "sutta/sn/sn10",
15000
15004
  "translation/en/sujato": "sutta/sn/sn10",
15005
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15001
15006
  "root/pli/ms": "sutta/sn/sn10"
15002
15007
  },
15003
15008
  "sn10.6": {
15004
15009
  "translation/de/sabbamitta": "sutta/sn/sn10",
15005
15010
  "translation/en/sujato": "sutta/sn/sn10",
15011
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15006
15012
  "root/pli/ms": "sutta/sn/sn10"
15007
15013
  },
15008
15014
  "sn10.7": {
15009
15015
  "translation/de/sabbamitta": "sutta/sn/sn10",
15010
15016
  "translation/en/sujato": "sutta/sn/sn10",
15017
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15011
15018
  "root/pli/ms": "sutta/sn/sn10"
15012
15019
  },
15013
15020
  "sn10.8": {
15014
15021
  "translation/de/sabbamitta": "sutta/sn/sn10",
15015
15022
  "translation/en/sujato": "sutta/sn/sn10",
15023
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15016
15024
  "root/pli/ms": "sutta/sn/sn10"
15017
15025
  },
15018
15026
  "sn10.9": {
15019
15027
  "translation/de/sabbamitta": "sutta/sn/sn10",
15020
15028
  "translation/en/sujato": "sutta/sn/sn10",
15029
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15021
15030
  "root/pli/ms": "sutta/sn/sn10"
15022
15031
  },
15023
15032
  "sn10.10": {
15024
15033
  "translation/de/sabbamitta": "sutta/sn/sn10",
15025
15034
  "translation/en/sujato": "sutta/sn/sn10",
15035
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15026
15036
  "root/pli/ms": "sutta/sn/sn10"
15027
15037
  },
15028
15038
  "sn10.11": {
15029
15039
  "translation/de/sabbamitta": "sutta/sn/sn10",
15030
15040
  "translation/en/sujato": "sutta/sn/sn10",
15041
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15031
15042
  "root/pli/ms": "sutta/sn/sn10"
15032
15043
  },
15033
15044
  "sn10.12": {
15034
15045
  "translation/de/sabbamitta": "sutta/sn/sn10",
15035
15046
  "translation/en/sujato": "sutta/sn/sn10",
15047
+ "translation/sr/brankokovacevic": "sutta/sn/sn10",
15036
15048
  "root/pli/ms": "sutta/sn/sn10"
15037
15049
  },
15038
15050
  "sn11.1": {
15039
15051
  "translation/de/sabbamitta": "sutta/sn/sn11",
15040
15052
  "translation/en/sujato": "sutta/sn/sn11",
15041
15053
  "translation/ru/sv": "sutta/sn/sn11",
15054
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15042
15055
  "root/pli/ms": "sutta/sn/sn11"
15043
15056
  },
15044
15057
  "sn11.2": {
15045
15058
  "translation/de/sabbamitta": "sutta/sn/sn11",
15046
15059
  "translation/en/sujato": "sutta/sn/sn11",
15060
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15047
15061
  "root/pli/ms": "sutta/sn/sn11"
15048
15062
  },
15049
15063
  "sn11.3": {
@@ -15051,118 +15065,141 @@
15051
15065
  "translation/en/sujato": "sutta/sn/sn11",
15052
15066
  "translation/lt/piyadassi": "sutta/sn/sn11",
15053
15067
  "translation/ru/sv": "sutta/sn/sn11",
15068
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15054
15069
  "root/pli/ms": "sutta/sn/sn11"
15055
15070
  },
15056
15071
  "sn11.4": {
15057
15072
  "translation/de/sabbamitta": "sutta/sn/sn11",
15058
15073
  "translation/en/sujato": "sutta/sn/sn11",
15074
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15059
15075
  "root/pli/ms": "sutta/sn/sn11"
15060
15076
  },
15061
15077
  "sn11.5": {
15062
15078
  "translation/de/sabbamitta": "sutta/sn/sn11",
15063
15079
  "translation/en/sujato": "sutta/sn/sn11",
15064
15080
  "translation/lt/piyadassi": "sutta/sn/sn11",
15081
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15065
15082
  "root/pli/ms": "sutta/sn/sn11"
15066
15083
  },
15067
15084
  "sn11.6": {
15068
15085
  "translation/de/sabbamitta": "sutta/sn/sn11",
15069
15086
  "translation/en/sujato": "sutta/sn/sn11",
15087
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15070
15088
  "root/pli/ms": "sutta/sn/sn11"
15071
15089
  },
15072
15090
  "sn11.7": {
15073
15091
  "translation/de/sabbamitta": "sutta/sn/sn11",
15074
15092
  "translation/en/sujato": "sutta/sn/sn11",
15093
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15075
15094
  "root/pli/ms": "sutta/sn/sn11"
15076
15095
  },
15077
15096
  "sn11.8": {
15078
15097
  "translation/de/sabbamitta": "sutta/sn/sn11",
15079
15098
  "translation/en/sujato": "sutta/sn/sn11",
15099
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15080
15100
  "root/pli/ms": "sutta/sn/sn11"
15081
15101
  },
15082
15102
  "sn11.9": {
15083
15103
  "translation/de/sabbamitta": "sutta/sn/sn11",
15084
15104
  "translation/en/sujato": "sutta/sn/sn11",
15105
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15085
15106
  "root/pli/ms": "sutta/sn/sn11"
15086
15107
  },
15087
15108
  "sn11.10": {
15088
15109
  "translation/de/sabbamitta": "sutta/sn/sn11",
15089
15110
  "translation/en/sujato": "sutta/sn/sn11",
15111
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15090
15112
  "root/pli/ms": "sutta/sn/sn11"
15091
15113
  },
15092
15114
  "sn11.11": {
15093
15115
  "translation/de/sabbamitta": "sutta/sn/sn11",
15094
15116
  "translation/en/sujato": "sutta/sn/sn11",
15117
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15095
15118
  "root/pli/ms": "sutta/sn/sn11"
15096
15119
  },
15097
15120
  "sn11.12": {
15098
15121
  "translation/de/sabbamitta": "sutta/sn/sn11",
15099
15122
  "translation/en/sujato": "sutta/sn/sn11",
15123
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15100
15124
  "root/pli/ms": "sutta/sn/sn11"
15101
15125
  },
15102
15126
  "sn11.13": {
15103
15127
  "translation/de/sabbamitta": "sutta/sn/sn11",
15104
15128
  "translation/en/sujato": "sutta/sn/sn11",
15129
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15105
15130
  "root/pli/ms": "sutta/sn/sn11"
15106
15131
  },
15107
15132
  "sn11.14": {
15108
15133
  "translation/de/sabbamitta": "sutta/sn/sn11",
15109
15134
  "translation/en/sujato": "sutta/sn/sn11",
15135
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15110
15136
  "root/pli/ms": "sutta/sn/sn11"
15111
15137
  },
15112
15138
  "sn11.15": {
15113
15139
  "translation/de/sabbamitta": "sutta/sn/sn11",
15114
15140
  "translation/en/sujato": "sutta/sn/sn11",
15141
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15115
15142
  "root/pli/ms": "sutta/sn/sn11"
15116
15143
  },
15117
15144
  "sn11.16": {
15118
15145
  "translation/de/sabbamitta": "sutta/sn/sn11",
15119
15146
  "translation/en/sujato": "sutta/sn/sn11",
15147
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15120
15148
  "root/pli/ms": "sutta/sn/sn11"
15121
15149
  },
15122
15150
  "sn11.17": {
15123
15151
  "translation/de/sabbamitta": "sutta/sn/sn11",
15124
15152
  "translation/en/sujato": "sutta/sn/sn11",
15153
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15125
15154
  "root/pli/ms": "sutta/sn/sn11"
15126
15155
  },
15127
15156
  "sn11.18": {
15128
15157
  "translation/de/sabbamitta": "sutta/sn/sn11",
15129
15158
  "translation/en/sujato": "sutta/sn/sn11",
15159
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15130
15160
  "root/pli/ms": "sutta/sn/sn11"
15131
15161
  },
15132
15162
  "sn11.19": {
15133
15163
  "translation/de/sabbamitta": "sutta/sn/sn11",
15134
15164
  "translation/en/sujato": "sutta/sn/sn11",
15165
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15135
15166
  "root/pli/ms": "sutta/sn/sn11"
15136
15167
  },
15137
15168
  "sn11.20": {
15138
15169
  "translation/de/sabbamitta": "sutta/sn/sn11",
15139
15170
  "translation/en/sujato": "sutta/sn/sn11",
15171
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15140
15172
  "root/pli/ms": "sutta/sn/sn11"
15141
15173
  },
15142
15174
  "sn11.21": {
15143
15175
  "translation/de/sabbamitta": "sutta/sn/sn11",
15144
15176
  "translation/en/sujato": "sutta/sn/sn11",
15177
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15145
15178
  "root/pli/ms": "sutta/sn/sn11"
15146
15179
  },
15147
15180
  "sn11.22": {
15148
15181
  "translation/de/sabbamitta": "sutta/sn/sn11",
15149
15182
  "translation/en/sujato": "sutta/sn/sn11",
15150
15183
  "translation/lt/piyadassi": "sutta/sn/sn11",
15184
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15151
15185
  "root/pli/ms": "sutta/sn/sn11"
15152
15186
  },
15153
15187
  "sn11.23": {
15154
15188
  "translation/de/sabbamitta": "sutta/sn/sn11",
15155
15189
  "translation/en/sujato": "sutta/sn/sn11",
15190
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15156
15191
  "root/pli/ms": "sutta/sn/sn11"
15157
15192
  },
15158
15193
  "sn11.24": {
15159
15194
  "translation/de/sabbamitta": "sutta/sn/sn11",
15160
15195
  "translation/en/sujato": "sutta/sn/sn11",
15196
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15161
15197
  "root/pli/ms": "sutta/sn/sn11"
15162
15198
  },
15163
15199
  "sn11.25": {
15164
15200
  "translation/de/sabbamitta": "sutta/sn/sn11",
15165
15201
  "translation/en/sujato": "sutta/sn/sn11",
15202
+ "translation/sr/brankokovacevic": "sutta/sn/sn11",
15166
15203
  "root/pli/ms": "sutta/sn/sn11"
15167
15204
  },
15168
15205
  "sn12.1": {
@@ -54,6 +54,9 @@
54
54
  let { root } = bilaraData;
55
55
  author = author || AuthorsV2.langAuthor(lang);
56
56
  let authorInfo = AuthorsV2.authorInfo(author);
57
+ if (!authorInfo) {
58
+ return null;
59
+ }
57
60
  let { exampleVersion:egVer } = authorInfo;
58
61
  let pathDir = `${root}/examples`;
59
62
  let fname = [
@@ -68,6 +71,9 @@
68
71
 
69
72
  async examples() {
70
73
  let egPath = this.langAuthorPath();
74
+ if (egPath == null) {
75
+ return []
76
+ }
71
77
  let text = (await fs.promises.readFile(egPath)).toString();
72
78
  return text.split('\n');
73
79
  }