@chrismo/superkit 1.0.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.
Files changed (74) hide show
  1. package/LICENSE.txt +29 -0
  2. package/README.md +26 -0
  3. package/dist/cli/pager.d.ts +6 -0
  4. package/dist/cli/pager.d.ts.map +1 -0
  5. package/dist/cli/pager.js +21 -0
  6. package/dist/cli/pager.js.map +1 -0
  7. package/dist/cli/skdoc.d.ts +3 -0
  8. package/dist/cli/skdoc.d.ts.map +1 -0
  9. package/dist/cli/skdoc.js +42 -0
  10. package/dist/cli/skdoc.js.map +1 -0
  11. package/dist/cli/skgrok.d.ts +3 -0
  12. package/dist/cli/skgrok.d.ts.map +1 -0
  13. package/dist/cli/skgrok.js +21 -0
  14. package/dist/cli/skgrok.js.map +1 -0
  15. package/dist/cli/skops.d.ts +3 -0
  16. package/dist/cli/skops.d.ts.map +1 -0
  17. package/dist/cli/skops.js +32 -0
  18. package/dist/cli/skops.js.map +1 -0
  19. package/dist/index.d.ts +10 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +11 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/lib/docs.d.ts +11 -0
  24. package/dist/lib/docs.d.ts.map +1 -0
  25. package/dist/lib/docs.js +29 -0
  26. package/dist/lib/docs.js.map +1 -0
  27. package/dist/lib/expert-sections.d.ts +32 -0
  28. package/dist/lib/expert-sections.d.ts.map +1 -0
  29. package/dist/lib/expert-sections.js +130 -0
  30. package/dist/lib/expert-sections.js.map +1 -0
  31. package/dist/lib/grok.d.ts +15 -0
  32. package/dist/lib/grok.d.ts.map +1 -0
  33. package/dist/lib/grok.js +57 -0
  34. package/dist/lib/grok.js.map +1 -0
  35. package/dist/lib/help.d.ts +20 -0
  36. package/dist/lib/help.d.ts.map +1 -0
  37. package/dist/lib/help.js +163 -0
  38. package/dist/lib/help.js.map +1 -0
  39. package/dist/lib/recipes.d.ts +29 -0
  40. package/dist/lib/recipes.d.ts.map +1 -0
  41. package/dist/lib/recipes.js +133 -0
  42. package/dist/lib/recipes.js.map +1 -0
  43. package/dist/superkit.tar.gz +0 -0
  44. package/docs/grok-patterns.sup +89 -0
  45. package/docs/recipes/array.md +66 -0
  46. package/docs/recipes/array.spq +31 -0
  47. package/docs/recipes/character.md +110 -0
  48. package/docs/recipes/character.spq +57 -0
  49. package/docs/recipes/escape.md +159 -0
  50. package/docs/recipes/escape.spq +102 -0
  51. package/docs/recipes/format.md +51 -0
  52. package/docs/recipes/format.spq +24 -0
  53. package/docs/recipes/index.md +23 -0
  54. package/docs/recipes/integer.md +101 -0
  55. package/docs/recipes/integer.spq +53 -0
  56. package/docs/recipes/records.md +84 -0
  57. package/docs/recipes/records.spq +61 -0
  58. package/docs/recipes/string.md +177 -0
  59. package/docs/recipes/string.spq +105 -0
  60. package/docs/superdb-expert.md +929 -0
  61. package/docs/tutorials/bash_to_sup.md +123 -0
  62. package/docs/tutorials/chess-tiebreaks.md +233 -0
  63. package/docs/tutorials/debug.md +439 -0
  64. package/docs/tutorials/fork_for_window.md +296 -0
  65. package/docs/tutorials/grok.md +166 -0
  66. package/docs/tutorials/index.md +10 -0
  67. package/docs/tutorials/joins.md +79 -0
  68. package/docs/tutorials/moar_subqueries.md +35 -0
  69. package/docs/tutorials/subqueries.md +236 -0
  70. package/docs/tutorials/sup_to_bash.md +164 -0
  71. package/docs/tutorials/super_db_update.md +34 -0
  72. package/docs/tutorials/unnest.md +113 -0
  73. package/docs/zq-to-super-upgrades.md +549 -0
  74. package/package.json +46 -0
