@analogjs/platform 2.7.0 → 2.7.1-beta.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/platform",
3
- "version": "2.7.0",
3
+ "version": "2.7.1-beta.2",
4
4
  "description": "The fullstack meta-framework for Angular",
5
5
  "type": "module",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -29,8 +29,8 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "nitropack": "^2.13.1",
32
- "@analogjs/vite-plugin-angular": "^2.7.0",
33
- "@analogjs/vite-plugin-nitro": "^2.7.0",
32
+ "@analogjs/vite-plugin-angular": "^2.7.1-beta.2",
33
+ "@analogjs/vite-plugin-nitro": "^2.7.1-beta.2",
34
34
  "oxc-parser": "^0.121.0",
35
35
  "vitefu": "^1.1.2"
36
36
  },
@@ -1,6 +1,7 @@
1
1
  import { marked } from 'marked';
2
2
  import { gfmHeadingId } from 'marked-gfm-heading-id';
3
3
  import { mangle } from 'marked-mangle';
4
+ import { escapeHtml, sanitizeLanguage } from '../utils/escape-html.js';
4
5
  export class MarkedSetupService {
5
6
  constructor(options, highlighter) {
6
7
  this.options = options;
@@ -13,19 +14,20 @@ export class MarkedSetupService {
13
14
  code({ text, lang }) {
14
15
  // Let's do a language based detection like on GitHub
15
16
  // So we can still have non-interpreted mermaid code
16
- if (lang === 'mermaid') {
17
- return '<pre class="mermaid">' + text + '</pre>';
17
+ const language = sanitizeLanguage(lang);
18
+ if (language === 'mermaid') {
19
+ return '<pre class="mermaid">' + escapeHtml(text) + '</pre>';
18
20
  }
19
- if (!lang) {
20
- return '<pre><code>' + text + '</code></pre>';
21
+ if (!language) {
22
+ return '<pre><code>' + escapeHtml(text) + '</code></pre>';
21
23
  }
22
24
  if (highlighter?.augmentCodeBlock) {
23
- return highlighter?.augmentCodeBlock(text, lang);
25
+ return highlighter?.augmentCodeBlock(text, language);
24
26
  }
25
- return `<pre class="language-${lang}"><code class="language-${lang}">${text}</code></pre>`;
27
+ return `<pre class="language-${language}"><code class="language-${language}">${escapeHtml(text)}</code></pre>`;
26
28
  },
27
29
  codespan({ text }) {
28
- return `<code>${text}</code>`;
30
+ return `<code>${escapeHtml(text)}</code>`;
29
31
  },
30
32
  paragraph({ tokens }) {
31
33
  const text = this.parser.parseInline(tokens);
@@ -51,4 +53,4 @@ export class MarkedSetupService {
51
53
  return this.marked;
52
54
  }
53
55
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvbWFya2VkL21hcmtlZC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQTJCLE1BQU0sUUFBUSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS3ZDLE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDbUIsT0FBMkIsRUFDM0IsV0FBc0M7UUFEdEMsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQTJCO1FBRXZELE1BQU0scUJBQXFCLEdBQW9CO1lBQzdDLFFBQVEsRUFBRSxLQUFLO1lBQ2YsR0FBRyxFQUFFLElBQUk7WUFDVCxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRTtnQkFDUixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO29CQUNqQixxREFBcUQ7b0JBQ3JELG9EQUFvRDtvQkFDcEQsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7d0JBQ3ZCLE9BQU8sdUJBQXVCLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQztvQkFDbkQsQ0FBQztvQkFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBQ1YsT0FBTyxhQUFhLEdBQUcsSUFBSSxHQUFHLGVBQWUsQ0FBQztvQkFDaEQsQ0FBQztvQkFFRCxJQUFJLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO3dCQUNsQyxPQUFPLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ25ELENBQUM7b0JBRUQsT0FBTyx3QkFBd0IsSUFBSSwyQkFBMkIsSUFBSSxLQUFLLElBQUksZUFBZSxDQUFDO2dCQUM3RixDQUFDO2dCQUNELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRTtvQkFDZixPQUFPLFNBQVMsSUFBSSxTQUFTLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFO29CQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDN0MsT0FBTyxNQUFNLElBQUksTUFBTSxDQUFDO2dCQUMxQixDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUc7WUFDakIscUJBQXFCO1lBQ3JCLFlBQVksRUFBRTtZQUNkLEdBQUcsQ0FBQyxPQUFPLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztTQUMvQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBRUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VkLXNldHVwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvbWFya2VkL21hcmtlZC1zZXR1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQTJCLE1BQU0sUUFBUSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ21CLE9BQTJCLEVBQzNCLFdBQXNDO1FBRHRDLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUEyQjtRQUV2RCxNQUFNLHFCQUFxQixHQUFvQjtZQUM3QyxRQUFRLEVBQUUsS0FBSztZQUNmLEdBQUcsRUFBRSxJQUFJO1lBQ1QsTUFBTSxFQUFFLEtBQUs7WUFDYixRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtvQkFDakIscURBQXFEO29CQUNyRCxvREFBb0Q7b0JBQ3BELE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN4QyxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDM0IsT0FBTyx1QkFBdUIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO29CQUMvRCxDQUFDO29CQUVELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzt3QkFDZCxPQUFPLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDO29CQUM1RCxDQUFDO29CQUVELElBQUksV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7d0JBQ2xDLE9BQU8sV0FBVyxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDdkQsQ0FBQztvQkFFRCxPQUFPLHdCQUF3QixRQUFRLDJCQUEyQixRQUFRLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7Z0JBQ2pILENBQUM7Z0JBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFO29CQUNmLE9BQU8sU0FBUyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDNUMsQ0FBQztnQkFDRCxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUU7b0JBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM3QyxPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUM7Z0JBQzFCLENBQUM7YUFDRjtTQUNGLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRztZQUNqQixxQkFBcUI7WUFDckIsWUFBWSxFQUFFO1lBQ2QsR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO1NBQy9CLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDekIsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0YifQ==
@@ -1,6 +1,7 @@
1
1
  import markedShiki from 'marked-shiki';
2
2
  import { createHighlighter, } from 'shiki';
3
3
  import { MarkedContentHighlighter } from '../marked/marked-content-highlighter.js';
4
+ import { escapeHtml } from '../utils/escape-html.js';
4
5
  export const defaultHighlighterOptions = {
5
6
  langs: [
6
7
  'json',
@@ -15,14 +16,6 @@ export const defaultHighlighterOptions = {
15
16
  ],
16
17
  themes: ['github-dark', 'github-light'],
17
18
  };
18
- function escapeHtml(code) {
19
- return code
20
- .replaceAll('&', '&amp;')
21
- .replaceAll('<', '&lt;')
22
- .replaceAll('>', '&gt;')
23
- .replaceAll('"', '&quot;')
24
- .replaceAll("'", '&#39;');
25
- }
26
19
  export class ShikiHighlighter extends MarkedContentHighlighter {
27
20
  constructor(highlighterOptions, highlightOptions, container, hasLoadMermaid = false, skipLangs = []) {
28
21
  super();
@@ -38,7 +31,7 @@ export class ShikiHighlighter extends MarkedContentHighlighter {
38
31
  container: this.container,
39
32
  highlight: async (code, lang, props) => {
40
33
  if (this.hasLoadMermaid && lang === 'mermaid') {
41
- return `<pre class="mermaid">${code}</pre>`;
34
+ return `<pre class="mermaid">${escapeHtml(code)}</pre>`;
42
35
  }
43
36
  if (this.skipLangs.includes(lang)) {
44
37
  const escapedCode = escapeHtml(code);
@@ -55,4 +48,4 @@ export class ShikiHighlighter extends MarkedContentHighlighter {
55
48
  });
56
49
  }
57
50
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpa2ktaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvc2hpa2kvc2hpa2ktaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFPTCxpQkFBaUIsR0FDbEIsTUFBTSxPQUFPLENBQUM7QUFFZixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVVuRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxLQUFLLEVBQUU7UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLEtBQUs7UUFDTCxJQUFJO1FBQ0osS0FBSztRQUNMLE1BQU07UUFDTixLQUFLO1FBQ0wsY0FBYztRQUNkLFlBQVk7S0FDYjtJQUNELE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7Q0FDeEMsQ0FBQztBQUVGLFNBQVMsVUFBVSxDQUFDLElBQVk7SUFDOUIsT0FBTyxJQUFJO1NBQ1IsVUFBVSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7U0FDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7U0FDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUM7U0FDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7U0FDekIsVUFBVSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLHdCQUF3QjtJQUc1RCxZQUNVLGtCQUEyQyxFQUMzQyxnQkFBdUMsRUFDdkMsU0FBaUIsRUFDakIsaUJBQWlCLEtBQUssRUFDdEIsWUFBc0IsRUFBRTtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQU5BLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBeUI7UUFDM0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFQakIsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQVUxRSxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE9BQU8sV0FBVyxDQUFDO1lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sd0JBQXdCLElBQUksUUFBUSxDQUFDO2dCQUM5QyxDQUFDO2dCQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBYyxDQUFDLEVBQUUsQ0FBQztvQkFDNUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUVyQyxPQUFPLHdCQUF3QixJQUFJLDJCQUEyQixJQUFJLEtBQUssV0FBVyxlQUFlLENBQUM7Z0JBQ3BHLENBQUM7Z0JBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQztnQkFDOUMsT0FBTyxVQUFVLENBQ2YsSUFBSSxFQUNKLE1BQU0sQ0FBQyxNQUFNLENBQ1g7b0JBQ0UsSUFBSTtvQkFDSixpQ0FBaUM7b0JBQ2pDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQyxLQUFLLEVBQUUsYUFBYTtpQkFDckIsRUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQ0YsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpa2ktaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvc2hpa2kvc2hpa2ktaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFPTCxpQkFBaUIsR0FDbEIsTUFBTSxPQUFPLENBQUM7QUFFZixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFVckQsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUc7SUFDdkMsS0FBSyxFQUFFO1FBQ0wsTUFBTTtRQUNOLElBQUk7UUFDSixLQUFLO1FBQ0wsSUFBSTtRQUNKLEtBQUs7UUFDTCxNQUFNO1FBQ04sS0FBSztRQUNMLGNBQWM7UUFDZCxZQUFZO0tBQ2I7SUFDRCxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDO0NBQ3hDLENBQUM7QUFFRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsd0JBQXdCO0lBRzVELFlBQ1Usa0JBQTJDLEVBQzNDLGdCQUF1QyxFQUN2QyxTQUFpQixFQUNqQixpQkFBaUIsS0FBSyxFQUN0QixZQUFzQixFQUFFO1FBRWhDLEtBQUssRUFBRSxDQUFDO1FBTkEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQVBqQixnQkFBVyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBVTFFLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxXQUFXLENBQUM7WUFDakIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDOUMsT0FBTyx3QkFBd0IsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzFELENBQUM7Z0JBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFjLENBQUMsRUFBRSxDQUFDO29CQUM1QyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBRXJDLE9BQU8sd0JBQXdCLElBQUksMkJBQTJCLElBQUksS0FBSyxXQUFXLGVBQWUsQ0FBQztnQkFDcEcsQ0FBQztnQkFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUM5QyxPQUFPLFVBQVUsQ0FDZixJQUFJLEVBQ0osTUFBTSxDQUFDLE1BQU0sQ0FDWDtvQkFDRSxJQUFJO29CQUNKLGlDQUFpQztvQkFDakMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2hDLEtBQUssRUFBRSxhQUFhO2lCQUNyQixFQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FDRixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
@@ -0,0 +1,7 @@
1
+ export declare function escapeHtml(value: string): string;
2
+ /**
3
+ * Reduces a fenced code-block info string to a safe language identifier so it
4
+ * cannot break out of the `class="language-..."` attribute it is interpolated
5
+ * into.
6
+ */
7
+ export declare function sanitizeLanguage(lang: string | undefined): string;
@@ -0,0 +1,17 @@
1
+ export function escapeHtml(value) {
2
+ return value
3
+ .replaceAll('&', '&amp;')
4
+ .replaceAll('<', '&lt;')
5
+ .replaceAll('>', '&gt;')
6
+ .replaceAll('"', '&quot;')
7
+ .replaceAll("'", '&#39;');
8
+ }
9
+ /**
10
+ * Reduces a fenced code-block info string to a safe language identifier so it
11
+ * cannot break out of the `class="language-..."` attribute it is interpolated
12
+ * into.
13
+ */
14
+ export function sanitizeLanguage(lang) {
15
+ return (lang ?? '').match(/^[a-zA-Z0-9-+#.]*/)?.[0] ?? '';
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLWh0bWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvdXRpbHMvZXNjYXBlLWh0bWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFVBQVUsQ0FBQyxLQUFhO0lBQ3RDLE9BQU8sS0FBSztTQUNULFVBQVUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1NBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDO1NBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDO1NBQ3pCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBd0I7SUFDdkQsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUM1RCxDQUFDIn0=
@@ -1,10 +1,10 @@
1
1
  export declare const V18_X_NX_DEVKIT = "^20.0.0";
2
2
  export declare const V18_X_NX_ANGULAR = "^20.0.0";
3
- export declare const V18_X_ANALOG_JS_CONTENT = "^2.7.0";
4
- export declare const V18_X_ANALOG_JS_ROUTER = "^2.7.0";
3
+ export declare const V18_X_ANALOG_JS_CONTENT = "^2.7.1-beta.2";
4
+ export declare const V18_X_ANALOG_JS_ROUTER = "^2.7.1-beta.2";
5
5
  export declare const V18_X_ANALOG_JS_TRPC = "~0.4.0";
6
- export declare const V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^2.7.0";
7
- export declare const V18_X_ANALOG_JS_VITEST_ANGULAR = "^2.7.0";
6
+ export declare const V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^2.7.1-beta.2";
7
+ export declare const V18_X_ANALOG_JS_VITEST_ANGULAR = "^2.7.1-beta.2";
8
8
  export declare const V18_X_TRPC_CLIENT = "^10.25.0";
9
9
  export declare const V18_X_TRPC_SERVER = "^10.25.0";
10
10
  export declare const V18_X_ISOMORPHIC_FETCH = "^3.0.0";
@@ -20,7 +20,7 @@ export declare const V18_X_TAILWINDCSS = "^4.1.4";
20
20
  export declare const V18_X_TAILWINDCSS_VITE = "^4.1.4";
21
21
  export declare const V18_X_POSTCSS = "^8.5.3";
22
22
  export declare const V18_X_AUTOPREFIXER = "^10.4.0";
23
- export declare const V18_X_ANALOG_JS_PLATFORM = "^2.7.0";
23
+ export declare const V18_X_ANALOG_JS_PLATFORM = "^2.7.1-beta.2";
24
24
  export declare const V18_X_ANGULAR_DEVKIT_BUILD_ANGULAR = "^19.0.0";
25
25
  export declare const V18_X_NX_VITE = "^21.0.0";
26
26
  export declare const V18_X_NX_LINTER = "^21.0.0";
@@ -5,11 +5,11 @@ exports.V18_X_ZOD = exports.V18_X_VITEST = exports.V18_X_VITE_TSCONFIG_PATHS = e
5
5
  // dependencies
6
6
  exports.V18_X_NX_DEVKIT = '^20.0.0';
7
7
  exports.V18_X_NX_ANGULAR = '^20.0.0';
8
- exports.V18_X_ANALOG_JS_CONTENT = '^2.7.0';
9
- exports.V18_X_ANALOG_JS_ROUTER = '^2.7.0';
8
+ exports.V18_X_ANALOG_JS_CONTENT = '^2.7.1-beta.2';
9
+ exports.V18_X_ANALOG_JS_ROUTER = '^2.7.1-beta.2';
10
10
  exports.V18_X_ANALOG_JS_TRPC = '~0.4.0';
11
- exports.V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.0';
12
- exports.V18_X_ANALOG_JS_VITEST_ANGULAR = '^2.7.0';
11
+ exports.V18_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.1-beta.2';
12
+ exports.V18_X_ANALOG_JS_VITEST_ANGULAR = '^2.7.1-beta.2';
13
13
  exports.V18_X_TRPC_CLIENT = '^10.25.0';
14
14
  exports.V18_X_TRPC_SERVER = '^10.25.0';
15
15
  exports.V18_X_ISOMORPHIC_FETCH = '^3.0.0';
@@ -26,7 +26,7 @@ exports.V18_X_TAILWINDCSS_VITE = '^4.1.4';
26
26
  exports.V18_X_POSTCSS = '^8.5.3';
27
27
  exports.V18_X_AUTOPREFIXER = '^10.4.0';
28
28
  // devDependencies
29
- exports.V18_X_ANALOG_JS_PLATFORM = '^2.7.0';
29
+ exports.V18_X_ANALOG_JS_PLATFORM = '^2.7.1-beta.2';
30
30
  exports.V18_X_ANGULAR_DEVKIT_BUILD_ANGULAR = '^19.0.0';
31
31
  exports.V18_X_NX_VITE = '^21.0.0';
32
32
  exports.V18_X_NX_LINTER = '^21.0.0';
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../../../packages/nx-plugin/src/generators/app/versions/nx_18_X/versions.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,eAAe;AACF,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,mCAAmC,GAAG,QAAQ,CAAC;AAC/C,QAAA,8BAA8B,GAAG,QAAQ,CAAC;AAC1C,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,aAAa,GAAG,QAAQ,CAAC;AACzB,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAE5C,kBAAkB;AACL,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AACpC,QAAA,kCAAkC,GAAG,SAAS,CAAC;AAC/C,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,SAAS,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../../../packages/nx-plugin/src/generators/app/versions/nx_18_X/versions.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACR,eAAe;AACF,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,uBAAuB,GAAG,eAAe,CAAC;AAC1C,QAAA,sBAAsB,GAAG,eAAe,CAAC;AACzC,QAAA,oBAAoB,GAAG,QAAQ,CAAC;AAChC,QAAA,mCAAmC,GAAG,eAAe,CAAC;AACtD,QAAA,8BAA8B,GAAG,eAAe,CAAC;AACjD,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,iBAAiB,GAAG,QAAQ,CAAC;AAC7B,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,aAAa,GAAG,QAAQ,CAAC;AACzB,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAE5C,kBAAkB;AACL,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAC3C,QAAA,kCAAkC,GAAG,SAAS,CAAC;AAC/C,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,SAAS,GAAG,SAAS,CAAC"}
@@ -1,13 +1,13 @@
1
- export declare const V19_X_ANALOG_JS_ROUTER = "^2.7.0";
2
- export declare const V19_X_ANALOG_JS_CONTENT = "^2.7.0";
1
+ export declare const V19_X_ANALOG_JS_ROUTER = "^2.7.1-beta.2";
2
+ export declare const V19_X_ANALOG_JS_CONTENT = "^2.7.1-beta.2";
3
3
  export declare const V19_X_MARKED = "^15.0.7";
4
4
  export declare const V19_X_MARKED_GFM_HEADING_ID = "^4.1.1";
5
5
  export declare const V19_X_MARKED_HIGHLIGHT = "^2.2.1";
6
6
  export declare const V19_X_MARKED_MANGLE = "^1.1.10";
7
7
  export declare const V19_X_PRISMJS = "^1.29.0";
8
- export declare const V19_X_ANALOG_JS_PLATFORM = "^2.7.0";
9
- export declare const V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^2.7.0";
10
- export declare const V19_X_ANALOG_JS_VITEST_ANGULAR = "^2.7.0";
8
+ export declare const V19_X_ANALOG_JS_PLATFORM = "^2.7.1-beta.2";
9
+ export declare const V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = "^2.7.1-beta.2";
10
+ export declare const V19_X_ANALOG_JS_VITEST_ANGULAR = "^2.7.1-beta.2";
11
11
  export declare const V19_X_NX_ANGULAR = "^22.0.0";
12
12
  export declare const V19_X_NX_VITE = "^22.0.0";
13
13
  export declare const V19_X_JSDOM = "^22.0.0";
@@ -2,17 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NX_X_LATEST_NX = exports.NX_X_LATEST_VITEST = exports.NX_X_LATEST_VITE = exports.V19_X_VITE = exports.V19_X_VITEST = exports.V19_X_VITE_TSCONFIG_PATHS = exports.V19_X_JSDOM = exports.V19_X_NX_VITE = exports.V19_X_NX_ANGULAR = exports.V19_X_ANALOG_JS_VITEST_ANGULAR = exports.V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = exports.V19_X_ANALOG_JS_PLATFORM = exports.V19_X_PRISMJS = exports.V19_X_MARKED_MANGLE = exports.V19_X_MARKED_HIGHLIGHT = exports.V19_X_MARKED_GFM_HEADING_ID = exports.V19_X_MARKED = exports.V19_X_ANALOG_JS_CONTENT = exports.V19_X_ANALOG_JS_ROUTER = void 0;
4
4
  // V19_X
5
- exports.V19_X_ANALOG_JS_ROUTER = '^2.7.0';
6
- exports.V19_X_ANALOG_JS_CONTENT = '^2.7.0';
5
+ exports.V19_X_ANALOG_JS_ROUTER = '^2.7.1-beta.2';
6
+ exports.V19_X_ANALOG_JS_CONTENT = '^2.7.1-beta.2';
7
7
  exports.V19_X_MARKED = '^15.0.7';
8
8
  exports.V19_X_MARKED_GFM_HEADING_ID = '^4.1.1';
9
9
  exports.V19_X_MARKED_HIGHLIGHT = '^2.2.1';
10
10
  exports.V19_X_MARKED_MANGLE = '^1.1.10';
11
11
  exports.V19_X_PRISMJS = '^1.29.0';
12
12
  // devDependencies
13
- exports.V19_X_ANALOG_JS_PLATFORM = '^2.7.0';
14
- exports.V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.0';
15
- exports.V19_X_ANALOG_JS_VITEST_ANGULAR = '^2.7.0';
13
+ exports.V19_X_ANALOG_JS_PLATFORM = '^2.7.1-beta.2';
14
+ exports.V19_X_ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.1-beta.2';
15
+ exports.V19_X_ANALOG_JS_VITEST_ANGULAR = '^2.7.1-beta.2';
16
16
  exports.V19_X_NX_ANGULAR = '^22.0.0';
17
17
  exports.V19_X_NX_VITE = '^22.0.0';
18
18
  exports.V19_X_JSDOM = '^22.0.0';
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../../packages/nx-plugin/src/utils/versions/ng_19_X/versions.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACK,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,SAAS,CAAC;AAEvC,kBAAkB;AACL,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AACpC,QAAA,mCAAmC,GAAG,QAAQ,CAAC;AAC/C,QAAA,8BAA8B,GAAG,QAAQ,CAAC;AAC1C,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAC5B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,cAAc,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../../packages/nx-plugin/src/utils/versions/ng_19_X/versions.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACK,QAAA,sBAAsB,GAAG,eAAe,CAAC;AACzC,QAAA,uBAAuB,GAAG,eAAe,CAAC;AAC1C,QAAA,YAAY,GAAG,SAAS,CAAC;AACzB,QAAA,2BAA2B,GAAG,QAAQ,CAAC;AACvC,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAClC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,aAAa,GAAG,SAAS,CAAC;AAEvC,kBAAkB;AACL,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAC3C,QAAA,mCAAmC,GAAG,eAAe,CAAC;AACtD,QAAA,8BAA8B,GAAG,eAAe,CAAC;AACjD,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAC7B,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAC5B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,cAAc,GAAG,SAAS,CAAC"}