Commit Graph

82 Commits

Author SHA1 Message Date
Hayden Bleasel 858ff5de0c Update Biome and Ultracite (fix security issues) 2026-02-18 20:50:27 -08:00
Hayden Bleasel 847132d73c Remove ts-router-chat-test 2026-02-18 20:47:58 -08:00
Hayden Bleasel 93a79cc06b Resolves #270 2026-02-18 19:08:39 -08:00
dependabot[bot] 40ff972f40 Bump the npm_and_yarn group across 1 directory with 4 updates (#405)
Bumps the npm_and_yarn group with 1 update in the / directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).


Updates `@modelcontextprotocol/sdk` from 1.25.2 to 1.26.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.25.2...v1.26.0)

Updates `ajv` from 8.17.1 to 8.18.0
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](https://github.com/ajv-validator/ajv/compare/v8.17.1...v8.18.0)

Updates `hono` from 4.11.4 to 4.11.10
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](https://github.com/honojs/hono/compare/v4.11.4...v4.11.10)

Updates `qs` from 6.14.1 to 6.15.0
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.1...v6.15.0)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.26.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: ajv
  dependency-version: 8.18.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: hono
  dependency-version: 4.11.10
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.15.0
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-18 14:26:37 -08:00
Hayden Bleasel 068acdf5f4 Fix fullscreen, fix unit tests 2026-02-18 12:40:06 -08:00
dependabot[bot] eb4e2a6564 Bump next in the npm_and_yarn group across 1 directory (#372)
Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 16.1.3 to 16.1.5
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.1.3...v16.1.5)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.1.5
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-17 16:06:36 -08:00
Hayden Bleasel 4be8f6c258 Merge animate into main library 2026-02-08 15:25:00 -08:00
Hayden Bleasel c1e1e66a0f Resolves #290, resolves #371, resolves #153 2026-02-07 18:12:43 -08:00
Hayden Bleasel a1e2fad475 Resolves #368 2026-02-07 17:00:33 -08:00
Hayden Bleasel f6d6660048 Update pnpm-lock.yaml 2026-02-03 11:23:24 -08:00
Hayden Bleasel 3f4a8acb37 Update pnpm-lock.yaml 2026-01-18 17:13:17 -08:00
Hayden Bleasel bde9ea5eb0 Add test:coverage commands 2026-01-17 17:19:50 -08:00
Hayden Bleasel add8edaeab Resolves #301 2026-01-17 16:59:58 -08:00
Hayden Bleasel 0b80aed583 Switch to plugin architecture (#352)
* Plugin trial

* Update docs and tests

* Update homepage add new section

* Update usage.tsx

* Split out CJK plugin

* Extract plugins into new packages

* Misc fixes

* Fix lint / formatting

* Fix: The Streamdown component's memo comparison doesn't compare the plugins prop, preventing re-renders when plugins change while other props stay the same

Co-authored-by: haydenbleasel <hello@haydenbleasel.com>

* Fix: TypeScript type mismatch at line 89 in `index.ts`: the visitor function's `index` parameter is typed as `number | undefined`, but the `visit` function expects `number | null`. The `undefined` type is not assignable to `number | null`.

This commit fixes the issue reported at /vercel/path0/packages/streamdown-cjk/index.ts:89

## TypeScript type incompatibility in visitor callback

**What fails:** TypeScript compiler fails during DTS (type definitions) build in `packages/streamdown-cjk/index.ts` at line 89

**How to reproduce:**
```bash
cd packages/streamdown-cjk
pnpm build
```

**Result:**
```
index.ts(89,3): error TS2769: No overload matches this call.
  Overload 1 of 2, '(tree: Root, check: "link", visitor: BuildVisitor<Root, "link">, reverse?: boolean | null | undefined): undefined', gave the following error.
    Argument of type '(node: Link, index: number | null, parent?: Parent) => number | undefined' is not assignable to parameter of type 'BuildVisitor<Root, "link">'.
      Types of parameters 'index' and 'index' are incompatible.
        Type 'number | undefined' is not assignable to type 'number | null'.
          Type 'undefined' is not assignable to type 'number | null'.
```

**Root cause:** The visitor callback function passed to the `visit()` function from `unist-util-visit` was declaring the `index` parameter as `number | null`, but the visitor can also receive `undefined` as the index value. The `BuildVisitor` type signature expects the callback to accept `number | null | undefined` to properly match the library's API.

**Fix:** Updated the `index` parameter type annotation on line 89 from `number | null` to `number | null | undefined` to match the actual possible values that the visitor receives and the expected `BuildVisitor` type signature.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: haydenbleasel <hello@haydenbleasel.com>

* Fix tests

* Remove CDN paths

* Fix tests

* More cleanup

* Remove shiki from main bundle

* Update index.ts

* Cleanup test repo

* Cleanup website

* Delete next-env files

* Update .gitignore

* Fix lockfile

* Upgrade Next and React

* Simplify themes

* Update test site

* Misc fixes

* Type fixes

* Create perky-cobras-punch.md

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2026-01-17 14:38:20 -08:00
dependabot[bot] ec4a34a456 Bump the npm_and_yarn group across 1 directory with 2 updates (#335)
Bumps the npm_and_yarn group with 1 update in the / directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).


Updates `@modelcontextprotocol/sdk` from 1.24.3 to 1.25.2
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.3...v1.25.2)