@@ -0,0 +1,549 @@
1
+ ---
2
+ title: "Upgrade Guide"
3
+ name: zq-to-super-upgrades
4
+ description: "Migration guide from zq to SuperDB. Covers all breaking changes and syntax updates."
5
+ layout: default
6
+ nav_order: 3
7
+ superdb_version: "0.3.0"
8
+ last_updated: "2026-03-27"
9
+ ---
10
+
11
+ # Upgrading zq to super
12
+
13
+ SuperDB Version 0.3.0
14
+
15
+ This guide covers all breaking changes between zq and the current SuperDB
16
+ release.
17
+
18
+ ## Quick Reference
19
+
20
+ This table covers ALL breaking changes. Complex items reference detailed sections below.
21
+
22
+ | Category | zq | super |
23
+ |------------------|-----------------------------|------------------------------------------|
24
+ | Keyword | `yield` | `values` |
25
+ | Function | `parse_zson` | `parse_sup` |
26
+ | Function | `func` | `fn` |
27
+ | Operator | `over` | `unnest` |
28
+ | Operator def | `op name(a, b):` | `op name a, b:` |
29
+ | Operator call | `name(x, y)` | `name x, y` |
30
+ | Switch | `-z` / `-Z` | `-s` / `-S` |
31
+ | Switch | `-f text` | `-f line` |
32
+ | Switch | (implicit) | `-c` required before query |
33
+ | Comments | `//` | `--` or `/* */` |
34
+ | Regexp | `/pattern/` | `'pattern'` (string) |
35
+ | Cast | `type(value)` | `value::type` |
36
+ | Agg filter | `count() where x` | `count() filter (x)` |
37
+ | Indexing | 0-based | 0-based & 1-based (see Indexing section) |
38
+ | Scoped unnest | `over x => (...)` | `unnest x into (...)` |
39
+ | Unnest with | `over a with b` | `unnest {b,a}` (see section) |
40
+ | grep | `grep(/pat/)` | `grep('pat', this)` |
41
+ | is() | `is(<type>)` | `is(this, <type>)` |
42
+ | nest_dotted | `nest_dotted()` | `nest_dotted(this)` |
43
+ | Lateral subquery | `{ a: (subquery) }` | `{ a: [subquery] }` (see section) |
44
+ | Nested FROM | `from (from x)` | `select * from (select * from x)` |
45
+ | Streaming agg | `put x:=sum(y)` | Removed (see section) |
46
+ | Functions | `crop/fill/fit/order/shape` | Removed — use cast |
47
+ | Globs | `grep(foo*)` | Removed — use regex |
48
+ | String concat | `"a" + "b"` | `f'{a}{b}'`, `a \|\| b`, or `concat` |
49
+ | count type | returns `uint64` | returns `int64` |
50
+ | Dynamic from | `from pool` | `from f'{pool}'` (see section) |
51
+ | BSUP format | BSUP v1 | BSUP v2 (v1 no longer readable) |
52
+ | collect/union | preserves all errors | drops `error("quiet")` values |
53
+ | concat/f-strings | errors propagate | `null` values ignored |
54
+
55
+ ## CLI Changes
56
+
57
+ ### The `-c` switch is now required
58
+
59
+ `super` requires a `-c` switch before any query string. `zq` accepted the query
60
+ string as a positional argument.
61
+
62
+ **OLD:**
63
+ ```bash
64
+ echo '{"a":1}' | zq 'yield a' -
65
+ ```
66
+
67
+ **NEW:**
68
+ ```bash
69
+ echo '{"a":1}' | super -c 'values a' -
70
+ ```
71
+
72
+ ### The `-c` switch must immediately precede the query string
73
+
74
+ The query must come directly after `-c`. Other flags go before `-c`.
75
+
76
+ **CORRECT:**
77
+ ```bash
78
+ echo '{"a":1}' | super -s -c 'values a' -
79
+ ```
80
+
81
+ **INCORRECT:**
82
+ ```bash
83
+ -- This is ILLEGAL - flags cannot go between -c and the query
84
+ echo '{"a":1}' | super -c -s 'values a' -
85
+ ```
86
+
87
+ ### When there is no query, do NOT use `-c`
88
+
89
+ If you're just reformatting data without a query, omit `-c` entirely.
90
+
91
+ **OLD:**
92
+ ```bash
93
+ zq -j input.json
94
+ ```
95
+
96
+ **NEW:**
97
+ ```bash
98
+ super -j input.json
99
+ ```
100
+
101
+ **INCORRECT:**
102
+ ```bash
103
+ -- This is ILLEGAL - -c requires a query string to follow it
104
+ super -c -j input.json
105
+ ```
106
+
107
+ ### Output format switches
108
+
109
+ - `-f text` → `-f line`
110
+ - `-z` → `-s` (line-oriented Super JSON)
111
+ - `-Z` → `-S` (formatted Super JSON)
112
+
113
+ ### Comments
114
+
115
+ zq used `//` for single-line comments. SuperDB uses PostgreSQL-compatible syntax:
116
+ - `--` for single-line comments
117
+ - `/* ... */` for multi-line comments
118
+
119
+ ## Simple Renames
120
+
121
+ ### yield → values
122
+
123
+ ```bash
124
+ -- OLD
125
+ zq 'yield {a:1}'
126
+
127
+ -- NEW
128
+ super -c 'values {a:1}'
129
+ ```
130
+
131
+ ### parse_zson → parse_sup
132
+
133
+ ```bash
134
+ -- OLD
135
+ zq 'parse_zson(s)'
136
+
137
+ -- NEW
138
+ super -c 'parse_sup(s)'
139
+ ```
140
+
141
+ ### func → fn
142
+
143
+ As of [commit aab15e0d](https://github.com/brimdata/super/commit/aab15e0d):
144
+
145
+ ```bash
146
+ -- OLD
147
+ func double(x): ( x * 2 )
148
+
149
+ -- NEW
150
+ fn double(x): ( x * 2 )
151
+ ```
152
+
153
+ ### over → unnest (basic usage)
154
+
155
+ Simple uses are a direct replacement:
156
+
157
+ ```bash
158
+ -- OLD
159
+ zq 'yield [1,2,3] | over this'
160
+
161
+ -- NEW
162
+ super -c 'values [1,2,3] | unnest this'
163
+ ```
164
+
165
+ ## Behavioral Changes
166
+
167
+ ### Indexing is 0-based (with pragma for 1-based)
168
+
169
+ As of [PR 6348](https://github.com/brimdata/super/pull/6348) on Nov 10, 2025,
170
+ 0-based indexing is the default. Use `pragma index_base = 1` for SQL-style
171
+ 1-based indexing when needed.
172
+
173
+ ```bash
174
+ -- 0-based indexing (default)
175
+ super -s -c "values ['a','b','c'][0]"
176
+ "a"
177
+ ```
178
+
179
+ ```bash
180
+ -- 1-based indexing via pragma
181
+ super -s -c "
182
+ pragma index_base = 1
183
+ values ['a','b','c'][1]
184
+ "
185
+ "a"
186
+ ```
187
+
188
+ The pragma affects array/string indexing, slicing, and functions like `SUBSTRING()`.
189
+
190
+ ### unnest with `into` (formerly `=>`)
191
+
192
+ `over this => (...)` becomes `unnest this into (...)`:
193
+
194
+ ```bash
195
+ -- OLD
196
+ zq 'over arr => ( yield this * 2 )'
197
+
198
+ -- NEW
199
+ super -c 'unnest arr into ( values this * 2 )'
200
+ ```
201
+
202
+ ### unnest with multiple values (formerly `with`)
203
+
204
+ `over a with b => (...)` becomes `unnest {b,a} into (...)`.
205
+
206
+ **Warning:** This has behavioral changes. Inside the parentheses, `this` used to
207
+ be just `a` in zq, but now `this` is the record `{b,a}` in super.
208
+
209
+ ### grep requires explicit `this` argument
210
+
211
+ As of [PR 6115](https://github.com/brimdata/super/pull/6115) on Aug 15, 2025:
212
+ - Inline regexp (`/.../`) syntax removed — use strings
213
+ - Globs no longer supported in grep
214
+ - `this` must be passed explicitly
215
+
216
+ ```bash
217
+ -- OLD (no longer works)
218
+ zq -z "grep(/a*b/,s)"
219
+ zq -z "yield ['a','b'] | grep(/b/)"
220
+
221
+ -- NEW
222
+ super -s -c "grep('a.*b', s)"
223
+ super -s -c "values ['a','b'] | grep('b', this)"
224
+ ```
225
+
226
+ ### is and nest_dotted require explicit `this`
227
+
228
+ As of [commit 5075037c](https://github.com/brimdata/super/commit/5075037c) on Aug 27, 2025:
229
+
230
+ ```bash
231
+ -- OLD (no longer works)
232
+ zq -z "yield 2 | is(<int64>)"
233
+
234
+ -- NEW
235
+ super -s -c "values 2 | is(this, <int64>)"
236
+ ```
237
+
238
+ `nest_dotted` follows the same pattern.
239
+
240
+ ### Cast syntax changes
241
+
242
+ As of [commit ec1c5eee](https://github.com/brimdata/super/commit/ec1c5eee) on Aug 28, 2025:
243
+
244
+ Function-style casting (`type(value)`) is no longer supported. Use `::` casting:
245
+
246
+ ```bash
247
+ -- OLD (no longer works)
248
+ zq -z "{a:time('2025-08-28T12:00:00Z')}"
249
+
250
+ -- NEW (preferred)
251
+ super -s -c "{a:'2025-08-28T12:00:00Z'::time}"
252
+ {a:2025-08-28T12:00:00Z}
253
+ ```
254
+
255
+ Alternative syntaxes (legal but not preferred):
256
+ - `cast(value, <type>)`
257
+ - `CAST(value AS type)`
258
+
259
+ As of 0.51029, `::` cast and `CAST AS` only accept types, not expressions.
260
+
261
+ ### Lateral subqueries require array wrapping
262
+
263
+ As of [PR 6100](https://github.com/brimdata/super/pull/6100) and
264
+ [PR 6243](https://github.com/brimdata/super/pull/6243):
265
+
266
+ Lateral subqueries that produce multiple values must be wrapped in `[...]`:
267
+
268
+ ```bash
269
+ -- OLD (no longer works - produces error)
270
+ super -s -c "[3,2,1] | { a: ( unnest this | values this ) }"
271
+ {a:error("query expression produced multiple values (consider [subquery])")}
272
+
273
+ -- NEW
274
+ super -s -c "[3,2,1] | { a: [unnest this | values this] }"
275
+ {a:[3,2,1]}
276
+ ```
277
+
278
+ ### User-defined operator syntax
279
+
280
+ As of [PR 6181](https://github.com/brimdata/super/pull/6181) on Sep 2, 2025:
281
+
282
+ **Declaration:** Remove parentheses around parameters.
283
+
284
+ ```bash
285
+ -- OLD
286
+ op myop(a, b): ( ... )
287
+
288
+ -- NEW
289
+ op myop a, b: ( ... )
290
+ ```
291
+
292
+ **Invocation:** Use space-separated arguments (or `call` keyword).
293
+
294
+ ```bash
295
+ -- OLD
296
+ myop(x, y)
297
+
298
+ -- NEW
299
+ myop x, y
300
+ -- or: call myop x, y
301
+ ```
302
+
303
+ ### FROM vs from separation
304
+
305
+ As of [PR 6405](https://github.com/brimdata/super/pull/6405) on Dec 1, 2025:
306
+
307
+ Pipe-operator `from` and SQL `FROM` clause are now distinct. Relational FROM
308
+ requires a SELECT clause:
309
+
310
+ ```bash
311
+ -- OLD (no longer works)
312
+ super -c 'from ( from a )'
313
+
314
+ -- NEW
315
+ super -c 'select * from ( select * from a )'
316
+ ```
317
+
318
+ ### String concatenation with `+` removed
319
+
320
+ As of [PR 6486](https://github.com/brimdata/super/pull/6486) on Jan 5, 2026:
321
+
322
+ The `+` operator no longer concatenates strings. Use f-string interpolation
323
+ (preferred), `||`, or `concat()`:
324
+
325
+ ```bash
326
+ -- OLD (no longer works)
327
+ super -s -c "values 'hello' + ' world'"
328
+
329
+ -- Preferred (f-string interpolation, also worked in zq)
330
+ super -s -c "values f'{'hello'} {'world'}'"
331
+ "hello world"
332
+
333
+ -- Also works
334
+ super -s -c "values 'hello' || ' world'"
335
+ "hello world"
336
+
337
+ -- Also works
338
+ super -s -c "values concat('hello', ' world')"
339
+ "hello world"
340
+ ```
341
+
342
+ ### Aggregate filter clause
343
+
344
+ As of [PR 6465](https://github.com/brimdata/super/pull/6465) on Dec 23, 2025:
345
+
346
+ The `where` clause on aggregates changed to SQL-standard `filter`:
347
+
348
+ ```bash
349
+ -- OLD
350
+ count() where grep('bar', this)
351
+
352
+ -- NEW
353
+ count() filter (grep('bar', this))
354
+ ```
355
+
356
+ ### Dynamic from requires f-string syntax
357
+
358
+ As of [PR 6450](https://github.com/brimdata/super/pull/6450) on Dec 16, 2025:
359
+
360
+ Bare dynamic `from` no longer works. Use f-string interpolation:
361
+
362
+ ```bash
363
+ -- OLD (no longer works)
364
+ from pool_name
365
+
366
+ -- NEW
367
+ from f'{pool_name}'
368
+ ```
369
+
370
+ Note: f-strings are general-purpose string interpolation and work anywhere a
371
+ string is accepted, not just in `from` clauses.
372
+
373
+ ## Removed Features
374
+
375
+ ### Streaming aggregation functions
376
+
377
+ As of [PR 6355](https://github.com/brimdata/super/pull/6355), per-record
378
+ cumulative aggregations are removed.
379
+
380
+ **Row numbering** — use the `count` operator:
381
+
382
+ ```bash
383
+ -- OLD: put row_num:=count(this)
384
+ -- NEW:
385
+ super -s -c 'values {a:1},{b:2},{c:3} | count | {row:count,...that}'
386
+ {row:1,a:1}
387
+ {row:2,b:2}
388
+ {row:3,c:3}
389
+ ```
390
+
391
+ **Other aggregations** (`sum`, `avg`, `min`, `max`, `collect`) — use `aggregate`,
392
+ but note it collapses all records:
393
+
394
+ ```bash
395
+ super -s -c 'values {v:10},{v:20},{v:30} | aggregate total:=sum(v)'
396
+ {total:60}
397
+ ```
398
+
399
+ **No replacement exists** for progressive patterns like streaming `collect`:
400
+
401
+ ```bash
402
+ -- OLD (no longer works): yield 1,2,3 | yield collect(this)
403
+ -- produced: [1], [1,2], [1,2,3]
404
+ ```
405
+
406
+ Grouped aggregation (`collect(x) by key`) still works.
407
+
408
+ ### Removed functions
409
+
410
+ The functions `crop()`, `fill()`, `fit()`, `order()`, and `shape()` have been
411
+ removed. Use cast instead — see [Cast syntax changes](#cast-syntax-changes).
412
+
413
+ ### Inline regexp syntax
414
+
415
+ `/pattern/` is no longer supported. Use string patterns: `'pattern'`
416
+
417
+ ### Globs in grep
418
+
419
+ Globs are no longer supported in the `grep` function. Use regex patterns.
420
+
421
+ ## Type Changes
422
+
423
+ ### Count functions return int64
424
+
425
+ As of Dec 24-29, 2025 ([PR 6466](https://github.com/brimdata/super/pull/6466),
426
+ [PR 6467](https://github.com/brimdata/super/pull/6467),
427
+ [PR 6472](https://github.com/brimdata/super/pull/6472)):
428
+
429
+ These now return `int64` instead of `uint64`:
430
+ - `count()` function
431
+ - `dcount()` function
432
+ - `uniq` operator count field
433
+ - `count` operator output field
434
+
435
+ ```bash
436
+ -- OLD: returned uint64
437
+ super -s -c "values 1,2,3 | aggregate cnt:=count() | typeof(cnt)"
438
+ <uint64>
439
+
440
+ -- NEW: returns int64
441
+ super -s -c "values 1,2,3 | aggregate cnt:=count() | typeof(cnt)"
442
+ <int64>
443
+ ```
444
+
445
+ ## Changes in v0.3.0
446
+
447
+ ### BSUP v2 format (breaking)
448
+
449
+ As of v0.3.0, the BSUP binary format has been advanced to v2. `super` will no
450
+ longer read BSUP v1 format as input. If you have valuable data stored in BSUP v1
451
+ files, convert them using a v0.2.0 binary before upgrading:
452
+
453
+ ```bash
454
+ # Convert v1 BSUP to SUP (using old binary), then back to v2 BSUP (using new binary)
455
+ super-0.2.0 -s data.bsup > data.sup
456
+ super -f bsup data.sup > data-v2.bsup
457
+ ```
458
+
459
+ ### collect and union drop quiet errors
460
+
461
+ In `collect` and `union` aggregate functions, `error("quiet")` values are now
462
+ dropped. `error("missing")` values are still preserved.
463
+
464
+ ### null values ignored in concat and f-strings
465
+
466
+ The `concat` function and f-string interpolation now silently ignore `null`
467
+ values instead of propagating them.
468
+
469
+ ### New features in v0.3.0
470
+
471
+ #### `debug` operator
472
+
473
+ Tap into a pipeline to emit debugging values to stderr without affecting the
474
+ main output. Supports an optional expression and filter clause:
475
+
476
+ ```
477
+ values 1,2,3 | debug f'val={this}' filter (this > 1) | pass
478
+ ```
479
+
480
+ Debug output goes to stderr in SUP format. See the `tutorial:debug` topic for
481
+ detailed usage including `fork`-based patterns and subquery aggregation.
482
+
483
+ #### `infer` operator
484
+
485
+ Samples input and auto-detects native types for string values, casting them
486
+ to the inferred type. Useful for cleaning up CSV or other string-heavy data:
487
+
488
+ ```
489
+ infer [ <limit> ]
490
+ ```
491
+
492
+ Candidate types: `int64`, `float64`, `ip`, `net`, `time`, `bool`. Default
493
+ sample size is 100 records; set to 0 to analyze all input.
494
+
495
+ #### `defuse` and `unblend` functions
496
+
497
+ `defuse(val)` reverses the effects of `fuse` — converts fusion types back to
498
+ their original types by downcasting union values to their subtype equivalent.
499
+
500
+ `unblend(val)` reverses the effects of `blend` — removes union types and
501
+ eliminates optional fields without values from records.
502
+
503
+ #### Other new features
504
+
505
+ - **`db vacate` command** — vacate database pools
506
+ - **Optional fields in record expressions** — record fields can now be marked
507
+ optional with `?` syntax
508
+ - **Fusion types** — new type system feature for complete type fusion
509
+ - **Named types in `upcast` function** — upcast now supports named types
510
+
511
+ ## Formatting Conventions
512
+
513
+ When performing upgrades, follow these formatting conventions for consistency:
514
+
515
+ ### Use double quotes for query strings
516
+
517
+ Single-quoted strings are valid SuperDB syntax, so use double quotes for the
518
+ shell query string to avoid confusion:
519
+
520
+ ```bash
521
+ -- GOOD
522
+ super -s -c "values 'hello'"
523
+
524
+ -- AVOID (works but confusing)
525
+ super -s -c 'values "hello"'
526
+ ```
527
+
528
+ ### Multi-line query formatting
529
+
530
+ For multi-line queries, use this format:
531
+
532
+ ```bash
533
+ super -j -c "
534
+ unnest this
535
+ | cut Id,Name
536
+ " -
537
+ ```
538
+
539
+ - Opening double-quote ends the first line
540
+ - Query content starts on new line, indented 2 spaces from `super`
541
+ - Closing double-quote on its own line, aligned with `super`
542
+
543
+ ### Switch ordering
544
+
545
+ Place `-c` last, with all other switches before it:
546
+
547
+ ```bash
548
+ super -s -f json -c "values this" input.json
549
+ ```
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@chrismo/superkit",
3
+ "version": "1.0.0",
4
+ "description": "SuperDB toolkit — docs, recipes, grok patterns, and CLI tools for the super binary",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "skdoc": "dist/cli/skdoc.js",
10
+ "skgrok": "dist/cli/skgrok.js",
11
+ "skops": "dist/cli/skops.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "docs"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "test": "vitest run",
21
+ "test:watch": "vitest",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/chrismo/superkit.git"
27
+ },
28
+ "keywords": [
29
+ "superdb",
30
+ "supersql",
31
+ "data",
32
+ "query",
33
+ "cli"
34
+ ],
35
+ "author": "chrismo",
36
+ "license": "MIT",
37
+ "devDependencies": {
38
+ "@types/node": "^20.0.0",
39
+ "shiki": "^3.2.0",
40
+ "typescript": "^5.0.0",
41
+ "vitest": "^4.0.18"
42
+ },
43
+ "engines": {
44
+ "node": ">=18.0.0"
45
+ }
46
+ }