jsii-rosetta 5.9.34-dev.3 → 5.9.34
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/lib/markdown/escapes.js
CHANGED
|
@@ -28,7 +28,10 @@ function makeJavaEscaper() {
|
|
|
28
28
|
text2attr: (x) => escapeText(ATTR_ADDL, x),
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
+
// eslint-disable-next-line no-control-regex
|
|
32
|
+
const PROHIBITED_XML_CHARS = new RegExp('[\x00-\x08\x0B\x0C\x0E-\x1F\uFFFE\uFFFF]', 'g');
|
|
31
33
|
const TEXT = [
|
|
34
|
+
[PROHIBITED_XML_CHARS, ''],
|
|
32
35
|
[new RegExp('&', 'g'), '&'],
|
|
33
36
|
[new RegExp('<', 'g'), '<'],
|
|
34
37
|
[new RegExp('>', 'g'), '>'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escapes.js","sourceRoot":"","sources":["../../src/markdown/escapes.ts"],"names":[],"mappings":";;AAuBA,wCAQC;AAQD,0CASC;AA5BD;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,IAAI,GAAY,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,MAAM,QAAQ,GAAY,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAY,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAID,MAAM,IAAI,GAAY;IACpB,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,mGAAmG;AACnG,MAAM,SAAS,GAAY;IACzB,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;IAChC,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;CACjC,CAAC;AAEF,SAAS,UAAU,CAAC,GAAY,EAAE,IAAmB;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export interface Escaper {\n /**\n * Escape for use in XML/HTML text\n */\n text(x: string | null): string;\n\n /**\n * Escape for use in XML/HTML attributes\n */\n attribute(x: string | null): string;\n\n /**\n * Re-escape a string that has been escaped for text to be escaped for attributes\n *\n * Conceptually this unescapes text back to raw and re-escapes for attributes,\n * but for speed in practice we just do the additional escapes.\n */\n text2attr(x: string | null): string;\n}\n\n/**\n * Make a generic XML escaper\n */\nexport function makeXmlEscaper(): Escaper {\n const attr: Escapes = [...TEXT, ...ATTR_ADDL];\n\n return {\n text: (x) => escapeText(TEXT, x),\n attribute: (x) => escapeText(attr, x),\n text2attr: (x) => escapeText(ATTR_ADDL, x),\n };\n}\n\n/**\n * Make a Java specific escaper\n *\n * This one also escapes '@' because that triggers parsing of comment directives\n * in Java.\n */\nexport function makeJavaEscaper(): Escaper {\n const javaText: Escapes = [...TEXT, [new RegExp('@', 'g'), '@']];\n const javaAttr: Escapes = [...javaText, ...ATTR_ADDL];\n\n return {\n text: (x) => escapeText(javaText, x),\n attribute: (x) => escapeText(javaAttr, x),\n text2attr: (x) => escapeText(ATTR_ADDL, x),\n };\n}\n\ntype Escapes = Array<[RegExp, string]>;\n\nconst TEXT: Escapes = [\n [new RegExp('&', 'g'), '&'],\n [new RegExp('<', 'g'), '<'],\n [new RegExp('>', 'g'), '>'],\n];\n\n// Additional escapes (in addition to the text escapes) which need to be escaped inside attributes.\nconst ATTR_ADDL: Escapes = [\n [new RegExp('\"', 'g'), '"'],\n [new RegExp(\"'\", 'g'), '''],\n];\n\nfunction escapeText(set: Escapes, what: string | null): string {\n if (!what) {\n return '';\n }\n\n for (const [re, repl] of set) {\n what = what.replace(re, repl);\n }\n\n return what;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"escapes.js","sourceRoot":"","sources":["../../src/markdown/escapes.ts"],"names":[],"mappings":";;AAuBA,wCAQC;AAQD,0CASC;AA5BD;;GAEG;AACH,SAAgB,cAAc;IAC5B,MAAM,IAAI,GAAY,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC;IAE9C,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe;IAC7B,MAAM,QAAQ,GAAY,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAY,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;IAEtD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAID,4CAA4C;AAC5C,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;AAEzF,MAAM,IAAI,GAAY;IACpB,CAAC,oBAAoB,EAAE,EAAE,CAAC;IAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAC/B,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,mGAAmG;AACnG,MAAM,SAAS,GAAY;IACzB,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;IAChC,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;CACjC,CAAC;AAEF,SAAS,UAAU,CAAC,GAAY,EAAE,IAAmB;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["export interface Escaper {\n /**\n * Escape for use in XML/HTML text\n */\n text(x: string | null): string;\n\n /**\n * Escape for use in XML/HTML attributes\n */\n attribute(x: string | null): string;\n\n /**\n * Re-escape a string that has been escaped for text to be escaped for attributes\n *\n * Conceptually this unescapes text back to raw and re-escapes for attributes,\n * but for speed in practice we just do the additional escapes.\n */\n text2attr(x: string | null): string;\n}\n\n/**\n * Make a generic XML escaper\n */\nexport function makeXmlEscaper(): Escaper {\n const attr: Escapes = [...TEXT, ...ATTR_ADDL];\n\n return {\n text: (x) => escapeText(TEXT, x),\n attribute: (x) => escapeText(attr, x),\n text2attr: (x) => escapeText(ATTR_ADDL, x),\n };\n}\n\n/**\n * Make a Java specific escaper\n *\n * This one also escapes '@' because that triggers parsing of comment directives\n * in Java.\n */\nexport function makeJavaEscaper(): Escaper {\n const javaText: Escapes = [...TEXT, [new RegExp('@', 'g'), '@']];\n const javaAttr: Escapes = [...javaText, ...ATTR_ADDL];\n\n return {\n text: (x) => escapeText(javaText, x),\n attribute: (x) => escapeText(javaAttr, x),\n text2attr: (x) => escapeText(ATTR_ADDL, x),\n };\n}\n\ntype Escapes = Array<[RegExp, string]>;\n\n// eslint-disable-next-line no-control-regex\nconst PROHIBITED_XML_CHARS = new RegExp('[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\uFFFE\\uFFFF]', 'g');\n\nconst TEXT: Escapes = [\n [PROHIBITED_XML_CHARS, ''],\n [new RegExp('&', 'g'), '&'],\n [new RegExp('<', 'g'), '<'],\n [new RegExp('>', 'g'), '>'],\n];\n\n// Additional escapes (in addition to the text escapes) which need to be escaped inside attributes.\nconst ATTR_ADDL: Escapes = [\n [new RegExp('\"', 'g'), '"'],\n [new RegExp(\"'\", 'g'), '''],\n];\n\nfunction escapeText(set: Escapes, what: string | null): string {\n if (!what) {\n return '';\n }\n\n for (const [re, repl] of set) {\n what = what.replace(re, repl);\n }\n\n return what;\n}\n"]}
|
|
@@ -62,7 +62,7 @@ class CSharpXmlCommentRenderer extends markdown_renderer_1.MarkdownRenderer {
|
|
|
62
62
|
// An html string fails to parse unless it is wrapped into a document root element
|
|
63
63
|
// We fake this, by wrapping the inline html into an artificial root element,
|
|
64
64
|
// and for rendering only selecting its children.
|
|
65
|
-
const dom = new xmldom_1.DOMParser().parseFromString(`<jsii-root>${html}</jsii-root>`, xmldom_1.MIME_TYPE.HTML);
|
|
65
|
+
const dom = new xmldom_1.DOMParser({ onError: () => { } }).parseFromString(`<jsii-root>${html}</jsii-root>`, xmldom_1.MIME_TYPE.HTML);
|
|
66
66
|
const fragment = dom.createDocumentFragment();
|
|
67
67
|
for (const child of Array.from(dom.firstChild?.childNodes ?? [])) {
|
|
68
68
|
fragment.appendChild(child);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xml-comment-renderer.js","sourceRoot":"","sources":["../../src/markdown/xml-comment-renderer.ts"],"names":[],"mappings":";;;AAAA,2CAAqE;AAGrE,uCAA2C;AAC3C,yCAA0D;AAC1D,2DAAwE;AAExE,MAAM,MAAM,GAAG,IAAA,wBAAc,GAAE,CAAC;AAEhC;;;;;GAKG;AACH,MAAa,wBAAyB,SAAQ,oCAAgB;IAC5C,WAAW,CAAC,KAAc,EAAE,OAAwB;QAClE,OAAO,IAAA,wBAAI,EAAC,IAAA,sBAAW,EAAC,MAAM,EAAE,IAAA,6BAAS,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAEe,IAAI,CAAC,IAAa,EAAE,QAAyB;QAC3D,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/C,CAAC;IAEe,UAAU,CAAC,IAAa,EAAE,QAAyB;QACjE,OAAO,IAAA,wBAAI,EAAC,oBAAoB,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;IAC5D,CAAC;IAEe,IAAI,CAAC,IAAa,EAAE,QAAyB;QAC3D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAEe,IAAI,CAAC,IAAa,EAAE,OAAwB;QAC1D,OAAO,YAAY,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1F,CAAC;IAEe,KAAK,CAAC,IAAa,EAAE,OAAwB;QAC3D,OAAO,aAAa,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,UAAU,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC;IAClH,CAAC;IAEe,IAAI,CAAC,KAAc,EAAE,OAAwB;QAC3D,OAAO,OAAO,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IACzC,CAAC;IAEe,MAAM,CAAC,KAAc,EAAE,OAAwB;QAC7D,OAAO,WAAW,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC;IACjD,CAAC;IAEe,OAAO,CAAC,IAAa,EAAE,OAAwB;QAC7D,OAAO,IAAA,wBAAI,EAAC,KAAK,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACvE,CAAC;IAEe,IAAI,CAAC,IAAa,EAAE,OAAwB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAElE,OAAO,IAAA,wBAAI,EAAC,eAAe,QAAQ,OAAO,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAEe,IAAI,CAAC,KAAc,EAAE,OAAwB;QAC3D,OAAO,gBAAgB,IAAA,6BAAS,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,kBAAkB,CAAC;IACxE,CAAC;IAEe,cAAc,CAAC,KAAc,EAAE,QAAyB;QACtE,OAAO,IAAA,wBAAI,EAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACa,WAAW,CAAC,IAAa,EAAE,QAAyB;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,kFAAkF;YAClF,6EAA6E;YAC7E,iDAAiD;YACjD,MAAM,GAAG,GAAG,IAAI,kBAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"xml-comment-renderer.js","sourceRoot":"","sources":["../../src/markdown/xml-comment-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import { DOMParser, MIME_TYPE, XMLSerializer } from '@xmldom/xmldom';\nimport * as cm from 'commonmark';\n\nimport { makeXmlEscaper } from './escapes';\nimport { prefixLines, RendererContext } from './markdown';\nimport { MarkdownRenderer, para, stripPara } from './markdown-renderer';\n\nconst ESCAPE = makeXmlEscaper();\n\n/**\n * A renderer that will render a CommonMark tree to .NET XML comments\n *\n * Mostly concerns itself with code annotations and escaping; tags that the\n * XML formatter doesn't have equivalents for will be rendered back to MarkDown.\n */\nexport class CSharpXmlCommentRenderer extends MarkdownRenderer {\n public override block_quote(_node: cm.Node, context: RendererContext) {\n return para(prefixLines(' ', stripPara(context.content())));\n }\n\n public override code(node: cm.Node, _context: RendererContext) {\n return `<c>${ESCAPE.text(node.literal)}</c>`;\n }\n\n public override code_block(node: cm.Node, _context: RendererContext) {\n return para(`<code><![CDATA[\\n${node.literal}]]></code>`);\n }\n\n public override text(node: cm.Node, _context: RendererContext) {\n return ESCAPE.text(node.literal) ?? '';\n }\n\n public override link(node: cm.Node, context: RendererContext) {\n return `<a href=\"${ESCAPE.attribute(node.destination) ?? ''}\">${context.content()}</a>`;\n }\n\n public override image(node: cm.Node, context: RendererContext) {\n return `<img alt=\"${ESCAPE.text2attr(context.content())}\" src=\"${ESCAPE.attribute(node.destination) ?? ''}\" />`;\n }\n\n public override emph(_node: cm.Node, context: RendererContext) {\n return `<em>${context.content()}</em>`;\n }\n\n public override strong(_node: cm.Node, context: RendererContext) {\n return `<strong>${context.content()}</strong>`;\n }\n\n public override heading(node: cm.Node, context: RendererContext) {\n return para(`<h${node.level}>${context.content()}</h${node.level}>`);\n }\n\n public override list(node: cm.Node, context: RendererContext) {\n const listType = node.listType === 'bullet' ? 'bullet' : 'number';\n\n return para(`<list type=\"${listType}\">\\n${context.content()}</list>`);\n }\n\n public override item(_node: cm.Node, context: RendererContext) {\n return `<description>${stripPara(context.content())}</description>\\n`;\n }\n\n public override thematic_break(_node: cm.Node, _context: RendererContext) {\n return para('<hr />');\n }\n\n /**\n * HTML needs to be converted to XML\n *\n * If we don't do this, the parser will reject the whole XML block once it sees an unclosed\n * <img> tag.\n */\n public override html_inline(node: cm.Node, _context: RendererContext) {\n const html = node.literal ?? '';\n try {\n // An html string fails to parse unless it is wrapped into a document root element\n // We fake this, by wrapping the inline html into an artificial root element,\n // and for rendering only selecting its children.\n const dom = new DOMParser({ onError: () => {} }).parseFromString(\n `<jsii-root>${html}</jsii-root>`,\n MIME_TYPE.HTML,\n );\n const fragment = dom.createDocumentFragment();\n for (const child of Array.from(dom.firstChild?.childNodes ?? [])) {\n fragment.appendChild(child);\n }\n return new XMLSerializer().serializeToString(fragment);\n } catch {\n // Could not parse - we'll escape unsafe XML entities here...\n return html.replace(/[<>&]/g, (char: string) => {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n default:\n return char;\n }\n });\n }\n }\n\n /**\n * HTML needs to be converted to XML\n *\n * If we don't do this, the parser will reject the whole XML block once it sees an unclosed\n * <img> tag.\n */\n public override html_block(node: cm.Node, context: RendererContext) {\n return this.html_inline(node, context);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"memfs": "^4.56.11",
|
|
58
58
|
"mock-fs": "^5.5.0",
|
|
59
59
|
"prettier": "^2.8.8",
|
|
60
|
-
"projen": "^0.99.
|
|
60
|
+
"projen": "^0.99.18",
|
|
61
61
|
"tar": "^6.2.1",
|
|
62
62
|
"ts-jest": "^29.4.6",
|
|
63
63
|
"ts-node": "^10.9.2"
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"publishConfig": {
|
|
87
87
|
"access": "public"
|
|
88
88
|
},
|
|
89
|
-
"version": "5.9.34
|
|
89
|
+
"version": "5.9.34",
|
|
90
90
|
"types": "lib/index.d.ts",
|
|
91
91
|
"exports": {
|
|
92
92
|
".": "./lib/index.js",
|