@gscdump/engine-sqlite 0.4.0 → 0.6.1

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.
Files changed (2) hide show
  1. package/README.md +80 -0
  2. package/package.json +4 -4
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # @gscdump/engine-sqlite
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@gscdump/engine-sqlite?color=yellow)](https://npmjs.com/package/@gscdump/engine-sqlite)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@gscdump/engine-sqlite?color=yellow)](https://npm.chart.dev/@gscdump/engine-sqlite)
5
+ [![license](https://img.shields.io/github/license/harlan-zw/gscdump?color=yellow)](https://github.com/harlan-zw/gscdump/blob/main/LICENSE)
6
+
7
+ > SQLite / D1 engine adapter for `@gscdump/analysis` — typed analytics over sqlite-proxy executors (Cloudflare D1, libsql).
8
+
9
+ Wraps any sqlite-proxy executor (`(sql, params) => rows`) as a `SqlQuerySource` bound to a tenant `siteId`. Driver glue only; the typed builder + raw-SQL plumbing lives in `@gscdump/engine/resolver`.
10
+
11
+ Bundle: **5.3 kB / 1.4 kB gzipped**.
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ npm install @gscdump/engine-sqlite @gscdump/analysis drizzle-orm
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```ts
22
+ import {
23
+ aggClicks,
24
+ aggCtr,
25
+ aggImpressions,
26
+ aggPosition,
27
+ compileSqlite,
28
+ createSqliteInsightRunner,
29
+ gsc_keywords,
30
+ sql,
31
+ } from '@gscdump/engine-sqlite'
32
+
33
+ const queryExpr = sql`
34
+ SELECT ${gsc_keywords.query} as keyword,
35
+ SUM(${gsc_keywords.clicks}) as clicks,
36
+ ${aggCtr(gsc_keywords)} as ctr
37
+ FROM ${gsc_keywords}
38
+ WHERE ${gsc_keywords.site_id} = ${siteId}
39
+ GROUP BY ${gsc_keywords.query}
40
+ `
41
+
42
+ const { sql: compiledSql, params } = compileSqlite(queryExpr)
43
+ const rows = await executor(compiledSql, params) // queryUserD1, libsql, ...
44
+ ```
45
+
46
+ ### Engine source for analyzer dispatch
47
+
48
+ ```ts
49
+ import { createEngine } from '@gscdump/engine-sqlite'
50
+
51
+ const source = createEngine({
52
+ executor, // (sql, params, mode) => { rows }
53
+ siteId,
54
+ regex: true, // hosts that expose REGEXP (D1, libsql, sqlite3+regexp)
55
+ })
56
+ ```
57
+
58
+ Always import `sql` from `@gscdump/engine-sqlite` — not `drizzle-orm` directly — so consumers bind to the package's drizzle-orm instance and avoid cross-install `SQL<unknown>` mismatches.
59
+
60
+ ## Exports
61
+
62
+ - `createEngine({ executor, siteId, regex? })` — builds a `SqlQuerySource`.
63
+ - `createSqliteInsightRunner({ executor })` — sqlite-proxy drizzle adapter.
64
+ - `compileSqlite(sql)` — compile to `{ sql, params }` for any HTTP executor.
65
+ - `aggClicks` / `aggImpressions` / `aggCtr` / `aggPosition` — aggregate helpers.
66
+ - `scopeFor(table, { siteId, window })` / `mergeScope()` — tenant scope predicates.
67
+ - `gsc_pages` / `gsc_keywords` / `gsc_page_keywords` / `gsc_countries` / `gsc_devices` / `schema` — drizzle schema mirroring `gscdump/analytics` `SCHEMAS`.
68
+ - `sqliteResolverAdapter` / `createSqliteResolverAdapter` / `probeSqliteRegex` — dialect adapter for the resolver kit.
69
+ - `resolveWindow` (re-exported from `@gscdump/analysis/period`).
70
+
71
+ ## Related
72
+
73
+ - [`@gscdump/engine`](../engine) — Storage contracts + dialect-neutral resolver.
74
+ - [`@gscdump/analysis`](../analysis) — Analyzer registry + dispatcher.
75
+ - [`@gscdump/engine-duckdb-node`](../engine-duckdb-node) — Node DuckDB counterpart.
76
+ - [`@gscdump/engine-wasm`](../engine-wasm) — Browser DuckDB-WASM counterpart.
77
+
78
+ ## License
79
+
80
+ [MIT](../../LICENSE)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gscdump/engine-sqlite",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.6.1",
5
5
  "description": "SQLite / D1 engine adapter for @gscdump/analysis — typed analytics over sqlite-proxy executors (Cloudflare D1, libsql).",
6
6
  "author": {
7
7
  "name": "Harlan Wilton",
@@ -38,9 +38,9 @@
38
38
  "drizzle-orm": "^0.45.2"
39
39
  },
40
40
  "dependencies": {
41
- "@gscdump/analysis": "0.4.0",
42
- "@gscdump/engine": "0.4.0",
43
- "gscdump": "0.4.0"
41
+ "@gscdump/analysis": "0.6.1",
42
+ "@gscdump/engine": "0.6.1",
43
+ "gscdump": "0.6.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "drizzle-orm": "^0.45.2",