diff --git a/README.md b/README.md index 1074cd9f5..8ee165418 100644 --- a/README.md +++ b/README.md @@ -166,16 +166,34 @@ Please view the [documentation guide](https://github.com/TriliumNext/Trilium/blo ## 👏 Shoutouts -* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - best WYSIWYG editor on the market, very interactive and listening team -* [FancyTree](https://github.com/mar10/fancytree) - very feature rich tree library without real competition. Trilium Notes would not be the same without it. -* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages -* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library without competition. Used in [relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map.html) and [link maps](https://triliumnext.github.io/Docs/Wiki/note-map.html#link-map) +* [zadam](https://github.com/zadam) for the original concept and implementation of the application. +* [Larsa](https://github.com/LarsaSara) for designing the application icon. +* [nriver](https://github.com/nriver) for his work on internationalization. +* [Thomas Frei](https://github.com/thfrei) for his original work on the Canvas. +* [antoniotejada](https://github.com/nriver) for the original syntax highlight widget. +* [Dosu](https://dosu.dev/) for providing us with the automated responses to GitHub issues and discussions. +* [Tabler Icons](https://tabler.io/icons) for the system tray icons. + +Trilium would not be possible without the technologies behind it: + +* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - the visual editor behind text notes. We are grateful for being offered a set of the premium features. +* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with support for huge amount of languages. +* [Excalidraw](https://github.com/excalidraw/excalidraw) - the infinite whiteboard used in Canvas notes. +* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) - providing the mind map functionality. +* [Leaflet](https://github.com/Leaflet/Leaflet) - for rendering geographical maps. +* [Tabulator](https://github.com/olifolkerd/tabulator) - for the interactive table used in collections. +* [FancyTree](https://github.com/mar10/fancytree) - feature-rich tree library without real competition. +* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library. Used in [relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map.html) and [link maps](https://triliumnext.github.io/Docs/Wiki/note-map.html#link-map) ## 🤝 Support -Support for the TriliumNext organization will be possible in the near future. For now, you can: -- Support continued development on TriliumNext by supporting our developers: [eliandoran](https://github.com/sponsors/eliandoran) (See the [repository insights]([developers]([url](https://github.com/TriliumNext/trilium/graphs/contributors))) for a full list) -- Show a token of gratitude to the original Trilium developer ([zadam](https://github.com/sponsors/zadam)) via [PayPal](https://paypal.me/za4am) or Bitcoin (bitcoin:bc1qv3svjn40v89mnkre5vyvs2xw6y8phaltl385d2). +Trilium is built and maintained with [hundreds of hours of work](https://github.com/TriliumNext/Trilium/graphs/commit-activity). Your support keeps it open-source, improves features, and covers costs such as hosting. + +Consider supporting the main developer ([eliandoran](https://github.com/eliandoran)) of the application via: + +- [GitHub Sponsors](https://github.com/sponsors/eliandoran) +- [PayPal](https://paypal.me/eliandoran) +- [Buy Me a Coffee](https://buymeacoffee.com/eliandoran) ## 🔑 License diff --git a/apps/client/src/services/shortcuts.spec.ts b/apps/client/src/services/shortcuts.spec.ts index 405c71359..87f8ae489 100644 --- a/apps/client/src/services/shortcuts.spec.ts +++ b/apps/client/src/services/shortcuts.spec.ts @@ -148,13 +148,21 @@ describe("shortcuts", () => { expect(matchesShortcut(event, "a")).toBe(false); }); - it("should match function keys even with no modifiers", () => { + it("should match some keys even with no modifiers", () => { + // Bare function keys let event = createKeyboardEvent({ key: "F1", code: "F1" }); expect(matchesShortcut(event, "F1")).toBeTruthy(); expect(matchesShortcut(event, "f1")).toBeTruthy(); + // Function keys with shift event = createKeyboardEvent({ key: "F1", code: "F1", shiftKey: true }); expect(matchesShortcut(event, "Shift+F1")).toBeTruthy(); + + // Special keys + for (const keyCode of [ "Delete", "Enter" ]) { + event = createKeyboardEvent({ key: keyCode, code: keyCode }); + expect(matchesShortcut(event, keyCode), `Key ${keyCode}`).toBeTruthy(); + } }); it("should handle alternative modifier names", () => { diff --git a/apps/client/src/services/shortcuts.ts b/apps/client/src/services/shortcuts.ts index 92bb02d66..94dd8893c 100644 --- a/apps/client/src/services/shortcuts.ts +++ b/apps/client/src/services/shortcuts.ts @@ -36,10 +36,19 @@ const keyMap: { [key: string]: string[] } = { }; // Function keys +const functionKeyCodes: string[] = []; for (let i = 1; i <= 19; i++) { - keyMap[`f${i}`] = [`F${i}`]; + const keyCode = `F${i}`; + functionKeyCodes.push(keyCode); + keyMap[`f${i}`] = [ keyCode ]; } +const KEYCODES_WITH_NO_MODIFIER = new Set([ + "Delete", + "Enter", + ...functionKeyCodes +]); + /** * Check if IME (Input Method Editor) is composing * This is used to prevent keyboard shortcuts from firing during IME composition @@ -163,8 +172,8 @@ export function matchesShortcut(e: KeyboardEvent, shortcut: string): boolean { const expectedMeta = modifiers.includes('meta') || modifiers.includes('cmd') || modifiers.includes('command'); // Refuse key combinations that don't include modifiers because they interfere with the normal usage of the application. - // Function keys are an exception. - if (!(expectedCtrl || expectedAlt || expectedShift || expectedMeta) && !/f\d+/.test(key)) { + // Some keys such as function keys are an exception. + if (!(expectedCtrl || expectedAlt || expectedShift || expectedMeta) && !KEYCODES_WITH_NO_MODIFIER.has(e.code)) { return false; } diff --git a/apps/client/src/stylesheets/print.css b/apps/client/src/stylesheets/print.css index f537911e5..114a52559 100644 --- a/apps/client/src/stylesheets/print.css +++ b/apps/client/src/stylesheets/print.css @@ -31,7 +31,7 @@ #center-pane > *:not(.split-note-container-widget), #right-pane, .title-row .note-icon-widget, -.title-row .button-widget, +.title-row .icon-action, .ribbon-container, .promoted-attributes-widget, .scroll-padding-widget, diff --git a/apps/client/src/widgets/ribbon/Ribbon.tsx b/apps/client/src/widgets/ribbon/Ribbon.tsx index ff908f00f..e47a78aee 100644 --- a/apps/client/src/widgets/ribbon/Ribbon.tsx +++ b/apps/client/src/widgets/ribbon/Ribbon.tsx @@ -51,6 +51,7 @@ const TAB_CONFIGURATION = numberObjectsInPlace([ show: ({ note }) => note?.type === "text" && options.get("textNoteEditorType") === "ckeditor-classic", toggleCommand: "toggleRibbonTabClassicEditor", content: FormattingToolbar, + activate: true, stayInDom: true }, { diff --git a/apps/client/src/widgets/type_widgets/options/appearance.tsx b/apps/client/src/widgets/type_widgets/options/appearance.tsx index e3ba25440..233186ffe 100644 --- a/apps/client/src/widgets/type_widgets/options/appearance.tsx +++ b/apps/client/src/widgets/type_widgets/options/appearance.tsx @@ -90,6 +90,7 @@ export default function AppearanceSettings() { {isElectron() && } + ) } + +function RibbonOptions() { + const [ editedNotesOpenInRibbon, setEditedNotesOpenInRibbon ] = useTriliumOptionBool("editedNotesOpenInRibbon"); + + return ( + + + + ) +} diff --git a/apps/client/src/widgets/type_widgets/read_only_code.ts b/apps/client/src/widgets/type_widgets/read_only_code.ts index cdae4565e..78d84950a 100644 --- a/apps/client/src/widgets/type_widgets/read_only_code.ts +++ b/apps/client/src/widgets/type_widgets/read_only_code.ts @@ -45,14 +45,4 @@ export default class ReadOnlyCodeTypeWidget extends AbstractCodeTypeWidget { readOnly: true }; } - - async executeWithContentElementEvent({ resolve, ntxId }: EventData<"executeWithContentElement">) { - if (!this.isNoteContext(ntxId)) { - return; - } - - await this.initialized; - - resolve(this.$editor); - } } diff --git a/apps/server/package.json b/apps/server/package.json index 756fdf433..052b59b57 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -110,7 +110,7 @@ "multer": "2.0.2", "normalize-strings": "1.1.1", "ollama": "0.6.0", - "openai": "6.0.1", + "openai": "6.1.0", "rand-token": "1.0.1", "safe-compare": "1.1.4", "sanitize-filename": "1.6.3", @@ -127,7 +127,7 @@ "tmp": "0.2.5", "turndown": "7.2.1", "unescape": "1.0.1", - "vite": "7.1.7", + "vite": "7.1.9", "ws": "8.18.3", "xml2js": "0.6.2", "yauzl": "3.2.0" diff --git a/apps/website/index.html b/apps/website/index.html index 59b5a1e3c..798ca14f9 100644 --- a/apps/website/index.html +++ b/apps/website/index.html @@ -5,6 +5,7 @@ + Trilium Notes diff --git a/apps/website/package.json b/apps/website/package.json index 0992ef8a3..b6265c4f6 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -18,7 +18,7 @@ "eslint-config-preact": "2.0.0", "typescript": "5.9.3", "user-agent-data-types": "0.4.2", - "vite": "7.1.7" + "vite": "7.1.9" }, "eslintConfig": { "extends": "preact" diff --git a/apps/website/src/assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf b/apps/website/src/assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf new file mode 100644 index 000000000..43ed4f5ee Binary files /dev/null and b/apps/website/src/assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf differ diff --git a/apps/website/src/assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf b/apps/website/src/assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf new file mode 100644 index 000000000..e31b51e3e Binary files /dev/null and b/apps/website/src/assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf differ diff --git a/apps/website/src/assets/fonts/Inter/OFL.txt b/apps/website/src/assets/fonts/Inter/OFL.txt new file mode 100644 index 000000000..63db4fa70 --- /dev/null +++ b/apps/website/src/assets/fonts/Inter/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/apps/website/src/assets/fonts/Inter/README.txt b/apps/website/src/assets/fonts/Inter/README.txt new file mode 100644 index 000000000..f7a47e8ee --- /dev/null +++ b/apps/website/src/assets/fonts/Inter/README.txt @@ -0,0 +1,118 @@ +Inter Variable Font +=================== + +This download contains Inter as both variable fonts and static fonts. + +Inter is a variable font with these axes: + opsz + wght + +This means all the styles are contained in these files: + Inter-VariableFont_opsz,wght.ttf + Inter-Italic-VariableFont_opsz,wght.ttf + +If your app fully supports variable fonts, you can now pick intermediate styles +that aren’t available as static fonts. Not all apps support variable fonts, and +in those cases you can use the static font files for Inter: + static/Inter_18pt-Thin.ttf + static/Inter_18pt-ExtraLight.ttf + static/Inter_18pt-Light.ttf + static/Inter_18pt-Regular.ttf + static/Inter_18pt-Medium.ttf + static/Inter_18pt-SemiBold.ttf + static/Inter_18pt-Bold.ttf + static/Inter_18pt-ExtraBold.ttf + static/Inter_18pt-Black.ttf + static/Inter_24pt-Thin.ttf + static/Inter_24pt-ExtraLight.ttf + static/Inter_24pt-Light.ttf + static/Inter_24pt-Regular.ttf + static/Inter_24pt-Medium.ttf + static/Inter_24pt-SemiBold.ttf + static/Inter_24pt-Bold.ttf + static/Inter_24pt-ExtraBold.ttf + static/Inter_24pt-Black.ttf + static/Inter_28pt-Thin.ttf + static/Inter_28pt-ExtraLight.ttf + static/Inter_28pt-Light.ttf + static/Inter_28pt-Regular.ttf + static/Inter_28pt-Medium.ttf + static/Inter_28pt-SemiBold.ttf + static/Inter_28pt-Bold.ttf + static/Inter_28pt-ExtraBold.ttf + static/Inter_28pt-Black.ttf + static/Inter_18pt-ThinItalic.ttf + static/Inter_18pt-ExtraLightItalic.ttf + static/Inter_18pt-LightItalic.ttf + static/Inter_18pt-Italic.ttf + static/Inter_18pt-MediumItalic.ttf + static/Inter_18pt-SemiBoldItalic.ttf + static/Inter_18pt-BoldItalic.ttf + static/Inter_18pt-ExtraBoldItalic.ttf + static/Inter_18pt-BlackItalic.ttf + static/Inter_24pt-ThinItalic.ttf + static/Inter_24pt-ExtraLightItalic.ttf + static/Inter_24pt-LightItalic.ttf + static/Inter_24pt-Italic.ttf + static/Inter_24pt-MediumItalic.ttf + static/Inter_24pt-SemiBoldItalic.ttf + static/Inter_24pt-BoldItalic.ttf + static/Inter_24pt-ExtraBoldItalic.ttf + static/Inter_24pt-BlackItalic.ttf + static/Inter_28pt-ThinItalic.ttf + static/Inter_28pt-ExtraLightItalic.ttf + static/Inter_28pt-LightItalic.ttf + static/Inter_28pt-Italic.ttf + static/Inter_28pt-MediumItalic.ttf + static/Inter_28pt-SemiBoldItalic.ttf + static/Inter_28pt-BoldItalic.ttf + static/Inter_28pt-ExtraBoldItalic.ttf + static/Inter_28pt-BlackItalic.ttf + +Get started +----------- + +1. Install the font files you want to use + +2. Use your app's font picker to view the font family and all the +available styles + +Learn more about variable fonts +------------------------------- + + https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts + https://variablefonts.typenetwork.com + https://medium.com/variable-fonts + +In desktop apps + + https://theblog.adobe.com/can-variable-fonts-illustrator-cc + https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts + +Online + + https://developers.google.com/fonts/docs/getting_started + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide + https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts + +Installing fonts + + MacOS: https://support.apple.com/en-us/HT201749 + Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux + Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows + +Android Apps + + https://developers.google.com/fonts/docs/android + https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts + +License +------- +Please read the full license text (OFL.txt) to understand the permissions, +restrictions and requirements for usage, redistribution, and modification. + +You can use them in your products & projects – print or digital, +commercial or otherwise. + +This isn't legal advice, please consider consulting a lawyer and see the full +license for all details. diff --git a/apps/website/src/components/Footer.tsx b/apps/website/src/components/Footer.tsx index 3f00191d2..a652e524c 100644 --- a/apps/website/src/components/Footer.tsx +++ b/apps/website/src/components/Footer.tsx @@ -55,7 +55,7 @@ export function SocialButtons({ className, withText }: { className?: string, wit ) } -function SocialButton({ name, iconSvg, url, withText }: { name: string, iconSvg: string, url: string, withText?: boolean }) { +export function SocialButton({ name, iconSvg, url, withText, counter }: { name: string, iconSvg: string, url: string, withText?: boolean, counter?: string | undefined }) { return ( + {counter && {counter}} {withText && name} ) } + diff --git a/apps/website/src/components/Header.tsx b/apps/website/src/components/Header.tsx index facb4089b..3448e8f73 100644 --- a/apps/website/src/components/Header.tsx +++ b/apps/website/src/components/Header.tsx @@ -1,12 +1,13 @@ import "./Header.css"; +import { Link } from "./Button.js"; +import { SocialButtons, SocialButton } from "./Footer.js"; +import { useEffect, useMemo, useState } from "preact/hooks"; import { useLocation } from 'preact-iso'; import DownloadButton from './DownloadButton.js'; -import { Link } from "./Button.js"; +import githubIcon from "../assets/boxicons/bx-github.svg?raw"; import Icon from "./Icon.js"; import logoPath from "../assets/icon-color.svg"; import menuIcon from "../assets/boxicons/bx-menu.svg?raw"; -import { useState } from "preact/hooks"; -import { SocialButtons } from "./Footer.js"; interface HeaderLink { url: string; @@ -20,7 +21,7 @@ const HEADER_LINKS: HeaderLink[] = [ { url: "/support-us/", text: "Support us" } ] -export function Header() { +export function Header(props: {repoStargazersCount: number}) { const { url } = useLocation(); const [ mobileMenuShown, setMobileMenuShown ] = useState(false); @@ -60,7 +61,17 @@ export function Header() { + +
+ +
+ ); -} +} \ No newline at end of file diff --git a/apps/website/src/github-utils.ts b/apps/website/src/github-utils.ts new file mode 100644 index 000000000..1a816afb4 --- /dev/null +++ b/apps/website/src/github-utils.ts @@ -0,0 +1,28 @@ +export const FALLBACK_STARGAZERS_COUNT = 31862; // The count as of 2025-10-03 + +const API_URL = "https://api.github.com/repos/TriliumNext/Trilium"; + +let repoStargazersCount: number | null = null; + +/** Returns the number of stargazers of the Trilium's GitHub repository. */ +export async function getRepoStargazersCount() { + if (repoStargazersCount === null) { + repoStargazersCount = await fetchRepoStargazersCount() && FALLBACK_STARGAZERS_COUNT; + } + return repoStargazersCount; +} + +async function fetchRepoStargazersCount(): Promise { + console.log("\nFetching stargazers count from GitHub API... "); + const response = await fetch(API_URL); + + if (response.ok) { + const details = await response.json(); + if ("stargazers_count" in details) { + return details["stargazers_count"]; + } + } + + console.error("Failed to fetch stargazers count from GitHub API:", response.status, response.statusText); + return null; +} \ No newline at end of file diff --git a/apps/website/src/index.tsx b/apps/website/src/index.tsx index 9dc5edfb1..10680c4fa 100644 --- a/apps/website/src/index.tsx +++ b/apps/website/src/index.tsx @@ -1,17 +1,17 @@ -import { LocationProvider, Router, Route, hydrate, prerender as ssr } from 'preact-iso'; - +import './style.css'; +import { FALLBACK_STARGAZERS_COUNT, getRepoStargazersCount } from './github-utils.js'; import { Header } from './components/Header.jsx'; import { Home } from './pages/Home/index.jsx'; +import { LocationProvider, Router, Route, hydrate, prerender as ssr } from 'preact-iso'; import { NotFound } from './pages/_404.jsx'; -import './style.css'; import Footer from './components/Footer.js'; import GetStarted from './pages/GetStarted/get-started.js'; import SupportUs from './pages/SupportUs/SupportUs.js'; -export function App() { +export function App(props: {repoStargazersCount: number}) { return ( -
+
@@ -26,9 +26,15 @@ export function App() { } if (typeof window !== 'undefined') { - hydrate(, document.getElementById('app')!); + hydrate(, document.getElementById('app')!); } export async function prerender(data) { - return await ssr(); + // Fetch the stargazer count of the Trilium's GitHub repo on prerender to pass + // it to the App component for SSR. + // This ensures the GitHub API is not called on every page load in the client. + const stargazersCount = await getRepoStargazersCount(); + + return await ssr(); } + diff --git a/apps/website/src/pages/Home/index.css b/apps/website/src/pages/Home/index.css index 1de3b5f65..63af2d57b 100644 --- a/apps/website/src/pages/Home/index.css +++ b/apps/website/src/pages/Home/index.css @@ -53,7 +53,7 @@ section.hero-section { h1 { line-height: 1.1; - font-weight: 100; + font-weight: 300; color: var(--foreground-color); } } diff --git a/apps/website/src/style.css b/apps/website/src/style.css index 7533cc749..ca12a73d0 100644 --- a/apps/website/src/style.css +++ b/apps/website/src/style.css @@ -1,3 +1,8 @@ +@font-face { + font-family: "Inter"; + src: url(./assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf); +} + :root { --background-color: #fff; --foreground-color: black; @@ -26,7 +31,7 @@ html, body { margin: 0; line-height: 1.5; - font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; + font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; min-height: 100vh; } @@ -37,7 +42,6 @@ main { } body { - font-family: sans-serif; background: var(--background-color); color: var(--foreground-color); } @@ -69,7 +73,7 @@ section { h2 { text-align: center; - font-weight: 100; + font-weight: 300; margin-top: 0; margin-bottom: 1em; } diff --git a/docs/README-ZH_CN.md b/docs/README.ZH_CN.md similarity index 100% rename from docs/README-ZH_CN.md rename to docs/README.ZH_CN.md diff --git a/docs/README-ZH_TW.md b/docs/README.ZH_TW.md similarity index 100% rename from docs/README-ZH_TW.md rename to docs/README.ZH_TW.md diff --git a/docs/README.md b/docs/README.md index 5675758ee..74551a393 100644 --- a/docs/README.md +++ b/docs/README.md @@ -6,7 +6,7 @@ Please see the [main documentation](index.md) or visit one of our translated ver - [Italiano](README.it.md) - [日本語](README.ja.md) - [Русский](README.ru.md) -- [简体中文](README-ZH_CN.md) -- [繁體中文](README-ZH_TW.md) +- [简体中文](README.ZH_CN.md) +- [繁體中文](README.ZH_TW.md) For the full application README, please visit our [GitHub repository](https://github.com/triliumnext/trilium). \ No newline at end of file diff --git a/package.json b/package.json index f55d29038..f5a4adf7d 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "typescript": "~5.9.0", "typescript-eslint": "8.45.0", "upath": "2.0.1", - "vite": "7.1.7", + "vite": "7.1.9", "vite-plugin-dts": "~4.5.0", "vitest": "3.2.4" }, @@ -79,7 +79,7 @@ "url": "https://github.com/TriliumNext/Trilium/issues" }, "homepage": "https://triliumnotes.org", - "packageManager": "pnpm@10.17.1", + "packageManager": "pnpm@10.18.0", "pnpm": { "patchedDependencies": { "@ckeditor/ckeditor5-mention": "patches/@ckeditor__ckeditor5-mention.patch", diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index d6a3f50df..e9c579f6b 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -5,12 +5,12 @@ "type": "module", "main": "./src/index.ts", "dependencies": { - "@codemirror/commands": "6.8.1", + "@codemirror/commands": "6.9.0", "@codemirror/lang-css": "6.3.1", - "@codemirror/lang-html": "6.4.10", + "@codemirror/lang-html": "6.4.11", "@codemirror/lang-javascript": "6.2.4", "@codemirror/lang-json": "6.0.2", - "@codemirror/lang-markdown": "6.3.4", + "@codemirror/lang-markdown": "6.4.0", "@codemirror/lang-php": "6.0.2", "@codemirror/lang-vue": "0.1.3", "@codemirror/lang-xml": "6.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 574cf3a31..6c5d014c3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,7 +96,7 @@ importers: version: 0.18.0 rollup-plugin-webpack-stats: specifier: 2.1.5 - version: 2.1.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.1.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) tslib: specifier: 2.8.1 version: 2.8.1 @@ -113,11 +113,11 @@ importers: specifier: 2.0.1 version: 2.0.1 vite: - specifier: 7.1.7 - version: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + specifier: 7.1.9 + version: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vite-plugin-dts: specifier: ~4.5.0 - version: 4.5.4(@types/node@22.18.8)(rollup@4.52.0)(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.5.4(@types/node@22.18.8)(rollup@4.52.0)(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -271,7 +271,7 @@ importers: version: 5.0.0 '@preact/preset-vite': specifier: 2.10.2 - version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@types/bootstrap': specifier: 5.2.10 version: 5.2.10 @@ -301,7 +301,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.1.3 - version: 3.1.3(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 3.1.3(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) apps/db-compare: dependencies: @@ -461,7 +461,7 @@ importers: version: 2.1.3(electron@38.2.0) '@preact/preset-vite': specifier: 2.10.2 - version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@triliumnext/commons': specifier: workspace:* version: link:../../packages/commons @@ -694,8 +694,8 @@ importers: specifier: 0.6.0 version: 0.6.0 openai: - specifier: 6.0.1 - version: 6.0.1(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) + specifier: 6.1.0 + version: 6.1.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4) rand-token: specifier: 1.0.1 version: 1.0.1 @@ -745,8 +745,8 @@ importers: specifier: 1.0.1 version: 1.0.1 vite: - specifier: 7.1.7 - version: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + specifier: 7.1.9 + version: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) ws: specifier: 8.18.3 version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -777,7 +777,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: 2.10.2 - version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) eslint: specifier: 9.36.0 version: 9.36.0(jiti@2.6.1) @@ -791,8 +791,8 @@ importers: specifier: 0.4.2 version: 0.4.2 vite: - specifier: 7.1.7 - version: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + specifier: 7.1.9 + version: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) packages/ckeditor5: dependencies: @@ -844,7 +844,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 3.2.4 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: 3.2.4 version: 3.2.4(vitest@3.2.4) @@ -877,7 +877,7 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -904,7 +904,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 3.2.4 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: 3.2.4 version: 3.2.4(vitest@3.2.4) @@ -937,7 +937,7 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -964,7 +964,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 3.2.4 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: 3.2.4 version: 3.2.4(vitest@3.2.4) @@ -997,7 +997,7 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -1031,7 +1031,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 3.2.4 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: 3.2.4 version: 3.2.4(vitest@3.2.4) @@ -1064,7 +1064,7 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -1098,7 +1098,7 @@ importers: version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 3.2.4 - version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-istanbul': specifier: 3.2.4 version: 3.2.4(vitest@3.2.4) @@ -1131,7 +1131,7 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: ~2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vitest: specifier: 3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) @@ -1142,14 +1142,14 @@ importers: packages/codemirror: dependencies: '@codemirror/commands': - specifier: 6.8.1 - version: 6.8.1 + specifier: 6.9.0 + version: 6.9.0 '@codemirror/lang-css': specifier: 6.3.1 version: 6.3.1 '@codemirror/lang-html': - specifier: 6.4.10 - version: 6.4.10 + specifier: 6.4.11 + version: 6.4.11 '@codemirror/lang-javascript': specifier: 6.2.4 version: 6.2.4 @@ -1157,8 +1157,8 @@ importers: specifier: 6.0.2 version: 6.0.2 '@codemirror/lang-markdown': - specifier: 6.3.4 - version: 6.3.4 + specifier: 6.4.0 + version: 6.4.0 '@codemirror/lang-php': specifier: 6.0.2 version: 6.0.2 @@ -1257,7 +1257,7 @@ importers: version: 6.0.1(@codemirror/autocomplete@6.18.6)(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.38.4)(@lezer/common@1.2.3)(@lezer/highlight@1.2.1)(@lezer/lr@1.4.2) '@replit/codemirror-vim': specifier: 6.3.0 - version: 6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.38.4) + version: 6.3.0(@codemirror/commands@6.9.0)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.38.4) '@ssddanbrown/codemirror-lang-smarty': specifier: 1.0.0 version: 1.0.0 @@ -1998,11 +1998,14 @@ packages: '@codemirror/commands@6.8.1': resolution: {integrity: sha512-KlGVYufHMQzxbdQONiLyGQDUW0itrLZwq3CcY7xpv9ZLRHqzkBSoteocBHtMCoY7/Ci4xhzSrToIeLg7FxHuaw==} + '@codemirror/commands@6.9.0': + resolution: {integrity: sha512-454TVgjhO6cMufsyyGN70rGIfJxJEjcqjBG2x2Y03Y/+Fm99d3O/Kv1QDYWuG6hvxsgmjXmBuATikIIYvERX+w==} + '@codemirror/lang-css@6.3.1': resolution: {integrity: sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==} - '@codemirror/lang-html@6.4.10': - resolution: {integrity: sha512-h/SceTVsN5r+WE+TVP2g3KDvNoSzbSrtZXCKo4vkKdbfT5t4otuVgngGdFukOO/rwRD2++pCxoh6xD4TEVMkQA==} + '@codemirror/lang-html@6.4.11': + resolution: {integrity: sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==} '@codemirror/lang-javascript@6.2.4': resolution: {integrity: sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA==} @@ -2013,8 +2016,8 @@ packages: '@codemirror/lang-markdown@6.3.2': resolution: {integrity: sha512-c/5MYinGbFxYl4itE9q/rgN/sMTjOr8XL5OWnC+EaRMLfCbVUmmubTJfdgpfcSS2SCaT7b+Q+xi3l6CgoE+BsA==} - '@codemirror/lang-markdown@6.3.4': - resolution: {integrity: sha512-fBm0BO03azXnTAsxhONDYHi/qWSI+uSEIpzKM7h/bkIc9fHnFp9y7KTMXKON0teNT97pFhc1a9DQTtWBYEZ7ug==} + '@codemirror/lang-markdown@6.4.0': + resolution: {integrity: sha512-ZeArR54seh4laFbUTVy0ZmQgO+C/cxxlW4jEoQMhL3HALScBpZBeZcLzrQmJsTEx4is9GzOe0bFAke2B1KZqeA==} '@codemirror/lang-php@6.0.2': resolution: {integrity: sha512-ZKy2v1n8Fc8oEXj0Th0PUMXzQJ0AIR6TaZU+PbDHExFwdu+guzOA4jmCHS1Nz4vbFezwD7LyBdDnddSJeScMCA==} @@ -3076,8 +3079,8 @@ packages: '@lezer/highlight@1.2.1': resolution: {integrity: sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA==} - '@lezer/html@1.3.10': - resolution: {integrity: sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==} + '@lezer/html@1.3.12': + resolution: {integrity: sha512-RJ7eRWdaJe3bsiiLLHjCFT1JMk8m1YP9kaUbvu2rMLEoOnke9mcTVDyfOslsln0LtujdWespjJ39w6zo+RsQYw==} '@lezer/javascript@1.5.1': resolution: {integrity: sha512-ATOImjeVJuvgm3JQ/bpo2Tmv55HSScE2MTPnKRMRIPx2cLhHGyX2VnqpHhtIV1tVzIjZDbcWQm+NCTF40ggZVw==} @@ -10128,8 +10131,8 @@ packages: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} - openai@6.0.1: - resolution: {integrity: sha512-Xf9k3/Ezckp0aQmkU7LTXPg9dTxo3uspuJqxotHF3Jscq0r7EU0KEoqesQVxoQ6YeAzd/jlm7kxayZufpYRJUQ==} + openai@6.1.0: + resolution: {integrity: sha512-5sqb1wK67HoVgGlsPwcH2bUbkg66nnoIYKoyV9zi5pZPqh7EWlmSrSDjAh4O5jaIg/0rIlcDKBtWvZBuacmGZg==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -13327,8 +13330,8 @@ packages: peerDependencies: vite: 5.x || 6.x || 7.x - vite@7.1.7: - resolution: {integrity: sha512-VbA8ScMvAISJNJVbRDTJdCwqQoAareR/wutevKanhR2/1EkoXVZVkkORaYm/tNVCjP/UDTKtcw3bAkwOUdedmA==} + vite@7.1.9: + resolution: {integrity: sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -14655,8 +14658,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-block-quote@47.0.0': dependencies: @@ -14667,8 +14668,6 @@ snapshots: '@ckeditor/ckeditor5-ui': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-bookmark@47.0.0': dependencies: @@ -14947,8 +14946,6 @@ snapshots: '@ckeditor/ckeditor5-upload': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-editor-balloon@47.0.0': dependencies: @@ -14985,6 +14982,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-editor-multi-root@47.0.0': dependencies: @@ -15007,6 +15006,8 @@ snapshots: '@ckeditor/ckeditor5-table': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 ckeditor5: 47.0.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41) + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-emoji@47.0.0': dependencies: @@ -15548,7 +15549,7 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.0.0 '@codemirror/autocomplete': 6.18.6 '@codemirror/commands': 6.8.1 - '@codemirror/lang-html': 6.4.10 + '@codemirror/lang-html': 6.4.11 '@codemirror/lang-markdown': 6.3.2 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 @@ -15675,8 +15676,6 @@ snapshots: '@ckeditor/ckeditor5-icons': 47.0.0 '@ckeditor/ckeditor5-ui': 47.0.0 '@ckeditor/ckeditor5-utils': 47.0.0 - transitivePeerDependencies: - - supports-color '@ckeditor/ckeditor5-upload@47.0.0': dependencies: @@ -15751,6 +15750,13 @@ snapshots: '@codemirror/view': 6.38.4 '@lezer/common': 1.2.3 + '@codemirror/commands@6.9.0': + dependencies: + '@codemirror/language': 6.11.0 + '@codemirror/state': 6.5.2 + '@codemirror/view': 6.38.4 + '@lezer/common': 1.2.3 + '@codemirror/lang-css@6.3.1': dependencies: '@codemirror/autocomplete': 6.18.6 @@ -15759,7 +15765,7 @@ snapshots: '@lezer/common': 1.2.3 '@lezer/css': 1.1.11 - '@codemirror/lang-html@6.4.10': + '@codemirror/lang-html@6.4.11': dependencies: '@codemirror/autocomplete': 6.18.6 '@codemirror/lang-css': 6.3.1 @@ -15769,7 +15775,7 @@ snapshots: '@codemirror/view': 6.38.4 '@lezer/common': 1.2.3 '@lezer/css': 1.1.11 - '@lezer/html': 1.3.10 + '@lezer/html': 1.3.12 '@codemirror/lang-javascript@6.2.4': dependencies: @@ -15789,17 +15795,17 @@ snapshots: '@codemirror/lang-markdown@6.3.2': dependencies: '@codemirror/autocomplete': 6.18.6 - '@codemirror/lang-html': 6.4.10 + '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.4 '@lezer/common': 1.2.3 '@lezer/markdown': 1.4.3 - '@codemirror/lang-markdown@6.3.4': + '@codemirror/lang-markdown@6.4.0': dependencies: '@codemirror/autocomplete': 6.18.6 - '@codemirror/lang-html': 6.4.10 + '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 '@codemirror/view': 6.38.4 @@ -15808,7 +15814,7 @@ snapshots: '@codemirror/lang-php@6.0.2': dependencies: - '@codemirror/lang-html': 6.4.10 + '@codemirror/lang-html': 6.4.11 '@codemirror/language': 6.11.0 '@codemirror/state': 6.5.2 '@lezer/common': 1.2.3 @@ -15816,7 +15822,7 @@ snapshots: '@codemirror/lang-vue@0.1.3': dependencies: - '@codemirror/lang-html': 6.4.10 + '@codemirror/lang-html': 6.4.11 '@codemirror/lang-javascript': 6.2.4 '@codemirror/language': 6.11.0 '@lezer/common': 1.2.3 @@ -17230,7 +17236,7 @@ snapshots: dependencies: '@lezer/common': 1.2.3 - '@lezer/html@1.3.10': + '@lezer/html@1.3.12': dependencies: '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.1 @@ -17621,18 +17627,18 @@ snapshots: '@popperjs/core@2.11.8': {} - '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) - '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@rollup/pluginutils': 4.2.1 babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0) debug: 4.4.1 picocolors: 1.1.1 - vite: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-prerender-plugin: 0.5.11(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vite: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-prerender-plugin: 0.5.11(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) transitivePeerDependencies: - preact - supports-color @@ -17645,7 +17651,7 @@ snapshots: '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.0 '@prefresh/babel-plugin': 0.5.2 @@ -17653,7 +17659,7 @@ snapshots: '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 preact: 10.27.2 - vite: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -17993,9 +17999,9 @@ snapshots: '@lezer/highlight': 1.2.1 '@lezer/lr': 1.4.2 - '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.38.4)': + '@replit/codemirror-vim@6.3.0(@codemirror/commands@6.9.0)(@codemirror/language@6.11.0)(@codemirror/search@6.5.11)(@codemirror/state@6.5.2)(@codemirror/view@6.38.4)': dependencies: - '@codemirror/commands': 6.8.1 + '@codemirror/commands': 6.9.0 '@codemirror/language': 6.11.0 '@codemirror/search': 6.5.11 '@codemirror/state': 6.5.2 @@ -19595,11 +19601,11 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser@3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/utils': 3.2.4 magic-string: 0.30.18 sirv: 3.0.1 @@ -19648,7 +19654,7 @@ snapshots: tinyrainbow: 2.0.0 vitest: 3.2.4(@types/debug@4.1.12)(@types/node@22.18.8)(@vitest/browser@3.2.4)(@vitest/ui@3.2.4)(happy-dom@19.0.2)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) optionalDependencies: - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) transitivePeerDependencies: - supports-color @@ -19660,14 +19666,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@vitest/mocker@3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.18 optionalDependencies: msw: 2.7.5(@types/node@22.18.8)(typescript@5.9.3) - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@vitest/pretty-format@3.2.4': dependencies: @@ -25996,7 +26002,7 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 - openai@6.0.1(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): + openai@6.1.0(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4): optionalDependencies: ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5) zod: 3.24.4 @@ -27838,11 +27844,11 @@ snapshots: '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 - rollup-plugin-stats@1.5.1(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + rollup-plugin-stats@1.5.1(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.52.0 - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) rollup-plugin-styles@4.0.0(rollup@4.40.0): dependencies: @@ -27871,13 +27877,13 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.40.0) rollup: 4.40.0 - rollup-plugin-webpack-stats@2.1.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + rollup-plugin-webpack-stats@2.1.5(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: rolldown: 1.0.0-beta.29 - rollup-plugin-stats: 1.5.1(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + rollup-plugin-stats: 1.5.1(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) optionalDependencies: rollup: 4.52.0 - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) rollup@4.40.0: dependencies: @@ -29758,7 +29764,7 @@ snapshots: debug: 4.4.3(supports-color@6.0.0) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - jiti @@ -29773,7 +29779,7 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@22.18.8)(rollup@4.52.0)(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-dts@4.5.4(@types/node@22.18.8)(rollup@4.52.0)(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@22.18.8) '@rollup/pluginutils': 5.1.4(rollup@4.52.0) @@ -29786,28 +29792,28 @@ snapshots: magic-string: 0.30.17 typescript: 5.9.3 optionalDependencies: - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.1.3(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-static-copy@3.1.3(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: chokidar: 3.6.0 fs-extra: 11.3.2 p-map: 7.0.3 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: svgo: 3.3.2 typescript: 5.9.3 - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-prerender-plugin@0.5.11(vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-prerender-plugin@0.5.11(vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: kolorist: 1.8.0 magic-string: 0.30.18 @@ -29815,9 +29821,9 @@ snapshots: simple-code-frame: 1.3.0 source-map: 0.7.6 stack-trace: 1.0.0-pre2 - vite: 7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.10 fdir: 6.5.0(picomatch@4.0.3) @@ -29837,7 +29843,7 @@ snapshots: tsx: 4.20.6 yaml: 2.8.1 - vite@7.1.7(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@7.1.9(@types/node@24.6.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.10 fdir: 6.5.0(picomatch@4.0.3) @@ -29861,7 +29867,7 @@ snapshots: dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 3.2.4(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -29879,13 +29885,13 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vite-node: 3.2.4(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.18.8 - '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.7(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser': 3.2.4(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.18.8)(typescript@5.9.3))(playwright@1.55.1)(utf-8-validate@6.0.5)(vite@7.1.9(@types/node@22.18.8)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@3.2.4)(webdriverio@9.20.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 3.2.4(vitest@3.2.4) happy-dom: 19.0.2 jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)