@gscdump/engine-sqlite 3.4.4 → 3.6.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 +24 -31
- package/dist/metrics.d.mts +4 -5
- package/dist/query-source.d.mts +3 -4
- package/dist/r2-manifest-schema.d.mts +18 -19
- package/dist/r2-manifest-store.d.mts +2 -3
- package/dist/resolver-adapter.d.mts +7 -8
- package/dist/runner.d.mts +8 -8
- package/dist/schema.d.mts +8 -9
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
[](https://npm.chart.dev/@gscdump/engine-sqlite)
|
|
5
5
|
[](https://github.com/harlan-zw/gscdump/blob/main/LICENSE)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Run typed analytics over SQLite or D1 through an async executor.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Bundle: **5.3 kB / 1.4 kB gzipped**.
|
|
9
|
+
`createSqliteQuerySource` wraps an executor as an `AnalysisQuerySource` scoped to a Site.
|
|
10
|
+
The Engine resolver builds the SQL; your executor runs it.
|
|
12
11
|
|
|
13
12
|
## Install
|
|
14
13
|
|
|
@@ -20,18 +19,14 @@ npm install @gscdump/engine-sqlite @gscdump/engine drizzle-orm
|
|
|
20
19
|
|
|
21
20
|
```ts
|
|
22
21
|
import {
|
|
23
|
-
aggClicks,
|
|
24
22
|
aggCtr,
|
|
25
|
-
aggImpressions,
|
|
26
|
-
aggPosition,
|
|
27
23
|
compileSqlite,
|
|
28
|
-
createSqliteInsightRunner,
|
|
29
24
|
gsc_keywords,
|
|
30
25
|
sql,
|
|
31
26
|
} from '@gscdump/engine-sqlite'
|
|
32
27
|
|
|
33
28
|
const queryExpr = sql`
|
|
34
|
-
SELECT ${gsc_keywords.query} as
|
|
29
|
+
SELECT ${gsc_keywords.query} as query,
|
|
35
30
|
SUM(${gsc_keywords.clicks}) as clicks,
|
|
36
31
|
${aggCtr(gsc_keywords)} as ctr
|
|
37
32
|
FROM ${gsc_keywords}
|
|
@@ -40,7 +35,7 @@ const queryExpr = sql`
|
|
|
40
35
|
`
|
|
41
36
|
|
|
42
37
|
const { sql: compiledSql, params } = compileSqlite(queryExpr)
|
|
43
|
-
const rows = await executor(compiledSql, params
|
|
38
|
+
const { rows } = await executor(compiledSql, params, 'all')
|
|
44
39
|
```
|
|
45
40
|
|
|
46
41
|
### Engine source for analyzer dispatch
|
|
@@ -51,39 +46,37 @@ import { createSqliteQuerySource } from '@gscdump/engine-sqlite'
|
|
|
51
46
|
const source = createSqliteQuerySource({
|
|
52
47
|
executor, // (sql, params, mode) => { rows }
|
|
53
48
|
siteId,
|
|
54
|
-
regex: true, //
|
|
49
|
+
regex: true, // Enable only if your executor supports REGEXP
|
|
55
50
|
})
|
|
56
51
|
```
|
|
57
52
|
|
|
58
|
-
|
|
53
|
+
Import `sql` from `@gscdump/engine-sqlite` so it uses the same Drizzle instance as the package.
|
|
54
|
+
This avoids `SQL<unknown>` type mismatches between installations.
|
|
59
55
|
|
|
60
56
|
## Exports
|
|
61
57
|
|
|
62
|
-
- `createSqliteQuerySource({ executor, siteId, regex? })`
|
|
63
|
-
- `createSqliteInsightRunner({ executor })`
|
|
64
|
-
- `compileSqlite(sql)`
|
|
65
|
-
- `aggClicks` / `aggImpressions` / `aggCtr` / `aggPosition`
|
|
66
|
-
- `scopeFor(table, { siteId, window })` / `mergeScope()`
|
|
67
|
-
- `gsc_pages` / `gsc_keywords` / `gsc_page_keywords` / `gsc_countries` / `gsc_devices` / `schema`
|
|
68
|
-
- `sqliteResolverAdapter` / `createSqliteResolverAdapter` / `probeSqliteRegex`
|
|
58
|
+
- `createSqliteQuerySource({ executor, siteId, regex? })` : builds an `AnalysisQuerySource`.
|
|
59
|
+
- `createSqliteInsightRunner({ executor })` : sqlite-proxy drizzle adapter.
|
|
60
|
+
- `compileSqlite(sql)` : compile to `{ sql, params }` for any HTTP executor.
|
|
61
|
+
- `aggClicks` / `aggImpressions` / `aggCtr` / `aggPosition` : aggregate helpers.
|
|
62
|
+
- `scopeFor(table, { siteId, window })` / `mergeScope()` : tenant scope predicates.
|
|
63
|
+
- `gsc_pages` / `gsc_keywords` / `gsc_page_keywords` / `gsc_countries` / `gsc_devices` / `gsc_query_dim` / `schema` : drizzle schema mirroring `@gscdump/engine/schema`.
|
|
64
|
+
- `sqliteResolverAdapter` / `createSqliteResolverAdapter` / `probeSqliteRegex` : dialect adapter for the resolver kit.
|
|
69
65
|
- `resolveWindow` (re-exported from `@gscdump/engine/period`).
|
|
70
66
|
|
|
71
|
-
##
|
|
67
|
+
## Storage tables
|
|
72
68
|
|
|
73
|
-
The `gsc_*`
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
migration. A future retirement should be staged behind a consumer usage audit,
|
|
78
|
-
dual-read/shadow-read checks, and a release note that names the replacement
|
|
79
|
-
Iceberg/R2 SQL path.
|
|
69
|
+
The `gsc_*` tables remain exported for SQLite and D1 consumers.
|
|
70
|
+
This adapter also exports `createD1ManifestStore` and its `r2*` manifest tables.
|
|
71
|
+
Your application owns table creation, migrations, and data ingestion.
|
|
72
|
+
The CLI uses a Parquet Store; it does not sync into these SQLite tables.
|
|
80
73
|
|
|
81
74
|
## Related
|
|
82
75
|
|
|
83
|
-
- [`@gscdump/engine`](../engine)
|
|
84
|
-
- [`@gscdump/analysis`](../analysis)
|
|
85
|
-
- [`@gscdump/engine/node`](../engine)
|
|
86
|
-
- [`@gscdump/engine-duckdb-wasm`](../engine-duckdb-wasm)
|
|
76
|
+
- [`@gscdump/engine`](../engine) : Storage contracts + dialect-neutral resolver.
|
|
77
|
+
- [`@gscdump/analysis`](../analysis) : Analyzer registry + dispatcher.
|
|
78
|
+
- [`@gscdump/engine/node`](../engine) : Node DuckDB counterpart.
|
|
79
|
+
- [`@gscdump/engine-duckdb-wasm`](../engine-duckdb-wasm) : Browser DuckDB-WASM counterpart.
|
|
87
80
|
|
|
88
81
|
## License
|
|
89
82
|
|
package/dist/metrics.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { gsc_countries, gsc_devices, gsc_keywords, gsc_page_keywords, gsc_pages } from "./schema.mjs";
|
|
2
2
|
import { SQL } from "drizzle-orm";
|
|
3
3
|
type MetricTable = typeof gsc_pages | typeof gsc_keywords | typeof gsc_countries | typeof gsc_devices | typeof gsc_page_keywords;
|
|
4
|
-
declare function aggClicks(t: MetricTable): SQL;
|
|
5
|
-
declare function aggImpressions(t: MetricTable): SQL;
|
|
6
|
-
declare function aggCtr(t: MetricTable): SQL;
|
|
7
|
-
declare function aggPosition(t: MetricTable): SQL;
|
|
8
|
-
export { aggClicks, aggCtr, aggImpressions, aggPosition };
|
|
4
|
+
export declare function aggClicks(t: MetricTable): SQL;
|
|
5
|
+
export declare function aggImpressions(t: MetricTable): SQL;
|
|
6
|
+
export declare function aggCtr(t: MetricTable): SQL;
|
|
7
|
+
export declare function aggPosition(t: MetricTable): SQL;
|
package/dist/query-source.d.mts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { SqliteRowExecutor } from "./runner.mjs";
|
|
2
2
|
import { AnalysisQuerySource } from "@gscdump/engine/source";
|
|
3
|
-
type SqliteQueryExecutor = SqliteRowExecutor;
|
|
4
|
-
interface SqliteQuerySourceOptions {
|
|
3
|
+
export type SqliteQueryExecutor = SqliteRowExecutor;
|
|
4
|
+
export interface SqliteQuerySourceOptions {
|
|
5
5
|
executor: SqliteQueryExecutor;
|
|
6
6
|
siteId: string | number;
|
|
7
7
|
/** Override for hosts that expose REGEXP (D1, libsql, sqlite3+regexp). */
|
|
8
8
|
regex?: boolean;
|
|
9
9
|
}
|
|
10
|
-
declare function createSqliteQuerySource(config: SqliteQuerySourceOptions): AnalysisQuerySource;
|
|
11
|
-
export { SqliteQueryExecutor, SqliteQuerySourceOptions, createSqliteQuerySource };
|
|
10
|
+
export declare function createSqliteQuerySource(config: SqliteQuerySourceOptions): AnalysisQuerySource;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const r2Manifest: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1
|
+
export declare const r2Manifest: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
2
2
|
name: "r2_manifest";
|
|
3
3
|
schema: undefined;
|
|
4
4
|
columns: {
|
|
@@ -213,9 +213,9 @@ declare const r2Manifest: import("drizzle-orm/sqlite-core").SQLiteTableWithColum
|
|
|
213
213
|
};
|
|
214
214
|
dialect: "sqlite";
|
|
215
215
|
}>;
|
|
216
|
-
type R2ManifestInsert = typeof r2Manifest.$inferInsert;
|
|
217
|
-
type R2ManifestSelect = typeof r2Manifest.$inferSelect;
|
|
218
|
-
declare const r2WriteErrors: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
216
|
+
export type R2ManifestInsert = typeof r2Manifest.$inferInsert;
|
|
217
|
+
export type R2ManifestSelect = typeof r2Manifest.$inferSelect;
|
|
218
|
+
export declare const r2WriteErrors: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
219
219
|
name: "r2_write_errors";
|
|
220
220
|
schema: undefined;
|
|
221
221
|
columns: {
|
|
@@ -334,9 +334,9 @@ declare const r2WriteErrors: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
|
|
|
334
334
|
};
|
|
335
335
|
dialect: "sqlite";
|
|
336
336
|
}>;
|
|
337
|
-
type R2WriteErrorInsert = typeof r2WriteErrors.$inferInsert;
|
|
338
|
-
type R2WriteErrorSelect = typeof r2WriteErrors.$inferSelect;
|
|
339
|
-
declare const r2ShadowDiffs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
337
|
+
export type R2WriteErrorInsert = typeof r2WriteErrors.$inferInsert;
|
|
338
|
+
export type R2WriteErrorSelect = typeof r2WriteErrors.$inferSelect;
|
|
339
|
+
export declare const r2ShadowDiffs: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
340
340
|
name: "r2_shadow_diffs";
|
|
341
341
|
schema: undefined;
|
|
342
342
|
columns: {
|
|
@@ -439,9 +439,9 @@ declare const r2ShadowDiffs: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
|
|
|
439
439
|
};
|
|
440
440
|
dialect: "sqlite";
|
|
441
441
|
}>;
|
|
442
|
-
type R2ShadowDiffInsert = typeof r2ShadowDiffs.$inferInsert;
|
|
443
|
-
type R2ShadowDiffSelect = typeof r2ShadowDiffs.$inferSelect;
|
|
444
|
-
declare const r2Locks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
442
|
+
export type R2ShadowDiffInsert = typeof r2ShadowDiffs.$inferInsert;
|
|
443
|
+
export type R2ShadowDiffSelect = typeof r2ShadowDiffs.$inferSelect;
|
|
444
|
+
export declare const r2Locks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
445
445
|
name: "r2_locks";
|
|
446
446
|
schema: undefined;
|
|
447
447
|
columns: {
|
|
@@ -512,9 +512,9 @@ declare const r2Locks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<
|
|
|
512
512
|
};
|
|
513
513
|
dialect: "sqlite";
|
|
514
514
|
}>;
|
|
515
|
-
type R2LockInsert = typeof r2Locks.$inferInsert;
|
|
516
|
-
type R2LockSelect = typeof r2Locks.$inferSelect;
|
|
517
|
-
declare const r2Watermarks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
515
|
+
export type R2LockInsert = typeof r2Locks.$inferInsert;
|
|
516
|
+
export type R2LockSelect = typeof r2Locks.$inferSelect;
|
|
517
|
+
export declare const r2Watermarks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
518
518
|
name: "r2_watermarks";
|
|
519
519
|
schema: undefined;
|
|
520
520
|
columns: {
|
|
@@ -617,9 +617,9 @@ declare const r2Watermarks: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
|
|
|
617
617
|
};
|
|
618
618
|
dialect: "sqlite";
|
|
619
619
|
}>;
|
|
620
|
-
type R2WatermarkInsert = typeof r2Watermarks.$inferInsert;
|
|
621
|
-
type R2WatermarkSelect = typeof r2Watermarks.$inferSelect;
|
|
622
|
-
declare const r2SyncStates: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
620
|
+
export type R2WatermarkInsert = typeof r2Watermarks.$inferInsert;
|
|
621
|
+
export type R2WatermarkSelect = typeof r2Watermarks.$inferSelect;
|
|
622
|
+
export declare const r2SyncStates: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
623
623
|
name: "r2_sync_states";
|
|
624
624
|
schema: undefined;
|
|
625
625
|
columns: {
|
|
@@ -770,6 +770,5 @@ declare const r2SyncStates: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
|
|
|
770
770
|
};
|
|
771
771
|
dialect: "sqlite";
|
|
772
772
|
}>;
|
|
773
|
-
type R2SyncStateInsert = typeof r2SyncStates.$inferInsert;
|
|
774
|
-
type R2SyncStateSelect = typeof r2SyncStates.$inferSelect;
|
|
775
|
-
export { R2LockInsert, R2LockSelect, R2ManifestInsert, R2ManifestSelect, R2ShadowDiffInsert, R2ShadowDiffSelect, R2SyncStateInsert, R2SyncStateSelect, R2WatermarkInsert, R2WatermarkSelect, R2WriteErrorInsert, R2WriteErrorSelect, r2Locks, r2Manifest, r2ShadowDiffs, r2SyncStates, r2Watermarks, r2WriteErrors };
|
|
773
|
+
export type R2SyncStateInsert = typeof r2SyncStates.$inferInsert;
|
|
774
|
+
export type R2SyncStateSelect = typeof r2SyncStates.$inferSelect;
|
|
@@ -9,6 +9,5 @@ interface AnalyticsManifestSchema extends Schema {
|
|
|
9
9
|
r2Watermarks: typeof r2Watermarks;
|
|
10
10
|
}
|
|
11
11
|
type AnalyticsManifestRelations = ExtractTablesWithRelations<Record<string, never>, AnalyticsManifestSchema>;
|
|
12
|
-
type AnalyticsManifestDb = DrizzleD1Database<AnalyticsManifestRelations>;
|
|
13
|
-
declare function createD1ManifestStore(db: AnalyticsManifestDb): ManifestStore;
|
|
14
|
-
export { AnalyticsManifestDb, createD1ManifestStore };
|
|
12
|
+
export type AnalyticsManifestDb = DrizzleD1Database<AnalyticsManifestRelations>;
|
|
13
|
+
export declare function createD1ManifestStore(db: AnalyticsManifestDb): ManifestStore;
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { schema } from "./schema.mjs";
|
|
2
2
|
import { SqliteRowExecutor } from "./runner.mjs";
|
|
3
3
|
import { ResolverAdapter } from "@gscdump/engine/resolver";
|
|
4
|
-
type TableKey = keyof typeof schema;
|
|
5
|
-
interface CreateSqliteResolverAdapterOptions {
|
|
4
|
+
export type TableKey = keyof typeof schema;
|
|
5
|
+
export interface CreateSqliteResolverAdapterOptions {
|
|
6
6
|
regex?: boolean;
|
|
7
7
|
}
|
|
8
|
-
declare function createSqliteResolverAdapter(options?: CreateSqliteResolverAdapterOptions): ResolverAdapter<TableKey>;
|
|
9
|
-
declare const sqliteResolverAdapter: ResolverAdapter<"gsc_pages" | "gsc_keywords" | "gsc_countries" | "gsc_devices" | "gsc_page_keywords" | "gsc_search_appearance" | "gsc_search_appearance_pages" | "gsc_search_appearance_queries" | "gsc_search_appearance_page_queries" | "gsc_hourly_pages" | "gsc_query_dim">;
|
|
8
|
+
export declare function createSqliteResolverAdapter(options?: CreateSqliteResolverAdapterOptions): ResolverAdapter<TableKey>;
|
|
9
|
+
export declare const sqliteResolverAdapter: ResolverAdapter<"gsc_pages" | "gsc_keywords" | "gsc_countries" | "gsc_devices" | "gsc_page_keywords" | "gsc_search_appearance" | "gsc_search_appearance_pages" | "gsc_search_appearance_queries" | "gsc_search_appearance_page_queries" | "gsc_hourly_pages" | "gsc_query_dim">;
|
|
10
10
|
/**
|
|
11
11
|
* One-shot probe that detects whether the host SQLite has a working REGEXP
|
|
12
12
|
* function. SQLite ships REGEXP as a no-op stub by default; D1, libsql, and
|
|
13
13
|
* sqlite3 with the regexp extension register a real implementation. Probe
|
|
14
14
|
* once at adapter construction so per-query plan-time gating is honest.
|
|
15
15
|
*/
|
|
16
|
-
declare function probeSqliteRegex(executor: SqliteRowExecutor): Promise<boolean>;
|
|
17
|
-
interface CreateSqliteResolverAdapterFromExecutorOptions {
|
|
16
|
+
export declare function probeSqliteRegex(executor: SqliteRowExecutor): Promise<boolean>;
|
|
17
|
+
export interface CreateSqliteResolverAdapterFromExecutorOptions {
|
|
18
18
|
executor: SqliteRowExecutor;
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
@@ -23,5 +23,4 @@ interface CreateSqliteResolverAdapterFromExecutorOptions {
|
|
|
23
23
|
* the manual `createSqliteResolverAdapter({ regex })` whenever you have
|
|
24
24
|
* an executor handy.
|
|
25
25
|
*/
|
|
26
|
-
declare function createSqliteResolverAdapterFromExecutor(options: CreateSqliteResolverAdapterFromExecutorOptions): Promise<ResolverAdapter<TableKey>>;
|
|
27
|
-
export { CreateSqliteResolverAdapterFromExecutorOptions, CreateSqliteResolverAdapterOptions, TableKey, createSqliteResolverAdapter, createSqliteResolverAdapterFromExecutor, probeSqliteRegex, sqliteResolverAdapter };
|
|
26
|
+
export declare function createSqliteResolverAdapterFromExecutor(options: CreateSqliteResolverAdapterFromExecutorOptions): Promise<ResolverAdapter<TableKey>>;
|
package/dist/runner.d.mts
CHANGED
|
@@ -4,14 +4,14 @@ import { ScopedRunnerOptions, TableScope } from "@gscdump/engine/scope";
|
|
|
4
4
|
import { ExtractTablesWithRelations, Schema } from "drizzle-orm/relations";
|
|
5
5
|
import { SqliteRemoteDatabase } from "drizzle-orm/sqlite-proxy";
|
|
6
6
|
type SchemaRelations<TSchema extends Schema> = ExtractTablesWithRelations<Record<string, never>, TSchema>;
|
|
7
|
-
declare function compileSqlite(query: SQL): {
|
|
7
|
+
export declare function compileSqlite(query: SQL): {
|
|
8
8
|
sql: string;
|
|
9
9
|
params: unknown[];
|
|
10
10
|
};
|
|
11
|
-
type SqliteRowExecutor = (sql: string, params: unknown[], method: 'run' | 'all' | 'values' | 'get') => Promise<{
|
|
11
|
+
export type SqliteRowExecutor = (sql: string, params: unknown[], method: 'run' | 'all' | 'values' | 'get') => Promise<{
|
|
12
12
|
rows: unknown[];
|
|
13
13
|
}>;
|
|
14
|
-
interface SqliteInsightRunnerOptions<TSchema extends Schema = Schema$1> {
|
|
14
|
+
export interface SqliteInsightRunnerOptions<TSchema extends Schema = Schema$1> {
|
|
15
15
|
executor: SqliteRowExecutor;
|
|
16
16
|
logger?: boolean;
|
|
17
17
|
/**
|
|
@@ -27,10 +27,10 @@ interface SqliteInsightRunnerOptions<TSchema extends Schema = Schema$1> {
|
|
|
27
27
|
*/
|
|
28
28
|
schema?: TSchema;
|
|
29
29
|
}
|
|
30
|
-
interface SqliteInsightRunner<TSchema extends Schema = Schema$1> {
|
|
30
|
+
export interface SqliteInsightRunner<TSchema extends Schema = Schema$1> {
|
|
31
31
|
db: SqliteRemoteDatabase<SchemaRelations<TSchema>>;
|
|
32
32
|
}
|
|
33
|
-
declare function createSqliteInsightRunner<TSchema extends Schema = Schema$1>(opts: SqliteInsightRunnerOptions<TSchema>): SqliteInsightRunner<TSchema>;
|
|
34
|
-
declare const scopeFor: (table: "gsc_pages" | "gsc_keywords" | "gsc_countries" | "gsc_devices" | "gsc_page_keywords" | "gsc_search_appearance" | "gsc_search_appearance_pages" | "gsc_search_appearance_queries" | "gsc_search_appearance_page_queries" | "gsc_hourly_pages" | "gsc_query_dim", opts: ScopedRunnerOptions) => TableScope;
|
|
35
|
-
declare const mergeScope: typeof import("@gscdump/engine/scope").mergeScope;
|
|
36
|
-
export {
|
|
33
|
+
export declare function createSqliteInsightRunner<TSchema extends Schema = Schema$1>(opts: SqliteInsightRunnerOptions<TSchema>): SqliteInsightRunner<TSchema>;
|
|
34
|
+
export declare const scopeFor: (table: "gsc_pages" | "gsc_keywords" | "gsc_countries" | "gsc_devices" | "gsc_page_keywords" | "gsc_search_appearance" | "gsc_search_appearance_pages" | "gsc_search_appearance_queries" | "gsc_search_appearance_page_queries" | "gsc_hourly_pages" | "gsc_query_dim", opts: ScopedRunnerOptions) => TableScope;
|
|
35
|
+
export declare const mergeScope: typeof import("@gscdump/engine/scope").mergeScope;
|
|
36
|
+
export type { ScopedRunnerOptions, TableScope };
|
package/dist/schema.d.mts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* aggregation. Mirror of gscdump.com/database/user/schema.ts relative to
|
|
7
7
|
* the columns analytics queries actually read.
|
|
8
8
|
*/
|
|
9
|
-
declare const gsc_pages: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
9
|
+
export declare const gsc_pages: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
10
10
|
name: "gsc_pages";
|
|
11
11
|
schema: undefined;
|
|
12
12
|
columns: {
|
|
@@ -218,7 +218,7 @@ declare const gsc_pages: import("drizzle-orm/sqlite-core").SQLiteTableWithColumn
|
|
|
218
218
|
};
|
|
219
219
|
dialect: "sqlite";
|
|
220
220
|
}>;
|
|
221
|
-
declare const gsc_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
221
|
+
export declare const gsc_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
222
222
|
name: "gsc_keywords";
|
|
223
223
|
schema: undefined;
|
|
224
224
|
columns: {
|
|
@@ -430,7 +430,7 @@ declare const gsc_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
|
|
|
430
430
|
};
|
|
431
431
|
dialect: "sqlite";
|
|
432
432
|
}>;
|
|
433
|
-
declare const gsc_countries: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
433
|
+
export declare const gsc_countries: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
434
434
|
name: "gsc_countries";
|
|
435
435
|
schema: undefined;
|
|
436
436
|
columns: {
|
|
@@ -642,7 +642,7 @@ declare const gsc_countries: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
|
|
|
642
642
|
};
|
|
643
643
|
dialect: "sqlite";
|
|
644
644
|
}>;
|
|
645
|
-
declare const gsc_devices: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
645
|
+
export declare const gsc_devices: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
646
646
|
name: "gsc_devices";
|
|
647
647
|
schema: undefined;
|
|
648
648
|
columns: {
|
|
@@ -854,7 +854,7 @@ declare const gsc_devices: import("drizzle-orm/sqlite-core").SQLiteTableWithColu
|
|
|
854
854
|
};
|
|
855
855
|
dialect: "sqlite";
|
|
856
856
|
}>;
|
|
857
|
-
declare const gsc_page_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
857
|
+
export declare const gsc_page_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
858
858
|
name: "gsc_page_keywords";
|
|
859
859
|
schema: undefined;
|
|
860
860
|
columns: {
|
|
@@ -1082,7 +1082,7 @@ declare const gsc_page_keywords: import("drizzle-orm/sqlite-core").SQLiteTableWi
|
|
|
1082
1082
|
};
|
|
1083
1083
|
dialect: "sqlite";
|
|
1084
1084
|
}>;
|
|
1085
|
-
declare const gsc_query_dim: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1085
|
+
export declare const gsc_query_dim: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1086
1086
|
name: "gsc_query_dim";
|
|
1087
1087
|
schema: undefined;
|
|
1088
1088
|
columns: {
|
|
@@ -1201,7 +1201,7 @@ declare const gsc_query_dim: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
|
|
|
1201
1201
|
};
|
|
1202
1202
|
dialect: "sqlite";
|
|
1203
1203
|
}>;
|
|
1204
|
-
declare const schema: {
|
|
1204
|
+
export declare const schema: {
|
|
1205
1205
|
gsc_pages: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1206
1206
|
name: "gsc_pages";
|
|
1207
1207
|
schema: undefined;
|
|
@@ -3538,5 +3538,4 @@ declare const schema: {
|
|
|
3538
3538
|
dialect: "sqlite";
|
|
3539
3539
|
}>;
|
|
3540
3540
|
};
|
|
3541
|
-
type Schema = typeof schema;
|
|
3542
|
-
export { Schema, gsc_countries, gsc_devices, gsc_keywords, gsc_page_keywords, gsc_pages, gsc_query_dim, schema };
|
|
3541
|
+
export type Schema = typeof schema;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gscdump/engine-sqlite",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.6.0",
|
|
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",
|
|
@@ -44,11 +44,11 @@
|
|
|
44
44
|
"drizzle-orm": "1.0.0-rc.4"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@gscdump/engine": "^3.
|
|
47
|
+
"@gscdump/engine": "^3.6.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"drizzle-orm": "1.0.0-rc.4",
|
|
51
|
-
"vitest": "^
|
|
51
|
+
"vitest": "^5.0.0"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "obuild",
|