feat: MetonaSqlark v0.1.12 — 前端TypeScript关系型数据库
CI / test (18.x) (push) Successful in 9m49s
CI / test (20.x) (push) Successful in 9m50s
CI / test (22.x) (push) Successful in 9m48s
CI / test (24.x) (push) Successful in 9m45s

- 4种存储引擎:Memory / IndexedDB / OPFS / Hybrid
- 完整SQL:SELECT/INSERT/UPDATE/DELETE/JOIN/GROUP BY/HAVING/DISTINCT
- Query Builder链式API + TypeScript泛型
- 聚合/事务/插件/发布订阅/迁移/导入导出
- React/Vue集成,264测试,93.46%覆盖率,零运行时依赖
This commit is contained in:
thzxx
2026-07-26 15:18:45 +08:00
parent e2a590c5b1
commit 7858cf3720
14 changed files with 9086 additions and 62 deletions
+4 -4
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>在线演示 — metona-sqlark</title>
<title>在线演示 — MetonaSqlark</title>
<style>
:root {
--bg:#0a0a0f; --surface:#0d1117; --surface2:#161b22; --border:#30363d;
@@ -87,7 +87,7 @@
<body>
<header>
<div class="logo"><div class="icon"></div><span>metona-sqlark</span></div>
<div class="logo"><div class="icon"></div><span>MetonaSqlark</span></div>
<nav>
<a href="index.html">首页</a>
<a href="docs.html">文档</a>
@@ -104,7 +104,7 @@
<div class="tab" data-tab="builder">Query Builder</div>
</div>
<div class="editor-area">
<textarea id="sql-input" placeholder="输入 SQL 语句...&#10;&#10;SELECT * FROM users WHERE age > 18&#10;INSERT INTO users VALUES ('4', 'Diana', 'diana@test.com', 28)&#10;SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id = o.user_id">-- 欢迎使用 metona-sqlark 在线演示 🚀
<textarea id="sql-input" placeholder="输入 SQL 语句...&#10;&#10;SELECT * FROM users WHERE age > 18&#10;INSERT INTO users VALUES ('4', 'Diana', 'diana@test.com', 28)&#10;SELECT u.name, o.amount FROM users u INNER JOIN orders o ON u.id = o.user_id">-- 欢迎使用 MetonaSqlark 在线演示 🚀
-- 已预置 users / orders 表数据,试试以下查询:
SELECT * FROM users;
@@ -335,7 +335,7 @@ document.querySelectorAll('.tab').forEach(tab => {
// Boot
initDB().then(() => {
console.log('✅ metona-sqlark demo ready');
console.log('✅ MetonaSqlark demo ready');
// Auto-run initial query
setTimeout(runQuery, 200);
});