From a1928edcfb093e068be01358132cf4c090348627 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 10 Aug 2025 12:54:06 +0800
Subject: [PATCH 01/57] chore(deps): update crate-ci/typos action to v1.35.3
(#27)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/test.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 47ad0ea..1c5ee3a 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -63,4 +63,4 @@ jobs:
- uses: actions/checkout@v4
- name: 🔍 Spell Check Repo
- uses: crate-ci/typos@v1.35.2
+ uses: crate-ci/typos@v1.35.3
From 510b0bd671998759d0059fbc153bf5041ca86152 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 10 Aug 2025 22:40:14 +0800
Subject: [PATCH 02/57] chore(deps): update dependency pnpm to v10 (#28)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/demo.yml | 2 +-
.github/workflows/release.yml | 2 +-
.github/workflows/test.yml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml
index ac6f902..7c0b895 100644
--- a/.github/workflows/demo.yml
+++ b/.github/workflows/demo.yml
@@ -21,7 +21,7 @@ jobs:
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@v4
with:
- version: 9
+ version: 10
- name: ⎔ Setup Node.js
uses: actions/setup-node@v4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 52fd9ef..365889d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -19,7 +19,7 @@ jobs:
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@v4
with:
- version: 9
+ version: 10
- name: ⎔ Setup Node.js
uses: actions/setup-node@v4
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 1c5ee3a..ab98c6e 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -26,7 +26,7 @@ jobs:
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@v4
with:
- version: 9
+ version: 10
- name: ⎔ Setup Node.js
uses: actions/setup-node@v4
From 9bbff7006861b6c022f6de346e6f80c9b577a561 Mon Sep 17 00:00:00 2001
From: Shahmir Varqha
Date: Mon, 11 Aug 2025 00:57:20 +0800
Subject: [PATCH 03/57] use dynamic colours (#30)
---
demo/index.ts | 2 ++
src/sql/hover.ts | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/demo/index.ts b/demo/index.ts
index 67915b0..6f3221a 100644
--- a/demo/index.ts
+++ b/demo/index.ts
@@ -6,6 +6,7 @@ import { basicSetup, EditorView } from "codemirror";
import {
cteCompletionSource,
DefaultSqlTooltipRenders,
+ defaultSqlHoverTheme,
NodeSqlParser,
sqlExtension,
} from "../src/index.js";
@@ -231,6 +232,7 @@ function initializeEditor() {
// Custom renderer for tables
table: tableTooltipRenderer,
},
+ theme: defaultSqlHoverTheme("light"),
},
}),
dialect.language.data.of({
diff --git a/src/sql/hover.ts b/src/sql/hover.ts
index ee401e6..298c7b5 100644
--- a/src/sql/hover.ts
+++ b/src/sql/hover.ts
@@ -553,8 +553,8 @@ export const defaultSqlHoverTheme = (theme: "light" | "dark" = "light"): Extensi
return EditorView.theme({
".cm-sql-hover-tooltip": {
padding: "8px 12px",
- backgroundColor: "#ffffff",
- border: "1px solid #e5e7eb",
+ backgroundColor: colors.tooltipBg,
+ border: `1px solid ${colors.tooltipBorder}`,
borderRadius: "6px",
boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
fontSize: "13px",
From 7aa0b6b38719a3f6811e900f66029521a2c4d0df Mon Sep 17 00:00:00 2001
From: Shahmir Varqha
Date: Mon, 11 Aug 2025 06:40:41 +0800
Subject: [PATCH 04/57] add types for supported dialects for NodeSqlParser
(#29)
* add types for dialect
* export dialect in index.ts
* add test
---
demo/index.ts | 12 +++++++-----
package.json | 6 ++++++
src/__tests__/index.test.ts | 12 ++++++++++++
src/dialects/index.ts | 1 +
src/index.ts | 2 +-
src/sql/parser.ts | 28 ++++++++++++++++++++++++++--
6 files changed, 53 insertions(+), 8 deletions(-)
create mode 100644 src/dialects/index.ts
diff --git a/demo/index.ts b/demo/index.ts
index 6f3221a..96be798 100644
--- a/demo/index.ts
+++ b/demo/index.ts
@@ -8,6 +8,7 @@ import {
DefaultSqlTooltipRenders,
defaultSqlHoverTheme,
NodeSqlParser,
+ type SupportedDialects,
sqlExtension,
} from "../src/index.js";
import { type Schema, tableTooltipRenderer } from "./custom-renderers.js";
@@ -146,9 +147,9 @@ const getKeywordDocs = async () => {
};
};
-const setDatabase = StateEffect.define();
+const setDatabase = StateEffect.define();
-const databaseField = StateField.define({
+const databaseField = StateField.define({
create: () => "PostgreSQL",
update: (prevValue, transaction) => {
for (const effect of transaction.effects) {
@@ -162,7 +163,7 @@ const databaseField = StateField.define({
// Initialize the SQL editor
function initializeEditor() {
- // Use the same parser for linter and gutter
+ // Use the same parser
const parser = new NodeSqlParser({
getParserOptions: (state: EditorState) => {
return {
@@ -233,6 +234,7 @@ function initializeEditor() {
table: tableTooltipRenderer,
},
theme: defaultSqlHoverTheme("light"),
+ parser,
},
}),
dialect.language.data.of({
@@ -337,7 +339,7 @@ function setupExampleButtons() {
});
}
-function getDialect(state: EditorState): string {
+function getDialect(state: EditorState): SupportedDialects {
return state.field(databaseField);
}
@@ -345,7 +347,7 @@ function setupDialectSelect() {
const select = document.querySelector("#dialect-select");
if (select) {
select.addEventListener("change", (e) => {
- const value = (e.target as HTMLSelectElement).value;
+ const value = (e.target as HTMLSelectElement).value as SupportedDialects;
editor.dispatch({
effects: [setDatabase.of(value)],
});
diff --git a/package.json b/package.json
index 5e88020..1158426 100644
--- a/package.json
+++ b/package.json
@@ -54,6 +54,12 @@
"default": "./dist/index.js"
}
},
+ "./dialects": {
+ "import": {
+ "types": "./dist/dialects/index.d.ts",
+ "default": "./dist/dialects/index.js"
+ }
+ },
"./data/common-keywords.json": "./src/data/common-keywords.json",
"./data/duckdb-keywords.json": "./src/data/duckdb-keywords.json"
},
diff --git a/src/__tests__/index.test.ts b/src/__tests__/index.test.ts
index 793aced..8f5a058 100644
--- a/src/__tests__/index.test.ts
+++ b/src/__tests__/index.test.ts
@@ -1,6 +1,7 @@
import { readdir } from "node:fs/promises";
import { join } from "node:path";
import { describe, expect, it } from "vitest";
+import * as dialects from "../dialects";
import * as exports from "../index";
describe("index.ts exports", () => {
@@ -34,3 +35,14 @@ describe("keywords", async () => {
}
});
});
+
+describe("dialects.ts exports", () => {
+ it("should not change unexpectedly", () => {
+ const sortedExports = Object.keys(dialects).sort();
+ expect(sortedExports).toMatchInlineSnapshot(`
+ [
+ "DuckDBDialect",
+ ]
+ `);
+ });
+});
diff --git a/src/dialects/index.ts b/src/dialects/index.ts
new file mode 100644
index 0000000..c45977f
--- /dev/null
+++ b/src/dialects/index.ts
@@ -0,0 +1 @@
+export { DuckDBDialect } from "./duckdb/duckdb.js";
diff --git a/src/index.ts b/src/index.ts
index d5f81d5..573253e 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -8,7 +8,7 @@ export type {
SqlKeywordInfo,
} from "./sql/hover.js";
export { DefaultSqlTooltipRenders, defaultSqlHoverTheme, sqlHover } from "./sql/hover.js";
-export { NodeSqlParser } from "./sql/parser.js";
+export { NodeSqlParser, type SupportedDialects } from "./sql/parser.js";
export type { SqlStatement } from "./sql/structure-analyzer.js";
export { SqlStructureAnalyzer } from "./sql/structure-analyzer.js";
export type { SqlGutterConfig } from "./sql/structure-extension.js";
diff --git a/src/sql/parser.ts b/src/sql/parser.ts
index 9a67fcd..0803a82 100644
--- a/src/sql/parser.ts
+++ b/src/sql/parser.ts
@@ -4,8 +4,12 @@ import { debug } from "../debug.js";
import { lazy } from "../utils.js";
import type { SqlParseError, SqlParseResult, SqlParser } from "./types.js";
+interface ParserOption extends Option {
+ database: SupportedDialects;
+}
+
interface NodeSqlParserOptions {
- getParserOptions?: (state: EditorState) => Option;
+ getParserOptions?: (state: EditorState) => ParserOption;
}
interface NodeSqlParserResult extends SqlParseResult {
@@ -97,7 +101,7 @@ export class NodeSqlParser implements SqlParser {
// Otherwise, try standard parsing with PostgreSQL dialect
try {
- const postgresOptions = { ...parserOptions, database: "PostgresQL" };
+ const postgresOptions = { ...parserOptions, database: "PostgreSQL" };
const ast = parser.astify(sql, postgresOptions);
return {
success: true,
@@ -202,3 +206,23 @@ export class NodeSqlParser implements SqlParser {
}
}
}
+
+/**
+ * https://github.com/taozhi8833998/node-sql-parser?tab=readme-ov-file#supported-database-sql-syntax
+ * While DuckDB is not supported in the library, we perform some special handling for it and treat it as PostgreSQL.
+ */
+export type SupportedDialects =
+ | "Athena"
+ | "BigQuery"
+ | "DB2"
+ | "Hive"
+ | "MariaDB"
+ | "MySQL"
+ | "PostgreSQL"
+ | "DuckDB"
+ | "Redshift"
+ | "Sqlite"
+ | "TransactSQL"
+ | "FlinkSQL"
+ | "Snowflake"
+ | "Noql";
From 420865e4a4712bdd5613dc97f0c44b1a4bacf54d Mon Sep 17 00:00:00 2001
From: Myles Scolnick
Date: Sun, 10 Aug 2025 16:40:49 -0600
Subject: [PATCH 05/57] fix: node-sql-parser for esm or cjs (#31)
---
src/sql/parser.ts | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/sql/parser.ts b/src/sql/parser.ts
index 0803a82..2604d01 100644
--- a/src/sql/parser.ts
+++ b/src/sql/parser.ts
@@ -49,7 +49,9 @@ export class NodeSqlParser implements SqlParser {
if (this.parser) {
return this.parser;
}
- const { Parser } = await import("node-sql-parser");
+ const module = await import("node-sql-parser");
+ // Support for ESM and CJS
+ const { Parser } = module.default || module;
this.parser = new Parser();
return this.parser;
});
From 3b2caa85b85e5753fa66a31bbfd46f0857ff8375 Mon Sep 17 00:00:00 2001
From: Myles Scolnick
Date: Sun, 10 Aug 2025 16:41:32 -0600
Subject: [PATCH 06/57] chore: release v0.1.3
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index 1158426..ca94dac 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@marimo-team/codemirror-sql",
- "version": "0.1.2",
+ "version": "0.1.3",
"publishConfig": {
"access": "public"
},
From 8193079fa5988ed8ffe60a4a8161f9daa27278ab Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 13 Aug 2025 10:38:42 +0800
Subject: [PATCH 07/57] chore(deps): update crate-ci/typos action to v1.35.4
(#34)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/test.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index ab98c6e..5694b25 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -63,4 +63,4 @@ jobs:
- uses: actions/checkout@v4
- name: 🔍 Spell Check Repo
- uses: crate-ci/typos@v1.35.3
+ uses: crate-ci/typos@v1.35.4
From 1f4a01f4fb329a3d6e117f480f28a95b6b875585 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 13 Aug 2025 10:40:01 +0800
Subject: [PATCH 08/57] chore(deps): update actions/checkout action to v5 (#32)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/demo.yml | 2 +-
.github/workflows/release.yml | 2 +-
.github/workflows/test.yml | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml
index 7c0b895..09eaed5 100644
--- a/.github/workflows/demo.yml
+++ b/.github/workflows/demo.yml
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@v4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 365889d..f73dd70 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -12,7 +12,7 @@ jobs:
release:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
with:
fetch-depth: 0
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5694b25..04a68ff 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -21,7 +21,7 @@ jobs:
pull-requests: write
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: ⎔ Setup pnpm
uses: pnpm/action-setup@v4
@@ -46,7 +46,7 @@ jobs:
security:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: 🔍 Run CodeQL
uses: github/codeql-action/init@v3
@@ -60,7 +60,7 @@ jobs:
spelling:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - uses: actions/checkout@v5
- name: 🔍 Spell Check Repo
uses: crate-ci/typos@v1.35.4
From bbd2021fdede824a2a528e93369bc604d0e89868 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 13 Aug 2025 10:40:17 +0800
Subject: [PATCH 09/57] chore(deps): update dependency vite to v7.1.2 (#33)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pnpm-lock.yaml | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 7a0b047..9760c7b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -44,7 +44,7 @@ importers:
version: 5.9.2
vite:
specifier: ^7.0.6
- version: 7.1.1(@types/node@22.13.1)(yaml@2.8.0)
+ version: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/node@22.13.1)(happy-dom@15.11.7)(jsdom@26.1.0)(yaml@2.8.0)
@@ -944,8 +944,8 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite@7.1.1:
- resolution: {integrity: sha512-yJ+Mp7OyV+4S+afWo+QyoL9jFWD11QFH0i5i7JypnfTcA1rmgxCbiA8WwAICDEtZ1Z1hzrVhN8R8rGTqkTY8ZQ==}
+ vite@7.1.2:
+ resolution: {integrity: sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1441,13 +1441,13 @@ snapshots:
chai: 5.2.1
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.1.1(@types/node@22.13.1)(yaml@2.8.0))':
+ '@vitest/mocker@3.2.4(vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 7.1.1(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -1915,7 +1915,7 @@ snapshots:
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.1.1(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -1930,7 +1930,7 @@ snapshots:
- tsx
- yaml
- vite@7.1.1(@types/node@22.13.1)(yaml@2.8.0):
+ vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0):
dependencies:
esbuild: 0.25.8
fdir: 6.4.6(picomatch@4.0.3)
@@ -1947,7 +1947,7 @@ snapshots:
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.1.1(@types/node@22.13.1)(yaml@2.8.0))
+ '@vitest/mocker': 3.2.4(vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -1965,7 +1965,7 @@ snapshots:
tinyglobby: 0.2.14
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.1.1(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
vite-node: 3.2.4(@types/node@22.13.1)(yaml@2.8.0)
why-is-node-running: 2.3.0
optionalDependencies:
From 861f1b408892f353a7a2d3a39176356aa2482daf Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 17 Aug 2025 10:25:11 +0800
Subject: [PATCH 10/57] chore(deps): update dependency @biomejs/biome to v2.2.0
(#35)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pnpm-lock.yaml | 74 +++++++++++++++++++++++++-------------------------
1 file changed, 37 insertions(+), 37 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9760c7b..ec38a22 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -23,7 +23,7 @@ importers:
devDependencies:
'@biomejs/biome':
specifier: ^2.1.3
- version: 2.1.4
+ version: 2.2.0
'@codemirror/lang-sql':
specifier: ^6.9.1
version: 6.9.1
@@ -79,55 +79,55 @@ packages:
resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
engines: {node: '>=18'}
- '@biomejs/biome@2.1.4':
- resolution: {integrity: sha512-QWlrqyxsU0FCebuMnkvBIkxvPqH89afiJzjMl+z67ybutse590jgeaFdDurE9XYtzpjRGTI1tlUZPGWmbKsElA==}
+ '@biomejs/biome@2.2.0':
+ resolution: {integrity: sha512-3On3RSYLsX+n9KnoSgfoYlckYBoU6VRM22cw1gB4Y0OuUVSYd/O/2saOJMrA4HFfA1Ff0eacOvMN1yAAvHtzIw==}
engines: {node: '>=14.21.3'}
hasBin: true
- '@biomejs/cli-darwin-arm64@2.1.4':
- resolution: {integrity: sha512-sCrNENE74I9MV090Wq/9Dg7EhPudx3+5OiSoQOkIe3DLPzFARuL1dOwCWhKCpA3I5RHmbrsbNSRfZwCabwd8Qg==}
+ '@biomejs/cli-darwin-arm64@2.2.0':
+ resolution: {integrity: sha512-zKbwUUh+9uFmWfS8IFxmVD6XwqFcENjZvEyfOxHs1epjdH3wyyMQG80FGDsmauPwS2r5kXdEM0v/+dTIA9FXAg==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [darwin]
- '@biomejs/cli-darwin-x64@2.1.4':
- resolution: {integrity: sha512-gOEICJbTCy6iruBywBDcG4X5rHMbqCPs3clh3UQ+hRKlgvJTk4NHWQAyHOXvaLe+AxD1/TNX1jbZeffBJzcrOw==}
+ '@biomejs/cli-darwin-x64@2.2.0':
+ resolution: {integrity: sha512-+OmT4dsX2eTfhD5crUOPw3RPhaR+SKVspvGVmSdZ9y9O/AgL8pla6T4hOn1q+VAFBHuHhsdxDRJgFCSC7RaMOw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [darwin]
- '@biomejs/cli-linux-arm64-musl@2.1.4':
- resolution: {integrity: sha512-nYr7H0CyAJPaLupFE2cH16KZmRC5Z9PEftiA2vWxk+CsFkPZQ6dBRdcC6RuS+zJlPc/JOd8xw3uCCt9Pv41WvQ==}
+ '@biomejs/cli-linux-arm64-musl@2.2.0':
+ resolution: {integrity: sha512-egKpOa+4FL9YO+SMUMLUvf543cprjevNc3CAgDNFLcjknuNMcZ0GLJYa3EGTCR2xIkIUJDVneBV3O9OcIlCEZQ==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
- '@biomejs/cli-linux-arm64@2.1.4':
- resolution: {integrity: sha512-juhEkdkKR4nbUi5k/KRp1ocGPNWLgFRD4NrHZSveYrD6i98pyvuzmS9yFYgOZa5JhaVqo0HPnci0+YuzSwT2fw==}
+ '@biomejs/cli-linux-arm64@2.2.0':
+ resolution: {integrity: sha512-6eoRdF2yW5FnW9Lpeivh7Mayhq0KDdaDMYOJnH9aT02KuSIX5V1HmWJCQQPwIQbhDh68Zrcpl8inRlTEan0SXw==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [linux]
- '@biomejs/cli-linux-x64-musl@2.1.4':
- resolution: {integrity: sha512-lvwvb2SQQHctHUKvBKptR6PLFCM7JfRjpCCrDaTmvB7EeZ5/dQJPhTYBf36BE/B4CRWR2ZiBLRYhK7hhXBCZAg==}
+ '@biomejs/cli-linux-x64-musl@2.2.0':
+ resolution: {integrity: sha512-I5J85yWwUWpgJyC1CcytNSGusu2p9HjDnOPAFG4Y515hwRD0jpR9sT9/T1cKHtuCvEQ/sBvx+6zhz9l9wEJGAg==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
- '@biomejs/cli-linux-x64@2.1.4':
- resolution: {integrity: sha512-Eoy9ycbhpJVYuR+LskV9s3uyaIkp89+qqgqhGQsWnp/I02Uqg2fXFblHJOpGZR8AxdB9ADy87oFVxn9MpFKUrw==}
+ '@biomejs/cli-linux-x64@2.2.0':
+ resolution: {integrity: sha512-5UmQx/OZAfJfi25zAnAGHUMuOd+LOsliIt119x2soA2gLggQYrVPA+2kMUxR6Mw5M1deUF/AWWP2qpxgH7Nyfw==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [linux]
- '@biomejs/cli-win32-arm64@2.1.4':
- resolution: {integrity: sha512-3WRYte7orvyi6TRfIZkDN9Jzoogbv+gSvR+b9VOXUg1We1XrjBg6WljADeVEaKTvOcpVdH0a90TwyOQ6ue4fGw==}
+ '@biomejs/cli-win32-arm64@2.2.0':
+ resolution: {integrity: sha512-n9a1/f2CwIDmNMNkFs+JI0ZjFnMO0jdOyGNtihgUNFnlmd84yIYY2KMTBmMV58ZlVHjgmY5Y6E1hVTnSRieggA==}
engines: {node: '>=14.21.3'}
cpu: [arm64]
os: [win32]
- '@biomejs/cli-win32-x64@2.1.4':
- resolution: {integrity: sha512-tBc+W7anBPSFXGAoQW+f/+svkpt8/uXfRwDzN1DvnatkRMt16KIYpEi/iw8u9GahJlFv98kgHcIrSsZHZTR0sw==}
+ '@biomejs/cli-win32-x64@2.2.0':
+ resolution: {integrity: sha512-Nawu5nHjP/zPKTIryh2AavzTc/KEg4um/MxWdXW0A6P/RZOyIpa7+QSjeXwAwX/utJGaCoXRPWtF3m5U/bB3Ww==}
engines: {node: '>=14.21.3'}
cpu: [x64]
os: [win32]
@@ -1111,39 +1111,39 @@ snapshots:
'@bcoe/v8-coverage@1.0.2': {}
- '@biomejs/biome@2.1.4':
+ '@biomejs/biome@2.2.0':
optionalDependencies:
- '@biomejs/cli-darwin-arm64': 2.1.4
- '@biomejs/cli-darwin-x64': 2.1.4
- '@biomejs/cli-linux-arm64': 2.1.4
- '@biomejs/cli-linux-arm64-musl': 2.1.4
- '@biomejs/cli-linux-x64': 2.1.4
- '@biomejs/cli-linux-x64-musl': 2.1.4
- '@biomejs/cli-win32-arm64': 2.1.4
- '@biomejs/cli-win32-x64': 2.1.4
-
- '@biomejs/cli-darwin-arm64@2.1.4':
+ '@biomejs/cli-darwin-arm64': 2.2.0
+ '@biomejs/cli-darwin-x64': 2.2.0
+ '@biomejs/cli-linux-arm64': 2.2.0
+ '@biomejs/cli-linux-arm64-musl': 2.2.0
+ '@biomejs/cli-linux-x64': 2.2.0
+ '@biomejs/cli-linux-x64-musl': 2.2.0
+ '@biomejs/cli-win32-arm64': 2.2.0
+ '@biomejs/cli-win32-x64': 2.2.0
+
+ '@biomejs/cli-darwin-arm64@2.2.0':
optional: true
- '@biomejs/cli-darwin-x64@2.1.4':
+ '@biomejs/cli-darwin-x64@2.2.0':
optional: true
- '@biomejs/cli-linux-arm64-musl@2.1.4':
+ '@biomejs/cli-linux-arm64-musl@2.2.0':
optional: true
- '@biomejs/cli-linux-arm64@2.1.4':
+ '@biomejs/cli-linux-arm64@2.2.0':
optional: true
- '@biomejs/cli-linux-x64-musl@2.1.4':
+ '@biomejs/cli-linux-x64-musl@2.2.0':
optional: true
- '@biomejs/cli-linux-x64@2.1.4':
+ '@biomejs/cli-linux-x64@2.2.0':
optional: true
- '@biomejs/cli-win32-arm64@2.1.4':
+ '@biomejs/cli-win32-arm64@2.2.0':
optional: true
- '@biomejs/cli-win32-x64@2.1.4':
+ '@biomejs/cli-win32-x64@2.2.0':
optional: true
'@codemirror/autocomplete@6.18.6':
From 4ed090021b94f4fa0a63fa31712338e34eb2304f Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 19 Aug 2025 21:50:28 +0800
Subject: [PATCH 11/57] chore(deps): update dependency vite to v7.1.3 (#37)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
pnpm-lock.yaml | 413 +++++++++++++++++++++++++------------------------
1 file changed, 207 insertions(+), 206 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ec38a22..f1275fd 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -44,7 +44,7 @@ importers:
version: 5.9.2
vite:
specifier: ^7.0.6
- version: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
+ version: 7.1.3(@types/node@22.13.1)(yaml@2.8.0)
vitest:
specifier: ^3.2.4
version: 3.2.4(@types/node@22.13.1)(happy-dom@15.11.7)(jsdom@26.1.0)(yaml@2.8.0)
@@ -184,158 +184,158 @@ packages:
resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
engines: {node: '>=18'}
- '@esbuild/aix-ppc64@0.25.8':
- resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==}
+ '@esbuild/aix-ppc64@0.25.9':
+ resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.8':
- resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==}
+ '@esbuild/android-arm64@0.25.9':
+ resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.8':
- resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==}
+ '@esbuild/android-arm@0.25.9':
+ resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.8':
- resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==}
+ '@esbuild/android-x64@0.25.9':
+ resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.8':
- resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==}
+ '@esbuild/darwin-arm64@0.25.9':
+ resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.8':
- resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==}
+ '@esbuild/darwin-x64@0.25.9':
+ resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.8':
- resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==}
+ '@esbuild/freebsd-arm64@0.25.9':
+ resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.8':
- resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==}
+ '@esbuild/freebsd-x64@0.25.9':
+ resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.8':
- resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==}
+ '@esbuild/linux-arm64@0.25.9':
+ resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.8':
- resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==}
+ '@esbuild/linux-arm@0.25.9':
+ resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.8':
- resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==}
+ '@esbuild/linux-ia32@0.25.9':
+ resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.8':
- resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==}
+ '@esbuild/linux-loong64@0.25.9':
+ resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.8':
- resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==}
+ '@esbuild/linux-mips64el@0.25.9':
+ resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.8':
- resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==}
+ '@esbuild/linux-ppc64@0.25.9':
+ resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.8':
- resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==}
+ '@esbuild/linux-riscv64@0.25.9':
+ resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.8':
- resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==}
+ '@esbuild/linux-s390x@0.25.9':
+ resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.8':
- resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==}
+ '@esbuild/linux-x64@0.25.9':
+ resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==}
engines: {node: '>=18'}
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.8':
- resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==}
+ '@esbuild/netbsd-arm64@0.25.9':
+ resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==}
engines: {node: '>=18'}
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.8':
- resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==}
+ '@esbuild/netbsd-x64@0.25.9':
+ resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==}
engines: {node: '>=18'}
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.8':
- resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==}
+ '@esbuild/openbsd-arm64@0.25.9':
+ resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.8':
- resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==}
+ '@esbuild/openbsd-x64@0.25.9':
+ resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/openharmony-arm64@0.25.8':
- resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==}
+ '@esbuild/openharmony-arm64@0.25.9':
+ resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.8':
- resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==}
+ '@esbuild/sunos-x64@0.25.9':
+ resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.8':
- resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==}
+ '@esbuild/win32-arm64@0.25.9':
+ resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.8':
- resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==}
+ '@esbuild/win32-ia32@0.25.9':
+ resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.8':
- resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==}
+ '@esbuild/win32-x64@0.25.9':
+ resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==}
engines: {node: '>=18'}
cpu: [x64]
os: [win32]
@@ -377,103 +377,103 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
- '@rollup/rollup-android-arm-eabi@4.46.2':
- resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==}
+ '@rollup/rollup-android-arm-eabi@4.46.3':
+ resolution: {integrity: sha512-UmTdvXnLlqQNOCJnyksjPs1G4GqXNGW1LrzCe8+8QoaLhhDeTXYBgJ3k6x61WIhlHX2U+VzEJ55TtIjR/HTySA==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.46.2':
- resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==}
+ '@rollup/rollup-android-arm64@4.46.3':
+ resolution: {integrity: sha512-8NoxqLpXm7VyeI0ocidh335D6OKT0UJ6fHdnIxf3+6oOerZZc+O7r+UhvROji6OspyPm+rrIdb1gTXtVIqn+Sg==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.46.2':
- resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==}
+ '@rollup/rollup-darwin-arm64@4.46.3':
+ resolution: {integrity: sha512-csnNavqZVs1+7/hUKtgjMECsNG2cdB8F7XBHP6FfQjqhjF8rzMzb3SLyy/1BG7YSfQ+bG75Ph7DyedbUqwq1rA==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.46.2':
- resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==}
+ '@rollup/rollup-darwin-x64@4.46.3':
+ resolution: {integrity: sha512-r2MXNjbuYabSIX5yQqnT8SGSQ26XQc8fmp6UhlYJd95PZJkQD1u82fWP7HqvGUf33IsOC6qsiV+vcuD4SDP6iw==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.46.2':
- resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==}
+ '@rollup/rollup-freebsd-arm64@4.46.3':
+ resolution: {integrity: sha512-uluObTmgPJDuJh9xqxyr7MV61Imq+0IvVsAlWyvxAaBSNzCcmZlhfYcRhCdMaCsy46ccZa7vtDDripgs9Jkqsw==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.46.2':
- resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==}
+ '@rollup/rollup-freebsd-x64@4.46.3':
+ resolution: {integrity: sha512-AVJXEq9RVHQnejdbFvh1eWEoobohUYN3nqJIPI4mNTMpsyYN01VvcAClxflyk2HIxvLpRcRggpX1m9hkXkpC/A==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
- resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.46.3':
+ resolution: {integrity: sha512-byyflM+huiwHlKi7VHLAYTKr67X199+V+mt1iRgJenAI594vcmGGddWlu6eHujmcdl6TqSNnvqaXJqZdnEWRGA==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.46.2':
- resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.46.3':
+ resolution: {integrity: sha512-aLm3NMIjr4Y9LklrH5cu7yybBqoVCdr4Nvnm8WB7PKCn34fMCGypVNpGK0JQWdPAzR/FnoEoFtlRqZbBBLhVoQ==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.46.2':
- resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==}
+ '@rollup/rollup-linux-arm64-gnu@4.46.3':
+ resolution: {integrity: sha512-VtilE6eznJRDIoFOzaagQodUksTEfLIsvXymS+UdJiSXrPW7Ai+WG4uapAc3F7Hgs791TwdGh4xyOzbuzIZrnw==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.46.2':
- resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==}
+ '@rollup/rollup-linux-arm64-musl@4.46.3':
+ resolution: {integrity: sha512-dG3JuS6+cRAL0GQ925Vppafi0qwZnkHdPeuZIxIPXqkCLP02l7ka+OCyBoDEv8S+nKHxfjvjW4OZ7hTdHkx8/w==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
- resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==}
+ '@rollup/rollup-linux-loongarch64-gnu@4.46.3':
+ resolution: {integrity: sha512-iU8DxnxEKJptf8Vcx4XvAUdpkZfaz0KWfRrnIRrOndL0SvzEte+MTM7nDH4A2Now4FvTZ01yFAgj6TX/mZl8hQ==}
cpu: [loong64]
os: [linux]
- '@rollup/rollup-linux-ppc64-gnu@4.46.2':
- resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==}
+ '@rollup/rollup-linux-ppc64-gnu@4.46.3':
+ resolution: {integrity: sha512-VrQZp9tkk0yozJoQvQcqlWiqaPnLM6uY1qPYXvukKePb0fqaiQtOdMJSxNFUZFsGw5oA5vvVokjHrx8a9Qsz2A==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.46.2':
- resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==}
+ '@rollup/rollup-linux-riscv64-gnu@4.46.3':
+ resolution: {integrity: sha512-uf2eucWSUb+M7b0poZ/08LsbcRgaDYL8NCGjUeFMwCWFwOuFcZ8D9ayPl25P3pl+D2FH45EbHdfyUesQ2Lt9wA==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-riscv64-musl@4.46.2':
- resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==}
+ '@rollup/rollup-linux-riscv64-musl@4.46.3':
+ resolution: {integrity: sha512-7tnUcDvN8DHm/9ra+/nF7lLzYHDeODKKKrh6JmZejbh1FnCNZS8zMkZY5J4sEipy2OW1d1Ncc4gNHUd0DLqkSg==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.46.2':
- resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==}
+ '@rollup/rollup-linux-s390x-gnu@4.46.3':
+ resolution: {integrity: sha512-MUpAOallJim8CsJK+4Lc9tQzlfPbHxWDrGXZm2z6biaadNpvh3a5ewcdat478W+tXDoUiHwErX/dOql7ETcLqg==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.46.2':
- resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==}
+ '@rollup/rollup-linux-x64-gnu@4.46.3':
+ resolution: {integrity: sha512-F42IgZI4JicE2vM2PWCe0N5mR5vR0gIdORPqhGQ32/u1S1v3kLtbZ0C/mi9FFk7C5T0PgdeyWEPajPjaUpyoKg==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.46.2':
- resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==}
+ '@rollup/rollup-linux-x64-musl@4.46.3':
+ resolution: {integrity: sha512-oLc+JrwwvbimJUInzx56Q3ujL3Kkhxehg7O1gWAYzm8hImCd5ld1F2Gry5YDjR21MNb5WCKhC9hXgU7rRlyegQ==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.46.2':
- resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==}
+ '@rollup/rollup-win32-arm64-msvc@4.46.3':
+ resolution: {integrity: sha512-lOrQ+BVRstruD1fkWg9yjmumhowR0oLAAzavB7yFSaGltY8klttmZtCLvOXCmGE9mLIn8IBV/IFrQOWz5xbFPg==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.46.2':
- resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==}
+ '@rollup/rollup-win32-ia32-msvc@4.46.3':
+ resolution: {integrity: sha512-vvrVKPRS4GduGR7VMH8EylCBqsDcw6U+/0nPDuIjXQRbHJc6xOBj+frx8ksfZAh6+Fptw5wHrN7etlMmQnPQVg==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.46.2':
- resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==}
+ '@rollup/rollup-win32-x64-msvc@4.46.3':
+ resolution: {integrity: sha512-fi3cPxCnu3ZeM3EwKZPgXbWoGzm2XHgB/WShKI81uj8wG0+laobmqy5wbgEwzstlbLu4MyO8C19FyhhWseYKNQ==}
cpu: [x64]
os: [win32]
@@ -640,8 +640,8 @@ packages:
es-module-lexer@1.7.0:
resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
- esbuild@0.25.8:
- resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==}
+ esbuild@0.25.9:
+ resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==}
engines: {node: '>=18'}
hasBin: true
@@ -652,8 +652,9 @@ packages:
resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
engines: {node: '>=12.0.0'}
- fdir@6.4.6:
- resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
@@ -816,8 +817,8 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- rollup@4.46.2:
- resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==}
+ rollup@4.46.3:
+ resolution: {integrity: sha512-RZn2XTjXb8t5g13f5YclGoilU/kwT696DIkY3sywjdZidNSi3+vseaQov7D7BZXVJCPv3pDWUN69C78GGbXsKw==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -944,8 +945,8 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite@7.1.2:
- resolution: {integrity: sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==}
+ vite@7.1.3:
+ resolution: {integrity: sha512-OOUi5zjkDxYrKhTV3V7iKsoS37VUM7v40+HuwEmcrsf11Cdx9y3DIr2Px6liIcZFwt3XSRpQvFpL3WVy7ApkGw==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1221,82 +1222,82 @@ snapshots:
'@csstools/css-tokenizer@3.0.4': {}
- '@esbuild/aix-ppc64@0.25.8':
+ '@esbuild/aix-ppc64@0.25.9':
optional: true
- '@esbuild/android-arm64@0.25.8':
+ '@esbuild/android-arm64@0.25.9':
optional: true
- '@esbuild/android-arm@0.25.8':
+ '@esbuild/android-arm@0.25.9':
optional: true
- '@esbuild/android-x64@0.25.8':
+ '@esbuild/android-x64@0.25.9':
optional: true
- '@esbuild/darwin-arm64@0.25.8':
+ '@esbuild/darwin-arm64@0.25.9':
optional: true
- '@esbuild/darwin-x64@0.25.8':
+ '@esbuild/darwin-x64@0.25.9':
optional: true
- '@esbuild/freebsd-arm64@0.25.8':
+ '@esbuild/freebsd-arm64@0.25.9':
optional: true
- '@esbuild/freebsd-x64@0.25.8':
+ '@esbuild/freebsd-x64@0.25.9':
optional: true
- '@esbuild/linux-arm64@0.25.8':
+ '@esbuild/linux-arm64@0.25.9':
optional: true
- '@esbuild/linux-arm@0.25.8':
+ '@esbuild/linux-arm@0.25.9':
optional: true
- '@esbuild/linux-ia32@0.25.8':
+ '@esbuild/linux-ia32@0.25.9':
optional: true
- '@esbuild/linux-loong64@0.25.8':
+ '@esbuild/linux-loong64@0.25.9':
optional: true
- '@esbuild/linux-mips64el@0.25.8':
+ '@esbuild/linux-mips64el@0.25.9':
optional: true
- '@esbuild/linux-ppc64@0.25.8':
+ '@esbuild/linux-ppc64@0.25.9':
optional: true
- '@esbuild/linux-riscv64@0.25.8':
+ '@esbuild/linux-riscv64@0.25.9':
optional: true
- '@esbuild/linux-s390x@0.25.8':
+ '@esbuild/linux-s390x@0.25.9':
optional: true
- '@esbuild/linux-x64@0.25.8':
+ '@esbuild/linux-x64@0.25.9':
optional: true
- '@esbuild/netbsd-arm64@0.25.8':
+ '@esbuild/netbsd-arm64@0.25.9':
optional: true
- '@esbuild/netbsd-x64@0.25.8':
+ '@esbuild/netbsd-x64@0.25.9':
optional: true
- '@esbuild/openbsd-arm64@0.25.8':
+ '@esbuild/openbsd-arm64@0.25.9':
optional: true
- '@esbuild/openbsd-x64@0.25.8':
+ '@esbuild/openbsd-x64@0.25.9':
optional: true
- '@esbuild/openharmony-arm64@0.25.8':
+ '@esbuild/openharmony-arm64@0.25.9':
optional: true
- '@esbuild/sunos-x64@0.25.8':
+ '@esbuild/sunos-x64@0.25.9':
optional: true
- '@esbuild/win32-arm64@0.25.8':
+ '@esbuild/win32-arm64@0.25.9':
optional: true
- '@esbuild/win32-ia32@0.25.8':
+ '@esbuild/win32-ia32@0.25.9':
optional: true
- '@esbuild/win32-x64@0.25.8':
+ '@esbuild/win32-x64@0.25.9':
optional: true
'@isaacs/cliui@8.0.2':
@@ -1339,64 +1340,64 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
- '@rollup/rollup-android-arm-eabi@4.46.2':
+ '@rollup/rollup-android-arm-eabi@4.46.3':
optional: true
- '@rollup/rollup-android-arm64@4.46.2':
+ '@rollup/rollup-android-arm64@4.46.3':
optional: true
- '@rollup/rollup-darwin-arm64@4.46.2':
+ '@rollup/rollup-darwin-arm64@4.46.3':
optional: true
- '@rollup/rollup-darwin-x64@4.46.2':
+ '@rollup/rollup-darwin-x64@4.46.3':
optional: true
- '@rollup/rollup-freebsd-arm64@4.46.2':
+ '@rollup/rollup-freebsd-arm64@4.46.3':
optional: true
- '@rollup/rollup-freebsd-x64@4.46.2':
+ '@rollup/rollup-freebsd-x64@4.46.3':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
+ '@rollup/rollup-linux-arm-gnueabihf@4.46.3':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.46.2':
+ '@rollup/rollup-linux-arm-musleabihf@4.46.3':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.46.2':
+ '@rollup/rollup-linux-arm64-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.46.2':
+ '@rollup/rollup-linux-arm64-musl@4.46.3':
optional: true
- '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
+ '@rollup/rollup-linux-loongarch64-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-ppc64-gnu@4.46.2':
+ '@rollup/rollup-linux-ppc64-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.46.2':
+ '@rollup/rollup-linux-riscv64-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.46.2':
+ '@rollup/rollup-linux-riscv64-musl@4.46.3':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.46.2':
+ '@rollup/rollup-linux-s390x-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.46.2':
+ '@rollup/rollup-linux-x64-gnu@4.46.3':
optional: true
- '@rollup/rollup-linux-x64-musl@4.46.2':
+ '@rollup/rollup-linux-x64-musl@4.46.3':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.46.2':
+ '@rollup/rollup-win32-arm64-msvc@4.46.3':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.46.2':
+ '@rollup/rollup-win32-ia32-msvc@4.46.3':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.46.2':
+ '@rollup/rollup-win32-x64-msvc@4.46.3':
optional: true
'@types/chai@5.2.2':
@@ -1441,13 +1442,13 @@ snapshots:
chai: 5.2.1
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0))':
+ '@vitest/mocker@3.2.4(vite@7.1.3(@types/node@22.13.1)(yaml@2.8.0))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.3(@types/node@22.13.1)(yaml@2.8.0)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -1570,34 +1571,34 @@ snapshots:
es-module-lexer@1.7.0: {}
- esbuild@0.25.8:
+ esbuild@0.25.9:
optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.8
- '@esbuild/android-arm': 0.25.8
- '@esbuild/android-arm64': 0.25.8
- '@esbuild/android-x64': 0.25.8
- '@esbuild/darwin-arm64': 0.25.8
- '@esbuild/darwin-x64': 0.25.8
- '@esbuild/freebsd-arm64': 0.25.8
- '@esbuild/freebsd-x64': 0.25.8
- '@esbuild/linux-arm': 0.25.8
- '@esbuild/linux-arm64': 0.25.8
- '@esbuild/linux-ia32': 0.25.8
- '@esbuild/linux-loong64': 0.25.8
- '@esbuild/linux-mips64el': 0.25.8
- '@esbuild/linux-ppc64': 0.25.8
- '@esbuild/linux-riscv64': 0.25.8
- '@esbuild/linux-s390x': 0.25.8
- '@esbuild/linux-x64': 0.25.8
- '@esbuild/netbsd-arm64': 0.25.8
- '@esbuild/netbsd-x64': 0.25.8
- '@esbuild/openbsd-arm64': 0.25.8
- '@esbuild/openbsd-x64': 0.25.8
- '@esbuild/openharmony-arm64': 0.25.8
- '@esbuild/sunos-x64': 0.25.8
- '@esbuild/win32-arm64': 0.25.8
- '@esbuild/win32-ia32': 0.25.8
- '@esbuild/win32-x64': 0.25.8
+ '@esbuild/aix-ppc64': 0.25.9
+ '@esbuild/android-arm': 0.25.9
+ '@esbuild/android-arm64': 0.25.9
+ '@esbuild/android-x64': 0.25.9
+ '@esbuild/darwin-arm64': 0.25.9
+ '@esbuild/darwin-x64': 0.25.9
+ '@esbuild/freebsd-arm64': 0.25.9
+ '@esbuild/freebsd-x64': 0.25.9
+ '@esbuild/linux-arm': 0.25.9
+ '@esbuild/linux-arm64': 0.25.9
+ '@esbuild/linux-ia32': 0.25.9
+ '@esbuild/linux-loong64': 0.25.9
+ '@esbuild/linux-mips64el': 0.25.9
+ '@esbuild/linux-ppc64': 0.25.9
+ '@esbuild/linux-riscv64': 0.25.9
+ '@esbuild/linux-s390x': 0.25.9
+ '@esbuild/linux-x64': 0.25.9
+ '@esbuild/netbsd-arm64': 0.25.9
+ '@esbuild/netbsd-x64': 0.25.9
+ '@esbuild/openbsd-arm64': 0.25.9
+ '@esbuild/openbsd-x64': 0.25.9
+ '@esbuild/openharmony-arm64': 0.25.9
+ '@esbuild/sunos-x64': 0.25.9
+ '@esbuild/win32-arm64': 0.25.9
+ '@esbuild/win32-ia32': 0.25.9
+ '@esbuild/win32-x64': 0.25.9
estree-walker@3.0.3:
dependencies:
@@ -1605,7 +1606,7 @@ snapshots:
expect-type@1.2.2: {}
- fdir@6.4.6(picomatch@4.0.3):
+ fdir@6.5.0(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -1785,30 +1786,30 @@ snapshots:
punycode@2.3.1: {}
- rollup@4.46.2:
+ rollup@4.46.3:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.46.2
- '@rollup/rollup-android-arm64': 4.46.2
- '@rollup/rollup-darwin-arm64': 4.46.2
- '@rollup/rollup-darwin-x64': 4.46.2
- '@rollup/rollup-freebsd-arm64': 4.46.2
- '@rollup/rollup-freebsd-x64': 4.46.2
- '@rollup/rollup-linux-arm-gnueabihf': 4.46.2
- '@rollup/rollup-linux-arm-musleabihf': 4.46.2
- '@rollup/rollup-linux-arm64-gnu': 4.46.2
- '@rollup/rollup-linux-arm64-musl': 4.46.2
- '@rollup/rollup-linux-loongarch64-gnu': 4.46.2
- '@rollup/rollup-linux-ppc64-gnu': 4.46.2
- '@rollup/rollup-linux-riscv64-gnu': 4.46.2
- '@rollup/rollup-linux-riscv64-musl': 4.46.2
- '@rollup/rollup-linux-s390x-gnu': 4.46.2
- '@rollup/rollup-linux-x64-gnu': 4.46.2
- '@rollup/rollup-linux-x64-musl': 4.46.2
- '@rollup/rollup-win32-arm64-msvc': 4.46.2
- '@rollup/rollup-win32-ia32-msvc': 4.46.2
- '@rollup/rollup-win32-x64-msvc': 4.46.2
+ '@rollup/rollup-android-arm-eabi': 4.46.3
+ '@rollup/rollup-android-arm64': 4.46.3
+ '@rollup/rollup-darwin-arm64': 4.46.3
+ '@rollup/rollup-darwin-x64': 4.46.3
+ '@rollup/rollup-freebsd-arm64': 4.46.3
+ '@rollup/rollup-freebsd-x64': 4.46.3
+ '@rollup/rollup-linux-arm-gnueabihf': 4.46.3
+ '@rollup/rollup-linux-arm-musleabihf': 4.46.3
+ '@rollup/rollup-linux-arm64-gnu': 4.46.3
+ '@rollup/rollup-linux-arm64-musl': 4.46.3
+ '@rollup/rollup-linux-loongarch64-gnu': 4.46.3
+ '@rollup/rollup-linux-ppc64-gnu': 4.46.3
+ '@rollup/rollup-linux-riscv64-gnu': 4.46.3
+ '@rollup/rollup-linux-riscv64-musl': 4.46.3
+ '@rollup/rollup-linux-s390x-gnu': 4.46.3
+ '@rollup/rollup-linux-x64-gnu': 4.46.3
+ '@rollup/rollup-linux-x64-musl': 4.46.3
+ '@rollup/rollup-win32-arm64-msvc': 4.46.3
+ '@rollup/rollup-win32-ia32-msvc': 4.46.3
+ '@rollup/rollup-win32-x64-msvc': 4.46.3
fsevents: 2.3.3
rrweb-cssom@0.8.0: {}
@@ -1881,7 +1882,7 @@ snapshots:
tinyglobby@0.2.14:
dependencies:
- fdir: 6.4.6(picomatch@4.0.3)
+ fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
tinypool@1.1.1: {}
@@ -1915,7 +1916,7 @@ snapshots:
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.3(@types/node@22.13.1)(yaml@2.8.0)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -1930,13 +1931,13 @@ snapshots:
- tsx
- yaml
- vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0):
+ vite@7.1.3(@types/node@22.13.1)(yaml@2.8.0):
dependencies:
- esbuild: 0.25.8
- fdir: 6.4.6(picomatch@4.0.3)
+ esbuild: 0.25.9
+ fdir: 6.5.0(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
- rollup: 4.46.2
+ rollup: 4.46.3
tinyglobby: 0.2.14
optionalDependencies:
'@types/node': 22.13.1
@@ -1947,7 +1948,7 @@ snapshots:
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.1.2(@types/node@22.13.1)(yaml@2.8.0))
+ '@vitest/mocker': 3.2.4(vite@7.1.3(@types/node@22.13.1)(yaml@2.8.0))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -1965,7 +1966,7 @@ snapshots:
tinyglobby: 0.2.14
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.1.2(@types/node@22.13.1)(yaml@2.8.0)
+ vite: 7.1.3(@types/node@22.13.1)(yaml@2.8.0)
vite-node: 3.2.4(@types/node@22.13.1)(yaml@2.8.0)
why-is-node-running: 2.3.0
optionalDependencies:
From 9af6b9d86b7bab67d37a8d2c3b9b326be67c95ed Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 19 Aug 2025 21:50:40 +0800
Subject: [PATCH 12/57] chore(deps): update crate-ci/typos action to v1.35.5
(#36)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/test.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 04a68ff..5a20e21 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -63,4 +63,4 @@ jobs:
- uses: actions/checkout@v5
- name: 🔍 Spell Check Repo
- uses: crate-ci/typos@v1.35.4
+ uses: crate-ci/typos@v1.35.5
From 8a3f68edc3bc743989014c7c61a40adca688b549 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sat, 23 Aug 2025 02:28:13 +0800
Subject: [PATCH 13/57] chore(deps): update actions/upload-pages-artifact
action to v4 (#40)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
.github/workflows/demo.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml
index 09eaed5..c8ce21c 100644
--- a/.github/workflows/demo.yml
+++ b/.github/workflows/demo.yml
@@ -39,7 +39,7 @@ jobs:
uses: actions/configure-pages@v5
- name: 📤 Upload artifact
- uses: actions/upload-pages-artifact@v3
+ uses: actions/upload-pages-artifact@v4
with:
path: './demo/dist'
From 2f67444454af50fcb126e9bbc5623a0f96c15f27 Mon Sep 17 00:00:00 2001
From: Shahmir Varqha
Date: Sat, 23 Aug 2025 14:13:29 +0800
Subject: [PATCH 14/57] add light bigquery dialect (postgres wrapper) to
resolve some bugs (#41)
* add light bigquery wrapper to resolve some bugs
* update test
---
src/__tests__/index.test.ts | 1 +
src/dialects/bigquery.ts | 14 ++++++++++++++
src/dialects/index.ts | 1 +
3 files changed, 16 insertions(+)
create mode 100644 src/dialects/bigquery.ts
diff --git a/src/__tests__/index.test.ts b/src/__tests__/index.test.ts
index 8f5a058..4ce21fa 100644
--- a/src/__tests__/index.test.ts
+++ b/src/__tests__/index.test.ts
@@ -41,6 +41,7 @@ describe("dialects.ts exports", () => {
const sortedExports = Object.keys(dialects).sort();
expect(sortedExports).toMatchInlineSnapshot(`
[
+ "BigQueryDialect",
"DuckDBDialect",
]
`);
diff --git a/src/dialects/bigquery.ts b/src/dialects/bigquery.ts
new file mode 100644
index 0000000..f1209c4
--- /dev/null
+++ b/src/dialects/bigquery.ts
@@ -0,0 +1,14 @@
+import { PostgreSQL, SQLDialect, type SQLDialectSpec } from "@codemirror/lang-sql";
+
+/**
+ * There is no custom BigQuery dialect at the moment,
+ * but we want to provide a light wrapper around PostgreSQL
+ */
+
+const BigQuery: SQLDialectSpec = {
+ ...PostgreSQL,
+ caseInsensitiveIdentifiers: true, // Case-insensitive completes
+ identifierQuotes: "`", // BigQuery uses backticks for identifiers
+};
+
+export const BigQueryDialect = SQLDialect.define(BigQuery);
diff --git a/src/dialects/index.ts b/src/dialects/index.ts
index c45977f..c03ed93 100644
--- a/src/dialects/index.ts
+++ b/src/dialects/index.ts
@@ -1 +1,2 @@
+export { BigQueryDialect } from "./bigquery.js";
export { DuckDBDialect } from "./duckdb/duckdb.js";
From 0acab89286d4442c0641da06c97aa82826e46f62 Mon Sep 17 00:00:00 2001
From: Shahmir Varqha
Date: Sat, 23 Aug 2025 14:14:12 +0800
Subject: [PATCH 15/57] change duckdb quote to ' and don't quote capitalized
identifiers (#39)
---
demo/custom-renderers.ts | 20 +++-
demo/data.ts | 81 +++++++++++++++++
demo/index.html | 2 +-
demo/index.ts | 167 +++++++++++-----------------------
demo/utils.ts | 19 ++++
src/dialects/duckdb/duckdb.ts | 3 +-
6 files changed, 174 insertions(+), 118 deletions(-)
create mode 100644 demo/data.ts
create mode 100644 demo/utils.ts
diff --git a/demo/custom-renderers.ts b/demo/custom-renderers.ts
index 1949c20..207d9a6 100644
--- a/demo/custom-renderers.ts
+++ b/demo/custom-renderers.ts
@@ -30,7 +30,7 @@ interface TableMetadata {
indexes: IndexMetadata[];
}
-export type Schema = "users" | "posts" | "orders" | "customers" | "categories";
+export type Schema = "users" | "posts" | "orders" | "customers" | "categories" | "Users_Posts";
export const tableTooltipRenderer = (data: NamespaceTooltipData) => {
// Show table name, columns, description, primary key, foreign key, index, unique, check, default, comment
@@ -292,6 +292,24 @@ function getTableMetadata(tableName: string): TableMetadata {
{ name: "idx_categories_parent", columns: ["parent_id"], unique: false },
],
},
+ Users_Posts: {
+ description: "User-Post relationships",
+ rowCount: "1,234",
+ columns: {
+ user_id: { type: "INT", notNull: true, foreignKey: true, comment: "User who posted" },
+ post_id: {
+ type: "INT",
+ notNull: true,
+ foreignKey: true,
+ comment: "Post being commented on",
+ },
+ },
+ foreignKeys: [
+ { column: "user_id", referencedTable: "users", referencedColumn: "id" },
+ { column: "post_id", referencedTable: "posts", referencedColumn: "id" },
+ ],
+ indexes: [{ name: "idx_users_posts_user", columns: ["user_id"], unique: false }],
+ },
};
return (
diff --git a/demo/data.ts b/demo/data.ts
new file mode 100644
index 0000000..d0d95c7
--- /dev/null
+++ b/demo/data.ts
@@ -0,0 +1,81 @@
+import type { Schema } from "./custom-renderers";
+
+// Default SQL content for the demo
+export const defaultSqlDoc = `-- Welcome to the SQL Editor Demo!
+-- Try editing the queries below to see real-time validation
+
+WITH cte_name AS (
+ SELECT * FROM users
+)
+
+-- Valid queries (no errors):
+SELECT id, name, email
+FROM users
+WHERE active = true
+ORDER BY created_at DESC;
+
+SELECT
+ u.name,
+ p.title,
+ p.created_at
+FROM users u
+JOIN posts p ON u.id = p.user_id
+WHERE u.status = 'active'
+ AND p.published = true
+LIMIT 10;
+
+-- Try editing these to create syntax errors:
+-- Uncomment the lines below to see error highlighting
+
+-- SELECT * FROM; -- Missing table name
+-- SELECT * FORM users; -- Typo in FROM keyword
+-- INSERT INTO VALUES (1, 2); -- Missing table name
+-- UPDATE SET name = 'test'; -- Missing table name
+
+-- Complex example with subquery:
+SELECT
+ customer_id,
+ order_date,
+ total_amount,
+ (SELECT AVG(total_amount) FROM orders) as avg_order_value
+FROM orders
+WHERE order_date >= '2024-01-01'
+ AND total_amount > (
+ SELECT AVG(total_amount) * 0.8
+ FROM orders
+ WHERE YEAR(order_date) = 2024
+ )
+ORDER BY total_amount DESC;
+`;
+
+export const schema: Record = {
+ // Users table
+ users: ["id", "name", "email", "active", "status", "created_at", "updated_at", "profile_id"],
+ // Posts table
+ posts: [
+ "id",
+ "title",
+ "content",
+ "user_id",
+ "published",
+ "created_at",
+ "updated_at",
+ "category_id",
+ ],
+ // Orders table
+ orders: [
+ "id",
+ "customer_id",
+ "order_date",
+ "total_amount",
+ "status",
+ "shipping_address",
+ "created_at",
+ ],
+ // Customers table (additional example)
+ customers: ["id", "first_name", "last_name", "email", "phone", "address", "city", "country"],
+ // Categories table
+ categories: ["id", "name", "description", "parent_id"],
+ // Users_Posts table
+ Users_Posts: ["user_id", "post_id"],
+};
diff --git a/demo/index.html b/demo/index.html
index 0dc206b..b038d16 100644
--- a/demo/index.html
+++ b/demo/index.html
@@ -34,7 +34,7 @@ SQL Editor with Diagnostics
-