s3db.js 19.2.4 → 19.3.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/dist/s3db.es.js CHANGED
@@ -19859,8 +19859,8 @@ class Database extends SafeEventEmitter {
19859
19859
  })();
19860
19860
  this.version = '1';
19861
19861
  this.s3dbVersion = (() => {
19862
- const [ok, , version] = tryFnSync(() => (typeof globalThis['19.2.4'] !== 'undefined' && globalThis['19.2.4'] !== '19.2.4'
19863
- ? globalThis['19.2.4']
19862
+ const [ok, , version] = tryFnSync(() => (typeof globalThis['19.3.0'] !== 'undefined' && globalThis['19.3.0'] !== '19.3.0'
19863
+ ? globalThis['19.3.0']
19864
19864
  : 'latest'));
19865
19865
  return ok ? version : 'latest';
19866
19866
  })();
@@ -0,0 +1,58 @@
1
+ /**
2
+ * s3db.js/lite - Minimal bundle for CLIs and standalone binaries
3
+ *
4
+ * This entry point excludes all plugins with peer dependencies, making it
5
+ * suitable for bundling with pkg, esbuild, or other tools that create
6
+ * standalone executables.
7
+ *
8
+ * Includes:
9
+ * - Core classes (Database, Resource, Schema, Validator)
10
+ * - All storage clients (S3, MinIO, R2, Memory, FileSystem)
11
+ * - Encryption (AES-256-GCM for secret fields)
12
+ * - All field types and behaviors
13
+ * - Streams and concurrency utilities
14
+ *
15
+ * Excludes:
16
+ * - All plugins (API, TTL, Scheduler, Cache, etc.)
17
+ * - Replicators (Postgres, MySQL, BigQuery, etc.)
18
+ * - Consumers (SQS, RabbitMQ)
19
+ * - Cloud Inventory drivers
20
+ * - Spider/Puppeteer utilities
21
+ * - Testing utilities (Factory, Seeder)
22
+ *
23
+ * Usage:
24
+ * ```typescript
25
+ * import { S3db, Schema } from 's3db.js/lite';
26
+ *
27
+ * const db = new S3db({ connectionString: 's3://...' });
28
+ * ```
29
+ */
30
+ export { Database as S3db } from './database.class.js';
31
+ export { Database } from './database.class.js';
32
+ export { S3Client, S3Client as Client } from './clients/s3-client.class.js';
33
+ export { Resource } from './resource.class.js';
34
+ export { Schema, type SchemaRegistry } from './schema.class.js';
35
+ export { Validator } from './validator.class.js';
36
+ export { ConnectionString } from './connection-string.class.js';
37
+ export { MemoryClient } from './clients/memory-client.class.js';
38
+ export { FileSystemClient } from './clients/filesystem-client.class.js';
39
+ export * from './errors.js';
40
+ export { createLogger, type LogLevel } from './concerns/logger.js';
41
+ export { tryFn, tryFnSync, type TryResult } from './concerns/try-fn.js';
42
+ export { encrypt, decrypt } from './concerns/crypto.js';
43
+ export { idGenerator, passwordGenerator, createCustomGenerator, initializeNanoid } from './concerns/id.js';
44
+ export { encode, decode, encodeDecimal, decodeDecimal } from './concerns/base62.js';
45
+ export { encodeBuffer, decodeBuffer, encodeBits, decodeBits } from './concerns/binary.js';
46
+ export { ProcessManager, getProcessManager, resetProcessManager } from './concerns/process-manager.js';
47
+ export { SafeEventEmitter, createSafeEventEmitter } from './concerns/safe-event-emitter.js';
48
+ export { mapWithConcurrency } from './concerns/map-with-concurrency.js';
49
+ export { ResourceReader, ResourceWriter, ResourceIdsReader, ResourceIdsPageReader, streamToString } from './stream/index.js';
50
+ export { behaviors, getBehavior, AVAILABLE_BEHAVIORS, DEFAULT_BEHAVIOR } from './behaviors/index.js';
51
+ export { TaskExecutor } from './concurrency/index.js';
52
+ export { TasksPool } from './tasks/tasks-pool.class.js';
53
+ export { TasksRunner } from './tasks/tasks-runner.class.js';
54
+ export { AdaptiveTuning } from './concerns/adaptive-tuning.js';
55
+ export { Benchmark, benchmark } from './concerns/benchmark.js';
56
+ export { PerformanceMonitor } from './concerns/performance-monitor.js';
57
+ export { S3db as default } from './database.class.js';
58
+ //# sourceMappingURL=lite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lite.d.ts","sourceRoot":"","sources":["../../src/lite.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH,OAAO,EAAE,QAAQ,IAAI,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAMhE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAMxE,cAAc,aAAa,CAAC;AAO5B,OAAO,EAAE,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG3G,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1F,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAMxE,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "version": "1.0",
3
3
  "model": "BGESmallENV15",
4
4
  "dimensions": 384,
5
- "generatedAt": "2026-01-14T09:45:04.531Z",
5
+ "generatedAt": "2026-01-16T02:42:48.294Z",
6
6
  "documents": [
7
7
  {
8
8
  "id": "core-0",
@@ -2,7 +2,7 @@
2
2
  "version": "1.0",
3
3
  "model": "BGESmallENV15",
4
4
  "dimensions": 384,
5
- "generatedAt": "2026-01-14T09:48:15.556Z",
5
+ "generatedAt": "2026-01-16T02:45:58.669Z",
6
6
  "documents": [
7
7
  {
8
8
  "id": "plugin-0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "s3db.js",
3
- "version": "19.2.4",
3
+ "version": "19.3.0",
4
4
  "description": "Use AWS S3, the world's most reliable document storage, as a database with this ORM.",
5
5
  "main": "dist/s3db.cjs",
6
6
  "module": "dist/s3db.es.js",
@@ -53,6 +53,11 @@
53
53
  "import": "./dist/s3db.es.js",
54
54
  "require": "./dist/s3db.cjs"
55
55
  },
56
+ "./lite": {
57
+ "types": "./dist/s3db-lite.d.ts",
58
+ "import": "./dist/s3db-lite.es.js",
59
+ "require": "./dist/s3db-lite.cjs"
60
+ },
56
61
  "./typescript-generator": {
57
62
  "types": "./src/concerns/typescript-generator.d.ts",
58
63
  "import": "./src/concerns/typescript-generator.js",
package/src/lite.ts ADDED
@@ -0,0 +1,123 @@
1
+ /**
2
+ * s3db.js/lite - Minimal bundle for CLIs and standalone binaries
3
+ *
4
+ * This entry point excludes all plugins with peer dependencies, making it
5
+ * suitable for bundling with pkg, esbuild, or other tools that create
6
+ * standalone executables.
7
+ *
8
+ * Includes:
9
+ * - Core classes (Database, Resource, Schema, Validator)
10
+ * - All storage clients (S3, MinIO, R2, Memory, FileSystem)
11
+ * - Encryption (AES-256-GCM for secret fields)
12
+ * - All field types and behaviors
13
+ * - Streams and concurrency utilities
14
+ *
15
+ * Excludes:
16
+ * - All plugins (API, TTL, Scheduler, Cache, etc.)
17
+ * - Replicators (Postgres, MySQL, BigQuery, etc.)
18
+ * - Consumers (SQS, RabbitMQ)
19
+ * - Cloud Inventory drivers
20
+ * - Spider/Puppeteer utilities
21
+ * - Testing utilities (Factory, Seeder)
22
+ *
23
+ * Usage:
24
+ * ```typescript
25
+ * import { S3db, Schema } from 's3db.js/lite';
26
+ *
27
+ * const db = new S3db({ connectionString: 's3://...' });
28
+ * ```
29
+ */
30
+
31
+ // =============================================================================
32
+ // Core Classes
33
+ // =============================================================================
34
+
35
+ export { Database as S3db } from './database.class.js';
36
+ export { Database } from './database.class.js';
37
+ export { S3Client, S3Client as Client } from './clients/s3-client.class.js';
38
+ export { Resource } from './resource.class.js';
39
+ export { Schema, type SchemaRegistry } from './schema.class.js';
40
+ export { Validator } from './validator.class.js';
41
+ export { ConnectionString } from './connection-string.class.js';
42
+
43
+ // =============================================================================
44
+ // Storage Clients (no peer dependencies)
45
+ // =============================================================================
46
+
47
+ export { MemoryClient } from './clients/memory-client.class.js';
48
+ export { FileSystemClient } from './clients/filesystem-client.class.js';
49
+
50
+ // =============================================================================
51
+ // Errors
52
+ // =============================================================================
53
+
54
+ export * from './errors.js';
55
+
56
+ // =============================================================================
57
+ // Concerns/Utilities (core only)
58
+ // =============================================================================
59
+
60
+ // Logger
61
+ export { createLogger, type LogLevel } from './concerns/logger.js';
62
+
63
+ // Error handling
64
+ export { tryFn, tryFnSync, type TryResult } from './concerns/try-fn.js';
65
+
66
+ // Crypto
67
+ export { encrypt, decrypt } from './concerns/crypto.js';
68
+
69
+ // ID generation
70
+ export { idGenerator, passwordGenerator, createCustomGenerator, initializeNanoid } from './concerns/id.js';
71
+
72
+ // Base62 encoding
73
+ export { encode, decode, encodeDecimal, decodeDecimal } from './concerns/base62.js';
74
+
75
+ // Binary encoding
76
+ export { encodeBuffer, decodeBuffer, encodeBits, decodeBits } from './concerns/binary.js';
77
+
78
+ // Lifecycle management
79
+ export { ProcessManager, getProcessManager, resetProcessManager } from './concerns/process-manager.js';
80
+ export { SafeEventEmitter, createSafeEventEmitter } from './concerns/safe-event-emitter.js';
81
+
82
+ // Map utilities
83
+ export { mapWithConcurrency } from './concerns/map-with-concurrency.js';
84
+
85
+ // =============================================================================
86
+ // Streams
87
+ // =============================================================================
88
+
89
+ export {
90
+ ResourceReader,
91
+ ResourceWriter,
92
+ ResourceIdsReader,
93
+ ResourceIdsPageReader,
94
+ streamToString
95
+ } from './stream/index.js';
96
+
97
+ // =============================================================================
98
+ // Behaviors
99
+ // =============================================================================
100
+
101
+ export {
102
+ behaviors,
103
+ getBehavior,
104
+ AVAILABLE_BEHAVIORS,
105
+ DEFAULT_BEHAVIOR
106
+ } from './behaviors/index.js';
107
+
108
+ // =============================================================================
109
+ // Concurrency & Tasks
110
+ // =============================================================================
111
+
112
+ export { TaskExecutor } from './concurrency/index.js';
113
+ export { TasksPool } from './tasks/tasks-pool.class.js';
114
+ export { TasksRunner } from './tasks/tasks-runner.class.js';
115
+ export { AdaptiveTuning } from './concerns/adaptive-tuning.js';
116
+ export { Benchmark, benchmark } from './concerns/benchmark.js';
117
+ export { PerformanceMonitor } from './concerns/performance-monitor.js';
118
+
119
+ // =============================================================================
120
+ // Default Export
121
+ // =============================================================================
122
+
123
+ export { S3db as default } from './database.class.js';