sql-kite 1.0.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/package.json +3 -3
- package/server/index.js +0 -1
- package/server/routes/export.js +253 -0
- package/studio-out/404/index.html +1 -1
- package/studio-out/404.html +1 -1
- package/studio-out/__next.__PAGE__.txt +2 -2
- package/studio-out/__next._full.txt +3 -3
- package/studio-out/__next._head.txt +1 -1
- package/studio-out/__next._index.txt +2 -2
- package/studio-out/__next._tree.txt +2 -2
- package/studio-out/_next/static/chunks/{f5cb054219e2eeb8.js → 08c1d4adb886fe2d.js} +20 -23
- package/studio-out/_next/static/chunks/e49b745156bc4eb4.css +2 -0
- package/studio-out/_not-found/__next._full.txt +2 -2
- package/studio-out/_not-found/__next._head.txt +1 -1
- package/studio-out/_not-found/__next._index.txt +2 -2
- package/studio-out/_not-found/__next._not-found/__PAGE__.txt +1 -1
- package/studio-out/_not-found/__next._not-found.txt +1 -1
- package/studio-out/_not-found/__next._tree.txt +2 -2
- package/studio-out/_not-found/index.html +1 -1
- package/studio-out/_not-found/index.txt +2 -2
- package/studio-out/index.html +2 -2
- package/studio-out/index.txt +3 -3
- package/studio-out/snapshots/__next._full.txt +2 -2
- package/studio-out/snapshots/__next._head.txt +1 -1
- package/studio-out/snapshots/__next._index.txt +2 -2
- package/studio-out/snapshots/__next._tree.txt +2 -2
- package/studio-out/snapshots/__next.snapshots/__PAGE__.txt +1 -1
- package/studio-out/snapshots/__next.snapshots.txt +1 -1
- package/studio-out/snapshots/index.html +1 -1
- package/studio-out/snapshots/index.txt +2 -2
- package/studio-out/sql/__next._full.txt +2 -2
- package/studio-out/sql/__next._head.txt +1 -1
- package/studio-out/sql/__next._index.txt +2 -2
- package/studio-out/sql/__next._tree.txt +2 -2
- package/studio-out/sql/__next.sql/__PAGE__.txt +1 -1
- package/studio-out/sql/__next.sql.txt +1 -1
- package/studio-out/sql/index.html +1 -1
- package/studio-out/sql/index.txt +2 -2
- package/studio-out/tables/__next._full.txt +2 -2
- package/studio-out/tables/__next._head.txt +1 -1
- package/studio-out/tables/__next._index.txt +2 -2
- package/studio-out/tables/__next._tree.txt +2 -2
- package/studio-out/tables/__next.tables/__PAGE__.txt +1 -1
- package/studio-out/tables/__next.tables.txt +1 -1
- package/studio-out/tables/index.html +1 -1
- package/studio-out/tables/index.txt +2 -2
- package/studio-out/timeline/__next._full.txt +2 -2
- package/studio-out/timeline/__next._head.txt +1 -1
- package/studio-out/timeline/__next._index.txt +2 -2
- package/studio-out/timeline/__next._tree.txt +2 -2
- package/studio-out/timeline/__next.timeline/__PAGE__.txt +1 -1
- package/studio-out/timeline/__next.timeline.txt +1 -1
- package/studio-out/timeline/index.html +1 -1
- package/studio-out/timeline/index.txt +2 -2
- package/studio-out/_next/static/chunks/118fc599da2f27aa.css +0 -2
- /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_buildManifest.js +0 -0
- /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_clientMiddlewareManifest.json +0 -0
- /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -427,6 +427,25 @@ All data lives inside:
|
|
|
427
427
|
|
|
428
428
|
## Development
|
|
429
429
|
|
|
430
|
+
After cloning the repository, install dependencies in these 3 locations:
|
|
431
|
+
|
|
432
|
+
```bash
|
|
433
|
+
# 1. Root directory
|
|
434
|
+
npm install
|
|
435
|
+
|
|
436
|
+
# 2. CLI package
|
|
437
|
+
cd packages/cli
|
|
438
|
+
npm install
|
|
439
|
+
|
|
440
|
+
# 3. Studio package
|
|
441
|
+
cd ../studio
|
|
442
|
+
npm install
|
|
443
|
+
|
|
444
|
+
#4 Server package
|
|
445
|
+
cd ../server
|
|
446
|
+
npm install
|
|
447
|
+
```
|
|
448
|
+
|
|
430
449
|
Run services individually:
|
|
431
450
|
|
|
432
451
|
```bash
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sql-kite",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "SQL-Kite CLI — Local-first SQLite workspace with branches, migrations and snapshots.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"preferGlobal": true,
|
|
7
7
|
"bin": {
|
|
8
|
-
"sql-kite": "
|
|
8
|
+
"sql-kite": "bin/sql-kite.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"dev": "node bin/sql-kite.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
|
-
"url": "https://github.com/Ananta-V/sql-kite"
|
|
19
|
+
"url": "git+https://github.com/Ananta-V/sql-kite.git"
|
|
20
20
|
},
|
|
21
21
|
"homepage": "https://github.com/Ananta-V/sql-kite#readme",
|
|
22
22
|
"bugs": {
|
package/server/index.js
CHANGED
package/server/routes/export.js
CHANGED
|
@@ -198,4 +198,257 @@ export default async function exportRoutes(fastify, options) {
|
|
|
198
198
|
reply.code(500).send({ error: error.message });
|
|
199
199
|
}
|
|
200
200
|
});
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Export TypeScript schema file for Expo / React Native
|
|
204
|
+
*
|
|
205
|
+
* Generates a schema.ts bootstrap file with all DDL from the main branch.
|
|
206
|
+
* Does NOT include data, migrations, or DROP statements.
|
|
207
|
+
*
|
|
208
|
+
* Hardening applied:
|
|
209
|
+
* - Connection pragmas (WAL, synchronous, foreign_keys) in a separate execAsync
|
|
210
|
+
* - Tables topologically sorted by FK dependency (parents before children)
|
|
211
|
+
* - Virtual tables (FTS/R-Tree) emitted with a warning comment instead of silently
|
|
212
|
+
* - CREATE … IF NOT EXISTS normalisation handles TEMP/TEMPORARY variants
|
|
213
|
+
* - All backticks and ${ sequences in SQL are escaped for TS template literals
|
|
214
|
+
*/
|
|
215
|
+
fastify.get('/schema-typescript', async (request, reply) => {
|
|
216
|
+
const metaDb = fastify.getMetaDb();
|
|
217
|
+
const projectPath = fastify.projectPath;
|
|
218
|
+
|
|
219
|
+
try {
|
|
220
|
+
const mainBranch = metaDb.prepare(`
|
|
221
|
+
SELECT name, db_file FROM branches WHERE name = 'main'
|
|
222
|
+
`).get();
|
|
223
|
+
|
|
224
|
+
if (!mainBranch) {
|
|
225
|
+
return reply.code(400).send({ error: 'Main branch does not exist. Cannot export.' });
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
const mainDbPath = join(projectPath, mainBranch.db_file);
|
|
229
|
+
if (!existsSync(mainDbPath)) {
|
|
230
|
+
return reply.code(400).send({ error: 'Main database file not found.' });
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const mainDb = new Database(mainDbPath, { readonly: true });
|
|
234
|
+
|
|
235
|
+
// ── SQL-Kite internal table names to exclude ─────────────────────────
|
|
236
|
+
const SQLKITE_INTERNAL = new Set([
|
|
237
|
+
'branches', 'migrations', 'snapshots', 'timeline', 'settings',
|
|
238
|
+
'_sqlkite_branches', '_sqlkite_migrations', '_sqlkite_snapshots',
|
|
239
|
+
'_sqlkite_timeline', '_sqlkite_settings',
|
|
240
|
+
]);
|
|
241
|
+
|
|
242
|
+
const rows = mainDb.prepare(`
|
|
243
|
+
SELECT type, name, sql
|
|
244
|
+
FROM sqlite_master
|
|
245
|
+
WHERE type IN ('table', 'index', 'trigger', 'view')
|
|
246
|
+
AND name NOT LIKE 'sqlite_%'
|
|
247
|
+
AND sql IS NOT NULL
|
|
248
|
+
ORDER BY
|
|
249
|
+
CASE type
|
|
250
|
+
WHEN 'table' THEN 1
|
|
251
|
+
WHEN 'index' THEN 2
|
|
252
|
+
WHEN 'trigger' THEN 3
|
|
253
|
+
WHEN 'view' THEN 4
|
|
254
|
+
END,
|
|
255
|
+
name
|
|
256
|
+
`).all();
|
|
257
|
+
|
|
258
|
+
mainDb.close();
|
|
259
|
+
|
|
260
|
+
const filtered = rows.filter(row => !SQLKITE_INTERNAL.has(row.name));
|
|
261
|
+
|
|
262
|
+
// ── Helpers ──────────────────────────────────────────────────────────
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Ensure CREATE [TEMP] <type> uses IF NOT EXISTS.
|
|
266
|
+
* Handles: CREATE TABLE, CREATE TEMP TABLE, CREATE TEMPORARY TABLE, etc.
|
|
267
|
+
*/
|
|
268
|
+
function ensureIfNotExists(sql, type) {
|
|
269
|
+
const trimmed = sql.trimStart();
|
|
270
|
+
// Already has IF NOT EXISTS — leave as-is
|
|
271
|
+
if (/CREATE\s+(TEMP\s+|TEMPORARY\s+)?TABLE\s+IF\s+NOT\s+EXISTS/i.test(trimmed) ||
|
|
272
|
+
new RegExp(`CREATE\\s+(?:TEMP\\s+|TEMPORARY\\s+)?${type}\\s+IF\\s+NOT\\s+EXISTS`, 'i').test(trimmed)) {
|
|
273
|
+
return trimmed;
|
|
274
|
+
}
|
|
275
|
+
// Inject IF NOT EXISTS after CREATE [TEMP/TEMPORARY] <type>
|
|
276
|
+
return trimmed.replace(
|
|
277
|
+
new RegExp(`^(CREATE\\s+(?:TEMP(?:ORARY)?\\s+)?${type}\\s+)`, 'i'),
|
|
278
|
+
(_, prefix) => prefix.replace(
|
|
279
|
+
new RegExp(`(${type}\\s+)$`, 'i'),
|
|
280
|
+
`${type.toUpperCase()} IF NOT EXISTS `
|
|
281
|
+
)
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Escape characters that would break a JavaScript template literal:
|
|
287
|
+
* backtick → \`
|
|
288
|
+
* ${ → \${
|
|
289
|
+
*/
|
|
290
|
+
function escapeForTemplateLiteral(s) {
|
|
291
|
+
return s.replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Topological sort of tables by FK dependency.
|
|
296
|
+
* Parents (referenced tables) are emitted before children.
|
|
297
|
+
* Uses Kahn's algorithm; falls back to alphabetical within the same tier.
|
|
298
|
+
*/
|
|
299
|
+
function topoSortTables(tables) {
|
|
300
|
+
const byName = new Map(tables.map(t => [t.name.toLowerCase(), t]));
|
|
301
|
+
|
|
302
|
+
// Build dependency map: table → Set<tables it references>
|
|
303
|
+
const deps = new Map();
|
|
304
|
+
for (const t of tables) {
|
|
305
|
+
const myDeps = new Set();
|
|
306
|
+
const re = /REFERENCES\s+["'`]?(\w+)["'`]?/gi;
|
|
307
|
+
let m;
|
|
308
|
+
while ((m = re.exec(t.sql)) !== null) {
|
|
309
|
+
const ref = m[1].toLowerCase();
|
|
310
|
+
if (ref !== t.name.toLowerCase() && byName.has(ref)) {
|
|
311
|
+
myDeps.add(ref);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
deps.set(t.name.toLowerCase(), myDeps);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
// Build reverse map: table → Set<tables that depend on it>
|
|
318
|
+
const dependents = new Map(tables.map(t => [t.name.toLowerCase(), new Set()]));
|
|
319
|
+
const inDeg = new Map(tables.map(t => [t.name.toLowerCase(), 0]));
|
|
320
|
+
|
|
321
|
+
for (const [name, myDeps] of deps) {
|
|
322
|
+
for (const dep of myDeps) {
|
|
323
|
+
dependents.get(dep).add(name);
|
|
324
|
+
inDeg.set(name, inDeg.get(name) + 1);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// Process in alphabetical order within each tier for determinism
|
|
329
|
+
const queue = [...inDeg.entries()]
|
|
330
|
+
.filter(([, d]) => d === 0)
|
|
331
|
+
.map(([n]) => n)
|
|
332
|
+
.sort();
|
|
333
|
+
|
|
334
|
+
const sorted = [];
|
|
335
|
+
while (queue.length > 0) {
|
|
336
|
+
queue.sort();
|
|
337
|
+
const name = queue.shift();
|
|
338
|
+
sorted.push(byName.get(name));
|
|
339
|
+
for (const dep of [...(dependents.get(name) || [])].sort()) {
|
|
340
|
+
const newDeg = inDeg.get(dep) - 1;
|
|
341
|
+
inDeg.set(dep, newDeg);
|
|
342
|
+
if (newDeg === 0) queue.push(dep);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
// Safety net: if a cycle exists append remaining tables (shouldn't happen in valid SQLite)
|
|
347
|
+
if (sorted.length < tables.length) {
|
|
348
|
+
const sortedNames = new Set(sorted.map(t => t.name.toLowerCase()));
|
|
349
|
+
for (const t of tables) {
|
|
350
|
+
if (!sortedNames.has(t.name.toLowerCase())) sorted.push(t);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
return sorted;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Build a SQL section, applying IF NOT EXISTS and template-literal escaping.
|
|
359
|
+
* Virtual tables get a warning comment instead of silent inclusion.
|
|
360
|
+
*/
|
|
361
|
+
function buildSection(label, items, type) {
|
|
362
|
+
if (items.length === 0) return '';
|
|
363
|
+
|
|
364
|
+
const stmts = items.map(r => {
|
|
365
|
+
const isVirtual = /^\s*CREATE\s+VIRTUAL\s+TABLE/i.test(r.sql);
|
|
366
|
+
if (isVirtual) {
|
|
367
|
+
return (
|
|
368
|
+
`-- ⚠️ Virtual table "${r.name}" requires the matching SQLite extension\n` +
|
|
369
|
+
`-- (e.g. FTS5, R-Tree). Verify expo-sqlite supports it before using.\n` +
|
|
370
|
+
escapeForTemplateLiteral(ensureIfNotExists(r.sql, type)) + ';'
|
|
371
|
+
);
|
|
372
|
+
}
|
|
373
|
+
return escapeForTemplateLiteral(ensureIfNotExists(r.sql, type)) + ';';
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
return `-- ${label}\n\n${stmts.join('\n\n')}`;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// ── Sort & partition ─────────────────────────────────────────────────
|
|
380
|
+
|
|
381
|
+
const rawTables = filtered.filter(r => r.type === 'table');
|
|
382
|
+
const indexes = filtered.filter(r => r.type === 'index');
|
|
383
|
+
const triggers = filtered.filter(r => r.type === 'trigger');
|
|
384
|
+
const views = filtered.filter(r => r.type === 'view');
|
|
385
|
+
|
|
386
|
+
// Topologically sorted so FK parents come before children
|
|
387
|
+
const tables = topoSortTables(rawTables);
|
|
388
|
+
|
|
389
|
+
// ── Build schema body ────────────────────────────────────────────────
|
|
390
|
+
|
|
391
|
+
const sections = [
|
|
392
|
+
buildSection('Tables', tables, 'table'),
|
|
393
|
+
buildSection('Indexes', indexes, 'index'),
|
|
394
|
+
buildSection('Triggers', triggers, 'trigger'),
|
|
395
|
+
buildSection('Views', views, 'view'),
|
|
396
|
+
].filter(Boolean).join('\n\n');
|
|
397
|
+
|
|
398
|
+
// Indent every line 2 spaces to sit inside the template literal
|
|
399
|
+
function indent(str) {
|
|
400
|
+
return str.split('\n').map(l => ' ' + l).join('\n');
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// ── Assemble TypeScript file ─────────────────────────────────────────
|
|
404
|
+
|
|
405
|
+
const pragmasBlock = indent(
|
|
406
|
+
'PRAGMA journal_mode = WAL;\n' +
|
|
407
|
+
'PRAGMA synchronous = NORMAL;\n' +
|
|
408
|
+
'PRAGMA foreign_keys = ON;'
|
|
409
|
+
);
|
|
410
|
+
|
|
411
|
+
const schemaBlock = sections ? indent(sections) : ' -- (no user tables found)';
|
|
412
|
+
|
|
413
|
+
const tsContent =
|
|
414
|
+
`/**
|
|
415
|
+
* This file is auto-generated by SQL-Kite.
|
|
416
|
+
* It bootstraps the full schema of the main branch.
|
|
417
|
+
* It does NOT handle schema migrations.
|
|
418
|
+
* During development you may reset the database when schema changes.
|
|
419
|
+
*/
|
|
420
|
+
|
|
421
|
+
import * as SQLite from "expo-sqlite";
|
|
422
|
+
|
|
423
|
+
const DB_NAME = "app.db";
|
|
424
|
+
|
|
425
|
+
export async function initDatabase() {
|
|
426
|
+
const db = SQLite.openDatabaseSync(DB_NAME);
|
|
427
|
+
|
|
428
|
+
// Connection settings — must be applied on every open connection.
|
|
429
|
+
// WAL mode improves concurrent read performance and crash safety on mobile.
|
|
430
|
+
// foreign_keys is NOT persisted by SQLite; it must be set each time.
|
|
431
|
+
await db.execAsync(\`
|
|
432
|
+
${pragmasBlock}
|
|
433
|
+
\`);
|
|
434
|
+
|
|
435
|
+
// Schema — tables are ordered so FK parents are created before children.
|
|
436
|
+
await db.execAsync(\`
|
|
437
|
+
${schemaBlock}
|
|
438
|
+
\`);
|
|
439
|
+
|
|
440
|
+
return db;
|
|
441
|
+
}
|
|
442
|
+
`;
|
|
443
|
+
|
|
444
|
+
reply
|
|
445
|
+
.header('Content-Type', 'text/plain; charset=utf-8')
|
|
446
|
+
.header('Content-Disposition', 'attachment; filename="schema.ts"')
|
|
447
|
+
.send(tsContent);
|
|
448
|
+
|
|
449
|
+
} catch (error) {
|
|
450
|
+
console.error('TypeScript schema export error:', error);
|
|
451
|
+
reply.code(500).send({ error: error.message });
|
|
452
|
+
}
|
|
453
|
+
});
|
|
201
454
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--bo0QrZV4Bl_zvbheyfPCl--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/e49b745156bc4eb4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/240f2fa81d4fb687.js"/><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/99b69e65b599be96.js" async=""></script><script src="/_next/static/chunks/turbopack-1577480078e795df.js" async=""></script><script src="/_next/static/chunks/d104f42a7b0c57b2.js" async=""></script><script src="/_next/static/chunks/d4aa9be9c80c98d6.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Sql Kite</title><meta name="description" content="Local SQLite database management platform"/><link rel="icon" href="/logo.svg"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section class="Toastify" aria-live="polite" aria-atomic="false" aria-relevant="additions text" aria-label="Notifications Alt+T"></section><script src="/_next/static/chunks/240f2fa81d4fb687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n4:I[80628,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n:HL[\"/_next/static/chunks/e49b745156bc4eb4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bo0QrZV4Bl-zvbheyfPCl\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/e49b745156bc4eb4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d4aa9be9c80c98d6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Sql Kite\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local SQLite database management platform\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/logo.svg\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
|
package/studio-out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--bo0QrZV4Bl_zvbheyfPCl--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/e49b745156bc4eb4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/240f2fa81d4fb687.js"/><script src="/_next/static/chunks/f2f58a7e93290fbb.js" async=""></script><script src="/_next/static/chunks/99b69e65b599be96.js" async=""></script><script src="/_next/static/chunks/turbopack-1577480078e795df.js" async=""></script><script src="/_next/static/chunks/d104f42a7b0c57b2.js" async=""></script><script src="/_next/static/chunks/d4aa9be9c80c98d6.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Sql Kite</title><meta name="description" content="Local SQLite database management platform"/><link rel="icon" href="/logo.svg"/><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><section class="Toastify" aria-live="polite" aria-atomic="false" aria-relevant="additions text" aria-label="Notifications Alt+T"></section><script src="/_next/static/chunks/240f2fa81d4fb687.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n4:I[80628,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n5:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n8:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"ViewportBoundary\"]\na:I[97367,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"MetadataBoundary\"]\nc:I[68027,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"default\"]\n:HL[\"/_next/static/chunks/e49b745156bc4eb4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"bo0QrZV4Bl-zvbheyfPCl\",\"c\":[\"\",\"_not-found\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/e49b745156bc4eb4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/d4aa9be9c80c98d6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L4\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[27201,[\"/_next/static/chunks/d104f42a7b0c57b2.js\",\"/_next/static/chunks/d4aa9be9c80c98d6.js\"],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"Sql Kite\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Local SQLite database management platform\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/logo.svg\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
1:"$Sreact.fragment"
|
|
2
2
|
2:I[47257,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"ClientPageRoot"]
|
|
3
|
-
3:I[53865,["/_next/static/chunks/d104f42a7b0c57b2.js","/_next/static/chunks/f547e106c8e2aa8e.js","/_next/static/chunks/
|
|
3
|
+
3:I[53865,["/_next/static/chunks/d104f42a7b0c57b2.js","/_next/static/chunks/f547e106c8e2aa8e.js","/_next/static/chunks/08c1d4adb886fe2d.js"],"default"]
|
|
4
4
|
6:I[97367,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"OutletBoundary"]
|
|
5
5
|
7:"$Sreact.suspense"
|
|
6
6
|
:HL["/_next/static/chunks/b20313408e970968.css","style"]
|
|
7
|
-
0:{"buildId":"
|
|
7
|
+
0:{"buildId":"bo0QrZV4Bl-zvbheyfPCl","rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/b20313408e970968.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/f547e106c8e2aa8e.js","async":true}],["$","script","script-1",{"src":"/_next/static/chunks/08c1d4adb886fe2d.js","async":true}]],["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"loading":null,"isPartial":false}
|
|
8
8
|
4:{}
|
|
9
9
|
5:"$0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
10
10
|
8:null
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
3:I[37457,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"default"]
|
|
4
4
|
4:I[80628,["/_next/static/chunks/d104f42a7b0c57b2.js"],"default"]
|
|
5
5
|
5:I[47257,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"ClientPageRoot"]
|
|
6
|
-
6:I[53865,["/_next/static/chunks/d104f42a7b0c57b2.js","/_next/static/chunks/f547e106c8e2aa8e.js","/_next/static/chunks/
|
|
6
|
+
6:I[53865,["/_next/static/chunks/d104f42a7b0c57b2.js","/_next/static/chunks/f547e106c8e2aa8e.js","/_next/static/chunks/08c1d4adb886fe2d.js"],"default"]
|
|
7
7
|
9:I[97367,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"OutletBoundary"]
|
|
8
8
|
a:"$Sreact.suspense"
|
|
9
9
|
c:I[97367,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"ViewportBoundary"]
|
|
10
10
|
e:I[97367,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"MetadataBoundary"]
|
|
11
11
|
10:I[68027,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"default"]
|
|
12
|
-
:HL["/_next/static/chunks/
|
|
12
|
+
:HL["/_next/static/chunks/e49b745156bc4eb4.css","style"]
|
|
13
13
|
:HL["/_next/static/chunks/b20313408e970968.css","style"]
|
|
14
|
-
0:{"P":null,"b":"
|
|
14
|
+
0:{"P":null,"b":"bo0QrZV4Bl-zvbheyfPCl","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/e49b745156bc4eb4.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/d104f42a7b0c57b2.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","$L4",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[["$","$L5",null,{"Component":"$6","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@7","$@8"]}}],[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/b20313408e970968.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/f547e106c8e2aa8e.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/08c1d4adb886fe2d.js","async":true,"nonce":"$undefined"}]],["$","$L9",null,{"children":["$","$a",null,{"name":"Next.MetadataOutlet","children":"$@b"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lc",null,{"children":"$Ld"}],["$","div",null,{"hidden":true,"children":["$","$Le",null,{"children":["$","$a",null,{"name":"Next.Metadata","children":"$Lf"}]}]}],null]}],false]],"m":"$undefined","G":["$10",[]],"S":true}
|
|
15
15
|
7:{}
|
|
16
16
|
8:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
17
17
|
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
3:I[97367,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"MetadataBoundary"]
|
|
4
4
|
4:"$Sreact.suspense"
|
|
5
5
|
5:I[27201,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"IconMark"]
|
|
6
|
-
0:{"buildId":"
|
|
6
|
+
0:{"buildId":"bo0QrZV4Bl-zvbheyfPCl","rsc":["$","$1","h",{"children":[null,["$","$L2",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]}],["$","div",null,{"hidden":true,"children":["$","$L3",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Sql Kite"}],["$","meta","1",{"name":"description","content":"Local SQLite database management platform"}],["$","link","2",{"rel":"icon","href":"/logo.svg"}],["$","$L5","3",{}]]}]}]}],null]}],"loading":null,"isPartial":false}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
2:I[39756,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"default"]
|
|
3
3
|
3:I[37457,["/_next/static/chunks/d4aa9be9c80c98d6.js"],"default"]
|
|
4
4
|
4:I[80628,["/_next/static/chunks/d104f42a7b0c57b2.js"],"default"]
|
|
5
|
-
:HL["/_next/static/chunks/
|
|
6
|
-
0:{"buildId":"
|
|
5
|
+
:HL["/_next/static/chunks/e49b745156bc4eb4.css","style"]
|
|
6
|
+
0:{"buildId":"bo0QrZV4Bl-zvbheyfPCl","rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/e49b745156bc4eb4.css","precedence":"next"}],["$","script","script-0",{"src":"/_next/static/chunks/d104f42a7b0c57b2.js","async":true}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":[["$","$L2",null,{"parallelRouterKey":"children","template":["$","$L3",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}],["$","$L4",null,{}]]}]}]]}],"loading":null,"isPartial":false}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
:HL["/_next/static/chunks/
|
|
1
|
+
:HL["/_next/static/chunks/e49b745156bc4eb4.css","style"]
|
|
2
2
|
:HL["/_next/static/chunks/b20313408e970968.css","style"]
|
|
3
|
-
0:{"buildId":"
|
|
3
|
+
0:{"buildId":"bo0QrZV4Bl-zvbheyfPCl","tree":{"name":"","paramType":null,"paramKey":"","hasRuntimePrefetch":false,"slots":{"children":{"name":"__PAGE__","paramType":null,"paramKey":"__PAGE__","hasRuntimePrefetch":false,"slots":null,"isRootLayout":false}},"isRootLayout":true},"staleTime":300}
|