Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions .size-limit.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,11 @@ module.exports = [
},
{
// Tiptap + ProseMirror. Eager because the editor is the home screen.
// ~446 kB at last check.
// Bumped 470 → 500 kB: Tiptap 3.18 → 3.27 (9 minor releases of the core
// editor) added ~18 kB; actual ~488 kB.
name: "EAGER: vendor-tiptap",
path: "dist/assets/vendor-tiptap-*.js",
limit: "470 kB",
limit: "500 kB",
brotli: false,
},
{
Expand Down Expand Up @@ -113,10 +114,13 @@ module.exports = [
{
// Mermaid + @mermaid-js/* + d3-* + dagre-d3-es + khroma. LAZY since
// the preload-helper pinning (see vite.config.ts manualChunks): loads
// on first diagram render, not at cold start. ~1694 kB.
// on first diagram render, not at cold start.
// Bumped 1750 → 2600 kB: Mermaid 11.12 → 11.16 added ~800 kB (new diagram
// types + deps); actual ~2.49 MB. Acceptable because this chunk is lazy
// (never in the cold-start path).
name: "LAZY: vendor-mermaid",
path: "dist/assets/vendor-mermaid-*.js",
limit: "1750 kB",
limit: "2600 kB",
brotli: false,
},
{
Expand Down Expand Up @@ -187,9 +191,12 @@ module.exports = [
// Bumped 92 → 94 kB: the HTML allow-list controls (Allowed-tags select +
// custom-tags field in MarkdownSettings) and the top/left terminal-position
// options in TerminalSettings added ~0.8 kB.
// Bumped 94 → 95 kB: lucide-react v1 removed brand icons, so AboutSettings
// now ships the GitHub mark as a local inline SVG (GithubMark.tsx), pushing
// this chunk ~38 B over the old 94 kB ceiling.
name: "LAZY: Settings page",
path: "dist/assets/Settings-*.js",
limit: "94 kB",
limit: "95 kB",
brotli: false,
},
{
Expand Down
14 changes: 14 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ export default tseslint.config(
},
rules: {
...reactHooks.configs.recommended.rules,
// eslint-plugin-react-hooks v7 folded the React Compiler rule set into
// `recommended`, which flags 67 pre-existing sites (set-state-in-effect,
// ref access during render, manual-memoization, immutability). Adopting
// them is a deliberate, codebase-wide refactor — not part of a version
// bump — so they are deferred here to preserve the enforcement level the
// code was written and verified against. Re-enable incrementally (per
// rule, file-scoped) in a dedicated react-hooks-7 adoption pass — see #1063.
"react-hooks/set-state-in-effect": "off",
"react-hooks/refs": "off",
"react-hooks/preserve-manual-memoization": "off",
"react-hooks/immutability": "off",
// Historically `warn` under v5's recommended; v7 raised it to error.
// Keep it non-blocking to match prior behavior.
"react-hooks/exhaustive-deps": "warn",
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
Expand Down
6 changes: 5 additions & 1 deletion knip.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,11 @@
"cytoscape-cose-bilkent",
"dayjs",
"debug",
"@braintree/sanitize-url"
"@braintree/sanitize-url",
"mermaid"
],
"ignoreBinaries": [
"vitepress"
]
}
}
Expand Down
124 changes: 62 additions & 62 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
"dependencies": {
"@actions/languageservice": "0.3.55",
"@actions/workflow-parser": "0.3.55",
"@codemirror/autocomplete": "^6.20.0",
"@codemirror/commands": "^6.10.1",
"@codemirror/autocomplete": "^6.20.3",
"@codemirror/commands": "^6.10.4",
"@codemirror/lang-css": "^6.3.1",
"@codemirror/lang-go": "^6.0.1",
"@codemirror/lang-html": "^6.4.11",
Expand All @@ -55,42 +55,42 @@
"@codemirror/lang-rust": "^6.0.2",
"@codemirror/lang-xml": "^6.1.0",
"@codemirror/lang-yaml": "^6.1.3",
"@codemirror/language": "^6.12.1",
"@codemirror/language": "^6.12.4",
"@codemirror/language-data": "^6.5.2",
"@codemirror/legacy-modes": "^6.5.2",
"@codemirror/lint": "^6.9.2",
"@codemirror/search": "^6.6.0",
"@codemirror/state": "^6.5.4",
"@codemirror/view": "^6.39.11",
"@codemirror/legacy-modes": "^6.5.3",
"@codemirror/lint": "^6.9.7",
"@codemirror/search": "^6.7.1",
"@codemirror/state": "^6.7.0",
"@codemirror/view": "^6.43.3",
"@dagrejs/dagre": "^3.0.0",
"@joplin/turndown-plugin-gfm": "^1.0.64",
"@joplin/turndown-plugin-gfm": "^1.0.67",
"@lezer/highlight": "^1.2.3",
"@panzoom/panzoom": "^4.6.1",
"@tauri-apps/api": "^2.9.1",
"@panzoom/panzoom": "^4.6.2",
"@tauri-apps/api": "^2.11.1",
"@tauri-apps/plugin-clipboard-manager": "^2.3.2",
"@tauri-apps/plugin-dialog": "^2.6.0",
"@tauri-apps/plugin-fs": "^2.4.5",
"@tauri-apps/plugin-dialog": "^2.7.1",
"@tauri-apps/plugin-fs": "^2.5.1",
"@tauri-apps/plugin-log": "^2.8.0",
"@tauri-apps/plugin-notification": "^2.3.1",
"@tauri-apps/plugin-opener": "^2.5.3",
"@tauri-apps/plugin-notification": "^2.3.3",
"@tauri-apps/plugin-opener": "^2.5.4",
"@tauri-apps/plugin-process": "^2.3.1",
"@tauri-apps/plugin-store": "^2.4.2",
"@tauri-apps/plugin-updater": "^2.9.0",
"@tiptap/core": "^3.18.0",
"@tiptap/extension-blockquote": "^3.18.0",
"@tiptap/extension-bullet-list": "^3.18.0",
"@tiptap/extension-code-block-lowlight": "^3.18.0",
"@tiptap/extension-heading": "^3.18.0",
"@tiptap/extension-horizontal-rule": "^3.18.0",
"@tiptap/extension-image": "^3.18.0",
"@tiptap/extension-link": "^3.18.0",
"@tiptap/extension-ordered-list": "^3.18.0",
"@tiptap/extension-paragraph": "^3.18.0",
"@tiptap/extension-table": "^3.18.0",
"@tiptap/extension-table-row": "^3.18.0",
"@tiptap/pm": "^3.18.0",
"@tiptap/react": "^3.18.0",
"@tiptap/starter-kit": "^3.18.0",
"@tauri-apps/plugin-store": "^2.4.3",
"@tauri-apps/plugin-updater": "^2.10.1",
"@tiptap/core": "^3.27.1",
"@tiptap/extension-blockquote": "^3.27.1",
"@tiptap/extension-bullet-list": "^3.27.1",
"@tiptap/extension-code-block-lowlight": "^3.27.1",
"@tiptap/extension-heading": "^3.27.1",
"@tiptap/extension-horizontal-rule": "^3.27.1",
"@tiptap/extension-image": "^3.27.1",
"@tiptap/extension-link": "^3.27.1",
"@tiptap/extension-ordered-list": "^3.27.1",
"@tiptap/extension-paragraph": "^3.27.1",
"@tiptap/extension-table": "^3.27.1",
"@tiptap/extension-table-row": "^3.27.1",
"@tiptap/pm": "^3.27.1",
"@tiptap/react": "^3.27.1",
"@tiptap/starter-kit": "^3.27.1",
"@xterm/addon-fit": "^0.11.0",
"@xterm/addon-search": "^0.16.0",
"@xterm/addon-unicode11": "^0.9.0",
Expand All @@ -100,40 +100,40 @@
"@xyflow/react": "12.10.2",
"alfaaz": "^1.1.0",
"codemirror-lang-mermaid": "0.5.0",
"dompurify": "^3.4.2",
"dompurify": "^3.4.11",
"highlight.js": "^11.11.1",
"html-to-image": "1.11.13",
"i18next": "^25.8.18",
"i18next": "^26.3.3",
"i18next-resources-to-backend": "^1.2.1",
"katex": "^0.16.28",
"katex": "^0.16.47",
"lowlight": "^3.3.0",
"lucide-react": "^0.562.0",
"lucide-react": "^1.21.0",
"markmap-common": "^0.18.9",
"markmap-lib": "^0.18.12",
"markmap-view": "^0.18.12",
"mdast-util-find-and-replace": "^3.0.2",
"mermaid": "^11.12.2",
"react": "^19.2.4",
"react-arborist": "^3.4.3",
"react-dom": "^19.2.4",
"react-i18next": "^16.5.8",
"mermaid": "^11.16.0",
"react": "^19.2.7",
"react-arborist": "^3.10.5",
"react-dom": "^19.2.7",
"react-i18next": "^16.6.6",
"react-json-view-lite": "^2.5.0",
"react-router-dom": "^7.13.0",
"react-router-dom": "^7.18.0",
"remark-breaks": "^4.0.0",
"remark-frontmatter": "^5.0.0",
"remark-gfm": "^4.0.1",
"remark-math": "^6.0.0",
"remark-parse": "^11.0.0",
"remark-stringify": "^11.0.0",
"smol-toml": "^1.6.1",
"smol-toml": "^1.7.0",
"sonner": "^2.0.7",
"turndown": "^7.2.2",
"turndown": "^7.2.4",
"unified": "^11.0.5",
"unist-util-visit": "^5.1.0",
"vscode-languageserver-textdocument": "^1.0.12",
"vscode-languageserver-types": "^3.17.5",
"vscode-languageserver-types": "^3.18.0",
"yaml": "2.8.4",
"zustand": "^5.0.10"
"zustand": "^5.0.14"
},
"pnpm": {
"overrides": {
Expand All @@ -157,36 +157,36 @@
}
},
"devDependencies": {
"@eslint/js": "^9.39.2",
"@eslint/js": "^9.39.4",
"@hypothesi/tauri-mcp-server": "^0.7.0",
"@size-limit/file": "^12.1.0",
"@tailwindcss/vite": "^4.1.18",
"@tauri-apps/cli": "^2.9.6",
"@tailwindcss/vite": "^4.3.1",
"@tauri-apps/cli": "^2.11.3",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/mdast": "^4.0.4",
"@types/node": "^22.19.7",
"@types/react": "^19.2.9",
"@types/node": "^22.20.0",
"@types/react": "^19.2.17",
"@types/react-dom": "^19.2.3",
"@types/turndown": "^5.0.6",
"@vitejs/plugin-react": "^4.7.0",
"@vitest/coverage-v8": "^4.0.18",
"dependency-cruiser": "^17.3.9",
"eslint": "^9.39.2",
"eslint-plugin-react-hooks": "^5.2.0",
"globals": "^16.5.0",
"@vitejs/plugin-react": "^5.2.0",
"@vitest/coverage-v8": "^4.1.9",
"dependency-cruiser": "^17.4.3",
"eslint": "^9.39.4",
"eslint-plugin-react-hooks": "^7.1.1",
"globals": "^17.7.0",
"jsdom": "^26.1.0",
"knip": "6.15.0",
"markdownlint-cli2": "^0.21.0",
"mdast-util-math": "^3.0.0",
"size-limit": "^12.1.0",
"tailwindcss": "^4.1.18",
"tsx": "^4.21.0",
"tailwindcss": "^4.3.1",
"tsx": "^4.22.4",
"typescript": "~5.8.3",
"typescript-eslint": "^8.54.0",
"vite": "^7.3.1",
"vitest": "^4.0.18",
"typescript-eslint": "^8.62.0",
"vite": "^7.3.6",
"vitest": "^4.1.9",
"vitest-axe": "0.1.0"
}
}
Loading
Loading