@crvouga/sqlite-mem 0.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.
Files changed (145) hide show
  1. package/COMPATIBILITY-AUDIT.md +199 -0
  2. package/COMPATIBILITY.md +93 -0
  3. package/LICENSE +21 -0
  4. package/README.md +171 -0
  5. package/compat/coverage.json +21896 -0
  6. package/compat/fts-oracle-surface.json +198 -0
  7. package/compat/gate-report.json +424 -0
  8. package/compat/requirements.json +20929 -0
  9. package/dist/api/database.d.ts +26 -0
  10. package/dist/api/database.d.ts.map +1 -0
  11. package/dist/api/statement.d.ts +27 -0
  12. package/dist/api/statement.d.ts.map +1 -0
  13. package/dist/ast/nodes.d.ts +451 -0
  14. package/dist/ast/nodes.d.ts.map +1 -0
  15. package/dist/constraints/check.d.ts +12 -0
  16. package/dist/constraints/check.d.ts.map +1 -0
  17. package/dist/errors/index.d.ts +12 -0
  18. package/dist/errors/index.d.ts.map +1 -0
  19. package/dist/executor/attach.d.ts +6 -0
  20. package/dist/executor/attach.d.ts.map +1 -0
  21. package/dist/executor/ddl.d.ts +11 -0
  22. package/dist/executor/ddl.d.ts.map +1 -0
  23. package/dist/executor/dml.d.ts +7 -0
  24. package/dist/executor/dml.d.ts.map +1 -0
  25. package/dist/executor/env.d.ts +62 -0
  26. package/dist/executor/env.d.ts.map +1 -0
  27. package/dist/executor/execute.d.ts +5 -0
  28. package/dist/executor/execute.d.ts.map +1 -0
  29. package/dist/executor/pragma.d.ts +5 -0
  30. package/dist/executor/pragma.d.ts.map +1 -0
  31. package/dist/executor/result.d.ts +18 -0
  32. package/dist/executor/result.d.ts.map +1 -0
  33. package/dist/executor/select.d.ts +7 -0
  34. package/dist/executor/select.d.ts.map +1 -0
  35. package/dist/executor/simple-select.d.ts +10 -0
  36. package/dist/executor/simple-select.d.ts.map +1 -0
  37. package/dist/executor/triggers.d.ts +12 -0
  38. package/dist/executor/triggers.d.ts.map +1 -0
  39. package/dist/executor/vtable.d.ts +13 -0
  40. package/dist/executor/vtable.d.ts.map +1 -0
  41. package/dist/expressions/context.d.ts +28 -0
  42. package/dist/expressions/context.d.ts.map +1 -0
  43. package/dist/expressions/eval.d.ts +5 -0
  44. package/dist/expressions/eval.d.ts.map +1 -0
  45. package/dist/expressions/index.d.ts +4 -0
  46. package/dist/expressions/index.d.ts.map +1 -0
  47. package/dist/expressions/like.d.ts +5 -0
  48. package/dist/expressions/like.d.ts.map +1 -0
  49. package/dist/functions/aggregate.d.ts +9 -0
  50. package/dist/functions/aggregate.d.ts.map +1 -0
  51. package/dist/functions/datetime.d.ts +3 -0
  52. package/dist/functions/datetime.d.ts.map +1 -0
  53. package/dist/functions/extensions.d.ts +8 -0
  54. package/dist/functions/extensions.d.ts.map +1 -0
  55. package/dist/functions/index.d.ts +9 -0
  56. package/dist/functions/index.d.ts.map +1 -0
  57. package/dist/functions/json.d.ts +7 -0
  58. package/dist/functions/json.d.ts.map +1 -0
  59. package/dist/functions/math.d.ts +3 -0
  60. package/dist/functions/math.d.ts.map +1 -0
  61. package/dist/functions/registry.d.ts +38 -0
  62. package/dist/functions/registry.d.ts.map +1 -0
  63. package/dist/functions/scalar.d.ts +10 -0
  64. package/dist/functions/scalar.d.ts.map +1 -0
  65. package/dist/functions/table-valued.d.ts +9 -0
  66. package/dist/functions/table-valued.d.ts.map +1 -0
  67. package/dist/functions/window.d.ts +24 -0
  68. package/dist/functions/window.d.ts.map +1 -0
  69. package/dist/index.d.ts +12 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +12204 -0
  72. package/dist/index.js.map +7 -0
  73. package/dist/indexes/index.d.ts +16 -0
  74. package/dist/indexes/index.d.ts.map +1 -0
  75. package/dist/json/index.d.ts +8 -0
  76. package/dist/json/index.d.ts.map +1 -0
  77. package/dist/json/jsonb.d.ts +43 -0
  78. package/dist/json/jsonb.d.ts.map +1 -0
  79. package/dist/json/ops.d.ts +19 -0
  80. package/dist/json/ops.d.ts.map +1 -0
  81. package/dist/json/parse.d.ts +14 -0
  82. package/dist/json/parse.d.ts.map +1 -0
  83. package/dist/json/path.d.ts +27 -0
  84. package/dist/json/path.d.ts.map +1 -0
  85. package/dist/json/stringify.d.ts +5 -0
  86. package/dist/json/stringify.d.ts.map +1 -0
  87. package/dist/json/tvf.d.ts +14 -0
  88. package/dist/json/tvf.d.ts.map +1 -0
  89. package/dist/json/types.d.ts +30 -0
  90. package/dist/json/types.d.ts.map +1 -0
  91. package/dist/lexer/tokenize.d.ts +17 -0
  92. package/dist/lexer/tokenize.d.ts.map +1 -0
  93. package/dist/parser/index.d.ts +5 -0
  94. package/dist/parser/index.d.ts.map +1 -0
  95. package/dist/parser/parser.d.ts +104 -0
  96. package/dist/parser/parser.d.ts.map +1 -0
  97. package/dist/planner/access.d.ts +43 -0
  98. package/dist/planner/access.d.ts.map +1 -0
  99. package/dist/planner/index.d.ts +4 -0
  100. package/dist/planner/index.d.ts.map +1 -0
  101. package/dist/runtime/clock.d.ts +6 -0
  102. package/dist/runtime/clock.d.ts.map +1 -0
  103. package/dist/runtime/index.d.ts +4 -0
  104. package/dist/runtime/index.d.ts.map +1 -0
  105. package/dist/runtime/options.d.ts +19 -0
  106. package/dist/runtime/options.d.ts.map +1 -0
  107. package/dist/runtime/prng.d.ts +20 -0
  108. package/dist/runtime/prng.d.ts.map +1 -0
  109. package/dist/schema/catalog.d.ts +15 -0
  110. package/dist/schema/catalog.d.ts.map +1 -0
  111. package/dist/serialization/codec.d.ts +12 -0
  112. package/dist/serialization/codec.d.ts.map +1 -0
  113. package/dist/serialization/index.d.ts +2 -0
  114. package/dist/serialization/index.d.ts.map +1 -0
  115. package/dist/storage/database-state.d.ts +86 -0
  116. package/dist/storage/database-state.d.ts.map +1 -0
  117. package/dist/storage/index.d.ts +7 -0
  118. package/dist/storage/index.d.ts.map +1 -0
  119. package/dist/storage/row.d.ts +11 -0
  120. package/dist/storage/row.d.ts.map +1 -0
  121. package/dist/storage/table.d.ts +90 -0
  122. package/dist/storage/table.d.ts.map +1 -0
  123. package/dist/transactions/manager.d.ts +20 -0
  124. package/dist/transactions/manager.d.ts.map +1 -0
  125. package/dist/types/collation.d.ts +5 -0
  126. package/dist/types/collation.d.ts.map +1 -0
  127. package/dist/types/value.d.ts +52 -0
  128. package/dist/types/value.d.ts.map +1 -0
  129. package/dist/vtable/fts/options.d.ts +35 -0
  130. package/dist/vtable/fts/options.d.ts.map +1 -0
  131. package/dist/vtable/fts/porter.d.ts +3 -0
  132. package/dist/vtable/fts/porter.d.ts.map +1 -0
  133. package/dist/vtable/fts/query.d.ts +40 -0
  134. package/dist/vtable/fts/query.d.ts.map +1 -0
  135. package/dist/vtable/fts/table.d.ts +80 -0
  136. package/dist/vtable/fts/table.d.ts.map +1 -0
  137. package/dist/vtable/fts/tokenize.d.ts +21 -0
  138. package/dist/vtable/fts/tokenize.d.ts.map +1 -0
  139. package/dist/vtable/fts5.d.ts +2 -0
  140. package/dist/vtable/fts5.d.ts.map +1 -0
  141. package/dist/vtable/index.d.ts +3 -0
  142. package/dist/vtable/index.d.ts.map +1 -0
  143. package/dist/vtable/modules.d.ts +66 -0
  144. package/dist/vtable/modules.d.ts.map +1 -0
  145. package/package.json +107 -0
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@crvouga/sqlite-mem",
3
+ "version": "0.1.0",
4
+ "description": "Pure TypeScript in-memory SQLite implementation with zero WASM/native dependencies",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "sideEffects": false,
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "COMPATIBILITY.md",
20
+ "COMPATIBILITY-AUDIT.md",
21
+ "README.md",
22
+ "LICENSE",
23
+ "compat"
24
+ ],
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/crvouga/sqlite-mem.git"
28
+ },
29
+ "homepage": "https://github.com/crvouga/sqlite-mem#readme",
30
+ "bugs": {
31
+ "url": "https://github.com/crvouga/sqlite-mem/issues"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public",
35
+ "provenance": false
36
+ },
37
+ "scripts": {
38
+ "prepare": "husky",
39
+ "build": "bun run scripts/build.ts",
40
+ "test": "bun test tests/contract tests/fuzz tests/harness",
41
+ "test:contract": "bun test tests/contract",
42
+ "test:fuzz": "bun test tests/fuzz",
43
+ "test:browser": "bun run tests/browser/run.ts",
44
+ "benchmark": "bun run benchmarks/run.ts --tier default --engine mem",
45
+ "benchmark:bun": "bun run benchmarks/run.ts --tier full --engine both",
46
+ "benchmark:compare": "bun run benchmarks/run.ts --tier default --engine compare --grep compare/ --out benchmarks/results/compare-js.json",
47
+ "benchmark:compare-js": "bun run benchmarks/run.ts --tier default --engine compare-js --grep compare/js/ --out benchmarks/results/compare-js-only.json",
48
+ "benchmark:compare-sqlite": "bun run benchmarks/run.ts --tier default --engine compare-sqlite --grep compare/sqlite/ --out benchmarks/results/compare-sqlite.json",
49
+ "benchmark:browser": "bun run benchmarks/browser/run.ts --tier ci --mobile-tier ci",
50
+ "benchmark:ci": "bun run benchmarks/run.ts --tier ci --engine mem --out benchmarks/results/ci-latest.json && bun run benchmarks/compare-ci.ts",
51
+ "benchmark:bundle": "bun run build && bun run benchmarks/bundle.ts",
52
+ "benchmark:report": "bun run benchmarks/report-html.ts",
53
+ "test:sqlite-compat": "bun run scripts/sqlite-requirements.ts && bun run scripts/sqlite-compat-gate.ts && bun test tests/contract tests/fuzz tests/harness",
54
+ "inventory": "bun run scripts/sqlite-inventory.ts",
55
+ "fts-surface": "bun run scripts/fts-oracle-surface.ts",
56
+ "requirements": "bun run scripts/sqlite-requirements.ts",
57
+ "typecheck": "tsc --noEmit",
58
+ "format": "biome format --write .",
59
+ "format:check": "biome format .",
60
+ "lint": "biome lint .",
61
+ "lint:fix": "biome lint --write .",
62
+ "clean": "rm -rf dist",
63
+ "check": "bun run format:check && bun run lint && bun run typecheck && bun run test:sqlite-compat",
64
+ "commitlint": "commitlint --edit",
65
+ "verify-package": "bun run scripts/verify-package.ts",
66
+ "release:preflight": "bun run scripts/release-preflight.ts",
67
+ "release": "semantic-release",
68
+ "release:dry-run": "semantic-release --dry-run",
69
+ "secrets:doctor": "bun run scripts/secrets/doctor.ts",
70
+ "secrets:check": "bun run scripts/secrets/check-vault.ts && bun run scripts/secrets/check-github.ts",
71
+ "secrets:sync": "bun run scripts/secrets/sync-github.ts",
72
+ "npm:seed": "bun run scripts/seed-npm.ts",
73
+ "gh": "open https://github.com/crvouga/sqlite-mem/actions"
74
+ },
75
+ "devDependencies": {
76
+ "@biomejs/biome": "^2.5.8",
77
+ "@commitlint/cli": "^21.2.2",
78
+ "@commitlint/config-conventional": "^21.2.2",
79
+ "@semantic-release/commit-analyzer": "^13.0.1",
80
+ "@semantic-release/github": "^12.0.9",
81
+ "@semantic-release/npm": "^13.1.5",
82
+ "@semantic-release/release-notes-generator": "^14.1.1",
83
+ "@types/bun": "latest",
84
+ "alasql": "^4.17.3",
85
+ "conventional-changelog-conventionalcommits": "^10.3.0",
86
+ "esbuild": "^0.28.2",
87
+ "fast-check": "^4.1.1",
88
+ "husky": "^9.1.7",
89
+ "playwright": "^1.52.0",
90
+ "publint": "^0.3.23",
91
+ "semantic-release": "^25.0.9",
92
+ "sql.js": "^1.14.2",
93
+ "typescript": "^5.8.3",
94
+ "wa-sqlite": "^1.0.0"
95
+ },
96
+ "engines": {
97
+ "bun": ">=1.1.0",
98
+ "node": ">=20"
99
+ },
100
+ "keywords": [
101
+ "sqlite",
102
+ "typescript",
103
+ "in-memory",
104
+ "database",
105
+ "sql"
106
+ ]
107
+ }