@humanspeak/svelte-markdown 0.7.19 → 0.7.21
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/README.md +11 -0
- package/dist/Parser.svelte +1 -1
- package/dist/renderers/RawText.svelte +8 -0
- package/dist/renderers/RawText.svelte.d.ts +6 -0
- package/dist/renderers/index.d.ts +1 -0
- package/dist/renderers/index.js +1 -0
- package/dist/utils/markdown-parser.d.ts +1 -0
- package/dist/utils/markdown-parser.js +3 -2
- package/package.json +20 -20
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ A powerful, customizable markdown renderer for Svelte with TypeScript support. B
|
|
|
24
24
|
- ♿ WCAG 2.1 accessibility compliance
|
|
25
25
|
- 🧪 Comprehensive test coverage (vitest and playwright)
|
|
26
26
|
- 🔄 Svelte 5 runes compatibility
|
|
27
|
+
- 🛡️ XSS protection and sanitization
|
|
27
28
|
|
|
28
29
|
## Installation
|
|
29
30
|
|
|
@@ -175,6 +176,7 @@ Seamlessly mix HTML and Markdown:
|
|
|
175
176
|
- `codespan` - Inline code (`<code>`)
|
|
176
177
|
- `code` - Block of code (`<pre><code>`)
|
|
177
178
|
- `html` - HTML node
|
|
179
|
+
- `rawtext` - All other text that is going to be included in an object above
|
|
178
180
|
|
|
179
181
|
### Optional List Renderers
|
|
180
182
|
|
|
@@ -242,6 +244,15 @@ The component emits a `parsed` event when tokens are calculated:
|
|
|
242
244
|
| options | `SvelteMarkdownOptions` | Marked parser configuration |
|
|
243
245
|
| isInline | `boolean` | Toggle inline parsing mode |
|
|
244
246
|
|
|
247
|
+
## Security
|
|
248
|
+
|
|
249
|
+
The package includes several security features:
|
|
250
|
+
|
|
251
|
+
- XSS protection through HTML sanitization
|
|
252
|
+
- Secure HTML parsing with HTMLParser2
|
|
253
|
+
- Safe handling of HTML entities
|
|
254
|
+
- Protection against malicious markdown injection
|
|
255
|
+
|
|
245
256
|
## License
|
|
246
257
|
|
|
247
258
|
MIT © [Humanspeak, Inc.](LICENSE)
|
package/dist/Parser.svelte
CHANGED
|
@@ -12,6 +12,7 @@ export { default as Link } from './Link.svelte';
|
|
|
12
12
|
export { default as List } from './List.svelte';
|
|
13
13
|
export { default as ListItem } from './ListItem.svelte';
|
|
14
14
|
export { default as Paragraph } from './Paragraph.svelte';
|
|
15
|
+
export { default as RawText } from './RawText.svelte';
|
|
15
16
|
export { default as Strong } from './Strong.svelte';
|
|
16
17
|
export { default as Table } from './Table.svelte';
|
|
17
18
|
export { default as TableBody } from './TableBody.svelte';
|
package/dist/renderers/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { default as Link } from './Link.svelte';
|
|
|
12
12
|
export { default as List } from './List.svelte';
|
|
13
13
|
export { default as ListItem } from './ListItem.svelte';
|
|
14
14
|
export { default as Paragraph } from './Paragraph.svelte';
|
|
15
|
+
export { default as RawText } from './RawText.svelte';
|
|
15
16
|
export { default as Strong } from './Strong.svelte';
|
|
16
17
|
export { default as Table } from './Table.svelte';
|
|
17
18
|
export { default as TableBody } from './TableBody.svelte';
|
|
@@ -24,6 +24,7 @@ export type RendererComponent = Component<any, any, any> | undefined | null;
|
|
|
24
24
|
*/
|
|
25
25
|
export type Renderers = {
|
|
26
26
|
html: HtmlRenderers;
|
|
27
|
+
rawtext: RendererComponent;
|
|
27
28
|
heading: RendererComponent;
|
|
28
29
|
paragraph: RendererComponent;
|
|
29
30
|
blockquote: RendererComponent;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { default as Slugger } from 'github-slugger';
|
|
2
2
|
export { Lexer } from 'marked';
|
|
3
3
|
import {} from '../renderers/html/index.js';
|
|
4
|
-
import { Blockquote, Br, Code, Codespan, Del, Em, Heading, Hr, Html, Image, Link, List, ListItem, Paragraph, Strong, Table, TableBody, TableCell, TableHead, TableRow, Text } from '../renderers/index.js';
|
|
4
|
+
import { Blockquote, Br, Code, Codespan, Del, Em, Heading, Hr, Html, Image, Link, List, ListItem, Paragraph, RawText, Strong, Table, TableBody, TableCell, TableHead, TableRow, Text } from '../renderers/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Default renderer configuration mapping markdown elements to Svelte components.
|
|
7
7
|
* Provides out-of-the-box rendering capabilities while allowing for customization.
|
|
@@ -36,7 +36,8 @@ export const defaultRenderers = {
|
|
|
36
36
|
html: Html,
|
|
37
37
|
blockquote: Blockquote,
|
|
38
38
|
code: Code,
|
|
39
|
-
br: Br
|
|
39
|
+
br: Br,
|
|
40
|
+
rawtext: RawText
|
|
40
41
|
};
|
|
41
42
|
/**
|
|
42
43
|
* Default configuration options for the markdown parser.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@humanspeak/svelte-markdown",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.21",
|
|
4
4
|
"description": "A powerful, customizable markdown renderer for Svelte with TypeScript support",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"svelte",
|
|
@@ -76,37 +76,37 @@
|
|
|
76
76
|
},
|
|
77
77
|
"devDependencies": {
|
|
78
78
|
"@eslint/compat": "^1.2.7",
|
|
79
|
-
"@eslint/js": "^9.
|
|
80
|
-
"@playwright/test": "^1.
|
|
81
|
-
"@sveltejs/adapter-auto": "^
|
|
82
|
-
"@sveltejs/kit": "^2.
|
|
79
|
+
"@eslint/js": "^9.23.0",
|
|
80
|
+
"@playwright/test": "^1.51.1",
|
|
81
|
+
"@sveltejs/adapter-auto": "^5.0.0",
|
|
82
|
+
"@sveltejs/kit": "^2.20.2",
|
|
83
83
|
"@sveltejs/package": "^2.3.10",
|
|
84
84
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
|
85
85
|
"@testing-library/jest-dom": "^6.6.3",
|
|
86
86
|
"@testing-library/svelte": "^5.2.7",
|
|
87
87
|
"@testing-library/user-event": "^14.6.1",
|
|
88
|
-
"@types/node": "^22.13.
|
|
89
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
90
|
-
"@typescript-eslint/parser": "^8.
|
|
91
|
-
"@vitest/coverage-v8": "^3.0.
|
|
92
|
-
"eslint": "^9.
|
|
93
|
-
"eslint-config-prettier": "^10.
|
|
88
|
+
"@types/node": "^22.13.14",
|
|
89
|
+
"@typescript-eslint/eslint-plugin": "^8.28.0",
|
|
90
|
+
"@typescript-eslint/parser": "^8.28.0",
|
|
91
|
+
"@vitest/coverage-v8": "^3.0.9",
|
|
92
|
+
"eslint": "^9.23.0",
|
|
93
|
+
"eslint-config-prettier": "^10.1.1",
|
|
94
94
|
"eslint-plugin-import": "^2.31.0",
|
|
95
|
-
"eslint-plugin-svelte": "^3.
|
|
95
|
+
"eslint-plugin-svelte": "^3.3.3",
|
|
96
96
|
"eslint-plugin-unused-imports": "^4.1.4",
|
|
97
97
|
"globals": "^16.0.0",
|
|
98
98
|
"jsdom": "^26.0.0",
|
|
99
|
-
"prettier": "^3.5.
|
|
99
|
+
"prettier": "^3.5.3",
|
|
100
100
|
"prettier-plugin-organize-imports": "^4.1.0",
|
|
101
101
|
"prettier-plugin-svelte": "^3.3.3",
|
|
102
102
|
"prettier-plugin-tailwindcss": "^0.6.11",
|
|
103
|
-
"publint": "^0.3.
|
|
104
|
-
"svelte": "^5.
|
|
105
|
-
"svelte-check": "^4.1.
|
|
106
|
-
"typescript": "^5.
|
|
107
|
-
"typescript-eslint": "^8.
|
|
108
|
-
"vite": "^6.2.
|
|
109
|
-
"vitest": "^3.0.
|
|
103
|
+
"publint": "^0.3.9",
|
|
104
|
+
"svelte": "^5.25.3",
|
|
105
|
+
"svelte-check": "^4.1.5",
|
|
106
|
+
"typescript": "^5.8.2",
|
|
107
|
+
"typescript-eslint": "^8.28.0",
|
|
108
|
+
"vite": "^6.2.3",
|
|
109
|
+
"vitest": "^3.0.9"
|
|
110
110
|
},
|
|
111
111
|
"peerDependencies": {
|
|
112
112
|
"svelte": "^5.0.0"
|