@rr0/cms 0.3.49 → 0.3.50

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.
@@ -7,7 +7,9 @@ import { PeopleHtmlRenderer } from "./PeopleHtmlRenderer.js";
7
7
  describe("PeopleReplacer", () => {
8
8
  const rootDir = rr0TestUtil.filePath("people");
9
9
  const files = [
10
+ path.join(rootDir, "j/Jésus"),
10
11
  path.join(rootDir, "b/BeauJerome"),
12
+ path.join(rootDir, "j/Jesus"),
11
13
  path.join(rootDir, "h/HynekJosefAllen"),
12
14
  path.join(rootDir, "r/ReaganRonald"),
13
15
  path.join(rootDir, "v/VertongenJeanLuc")
@@ -38,31 +40,36 @@ describe("PeopleReplacer", () => {
38
40
  expect(replacement.outerHTML).toBe(`<span title="1910-1986, 76 ans, USA, ufologue, astronome" class="deceased country-us occupation-ufologist occupation-astronomer" translate="no"><a href="/src/people/h/HynekJosefAllen/">Josef Allen Hynek (Northwestern University, Evanston, Illinois)</a></span>`);
39
41
  }
40
42
  });
41
- test("replace people tags", { skip: true }, async () => {
43
+ test("replace people tags", async () => {
42
44
  const dataService = new AllDataService([peopleFactory]);
43
45
  const peopleService = new PeopleService(dataService, peopleFactory, { rootDir, files });
44
46
  const peopleRenderer = new PeopleHtmlRenderer();
45
47
  const replacer = new PeopleReplacer(peopleService, peopleRenderer);
46
48
  const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", "");
47
49
  {
48
- const peopleWithTitle = createPeopleElement(context, "Jean-Luc Vertongen");
50
+ const peopleWithTitle = createPeopleElement(context, "Jésus");
49
51
  const replacement = await replacer.replacement(context, peopleWithTitle);
50
- expect(replacement.outerHTML).toBe(`<span class="peopl" translate="no"><a href="/src/people/v/VertongenJeanLuc/">Jean-Luc Vertongen</a></span>`);
52
+ expect(replacement.outerHTML).toBe(`<span class="data-resolved people-resolved" translate="no"><a href="/test/people/j/Jesus/">Jésus</a></span>`);
51
53
  }
52
54
  {
53
- const peopleWithTitle = createPeopleElement(context, "Ronald Reagan", "Ronald Wilson Reagan");
55
+ const peopleWithComposedFirstName = createPeopleElement(context, "Jean-Luc Vertongen");
56
+ const replacement = await replacer.replacement(context, peopleWithComposedFirstName);
57
+ expect(replacement.outerHTML).toBe(`<span title="1939-2015, 76 ans, Belgique, ufologue" class="data-resolved people-resolved deceased country-be occupation-ufologist" translate="no"><a href="/test/people/v/VertongenJeanLuc/">Jean-Luc Vertongen<img src="/test/people/v/VertongenJeanLuc/portrait.jpg" alt="Jean-Luc Vertongen" class="portrait" width="75"></a></span>`);
58
+ }
59
+ {
60
+ const peopleWithTitle = createPeopleElement(context, "Reagan", "Ronald Reagan");
54
61
  const replacement = await replacer.replacement(context, peopleWithTitle);
55
- expect(replacement.outerHTML).toBe(`<span class="peopl" translate="no"><a href="/src/people/r/ReaganRonald/">Ronald Reagan</a></span>`);
62
+ expect(replacement.outerHTML).toBe(`<span title="1911-2004, 93 ans, USA, acteur, politicien, dirigeant" class="data-resolved people-resolved deceased country-us occupation-actor occupation-politician occupation-leader" translate="no"><a href="/test/people/r/ReaganRonald/">Reagan<img src="/test/people/r/ReaganRonald/portrait.gif" alt="Reagan" class="portrait" width="75"></a></span>`);
56
63
  }
57
64
  {
58
65
  const peopleWithFullName = createPeopleElement(context, "Jérôme Beau");
59
66
  let replacement = await replacer.replacement(context, peopleWithFullName);
60
- expect(replacement.outerHTML).toBe(`<span title="1972-, 50 ans, France, ufologue, Informaticien" class="country-fr occupation-ufologist occupation-softwareEngineer" translate="no"><a href="/src/people/b/BeauJerome/">Jérôme Beau</a></span>`);
67
+ expect(replacement.outerHTML).toBe(`<span class="data-resolved people-resolved" translate="no"><a href="/test/people/b/BeauJerome/">Jérôme Beau</a></span>`);
61
68
  }
62
69
  {
63
70
  const peopleWithLastName = createPeopleElement(context, "Beau");
64
71
  let replacement = await replacer.replacement(context, peopleWithLastName);
65
- expect(replacement.outerHTML).toBe(`<span title="1972-, 50 ans, France, ufologue, Informaticien" class="country-fr occupation-ufologist occupation-softwareEngineer" translate="no" title="Jérôme Beau"><a href="/src/people/b/BeauJerome/" title="Jérôme Beau">Beau</a></span>`);
72
+ expect(replacement.outerHTML).toBe(`<span class="data-resolved people-resolved" translate="no"><a href="/test/people/b/BeauJerome/">Beau</a></span>`);
66
73
  }
67
74
  });
68
75
  });
package/package.json CHANGED
@@ -2,12 +2,12 @@
2
2
  "name": "@rr0/cms",
3
3
  "type": "module",
4
4
  "author": "Jérôme Beau <rr0@rr0.org> (https://rr0.org)",
5
- "version": "0.3.49",
5
+ "version": "0.3.50",
6
6
  "description": "RR0 Content Management System (CMS)",
7
7
  "exports": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
9
  "engines": {
10
- "node": ">=20"
10
+ "node": ">=22"
11
11
  },
12
12
  "license": "MIT",
13
13
  "homepage": "https://github.com/RR0/cms#readme",
@@ -23,8 +23,9 @@
23
23
  "preview": "vite preview --host",
24
24
  "build": "rm -Rf dist && tsc --project tsconfig.prod.json",
25
25
  "circular-deps": "dpdm src",
26
+ "prepublishOnly": "npm run build && npm run test-ci",
26
27
  "test": "testscript",
27
- "test-one": "rm -Rf out && tsx src/CMSGenerator.test.ts",
28
+ "test-one": "rm -Rf out && tsx src/people/PeopleReplacer.test.ts",
28
29
  "test-ci": "rm -Rf out && testscript"
29
30
  },
30
31
  "dependencies": {
@@ -34,13 +35,13 @@
34
35
  "@rr0/lang": "^0.1.12",
35
36
  "@rr0/place": "^0.5.3",
36
37
  "@rr0/time": "^0.11.1",
37
- "canvas": "^3.1.0",
38
+ "canvas": "^3.1.2",
38
39
  "csv-parser": "^3.2.0",
39
- "glob": "^11.0.2",
40
+ "glob": "^11.0.3",
40
41
  "image-size": "^2.0.2",
41
42
  "jsdom": "^26.1.0",
42
- "selenium-webdriver": "^4.32.0",
43
- "ssg-api": "^1.17.1"
43
+ "selenium-webdriver": "^4.34.0",
44
+ "ssg-api": "^1.17.4"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@javarome/testscript": "^0.13.1",