@encodeagent/platform-helper-util 1.2602.1241426 → 1.2603.1062107

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.
@@ -17,4 +17,5 @@
17
17
  */
18
18
  export declare const markdownToHtml: (content: string) => string;
19
19
  export declare const htmlToMarkdown: (content: string) => string;
20
+ export declare const normalizeHtmlForMarkdown: (html: string) => string;
20
21
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAEhD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAIhD,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAEhD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAIhD,CAAC;AAGF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,KAAG,MA2DvD,CAAC"}
package/dist/markdown.js CHANGED
@@ -20,10 +20,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
20
20
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.htmlToMarkdown = exports.markdownToHtml = void 0;
23
+ exports.normalizeHtmlForMarkdown = exports.htmlToMarkdown = exports.markdownToHtml = void 0;
24
24
  const marked_1 = require("marked");
25
25
  const core_1 = require("./core");
26
26
  const turndown_1 = __importDefault(require("turndown"));
27
+ const html_1 = require("./html");
27
28
  const turndown = new turndown_1.default();
28
29
  const markdownToHtml = (content) => {
29
30
  return (0, core_1.isNonEmptyString)(content) ? (0, marked_1.marked)(content) : "";
@@ -31,8 +32,58 @@ const markdownToHtml = (content) => {
31
32
  exports.markdownToHtml = markdownToHtml;
32
33
  const htmlToMarkdown = (content) => {
33
34
  return (0, core_1.isNonEmptyString)(content)
34
- ? turndown.turndown(content)
35
+ ? turndown.turndown((0, exports.normalizeHtmlForMarkdown)(content))
35
36
  : "";
36
37
  };
37
38
  exports.htmlToMarkdown = htmlToMarkdown;
39
+ const normalizeHtmlForMarkdown = (html) => {
40
+ const doc = (0, html_1.cleanHtml)(html ?? '');
41
+ if (!doc || typeof doc !== 'function') {
42
+ return html ?? '';
43
+ }
44
+ doc('div').each((_, element) => {
45
+ const div = doc(element);
46
+ const divText = div.text().replace(/\u200B/g, '').replace(/\s+/g, ' ').trim();
47
+ if (divText === 'Copy') {
48
+ div.remove();
49
+ }
50
+ });
51
+ doc('h1,h2,h3,h4,h5,h6').each((_, element) => {
52
+ const heading = doc(element);
53
+ heading.find('a').each((__, anchor) => {
54
+ const anchorElement = doc(anchor);
55
+ const anchorText = anchorElement.text().replace(/\u200B/g, '').trim();
56
+ if (!anchorText) {
57
+ anchorElement.remove();
58
+ }
59
+ });
60
+ heading.find('div').each((__, div) => {
61
+ const divElement = doc(div);
62
+ const divText = divElement.text().replace(/\u200B/g, '').trim();
63
+ if (!divText) {
64
+ divElement.remove();
65
+ }
66
+ });
67
+ const headingText = heading.text().replace(/\u200B/g, '').replace(/\s+/g, ' ').trim();
68
+ heading.html(headingText);
69
+ });
70
+ doc('p > code').each((_, element) => {
71
+ const code = doc(element);
72
+ const parent = code.parent();
73
+ const codeText = code.text().replace(/\u200B/g, '').trim();
74
+ const isStandaloneCodeBlock = parent.get(0)?.tagName === 'p'
75
+ && parent.children().length === 1
76
+ && codeText.length > 60;
77
+ if (isStandaloneCodeBlock) {
78
+ parent.replaceWith(`<pre><code>${codeText}</code></pre>`);
79
+ }
80
+ });
81
+ doc('pre code').each((_, element) => {
82
+ const code = doc(element);
83
+ const codeText = code.text().replace(/\u200B/g, '').trim();
84
+ code.text(codeText);
85
+ });
86
+ return doc.html().replace('<html><head></head><body>', '').replace('</body></html>', '');
87
+ };
88
+ exports.normalizeHtmlForMarkdown = normalizeHtmlForMarkdown;
38
89
  //# sourceMappingURL=markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;AAEH,mCAAgC;AAChC,iCAA0C;AAC1C,wDAAuC;AAEvC,MAAM,QAAQ,GAAG,IAAI,kBAAe,EAAE,CAAC;AAEhC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,CAAE,IAAA,eAAM,EAAC,OAAO,CAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,IAAA,uBAAgB,EAAC,OAAO,CAAC;QAC5B,CAAC,CAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAY;QACxC,CAAC,CAAC,EAAE,CAAC;AACb,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@encodeagent/platform-helper-util",
3
- "version": "1.2602.1241426",
3
+ "version": "1.2603.1062107",
4
4
  "engines": {
5
5
  "node": ">20.0.0 <23.0.0"
6
6
  },
@@ -30,12 +30,12 @@
30
30
  "author": "EncodeAgent Team <team@encodeagent.com>",
31
31
  "license": "SEE LICENSE IN LICENSE",
32
32
  "dependencies": {
33
- "cheerio": "^1.1.2",
33
+ "cheerio": "^1.2.0",
34
34
  "lodash": "^4.17.21",
35
- "marked": "^16.2.0",
35
+ "marked": "^17.0.4",
36
36
  "shortid": "^2.2.17",
37
37
  "slugify": "^1.6.6",
38
- "turndown": "^7.2.1",
38
+ "turndown": "^7.2.2",
39
39
  "uuid": "^13.0.0"
40
40
  },
41
41
  "devDependencies": {
@@ -43,7 +43,7 @@
43
43
  "@types/lodash": "^4.14.195",
44
44
  "@types/node": "^22.10.0",
45
45
  "@types/shortid": "^2.2.0",
46
- "@types/turndown": "^5.0.5",
46
+ "@types/turndown": "^5.0.6",
47
47
  "@typescript-eslint/eslint-plugin": "^6.7.0",
48
48
  "@typescript-eslint/parser": "^6.7.0",
49
49
  "eslint": "^8.49.0",