diff --git a/_regroup/package.json b/_regroup/package.json
index ee454569d..2157ad9df 100644
--- a/_regroup/package.json
+++ b/_regroup/package.json
@@ -40,7 +40,7 @@
"@types/express": "5.0.1",
"@types/node": "22.15.29",
"@types/yargs": "17.0.33",
- "@vitest/coverage-v8": "3.2.0",
+ "@vitest/coverage-v8": "3.2.1",
"eslint": "9.28.0",
"eslint-plugin-simple-import-sort": "12.1.1",
"esm": "3.2.25",
diff --git a/apps/client/src/widgets/type_widgets/ckeditor/config.ts b/apps/client/src/widgets/type_widgets/ckeditor/config.ts
index 5a3262a1c..bd74d0512 100644
--- a/apps/client/src/widgets/type_widgets/ckeditor/config.ts
+++ b/apps/client/src/widgets/type_widgets/ckeditor/config.ts
@@ -222,7 +222,6 @@ export function buildFloatingToolbar() {
"|",
"code",
"link",
- "bookmark",
"removeFormat",
"internallink",
"cuttonote"
@@ -244,7 +243,7 @@ export function buildFloatingToolbar() {
{
label: "Insert",
icon: "plus",
- items: ["internallink", "includeNote", "|", "math", "mermaid", "horizontalLine", "pageBreak"]
+ items: ["bookmark", "internallink", "includeNote", "|", "math", "mermaid", "horizontalLine", "pageBreak"]
},
"|",
"outdent",
diff --git a/apps/server/package.json b/apps/server/package.json
index fec1872bd..89a19b068 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -85,10 +85,10 @@
"jsdom": "26.1.0",
"marked": "15.0.12",
"mime-types": "3.0.1",
- "multer": "2.0.0",
+ "multer": "2.0.1",
"normalize-strings": "1.1.1",
"ollama": "0.5.16",
- "openai": "5.0.2",
+ "openai": "5.1.0",
"rand-token": "1.0.1",
"safe-compare": "1.1.4",
"sanitize-filename": "1.6.3",
diff --git a/apps/server/src/assets/views/share/page.ejs b/apps/server/src/assets/views/share/page.ejs
index d15cf515e..2fba4702b 100644
--- a/apps/server/src/assets/views/share/page.ejs
+++ b/apps/server/src/assets/views/share/page.ejs
@@ -13,6 +13,7 @@
<% } %>
+
<% if (!note.isLabelTruthy("shareOmitDefaultCss")) { %>
<% } %>
diff --git a/flake.lock b/flake.lock
index 07c8f8b86..0aabefa81 100644
--- a/flake.lock
+++ b/flake.lock
@@ -18,6 +18,24 @@
"type": "github"
}
},
+ "flake-utils_2": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
"nixpkgs": {
"locked": {
"lastModified": 1748437600,
@@ -34,10 +52,32 @@
"type": "github"
}
},
+ "pnpm2nix": {
+ "inputs": {
+ "flake-utils": "flake-utils_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1748901165,
+ "narHash": "sha256-SctrxW5rVrROBLfh8p4kXfbF7NbJQDkse/Penu4PlEs=",
+ "owner": "FliegendeWurst",
+ "repo": "pnpm2nix-nzbr",
+ "rev": "cda68d63418896a58542f3310c1c757ae92b1f22",
+ "type": "github"
+ },
+ "original": {
+ "owner": "FliegendeWurst",
+ "repo": "pnpm2nix-nzbr",
+ "type": "github"
+ }
+ },
"root": {
"inputs": {
"flake-utils": "flake-utils",
- "nixpkgs": "nixpkgs"
+ "nixpkgs": "nixpkgs",
+ "pnpm2nix": "pnpm2nix"
}
},
"systems": {
@@ -54,6 +94,21 @@
"repo": "default",
"type": "github"
}
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 4ffa16168..3b3736081 100644
--- a/flake.nix
+++ b/flake.nix
@@ -4,6 +4,10 @@
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
flake-utils.url = "github:numtide/flake-utils";
+ pnpm2nix = {
+ url = "github:FliegendeWurst/pnpm2nix-nzbr";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
};
outputs =
@@ -11,69 +15,171 @@
self,
nixpkgs,
flake-utils,
+ pnpm2nix,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
- packageJSON = builtins.fromJSON (builtins.readFile ./package.json);
pkgs = import nixpkgs { inherit system; };
electron = pkgs.electron_35;
+ nodejs = pkgs.nodejs_22;
+ pnpm = pkgs.pnpm_10;
inherit (pkgs)
copyDesktopItems
+ darwin
lib
makeBinaryWrapper
makeDesktopItem
- nodejs
- pnpm
+ moreutils
+ removeReferencesTo
stdenv
wrapGAppsHook3
xcodebuild
- darwin
;
- desktop = stdenv.mkDerivation (finalAttrs: {
- pname = "triliumnext-desktop";
- version = packageJSON.version;
- src = lib.cleanSource ./.;
- nativeBuildInputs =
- [
- pnpm.configHook
- nodejs
- nodejs.python
- copyDesktopItems
- makeBinaryWrapper
- wrapGAppsHook3
- ]
- ++ lib.optionals stdenv.hostPlatform.isDarwin [
- xcodebuild
- darwin.cctools
+ fullCleanSourceFilter =
+ name: type:
+ (lib.cleanSourceFilter name type)
+ || (
+ let
+ baseName = baseNameOf (toString name);
+ in
+ # No need to copy the flake.
+ # Don't copy local development instance of NX cache.
+ baseName == "flake.nix" || baseName == "flake.lock" || baseName == ".nx"
+ );
+ fullCleanSource =
+ src:
+ lib.cleanSourceWith {
+ filter = fullCleanSourceFilter;
+ src = src;
+ };
+ packageJson = builtins.fromJSON (builtins.readFile ./package.json);
+
+ makeApp =
+ {
+ app,
+ buildTask,
+ mainProgram,
+ installCommands,
+ preBuildCommands ? "",
+ }:
+ pnpm2nix.packages.${system}.mkPnpmPackage rec {
+ pname = "triliumnext-${app}";
+ version = packageJson.version + (lib.optionalString (self ? shortRev) "-${self.shortRev}");
+
+ src = fullCleanSource ./.;
+ packageJSON = ./package.json;
+ pnpmLockYaml = ./pnpm-lock.yaml;
+
+ workspace = fullCleanSource ./.;
+ pnpmWorkspaceYaml = ./pnpm-workspace.yaml;
+
+ inherit nodejs pnpm;
+
+ extraNodeModuleSources = [
+ rec {
+ name = "patches";
+ value = ./patches;
+ }
];
- dontWrapGApps = true;
+ # remove pnpm version override
+ preConfigure = ''
+ cat package.json | grep -v 'packageManager' | sponge package.json
+ '';
- preBuild = lib.optionalString stdenv.hostPlatform.isLinux ''
- patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
- node_modules/.pnpm/sass-embedded-linux-x64@*/node_modules/sass-embedded-linux-x64/dart-sass/src/dart
- '';
+ postConfigure =
+ ''
+ chmod +x node_modules/.pnpm/electron@*/node_modules/electron/install.js
+ patchShebangs --build node_modules
+ ''
+ + lib.optionalString stdenv.hostPlatform.isLinux ''
+ patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+ node_modules/.pnpm/sass-embedded-linux-x64@*/node_modules/sass-embedded-linux-x64/dart-sass/src/dart
+ '';
- buildPhase = ''
- runHook preBuild
+ extraNativeBuildInputs =
+ [
+ makeBinaryWrapper
+ moreutils # sponge
+ nodejs.python
+ removeReferencesTo
+ ]
+ ++ lib.optionals (app == "desktop") [
+ copyDesktopItems
+ wrapGAppsHook3
+ ]
+ ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ xcodebuild
+ darwin.cctools
+ ];
+ dontWrapGApps = true;
- # Disable NX interaction
- export NX_TUI=false
- export NX_DAEMON=false
+ env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
- pnpm nx run desktop:build --outputStyle stream --verbose
+ preBuild = ''
+ ${preBuildCommands}
+ '';
- # Rebuild dependencies
- export npm_config_nodedir=${electron.headers}
- pnpm nx run desktop:rebuild-deps --outputStyle stream --verbose
+ scriptFull = "pnpm nx ${buildTask} --outputStyle stream --verbose";
- runHook postBuild
- '';
+ installPhase = ''
+ runHook preInstall
- installPhase = ''
- runHook preInstall
+ ${installCommands}
+
+ runHook postInstall
+ '';
+
+ components = [
+ "packages/ckeditor5"
+ "packages/ckeditor5-admonition"
+ "packages/ckeditor5-footnotes"
+ "packages/ckeditor5-keyboard-marker"
+ "packages/ckeditor5-math"
+ "packages/ckeditor5-mermaid"
+ "packages/codemirror"
+ "packages/commons"
+ "packages/express-partial-content"
+ "packages/highlightjs"
+ "packages/turndown-plugin-gfm"
+
+ "apps/client"
+ "apps/db-compare"
+ "apps/desktop"
+ "apps/dump-db"
+ "apps/edit-docs"
+ "apps/server"
+ "apps/server-e2e"
+ ];
+
+ desktopItems = lib.optionals (app == "desktop") [
+ (makeDesktopItem {
+ name = "TriliumNext Notes";
+ exec = meta.mainProgram;
+ icon = "trilium";
+ comment = meta.description;
+ desktopName = "TriliumNext Notes";
+ categories = [ "Office" ];
+ startupWMClass = "Trilium Notes Next";
+ })
+ ];
+
+ meta = {
+ description = "TriliumNext: ${app}";
+ inherit mainProgram;
+ };
+ };
+
+ desktop = makeApp {
+ app = "desktop";
+ preBuildCommands = "export npm_config_nodedir=${electron.headers}";
+ buildTask = "run desktop:rebuild-deps";
+ mainProgram = "trilium";
+ installCommands = ''
+ remove-references-to -t ${electron.headers} apps/desktop/dist/node_modules/better-sqlite3/build/config.gypi
+ remove-references-to -t ${nodejs.python} apps/desktop/dist/node_modules/better-sqlite3/build/config.gypi
mkdir -p $out/{bin,share/icons/hicolor/512x512/apps,opt/trilium}
cp --archive apps/desktop/dist/* $out/opt/trilium
@@ -82,34 +188,37 @@
"''${gappsWrapperArgs[@]}" \
--set-default ELECTRON_IS_DEV 0 \
--add-flags $out/opt/trilium/main.cjs
-
- runHook postInstall
'';
+ };
- desktopItems = [
- (makeDesktopItem {
- name = "TriliumNext Notes";
- exec = finalAttrs.meta.mainProgram;
- icon = "trilium";
- comment = finalAttrs.meta.description;
- desktopName = "TriliumNext Notes";
- categories = [ "Office" ];
- startupWMClass = "Trilium Notes Next";
- })
- ];
+ server = makeApp {
+ app = "server";
+ preBuildCommands = "pushd apps/server; pnpm rebuild; popd";
+ buildTask = "--project=server build";
+ mainProgram = "trilium-server";
+ installCommands = ''
+ remove-references-to -t ${nodejs.python} apps/server/dist/node_modules/better-sqlite3/build/config.gypi
+ remove-references-to -t ${pnpm} apps/server/dist/node_modules/better-sqlite3/build/config.gypi
- pnpmDeps = pnpm.fetchDeps {
- inherit (finalAttrs) pname version src;
- hash = "sha256-xC0u1h92wtthylOAw+IF9mpFi0c4xajJhUcA9pqzcAw=";
- };
+ pushd apps/server/dist
+ rm -rf node_modules/better-sqlite3/build/Release/obj \
+ node_modules/better-sqlite3/build/Release/obj.target \
+ node_modules/better-sqlite3/build/Release/sqlite3.a \
+ node_modules/better-sqlite3/build/{Makefile,better_sqlite3.target.mk,test_extension.target.mk,binding.Makefile} \
+ node_modules/better-sqlite3/deps/sqlite3
+ popd
- meta = {
- description = "Free and open-source, cross-platform hierarchical note taking application with focus on building large personal knowledge bases";
- mainProgram = "trilium";
- };
- });
+ mkdir -p $out/{bin,opt/trilium-server}
+ cp --archive apps/server/dist/* $out/opt/trilium-server
+ makeWrapper ${lib.getExe nodejs} $out/bin/trilium-server \
+ --add-flags $out/opt/trilium-server/main.cjs
+ '';
+ };
in
{
+ packages.desktop = desktop;
+ packages.server = server;
+
packages.default = desktop;
}
);
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 52f6e624b..d56ba38e7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -65,7 +65,7 @@ importers:
version: 21.1.2(@babel/traverse@7.27.0)(@playwright/test@1.52.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(@zkochan/js-yaml@0.0.7)(eslint@9.28.0(jiti@2.4.2))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)
'@nx/vite':
specifier: 21.1.2
- version: 21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)
+ version: 21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.1)
'@nx/web':
specifier: 21.1.2
version: 21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))
@@ -83,10 +83,10 @@ importers:
version: 22.15.29
'@vitest/coverage-v8':
specifier: ^3.0.5
- version: 3.2.0(@vitest/browser@3.2.0)(vitest@3.2.0)
+ version: 3.2.1(vitest@3.2.1)
'@vitest/ui':
specifier: ^3.0.0
- version: 3.2.0(vitest@3.2.0)
+ version: 3.2.1(vitest@3.2.1)
chalk:
specifier: 5.4.1
version: 5.4.1
@@ -146,7 +146,7 @@ importers:
version: 4.5.4(@types/node@22.15.29)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vitest:
specifier: ^3.0.0
- version: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ version: 3.2.1(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/ui@3.2.1)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
apps/client:
dependencies:
@@ -699,8 +699,8 @@ importers:
specifier: 3.0.1
version: 3.0.1
multer:
- specifier: 2.0.0
- version: 2.0.0
+ specifier: 2.0.1
+ version: 2.0.1
normalize-strings:
specifier: 1.1.1
version: 1.1.1
@@ -708,8 +708,8 @@ importers:
specifier: 0.5.16
version: 0.5.16
openai:
- specifier: 5.0.2
- version: 5.0.2(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4)
+ specifier: 5.1.0
+ version: 5.1.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4)
rand-token:
specifier: 1.0.1
version: 1.0.1
@@ -1426,8 +1426,8 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/parser@7.27.4':
- resolution: {integrity: sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==}
+ '@babel/parser@7.27.5':
+ resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==}
engines: {node: '>=6.0.0'}
hasBin: true
@@ -4864,11 +4864,11 @@ packages:
peerDependencies:
vitest: 3.2.0
- '@vitest/coverage-v8@3.2.0':
- resolution: {integrity: sha512-HjgvaokAiHxRMI5ioXl4WmgAi4zQtKtnltOOlmpzUqApdcTTZrZJAastbbRGydtiqwtYLFaIb6Jpo3PzowZ0cg==}
+ '@vitest/coverage-v8@3.2.1':
+ resolution: {integrity: sha512-6dy0uF/0BE3jpUW9bFzg0V2S4F7XVaZHL/7qma1XANvHPQGoJuc3wtx911zSoAgUnpfvcLVK1vancNJ95d+uxQ==}
peerDependencies:
- '@vitest/browser': 3.2.0
- vitest: 3.2.0
+ '@vitest/browser': 3.2.1
+ vitest: 3.2.1
peerDependenciesMeta:
'@vitest/browser':
optional: true
@@ -4876,6 +4876,9 @@ packages:
'@vitest/expect@3.2.0':
resolution: {integrity: sha512-0v4YVbhDKX3SKoy0PHWXpKhj44w+3zZkIoVES9Ex2pq+u6+Bijijbi2ua5kE+h3qT6LBWFTNZSCOEU37H8Y5sA==}
+ '@vitest/expect@3.2.1':
+ resolution: {integrity: sha512-FqS/BnDOzV6+IpxrTg5GQRyLOCtcJqkwMwcS8qGCI2IyRVDwPAtutztaf1CjtPHlZlWtl1yUPCd7HM0cNiDOYw==}
+
'@vitest/mocker@3.2.0':
resolution: {integrity: sha512-HFcW0lAMx3eN9vQqis63H0Pscv0QcVMo1Kv8BNysZbxcmHu3ZUYv59DS6BGYiGQ8F5lUkmsfMMlPm4DJFJdf/A==}
peerDependencies:
@@ -4887,26 +4890,57 @@ packages:
vite:
optional: true
+ '@vitest/mocker@3.2.1':
+ resolution: {integrity: sha512-OXxMJnx1lkB+Vl65Re5BrsZEHc90s5NMjD23ZQ9NlU7f7nZiETGoX4NeKZSmsKjseuMq2uOYXdLOeoM0pJU+qw==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
'@vitest/pretty-format@3.2.0':
resolution: {integrity: sha512-gUUhaUmPBHFkrqnOokmfMGRBMHhgpICud9nrz/xpNV3/4OXCn35oG+Pl8rYYsKaTNd/FAIrqRHnwpDpmYxCYZw==}
+ '@vitest/pretty-format@3.2.1':
+ resolution: {integrity: sha512-xBh1X2GPlOGBupp6E1RcUQWIxw0w/hRLd3XyBS6H+dMdKTAqHDNsIR2AnJwPA3yYe9DFy3VUKTe3VRTrAiQ01g==}
+
'@vitest/runner@3.2.0':
resolution: {integrity: sha512-bXdmnHxuB7fXJdh+8vvnlwi/m1zvu+I06i1dICVcDQFhyV4iKw2RExC/acavtDn93m/dRuawUObKsrNE1gJacA==}
+ '@vitest/runner@3.2.1':
+ resolution: {integrity: sha512-kygXhNTu/wkMYbwYpS3z/9tBe0O8qpdBuC3dD/AW9sWa0LE/DAZEjnHtWA9sIad7lpD4nFW1yQ+zN7mEKNH3yA==}
+
'@vitest/snapshot@3.2.0':
resolution: {integrity: sha512-z7P/EneBRMe7hdvWhcHoXjhA6at0Q4ipcoZo6SqgxLyQQ8KSMMCmvw1cSt7FHib3ozt0wnRHc37ivuUMbxzG/A==}
+ '@vitest/snapshot@3.2.1':
+ resolution: {integrity: sha512-5xko/ZpW2Yc65NVK9Gpfg2y4BFvcF+At7yRT5AHUpTg9JvZ4xZoyuRY4ASlmNcBZjMslV08VRLDrBOmUe2YX3g==}
+
'@vitest/spy@3.2.0':
resolution: {integrity: sha512-s3+TkCNUIEOX99S0JwNDfsHRaZDDZZR/n8F0mop0PmsEbQGKZikCGpTGZ6JRiHuONKew3Fb5//EPwCP+pUX9cw==}
+ '@vitest/spy@3.2.1':
+ resolution: {integrity: sha512-Nbfib34Z2rfcJGSetMxjDCznn4pCYPZOtQYox2kzebIJcgH75yheIKd5QYSFmR8DIZf2M8fwOm66qSDIfRFFfQ==}
+
'@vitest/ui@3.2.0':
resolution: {integrity: sha512-cYFZZSl1usgzsHoGF66GHfYXlEwc06ggapS1TaSLMKCzhTPWBPI9b/t1RvKIsLSjdKUakpSPf33jQMvRjMvvlQ==}
peerDependencies:
vitest: 3.2.0
+ '@vitest/ui@3.2.1':
+ resolution: {integrity: sha512-xT93aOcPn2wn8vvw4T6rZAK9WjGEHdYrEjN3OJ1zcDpl2UInxvcD9fYI10nmPAERNEK6jUVcSCIPAIfNuaRX6Q==}
+ peerDependencies:
+ vitest: 3.2.1
+
'@vitest/utils@3.2.0':
resolution: {integrity: sha512-gXXOe7Fj6toCsZKVQouTRLJftJwmvbhH5lKOBR6rlP950zUq9AitTUjnFoXS/CqjBC2aoejAztLPzzuva++XBw==}
+ '@vitest/utils@3.2.1':
+ resolution: {integrity: sha512-KkHlGhePEKZSub5ViknBcN5KEF+u7dSUr9NW8QsVICusUojrgrOnnY3DEWWO877ax2Pyopuk2qHmt+gkNKnBVw==}
+
'@volar/language-core@2.4.13':
resolution: {integrity: sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==}
@@ -5951,6 +5985,10 @@ packages:
resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
engines: {'0': node >= 0.8}
+ concat-stream@2.0.0:
+ resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==}
+ engines: {'0': node >= 6.0}
+
confbox@0.1.8:
resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
@@ -9262,8 +9300,8 @@ packages:
muggle-string@0.4.1:
resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
- multer@2.0.0:
- resolution: {integrity: sha512-bS8rPZurbAuHGAnApbM9d4h1wSoYqrOqkE+6a64KLMK9yWU7gJXBDDVklKQ3TPi9DRb85cRs6yXaC0+cjxRtRg==}
+ multer@2.0.1:
+ resolution: {integrity: sha512-Ug8bXeTIUlxurg8xLTEskKShvcKDZALo1THEX5E41pYCD2sCVub5/kIRIGqWNoqV6szyLyQKV6mD4QUrWE5GCQ==}
engines: {node: '>= 10.16.0'}
multicast-dns@7.2.5:
@@ -9544,8 +9582,8 @@ packages:
resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
engines: {node: '>=12'}
- openai@5.0.2:
- resolution: {integrity: sha512-NN7LAAImgBmd4RIe6WyRpLmwCbn+HQ1iaXeIG7K9DM3Auy/G2waKFhrDfRgaEeY0UUPnm6nohaCsqcS+zO8+2g==}
+ openai@5.1.0:
+ resolution: {integrity: sha512-YQBgPJykHrDOlngB/8QpOsFNg36yofBatpeDWg1zejl9R59/ELuN7AMPSU95ZIdChbKc/o5vg1UnBJ1OEB0IJA==}
hasBin: true
peerDependencies:
ws: ^8.18.0
@@ -12386,6 +12424,11 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
+ vite-node@3.2.1:
+ resolution: {integrity: sha512-V4EyKQPxquurNJPtQJRZo8hKOoKNBRIhxcDbQFPFig0JdoWcUhwRgK8yoCXXrfYVPKS6XwirGHPszLnR8FbjCA==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+
vite-plugin-dts@4.5.4:
resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==}
peerDependencies:
@@ -12475,6 +12518,34 @@ packages:
jsdom:
optional: true
+ vitest@3.2.1:
+ resolution: {integrity: sha512-VZ40MBnlE1/V5uTgdqY3DmjUgZtIzsYq758JGlyQrv5syIsaYcabkfPkEuWML49Ph0D/SoqpVFd0dyVTr551oA==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/debug': ^4.1.12
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@vitest/browser': 3.2.1
+ '@vitest/ui': 3.2.1
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/debug':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
vscode-jsonrpc@8.2.0:
resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==}
engines: {node: '>=14.0.0'}
@@ -13128,7 +13199,7 @@ snapshots:
dependencies:
'@babel/types': 7.27.1
- '@babel/parser@7.27.4':
+ '@babel/parser@7.27.5':
dependencies:
'@babel/types': 7.27.3
@@ -16377,7 +16448,7 @@ snapshots:
- typescript
- verdaccio
- '@nx/vite@21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)':
+ '@nx/vite@21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.1)':
dependencies:
'@nx/devkit': 21.1.2(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))
'@nx/js': 21.1.2(@babel/traverse@7.27.0)(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17))(nx@21.1.2(@swc-node/register@1.10.10(@swc/core@1.11.29(@swc/helpers@0.5.17))(@swc/types@0.1.21)(typescript@5.8.3))(@swc/core@1.11.29(@swc/helpers@0.5.17)))
@@ -16389,7 +16460,7 @@ snapshots:
semver: 7.7.2
tsconfig-paths: 4.2.0
vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
- vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ vitest: 3.2.1(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/ui@3.2.1)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
@@ -17241,7 +17312,7 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.27.4
+ '@babel/parser': 7.27.5
'@babel/types': 7.27.3
'@types/babel__generator': 7.27.0
'@types/babel__template': 7.4.4
@@ -17253,7 +17324,7 @@ snapshots:
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.27.4
+ '@babel/parser': 7.27.5
'@babel/types': 7.27.3
'@types/babel__traverse@7.20.7':
@@ -17921,7 +17992,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vitest/coverage-v8@3.2.0(@vitest/browser@3.2.0)(vitest@3.2.0)':
+ '@vitest/coverage-v8@3.2.1(vitest@3.2.1)':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
@@ -17936,9 +18007,7 @@ snapshots:
std-env: 3.9.0
test-exclude: 7.0.1
tinyrainbow: 2.0.0
- vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
- optionalDependencies:
- '@vitest/browser': 3.2.0(bufferutil@4.0.9)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(playwright@1.52.0)(utf-8-validate@6.0.5)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vitest@3.2.0)(webdriverio@9.15.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ vitest: 3.2.1(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/ui@3.2.1)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- supports-color
@@ -17950,6 +18019,14 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
+ '@vitest/expect@3.2.1':
+ dependencies:
+ '@types/chai': 5.2.2
+ '@vitest/spy': 3.2.1
+ '@vitest/utils': 3.2.1
+ chai: 5.2.0
+ tinyrainbow: 2.0.0
+
'@vitest/mocker@3.2.0(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))':
dependencies:
'@vitest/spy': 3.2.0
@@ -17959,25 +18036,53 @@ snapshots:
msw: 2.7.5(@types/node@22.15.29)(typescript@5.8.3)
vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ '@vitest/mocker@3.2.1(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))':
+ dependencies:
+ '@vitest/spy': 3.2.1
+ estree-walker: 3.0.3
+ magic-string: 0.30.17
+ optionalDependencies:
+ msw: 2.7.5(@types/node@22.15.29)(typescript@5.8.3)
+ vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+
'@vitest/pretty-format@3.2.0':
dependencies:
tinyrainbow: 2.0.0
+ '@vitest/pretty-format@3.2.1':
+ dependencies:
+ tinyrainbow: 2.0.0
+
'@vitest/runner@3.2.0':
dependencies:
'@vitest/utils': 3.2.0
pathe: 2.0.3
+ '@vitest/runner@3.2.1':
+ dependencies:
+ '@vitest/utils': 3.2.1
+ pathe: 2.0.3
+
'@vitest/snapshot@3.2.0':
dependencies:
'@vitest/pretty-format': 3.2.0
magic-string: 0.30.17
pathe: 2.0.3
+ '@vitest/snapshot@3.2.1':
+ dependencies:
+ '@vitest/pretty-format': 3.2.1
+ magic-string: 0.30.17
+ pathe: 2.0.3
+
'@vitest/spy@3.2.0':
dependencies:
tinyspy: 4.0.3
+ '@vitest/spy@3.2.1':
+ dependencies:
+ tinyspy: 4.0.3
+
'@vitest/ui@3.2.0(vitest@3.2.0)':
dependencies:
'@vitest/utils': 3.2.0
@@ -17988,6 +18093,18 @@ snapshots:
tinyglobby: 0.2.14
tinyrainbow: 2.0.0
vitest: 3.2.0(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/browser@3.2.0)(@vitest/ui@3.2.0)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ optional: true
+
+ '@vitest/ui@3.2.1(vitest@3.2.1)':
+ dependencies:
+ '@vitest/utils': 3.2.1
+ fflate: 0.8.2
+ flatted: 3.3.3
+ pathe: 2.0.3
+ sirv: 3.0.1
+ tinyglobby: 0.2.14
+ tinyrainbow: 2.0.0
+ vitest: 3.2.1(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/ui@3.2.1)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
'@vitest/utils@3.2.0':
dependencies:
@@ -17995,6 +18112,12 @@ snapshots:
loupe: 3.1.3
tinyrainbow: 2.0.0
+ '@vitest/utils@3.2.1':
+ dependencies:
+ '@vitest/pretty-format': 3.2.1
+ loupe: 3.1.3
+ tinyrainbow: 2.0.0
+
'@volar/language-core@2.4.13':
dependencies:
'@volar/source-map': 2.4.13
@@ -18009,7 +18132,7 @@ snapshots:
'@vue/compiler-core@3.5.14':
dependencies:
- '@babel/parser': 7.27.4
+ '@babel/parser': 7.27.5
'@vue/shared': 3.5.14
entities: 4.5.0
estree-walker: 2.0.2
@@ -19290,6 +19413,13 @@ snapshots:
readable-stream: 2.3.8
typedarray: 0.0.6
+ concat-stream@2.0.0:
+ dependencies:
+ buffer-from: 1.1.2
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ typedarray: 0.0.6
+
confbox@0.1.8: {}
confbox@0.2.2: {}
@@ -22034,7 +22164,7 @@ snapshots:
istanbul-lib-instrument@5.2.1:
dependencies:
'@babel/core': 7.26.10
- '@babel/parser': 7.27.4
+ '@babel/parser': 7.27.5
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
semver: 6.3.1
@@ -22839,7 +22969,7 @@ snapshots:
magicast@0.3.5:
dependencies:
- '@babel/parser': 7.27.4
+ '@babel/parser': 7.27.5
'@babel/types': 7.27.3
source-map-js: 1.2.1
@@ -23428,11 +23558,11 @@ snapshots:
muggle-string@0.4.1: {}
- multer@2.0.0:
+ multer@2.0.1:
dependencies:
append-field: 1.0.0
busboy: 1.6.0
- concat-stream: 1.6.2
+ concat-stream: 2.0.0
mkdirp: 0.5.6
object-assign: 4.1.1
type-is: 1.6.18
@@ -23761,7 +23891,7 @@ snapshots:
is-docker: 2.2.1
is-wsl: 2.2.0
- openai@5.0.2(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4):
+ openai@5.1.0(ws@8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5))(zod@3.24.4):
optionalDependencies:
ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@6.0.5)
zod: 3.24.4
@@ -26868,6 +26998,27 @@ snapshots:
- tsx
- yaml
+ vite-node@3.2.1(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0):
+ dependencies:
+ cac: 6.7.14
+ debug: 4.4.1(supports-color@6.0.0)
+ es-module-lexer: 1.7.0
+ pathe: 2.0.3
+ vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ transitivePeerDependencies:
+ - '@types/node'
+ - jiti
+ - less
+ - lightningcss
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
vite-plugin-dts@4.5.4(@types/node@22.15.29)(rollup@4.40.0)(typescript@5.8.3)(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
'@microsoft/api-extractor': 7.52.8(@types/node@22.15.29)
@@ -26969,6 +27120,51 @@ snapshots:
- tsx
- yaml
+ vitest@3.2.1(@types/debug@4.1.12)(@types/node@22.15.29)(@vitest/ui@3.2.1)(happy-dom@17.6.1)(jiti@2.4.2)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0):
+ dependencies:
+ '@types/chai': 5.2.2
+ '@vitest/expect': 3.2.1
+ '@vitest/mocker': 3.2.1(msw@2.7.5(@types/node@22.15.29)(typescript@5.8.3))(vite@6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
+ '@vitest/pretty-format': 3.2.1
+ '@vitest/runner': 3.2.1
+ '@vitest/snapshot': 3.2.1
+ '@vitest/spy': 3.2.1
+ '@vitest/utils': 3.2.1
+ chai: 5.2.0
+ debug: 4.4.1(supports-color@6.0.0)
+ expect-type: 1.2.1
+ magic-string: 0.30.17
+ pathe: 2.0.3
+ picomatch: 4.0.2
+ std-env: 3.9.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.14
+ tinypool: 1.1.0
+ tinyrainbow: 2.0.0
+ vite: 6.3.5(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ vite-node: 3.2.1(@types/node@22.15.29)(jiti@2.4.2)(less@4.1.3)(sass-embedded@1.87.0)(sass@1.87.0)(stylus@0.64.0)(sugarss@4.0.1(postcss@8.5.3))(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/debug': 4.1.12
+ '@types/node': 22.15.29
+ '@vitest/ui': 3.2.1(vitest@3.2.1)
+ happy-dom: 17.6.1
+ jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ transitivePeerDependencies:
+ - jiti
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
+
vscode-jsonrpc@8.2.0: {}
vscode-languageserver-protocol@3.17.5: