From adad5a6420088a05b4992a75e2437b68f5633e6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Jakovljevi=C4=87?= Date: Fri, 8 Oct 2021 23:59:54 +0200 Subject: [PATCH 1/4] chore: fix docs build --- docs_app/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs_app/package.json b/docs_app/package.json index cb63db7acb..91d388ed64 100644 --- a/docs_app/package.json +++ b/docs_app/package.json @@ -121,7 +121,7 @@ "rehype": "^10.0.0", "rehype-slug": "^2.0.3", "remark": "^10.0.1", - "remark-html": "^13.0.2", + "remark-html": "^12.0.0", "rimraf": "^2.6.1", "semver": "^6.1.1", "shelljs": "^0.8.3", From 23c7e526b55ac7059fd6d29b8b1b18789ff81890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Jakovljevi=C4=87?= Date: Mon, 11 Oct 2021 09:06:09 +0200 Subject: [PATCH 2/4] chore: update remark version and revert remark-html version Related angular/angular#24000 --- docs_app/package-lock.json | 216 +++++++++--------- docs_app/package.json | 4 +- .../tools/transforms/remark-package/index.js | 2 +- .../services/markedNunjucksFilter.js | 12 + .../services/plugins/mapHeadings.js | 31 +++ .../remark-package/services/renderMarkdown.js | 31 +-- 6 files changed, 172 insertions(+), 124 deletions(-) create mode 100644 docs_app/tools/transforms/remark-package/services/markedNunjucksFilter.js create mode 100644 docs_app/tools/transforms/remark-package/services/plugins/mapHeadings.js diff --git a/docs_app/package-lock.json b/docs_app/package-lock.json index 65f18edd6c..8c55853c3a 100644 --- a/docs_app/package-lock.json +++ b/docs_app/package-lock.json @@ -288,6 +288,12 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", "dev": true + }, + "typescript": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "dev": true } } }, @@ -13356,10 +13362,13 @@ "dev": true }, "markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==", - "dev": true + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } }, "marked": { "version": "0.7.0", @@ -13407,12 +13416,41 @@ } }, "mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", + "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } } }, "mdast-util-definitions": { @@ -14955,9 +14993,9 @@ "dev": true }, "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dev": true, "requires": { "character-entities": "^1.0.0", @@ -18064,71 +18102,14 @@ } }, "remark": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", - "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", + "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", "dev": true, "requires": { - "remark-parse": "^6.0.0", - "remark-stringify": "^6.0.0", - "unified": "^7.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "unified": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", - "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "@types/vfile": "^3.0.0", - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", - "trough": "^1.0.0", - "vfile": "^3.0.0", - "x-is-string": "^0.1.0" - } - }, - "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", - "dev": true - }, - "vfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", - "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", - "dev": true, - "requires": { - "is-buffer": "^2.0.0", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - } - }, - "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", - "dev": true, - "requires": { - "unist-util-stringify-position": "^1.1.1" - } - } + "remark-parse": "^8.0.0", + "remark-stringify": "^8.0.0", + "unified": "^9.0.0" } }, "remark-html": { @@ -18180,40 +18161,33 @@ } }, "remark-parse": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", - "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", "dev": true, "requires": { + "ccount": "^1.0.0", "collapse-white-space": "^1.0.2", "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0", "is-whitespace-character": "^1.0.0", "is-word-character": "^1.0.0", "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", "trim": "0.0.1", "trim-trailing-lines": "^1.0.0", "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", "xtend": "^4.0.1" - }, - "dependencies": { - "vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", - "dev": true - } } }, "remark-stringify": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", - "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", + "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", "dev": true, "requires": { "ccount": "^1.0.0", @@ -18222,26 +18196,25 @@ "is-whitespace-character": "^1.0.0", "longest-streak": "^2.0.1", "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", + "markdown-table": "^2.0.0", + "mdast-util-compact": "^2.0.0", + "parse-entities": "^2.0.0", "repeat-string": "^1.5.4", "state-toggle": "^1.0.0", - "stringify-entities": "^1.0.1", + "stringify-entities": "^3.0.0", "unherit": "^1.0.4", "xtend": "^4.0.1" }, "dependencies": { "stringify-entities": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", - "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", + "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", "dev": true, "requires": { "character-entities-html4": "^1.0.0", "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-hexadecimal": "^1.0.0" + "xtend": "^4.0.0" } } } @@ -20591,9 +20564,9 @@ } }, "typescript": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", - "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "dev": true }, "ua-parser-js": { @@ -20796,12 +20769,41 @@ "dev": true }, "unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "unist-util-visit": "^2.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } } }, "unist-util-source": { diff --git a/docs_app/package.json b/docs_app/package.json index 91d388ed64..0cdd2d8b42 100644 --- a/docs_app/package.json +++ b/docs_app/package.json @@ -120,8 +120,8 @@ "protractor": "~7.0.0", "rehype": "^10.0.0", "rehype-slug": "^2.0.3", - "remark": "^10.0.1", - "remark-html": "^12.0.0", + "remark": "^12.0.1", + "remark-html": "^13.0.2", "rimraf": "^2.6.1", "semver": "^6.1.1", "shelljs": "^0.8.3", diff --git a/docs_app/tools/transforms/remark-package/index.js b/docs_app/tools/transforms/remark-package/index.js index 6b7b4f5cd0..271e6dab0a 100644 --- a/docs_app/tools/transforms/remark-package/index.js +++ b/docs_app/tools/transforms/remark-package/index.js @@ -5,5 +5,5 @@ var Package = require('dgeni').Package; * @description Overrides the renderMarkdown service with an implementation based on remark */ module.exports = new Package('remark', ['nunjucks']) - + .factory(require('./services/markedNunjucksFilter')) .factory(require('./services/renderMarkdown')); diff --git a/docs_app/tools/transforms/remark-package/services/markedNunjucksFilter.js b/docs_app/tools/transforms/remark-package/services/markedNunjucksFilter.js new file mode 100644 index 0000000000..f6bf65eeb2 --- /dev/null +++ b/docs_app/tools/transforms/remark-package/services/markedNunjucksFilter.js @@ -0,0 +1,12 @@ +/** + * Convert the value, as markdown, into HTML + * @param headingMappings A map of headings to convert (e.g. from h3 to h4). + */ +module.exports = function markedNunjucksFilter(renderMarkdown) { + return { + name: 'marked', + process: function(str, headingMappings) { + return str && renderMarkdown(str, headingMappings); + } + }; +}; diff --git a/docs_app/tools/transforms/remark-package/services/plugins/mapHeadings.js b/docs_app/tools/transforms/remark-package/services/plugins/mapHeadings.js new file mode 100644 index 0000000000..e00ee7c775 --- /dev/null +++ b/docs_app/tools/transforms/remark-package/services/plugins/mapHeadings.js @@ -0,0 +1,31 @@ +const visit = require('unist-util-visit'); + +function headingToLevel(heading) { + const match = /^h(\d+)/.exec(heading); + return match ? match[1] : '0'; +} + +function parseMappings(mappings) { + const mapping = {}; + Object.keys(mappings).forEach(key => mapping[headingToLevel(key)] = headingToLevel(mappings[key])); + return mapping; +} + +module.exports = function mapHeadings(mappings) { + const headings = parseMappings(mappings || {}); + return () => ast => { + const nodesToFix = []; + Object.keys(headings).forEach(heading => { + visit(ast, 'heading', node => { + if (node.depth === Number(heading)) { + nodesToFix.push(node); + } + }); + }); + + // Update the depth of the matched nodes + nodesToFix.forEach(node => node.depth = headings[node.depth]); + + return ast; + }; +}; diff --git a/docs_app/tools/transforms/remark-package/services/renderMarkdown.js b/docs_app/tools/transforms/remark-package/services/renderMarkdown.js index c02aa2dbe6..8037863c67 100644 --- a/docs_app/tools/transforms/remark-package/services/renderMarkdown.js +++ b/docs_app/tools/transforms/remark-package/services/renderMarkdown.js @@ -1,25 +1,29 @@ const remark = require('remark'); const html = require('remark-html'); const code = require('./handlers/code'); +const mapHeadings = require('./plugins/mapHeadings'); /** * @dgService renderMarkdown * @description * Render the markdown in the given string as HTML. + * @param headingMap A map of headings to convert. + * E.g. `{h3: 'h4'} will map heading 3 level into heading 4. */ module.exports = function renderMarkdown() { - const handlers = { code }; - const renderer = remark() - .use(inlineTagDefs) - .use(noIndentedCodeBlocks) - .use(plainHTMLBlocks) - // USEFUL DEBUGGING CODE - // .use(() => tree => { - // console.log(require('util').inspect(tree, { colors: true, depth: 4 })); - // }) - .use(html, { handlers }); - - return function renderMarkdownImpl(content) { + return function renderMarkdownImpl(content, headingMap) { + + const renderer = remark() + .use(inlineTagDefs) + .use(noIndentedCodeBlocks) + .use(plainHTMLBlocks) + // USEFUL DEBUGGING CODE + // .use(() => tree => { + // console.log(require('util').inspect(tree, { colors: true, depth: 4 })); + // }) + .use(mapHeadings(headingMap)) + .use(html, { handlers: { code }, sanitize: false }); + return renderer.processSync(content).toString(); }; @@ -165,7 +169,6 @@ function rgxFindMatchPos(str, left, right, flags) { let index, match, start, end; let count = 0; - // eslint-disable-next-line no-cond-assign while ((match = bothMatcher.exec(str))) { if (leftMatcher.test(match[0])) { if (!(count++)) { @@ -208,4 +211,4 @@ function createOpenMatcher(elementNameMatcher) { function createCloseMatcher(elementNameMatcher) { return ``; -} \ No newline at end of file +} From 951f5842e68cded737c4999c27dc85d44325f01a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Jakovljevi=C4=87?= Date: Thu, 21 Oct 2021 09:45:37 +0200 Subject: [PATCH 3/4] chore: remove rehype --- docs_app/package-lock.json | 49 -------------------------------------- docs_app/package.json | 1 - 2 files changed, 50 deletions(-) diff --git a/docs_app/package-lock.json b/docs_app/package-lock.json index 8c55853c3a..d6c2743472 100644 --- a/docs_app/package-lock.json +++ b/docs_app/package-lock.json @@ -18011,55 +18011,6 @@ } } }, - "rehype": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/rehype/-/rehype-10.0.0.tgz", - "integrity": "sha512-0W8M4Y91b2QuzDSTjkZgBOJo79bP089YbSQNPMqebuUVrp6iveoi+Ra6/H7fJwUxq8FCHGCGzkLaq3fvO9XnVg==", - "dev": true, - "requires": { - "rehype-parse": "^6.0.0", - "rehype-stringify": "^6.0.0", - "unified": "^9.0.0" - }, - "dependencies": { - "hast-util-from-parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", - "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", - "dev": true, - "requires": { - "ccount": "^1.0.3", - "hastscript": "^5.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.1.2", - "xtend": "^4.0.1" - } - }, - "hastscript": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", - "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", - "dev": true, - "requires": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "rehype-parse": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", - "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", - "dev": true, - "requires": { - "hast-util-from-parse5": "^5.0.0", - "parse5": "^5.0.0", - "xtend": "^4.0.0" - } - } - } - }, "rehype-parse": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-7.0.1.tgz", diff --git a/docs_app/package.json b/docs_app/package.json index 0cdd2d8b42..87d09082f4 100644 --- a/docs_app/package.json +++ b/docs_app/package.json @@ -118,7 +118,6 @@ "lunr": "^2.1.0", "mkdirp": "^0.5.1", "protractor": "~7.0.0", - "rehype": "^10.0.0", "rehype-slug": "^2.0.3", "remark": "^12.0.1", "remark-html": "^13.0.2", From 7a811d5847649b376731c7e498e2f810ae014894 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mladen=20Jakovljevi=C4=87?= Date: Sun, 24 Oct 2021 21:22:01 +0200 Subject: [PATCH 4/4] chore: fix docs app console errors --- .../custom-elements/code/pretty-printer.service.ts | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/docs_app/src/app/custom-elements/code/pretty-printer.service.ts b/docs_app/src/app/custom-elements/code/pretty-printer.service.ts index d56a3a27fc..557d8d2f7b 100644 --- a/docs_app/src/app/custom-elements/code/pretty-printer.service.ts +++ b/docs_app/src/app/custom-elements/code/pretty-printer.service.ts @@ -5,10 +5,6 @@ import { first, map, share } from 'rxjs/operators'; import { Logger } from 'app/shared/logger.service'; -declare const System: { - import(name: string): Promise; -}; - type PrettyPrintOne = (code: string, language?: string, linenums?: number | boolean) => string; /** @@ -24,12 +20,13 @@ export class PrettyPrinter { } private getPrettyPrintOne(): Promise { - const ppo = (window as any)['prettyPrintOne']; + const ppo = (window as any).prettyPrintOne; return ppo ? Promise.resolve(ppo) : - // prettify.js is not in window global; load it with webpack loader - System.import('assets/js/prettify.js') + // `prettyPrintOne` is not on `window`, which means `prettify.js` has not been loaded yet. + // Import it; as a side-effect it will add `prettyPrintOne` on `window`. + import('assets/js/prettify.js' as any) .then( - () => (window as any)['prettyPrintOne'], + () => (window as any).prettyPrintOne, err => { const msg = `Cannot get prettify.js from server: ${err.message}`; this.logger.error(new Error(msg));