Updates `qs` from 6.14.0 to 6.14.1
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.1)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.25.2
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-08 19:34:07 -08:00
Hayden Bleasel 158657ad87 Upgrade Turbo and linter 2026-01-06 16:31:57 -08:00
Hayden Bleasel 32622ea1ad Add bundle size command 2026-01-06 14:43:03 -08:00
Hayden Bleasel 9cf5c09a34 Hotfix sanitize (#334)
* Add rehype-sanitize

* Version bump
2026-01-06 13:08:52 -08:00
Jie Wang 82b64745a2 fix(deps): remove deprecated hast dep (#322) 2026-01-04 11:36:36 -08:00
vercel[bot] 029ee2cb47 Fix React Server Components CVE vulnerabilities (#309)
Updated dependencies to fix Next.js and React CVE vulnerabilities.

The fix-react2shell-next tool automatically updated the following packages to their secure versions:
- next
- react-server-dom-webpack
- react-server-dom-parcel  
- react-server-dom-turbopack

All package.json files have been scanned and vulnerable versions have been patched to the correct fixed versions based on the official React advisory.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2025-12-11 20:32:36 -08:00
vercel[bot] 1110b0a709 Fix React Server Components CVE vulnerabilities (#308)
Updated dependencies to fix Next.js and React CVE vulnerabilities.

The fix-react2shell-next tool automatically updated the following packages to their secure versions:
- next
- react-server-dom-webpack
- react-server-dom-parcel  
- react-server-dom-turbopack

All package.json files have been scanned and vulnerable versions have been patched to the correct fixed versions based on the official React advisory.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2025-12-11 14:14:12 -08:00
Hayden Bleasel a6e6bc5410 Bump deps 2025-12-11 11:06:24 -08:00
Hayden Bleasel 6bd211de4e Resolves #299 2025-12-08 13:54:31 -08:00
Hayden Bleasel 0a732fec47 Update Ultracite 2025-12-07 10:41:01 -08:00
Hayden Bleasel 73c3b61bdd Bump deps 2025-12-06 23:34:57 -08:00
Hayden Bleasel 1c752e3873 Update docs 2025-12-06 23:33:36 -08:00
Hayden Bleasel 133c6c8281 Load KaTeX CSS from CDN, for #74 2025-12-06 23:00:10 -08:00
Hayden Bleasel 5dbb7c765a Upgrade React and Next.js 2025-12-04 21:08:39 -08:00
dependabot[bot] 25feda0397 Bump the npm_and_yarn group across 3 directories with 1 update (#286)
Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /apps/test directory: [next](https://github.com/vercel/next.js).
Bumps the npm_and_yarn group with 1 update in the /apps/website directory: [next](https://github.com/vercel/next.js).


Updates `next` from 16.0.1 to 16.0.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.0.1...v16.0.7)

Updates `next` from 16.0.1 to 16.0.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.0.1...v16.0.7)

Updates `next` from 16.0.1 to 16.0.7
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v16.0.1...v16.0.7)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 16.0.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.0.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: next
  dependency-version: 16.0.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 17:27:06 -08:00
Hayden Bleasel 36956165f4 Merge branch 'main' of https://github.com/vercel/streamdown 2025-12-04 09:48:31 -08:00
Hayden Bleasel 8d8d67f50d Add rehype-sanitize 2025-12-04 09:47:16 -08:00
dependabot[bot] a3e1fa1d25 Bump the npm_and_yarn group across 1 directory with 3 updates (#277)
Bumps the npm_and_yarn group with 1 update in the / directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk).


Updates `@modelcontextprotocol/sdk` from 1.22.0 to 1.24.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.22.0...1.24.0)

Updates `body-parser` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/v2.2.0...v2.2.1)

Updates `express` from 5.1.0 to 5.2.1
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.24.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: body-parser
  dependency-version: 2.2.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 09:40:07 -08:00
Hayden Bleasel d3ed120364 Remend (#279)
* Initial extraction

* Split up files

* Misc cleanup

* Break apart test file

* Add vitest/coverage-v8

* Increase coverage to 99.63%

* Fix cognitive complexity issues

* Run Ultracite

* Delete parse-incomplete-markdown.ts

* Add postbuild script for use client directive

* Update README.md

* Add default export

* Update docs

* Rename package

* Create wicked-badgers-decide.md

* Fix remend tests

* Fix remend benchmarks

* Fix remaining Streamdown tests

* Update underscore-bug.test.tsx

* Update test.yml

* Update test.yml
2025-12-03 11:17:18 -08:00
Hayden Bleasel a954419dd5 Bump rehype harden (#269)
* Update rehype-harden

* Update props

* Update security.mdx

* Changeset, install deps
2025-11-28 15:31:44 -08:00
yeliex 99797c2905 chore: move unified from devDependencies to dependencies (#266) 2025-11-28 12:41:54 -08:00
Hayden Bleasel 49b6692213 246 v162 typeerror import processdefaultcwd is not a function (#247)
* Create tanstack-router test app

* Add Streamdown

* Replace ReactMarkdown with Streamdown

* Use AI Gateway

* Fix streamdown to build browser only
2025-11-22 21:37:54 -08:00
Hayden Bleasel 476167eab7 Bundle size optimization (#244)
* Direct icon imports

* Lazy load mermaid and shiki until used

* Only load KaTeX when maths is present

* Add changesets

* Improve test app output

* Create lucide-react.d.ts

* Update packages/streamdown/lib/code-block/skeleton.tsx

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-22 18:50:11 -08:00
Hayden Bleasel 62888665f8 Performance improvements, part 2 (#241)
* Add functional benchmarking suite

* Optimize regex performance

* Fix rendering issue with code blocks

* Fix bench commands

* Table optimizations

* Math Block Detection Caching

* Parse blocks optimizations

* More regex-to-loop optimizations

* Update layout.tsx

* Remove dependency on vfile

* Optimize string operations

* Create markdown.test.tsx

* Optimized cache key generation

* Fix display issue

* Add core Markdown parsing benchmarks

* Update section.tsx

* CSV / TSV escaping optimization

* More optimizations

* Run Ultracite

* Fix remaining lint issues
2025-11-21 17:45:53 -08:00
Hayden Bleasel 6e94a180ed Remove benchmarks 2025-11-21 15:13:09 -08:00
Hayden Bleasel 6f19ee03e7 Remove dependency on react-markdown 2025-11-19 18:31:53 -08:00
Hayden Bleasel 819ce60e37 Create performance benchmarks 2025-11-19 17:29:45 -08:00
Hayden Bleasel b55cbdc954 Fix security issues, improve performance (#233)
* Resolves https://github.com/vercel/streamdown/security/code-scanning/9

* Resolves https://github.com/vercel/streamdown/security/code-scanning/7

* Resolves https://github.com/vercel/streamdown/security/code-scanning/6

* Resolves https://github.com/vercel/streamdown/security/code-scanning/3

* Resolves https://github.com/vercel/streamdown/security/code-scanning/1

* Bump deps, resolves https://github.com/vercel/streamdown/security/dependabot/10

* Run Ultracite

* Create major-spoons-do.md

* Update parse-incomplete-markdown.ts

* Update packages/streamdown/lib/parse-incomplete-markdown.ts

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* Update parse-incomplete-markdown.test.ts

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2025-11-19 13:57:04 -08:00
Hayden Bleasel f941fd6f53 Resolves #185 2025-11-15 21:20:02 -08:00
Hayden Bleasel 75e9d401b9 Linting / Formatting / Documentation fixes (#220)
* Bump deps

* Update biome.jsonc

* Remove duplicate Biome config

* Run Ultracite

* Resolves #217

* For #198

* Update biome.jsonc

* For #198

* For #198

* For #198

* For #198

* Update node-attribute-removed.test.tsx

* Resolves #198

* Update README.md

* Add changeset files

* Create tidy-lemons-win.md
2025-11-15 20:23:36 -08:00
Hayden Bleasel 44ae73eaaf Documentation (#219)
* Initial migration

* Update homepage

* Delete .source

* Fix gitignores

* Draft content

* Finish drafting content, migrate FAQ

* Update code-blocks.tsx

* Update route.ts

* Update next config

* Upgrade to Next.js 16, fix commands

* Update layout.tsx
2025-11-15 19:41:00 -08:00
dependabot[bot] 9633eda7c6 chore(deps): bump ai in the npm_and_yarn group across 1 directory (#210)
Bumps the npm_and_yarn group with 1 update in the / directory: [ai](https://github.com/vercel/ai).


Updates `ai` from 5.0.32 to 5.0.52
- [Release notes](https://github.com/vercel/ai/releases)
- [Changelog](https://github.com/vercel/ai/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vercel/ai/compare/ai@5.0.32...ai@5.0.52)

---
updated-dependencies:
- dependency-name: ai
  dependency-version: 5.0.52
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 22:40:54 -08:00
Hayden Bleasel 3c780b4827 fix: footnotes are blocked by default (#179)
* Update rehype-harden

* Fix footnotes rendering

* Update footnotes.test.tsx

* Create tender-readers-shave.md
2025-10-10 11:04:50 -07:00
Hayden Bleasel 6c0672b1e9 Fix footnotes (#174)
* Fix footnotes in markdown parsing

* Create footnotes.test.tsx

* Create light-beers-peel.md

* Bump rehype-harden

* Update gfm.tsx

* Update parse-blocks.tsx

* Update pnpm-lock.yaml
2025-10-10 10:08:51 -07:00
Hayden Bleasel f5d6cd6668 Remove options props, make plugins fully customizable (#177)
* Remove options props, make plugins fully customizable

* Update docs

* Create puny-turkeys-press.md

* Remove harden options

* Make defaults easily overridable

* Simplify keys

* Update hardened.tsx

* Remove unused unit tests

* Add missing props
2025-10-10 09:39:40 -07:00
Hayden Bleasel 6c6f507e21 Replace harden-react-markdown with rehype-harden (#170)
* replace harden-react-markdown with rehype-harden

* Improve docs

* Add hardenOptions prop to allow for full props

* Improve unit tests for hardenOptions

* Create cute-deer-cut.md

* Update hardened.tsx
2025-10-09 17:02:04 -07:00