Implements Phases 1-8 of the TFTSR implementation plan. Rust backend (Tauri 2.x, src-tauri/): - Multi-provider AI: OpenAI-compatible, Anthropic, Gemini, Mistral, Ollama - PII detection engine: 11 regex patterns with overlap resolution - SQLCipher AES-256 encrypted database with 10 versioned migrations - 28 Tauri IPC commands for triage, analysis, document, and system ops - Ollama: hardware probe, model recommendations, pull/delete with events - RCA and blameless post-mortem Markdown document generators - PDF export via printpdf - Audit log: SHA-256 hash of every external data send - Integration stubs for Confluence, ServiceNow, Azure DevOps (v0.2) Frontend (React 18 + TypeScript + Vite, src/): - 9 pages: full triage workflow NewIssue→LogUpload→Triage→Resolution→RCA→Postmortem→History+Settings - 7 components: ChatWindow, TriageProgress, PiiDiffViewer, DocEditor, HardwareReport, ModelSelector, UI primitives - 3 Zustand stores: session, settings (persisted), history - Type-safe tauriCommands.ts matching Rust backend types exactly - 8 IT domain system prompts (Linux, Windows, Network, K8s, DB, Virt, HW, Obs) DevOps: - .woodpecker/test.yml: rustfmt, clippy, cargo test, tsc, vitest on every push - .woodpecker/release.yml: linux/amd64 + linux/arm64 builds, Gogs release upload Verified: - cargo check: zero errors - tsc --noEmit: zero errors - vitest run: 13/13 unit tests passing Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
110 lines
3.4 KiB
Markdown
110 lines
3.4 KiB
Markdown
# dom-serializer [](https://travis-ci.com/cheeriojs/dom-serializer)
|
|
|
|
Renders a [domhandler](https://github.com/fb55/domhandler) DOM node or an array of domhandler DOM nodes to a string.
|
|
|
|
```js
|
|
import render from "dom-serializer";
|
|
|
|
// OR
|
|
|
|
const render = require("dom-serializer").default;
|
|
```
|
|
|
|
# API
|
|
|
|
## `render`
|
|
|
|
▸ **render**(`node`: Node \| Node[], `options?`: [_Options_](#Options)): _string_
|
|
|
|
Renders a DOM node or an array of DOM nodes to a string.
|
|
|
|
Can be thought of as the equivalent of the `outerHTML` of the passed node(s).
|
|
|
|
#### Parameters:
|
|
|
|
| Name | Type | Default value | Description |
|
|
| :-------- | :--------------------------------- | :------------ | :----------------------------- |
|
|
| `node` | Node \| Node[] | - | Node to be rendered. |
|
|
| `options` | [_DomSerializerOptions_](#Options) | {} | Changes serialization behavior |
|
|
|
|
**Returns:** _string_
|
|
|
|
## Options
|
|
|
|
### `encodeEntities`
|
|
|
|
• `Optional` **decodeEntities**: _boolean | "utf8"_
|
|
|
|
Encode characters that are either reserved in HTML or XML.
|
|
|
|
If `xmlMode` is `true` or the value not `'utf8'`, characters outside of the utf8 range will be encoded as well.
|
|
|
|
**`default`** `decodeEntities`
|
|
|
|
---
|
|
|
|
### `decodeEntities`
|
|
|
|
• `Optional` **decodeEntities**: _boolean_
|
|
|
|
Option inherited from parsing; will be used as the default value for `encodeEntities`.
|
|
|
|
**`default`** true
|
|
|
|
---
|
|
|
|
### `emptyAttrs`
|
|
|
|
• `Optional` **emptyAttrs**: _boolean_
|
|
|
|
Print an empty attribute's value.
|
|
|
|
**`default`** xmlMode
|
|
|
|
**`example`** With <code>emptyAttrs: false</code>: <code><input checked></code>
|
|
|
|
**`example`** With <code>emptyAttrs: true</code>: <code><input checked=""></code>
|
|
|
|
---
|
|
|
|
### `selfClosingTags`
|
|
|
|
• `Optional` **selfClosingTags**: _boolean_
|
|
|
|
Print self-closing tags for tags without contents.
|
|
|
|
**`default`** xmlMode
|
|
|
|
**`example`** With <code>selfClosingTags: false</code>: <code><foo></foo></code>
|
|
|
|
**`example`** With <code>selfClosingTags: true</code>: <code><foo /></code>
|
|
|
|
---
|
|
|
|
### `xmlMode`
|
|
|
|
• `Optional` **xmlMode**: _boolean_ \| _"foreign"_
|
|
|
|
Treat the input as an XML document; enables the `emptyAttrs` and `selfClosingTags` options.
|
|
|
|
If the value is `"foreign"`, it will try to correct mixed-case attribute names.
|
|
|
|
**`default`** false
|
|
|
|
---
|
|
|
|
## Ecosystem
|
|
|
|
| Name | Description |
|
|
| ------------------------------------------------------------- | ------------------------------------------------------- |
|
|
| [htmlparser2](https://github.com/fb55/htmlparser2) | Fast & forgiving HTML/XML parser |
|
|
| [domhandler](https://github.com/fb55/domhandler) | Handler for htmlparser2 that turns documents into a DOM |
|
|
| [domutils](https://github.com/fb55/domutils) | Utilities for working with domhandler's DOM |
|
|
| [css-select](https://github.com/fb55/css-select) | CSS selector engine, compatible with domhandler's DOM |
|
|
| [cheerio](https://github.com/cheeriojs/cheerio) | The jQuery API for domhandler's DOM |
|
|
| [dom-serializer](https://github.com/cheeriojs/dom-serializer) | Serializer for domhandler's DOM |
|
|
|
|
---
|
|
|
|
LICENSE: MIT
|