@remix-run/data-table 0.3.0 → 0.5.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 (83) hide show
  1. package/README.md +217 -78
  2. package/dist/cli.d.ts +76 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +78 -0
  5. package/dist/index.d.ts +5 -4
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +7 -7
  8. package/dist/lib/column.d.ts +1 -1
  9. package/dist/lib/column.d.ts.map +1 -1
  10. package/dist/lib/database/execution-context.d.ts +5 -5
  11. package/dist/lib/database/execution-context.d.ts.map +1 -1
  12. package/dist/lib/database/execution-context.js +1 -0
  13. package/dist/lib/database/helpers.js +6 -6
  14. package/dist/lib/database/query-execution.d.ts.map +1 -1
  15. package/dist/lib/database/query-execution.js +17 -17
  16. package/dist/lib/database/relations.js +5 -5
  17. package/dist/lib/database/write-lifecycle.d.ts +2 -2
  18. package/dist/lib/database/write-lifecycle.d.ts.map +1 -1
  19. package/dist/lib/database/write-lifecycle.js +5 -5
  20. package/dist/lib/database.d.ts +74 -59
  21. package/dist/lib/database.d.ts.map +1 -1
  22. package/dist/lib/database.js +176 -83
  23. package/dist/lib/{adapter.d.ts → driver.d.ts} +46 -48
  24. package/dist/lib/driver.d.ts.map +1 -0
  25. package/dist/lib/errors.d.ts +2 -2
  26. package/dist/lib/errors.d.ts.map +1 -1
  27. package/dist/lib/errors.js +4 -4
  28. package/dist/lib/migrations/journal-store.d.ts +6 -6
  29. package/dist/lib/migrations/journal-store.d.ts.map +1 -1
  30. package/dist/lib/migrations/journal-store.js +20 -11
  31. package/dist/lib/migrations/runner.d.ts +12 -19
  32. package/dist/lib/migrations/runner.d.ts.map +1 -1
  33. package/dist/lib/migrations/runner.js +152 -130
  34. package/dist/lib/migrations-node.d.ts +19 -1
  35. package/dist/lib/migrations-node.d.ts.map +1 -1
  36. package/dist/lib/migrations-node.js +22 -1
  37. package/dist/lib/migrations.d.ts +55 -20
  38. package/dist/lib/migrations.d.ts.map +1 -1
  39. package/dist/lib/operators.d.ts +8 -7
  40. package/dist/lib/operators.d.ts.map +1 -1
  41. package/dist/lib/operators.js +15 -11
  42. package/dist/lib/query.d.ts +1 -1
  43. package/dist/lib/query.d.ts.map +1 -1
  44. package/dist/lib/query.js +4 -4
  45. package/dist/lib/sql-helpers.d.ts +1 -1
  46. package/dist/lib/sql-helpers.d.ts.map +1 -1
  47. package/dist/lib/sql.d.ts +1 -1
  48. package/dist/lib/sql.js +1 -1
  49. package/dist/lib/table.d.ts +1 -1
  50. package/dist/lib/table.d.ts.map +1 -1
  51. package/dist/lib/table.js +5 -5
  52. package/dist/migrations/node.d.ts +1 -1
  53. package/dist/migrations/node.d.ts.map +1 -1
  54. package/dist/migrations/node.js +1 -1
  55. package/dist/migrations.d.ts +1 -2
  56. package/dist/migrations.d.ts.map +1 -1
  57. package/dist/migrations.js +2 -3
  58. package/dist/operators.js +1 -1
  59. package/dist/sql-helpers.js +1 -1
  60. package/package.json +13 -9
  61. package/src/cli.ts +179 -0
  62. package/src/index.ts +19 -20
  63. package/src/lib/column.ts +1 -1
  64. package/src/lib/database/execution-context.ts +10 -6
  65. package/src/lib/database/helpers.ts +1 -1
  66. package/src/lib/database/query-execution.ts +15 -11
  67. package/src/lib/database/write-lifecycle.ts +4 -4
  68. package/src/lib/database.ts +223 -96
  69. package/src/lib/{adapter.ts → driver.ts} +48 -48
  70. package/src/lib/errors.ts +4 -4
  71. package/src/lib/migrations/journal-store.ts +21 -11
  72. package/src/lib/migrations/runner.ts +201 -148
  73. package/src/lib/migrations-node.ts +23 -1
  74. package/src/lib/migrations.ts +58 -19
  75. package/src/lib/operators.ts +24 -11
  76. package/src/lib/query.ts +1 -1
  77. package/src/lib/sql-helpers.ts +1 -1
  78. package/src/lib/sql.ts +1 -1
  79. package/src/lib/table.ts +1 -1
  80. package/src/migrations/node.ts +1 -1
  81. package/src/migrations.ts +3 -4
  82. package/dist/lib/adapter.d.ts.map +0 -1
  83. /package/dist/lib/{adapter.js → driver.js} +0 -0
@@ -1,24 +1,26 @@
1
+ import type { Database } from './database.ts'
2
+
1
3
  /**
2
4
  * Controls how each migration is wrapped in transactions.
3
5
  *
4
- * - `auto` (default): wrap when the adapter supports transactional DDL.
5
- * - `required`: wrap; throws when the adapter does not support transactional DDL.
6
+ * - `auto` (default): wrap when the database supports transactional DDL.
7
+ * - `required`: wrap; throws when the database does not support transactional DDL.
6
8
  * - `none`: never wrap.
7
9
  */
8
10
  export type MigrationTransactionMode = 'auto' | 'required' | 'none'
9
11
 
10
12
  /**
11
- * Migration metadata + SQL consumed by the registry/runner.
13
+ * Migration metadata and SQL consumed by `Database.migrate()`.
12
14
  */
13
15
  export type MigrationDescriptor = {
14
16
  /** Migration id (typically a `YYYYMMDDHHmmss` timestamp). */
15
17
  id: string
16
18
  /** Human-readable migration slug. */
17
19
  name: string
18
- /** SQL executed for `runner.up(...)`. May contain multiple statements. */
20
+ /** SQL executed when applying the migration. May contain multiple statements. */
19
21
  up: string
20
22
  /**
21
- * SQL executed for `runner.down(...)`. May contain multiple statements.
23
+ * SQL executed when reverting the migration. May contain multiple statements.
22
24
  * Omit (or pass `undefined`) for irreversible migrations.
23
25
  */
24
26
  down?: string
@@ -29,7 +31,7 @@ export type MigrationDescriptor = {
29
31
  }
30
32
 
31
33
  /**
32
- * Direction used by migration runner operations.
34
+ * Direction used by `Database.migrate()`.
33
35
  */
34
36
  export type MigrationDirection = 'up' | 'down'
35
37
 
@@ -45,12 +47,17 @@ export type MigrationJournalRow = {
45
47
  }
46
48
 
47
49
  /**
48
- * Effective status for a known migration.
50
+ * Effective migration status.
51
+ *
52
+ * - `applied`: the current migration matches its journal entry.
53
+ * - `pending`: the current migration has not been applied.
54
+ * - `drifted`: the current migration differs from its journal entry.
55
+ * - `missing`: an applied journal entry has no migration in the current set.
49
56
  */
50
- export type MigrationStatus = 'applied' | 'pending' | 'drifted'
57
+ export type MigrationStatus = 'applied' | 'pending' | 'drifted' | 'missing'
51
58
 
52
59
  /**
53
- * Status row returned by `runner.status()` and `runner.up/down(...)`.
60
+ * Status entry returned by database migration operations.
54
61
  */
55
62
  export type MigrationStatusEntry = {
56
63
  id: string
@@ -62,10 +69,13 @@ export type MigrationStatusEntry = {
62
69
  }
63
70
 
64
71
  /**
65
- * Common options for `runner.up(...)` and `runner.down(...)`.
72
+ * Bounds and dry-run options for a migration operation.
66
73
  * `to` and `step` are mutually exclusive.
74
+ *
75
+ * `to` accepts a bare migration id (`20260301113000`) or the full `id_name`
76
+ * directory form (`20260301113000_add_user_status`).
67
77
  */
68
- export type MigrateOptions =
78
+ export type MigrationOperationOptions =
69
79
  | {
70
80
  to: string
71
81
  step?: never
@@ -83,7 +93,7 @@ export type MigrateOptions =
83
93
  }
84
94
 
85
95
  /**
86
- * Result shape returned by migration runner commands.
96
+ * Result returned by `Database.migrate()`.
87
97
  */
88
98
  export type MigrateResult = {
89
99
  applied: MigrationStatusEntry[]
@@ -103,9 +113,21 @@ export type MigrationRegistry = {
103
113
  }
104
114
 
105
115
  /**
106
- * Options for creating a migration runner.
116
+ * Migration collection accepted by `db.migrate(...)` and `db.migrationStatus(...)`.
117
+ */
118
+ export type Migrations = MigrationDescriptor[] | MigrationRegistry
119
+
120
+ /**
121
+ * Function that initializes application data in a database.
107
122
  */
108
- export type MigrationRunnerOptions = {
123
+ export type Seed = (db: Database) => void | Promise<void>
124
+
125
+ /**
126
+ * Options for applying or reverting migrations through `Database.migrate()`.
127
+ */
128
+ export type DatabaseMigrateOptions = MigrationOperationOptions & {
129
+ /** Migration direction. Defaults to `up`. */
130
+ direction?: MigrationDirection
109
131
  /**
110
132
  * Journal table used to record applied migrations.
111
133
  * Defaults to `data_table_migrations`.
@@ -114,10 +136,27 @@ export type MigrationRunnerOptions = {
114
136
  }
115
137
 
116
138
  /**
117
- * Migration runner API for applying, reverting, and inspecting migration state.
139
+ * Options for reading migration status through `Database.migrationStatus()`.
118
140
  */
119
- export type MigrationRunner = {
120
- up(options?: MigrateOptions): Promise<MigrateResult>
121
- down(options?: MigrateOptions): Promise<MigrateResult>
122
- status(): Promise<MigrationStatusEntry[]>
141
+ export interface DatabaseMigrationStatusOptions {
142
+ /**
143
+ * Journal table used to record applied migrations.
144
+ * Defaults to `data_table_migrations`.
145
+ */
146
+ journalTable?: string
147
+ }
148
+
149
+ /**
150
+ * Options for rebuilding a database through `Database.reset()`.
151
+ */
152
+ export interface DatabaseResetOptions {
153
+ /** Migrations to apply after wiping the database. */
154
+ migrations: Migrations
155
+ /** Function that initializes application data after migrations finish. */
156
+ seed?: Seed
157
+ /**
158
+ * Journal table used to record applied migrations.
159
+ * Defaults to `data_table_migrations`.
160
+ */
161
+ journalTable?: string
123
162
  }
@@ -22,7 +22,7 @@ type PredicateColumn<input extends string | ColumnReferenceLike> = NormalizeColu
22
22
  string
23
23
 
24
24
  /**
25
- * Normalized predicate representation consumed by adapters.
25
+ * Normalized predicate representation consumed by drivers.
26
26
  */
27
27
  export type Predicate<column extends string = string> =
28
28
  | {
@@ -66,6 +66,9 @@ export type WhereObject<column extends string = string> = Partial<Record<column,
66
66
  */
67
67
  export type WhereInput<column extends string = string> = Predicate<column> | WhereObject<column>
68
68
 
69
+ type WhereInputColumn<input extends WhereInput> =
70
+ input extends Predicate<infer column> ? column : keyof input & string
71
+
69
72
  /**
70
73
  * Builds an equality predicate.
71
74
  */
@@ -293,23 +296,33 @@ export function notNull<column extends string | ColumnReferenceLike>(
293
296
  }
294
297
 
295
298
  /**
296
- * Combines predicates with logical `AND`.
297
- * @param predicates Child predicates.
299
+ * Combines where inputs with logical `AND`.
300
+ * @param inputs Child predicates or object shorthand filters.
298
301
  * @returns A logical `and` predicate.
299
302
  */
300
- export function and<column extends string>(...predicates: Predicate<column>[]): Predicate<column> {
301
- let filtered = predicates.filter(Boolean)
302
- return { type: 'logical', operator: 'and', predicates: filtered }
303
+ export function and<inputs extends WhereInput[]>(
304
+ ...inputs: inputs
305
+ ): Predicate<WhereInputColumn<inputs[number]>> {
306
+ type column = WhereInputColumn<inputs[number]>
307
+ let predicates = inputs
308
+ .filter(Boolean)
309
+ .map((input) => normalizeWhereInput(input) as Predicate<column>)
310
+ return { type: 'logical', operator: 'and', predicates }
303
311
  }
304
312
 
305
313
  /**
306
- * Combines predicates with logical `OR`.
307
- * @param predicates Child predicates.
314
+ * Combines where inputs with logical `OR`.
315
+ * @param inputs Child predicates or object shorthand filters.
308
316
  * @returns A logical `or` predicate.
309
317
  */
310
- export function or<column extends string>(...predicates: Predicate<column>[]): Predicate<column> {
311
- let filtered = predicates.filter(Boolean)
312
- return { type: 'logical', operator: 'or', predicates: filtered }
318
+ export function or<inputs extends WhereInput[]>(
319
+ ...inputs: inputs
320
+ ): Predicate<WhereInputColumn<inputs[number]>> {
321
+ type column = WhereInputColumn<inputs[number]>
322
+ let predicates = inputs
323
+ .filter(Boolean)
324
+ .map((input) => normalizeWhereInput(input) as Predicate<column>)
325
+ return { type: 'logical', operator: 'or', predicates }
313
326
  }
314
327
 
315
328
  /**
package/src/lib/query.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { JoinClause, JoinType, SelectColumn } from './adapter.ts'
1
+ import type { JoinClause, JoinType, SelectColumn } from './driver.ts'
2
2
  import { DataTableQueryError, DataTableValidationError } from './errors.ts'
3
3
  import type {
4
4
  MergeColumnTypeMaps,
@@ -1,4 +1,4 @@
1
- import type { TableRef } from './adapter.ts'
1
+ import type { TableRef } from './driver.ts'
2
2
 
3
3
  /**
4
4
  * Function used to quote SQL identifiers for a dialect.
package/src/lib/sql.ts CHANGED
@@ -69,7 +69,7 @@ export function isSqlStatement(value: unknown): value is SqlStatement {
69
69
 
70
70
  /**
71
71
  * Creates a SQL statement from raw text and values.
72
- * @param text SQL text containing placeholders expected by the target adapter.
72
+ * @param text SQL text containing placeholders expected by the target database.
73
73
  * @param values Placeholder values.
74
74
  * @returns A normalized SQL statement.
75
75
  * @example
package/src/lib/table.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ColumnDefinition } from './adapter.ts'
1
+ import type { ColumnDefinition } from './driver.ts'
2
2
  import { ColumnBuilder } from './column.ts'
3
3
  import type { ColumnInput as ColumnBuilderInput, ColumnOutput } from './column.ts'
4
4
  import type { Predicate, WhereInput } from './operators.ts'
@@ -1 +1 @@
1
- export { loadMigrations } from '../lib/migrations-node.ts'
1
+ export { loadMigrations, loadSeed } from '../lib/migrations-node.ts'
package/src/migrations.ts CHANGED
@@ -1,16 +1,15 @@
1
1
  export type {
2
- MigrateOptions,
2
+ DatabaseMigrateOptions,
3
+ DatabaseMigrationStatusOptions,
4
+ DatabaseResetOptions,
3
5
  MigrateResult,
4
6
  MigrationDescriptor,
5
7
  MigrationDirection,
6
8
  MigrationJournalRow,
7
9
  MigrationRegistry,
8
- MigrationRunner,
9
- MigrationRunnerOptions,
10
10
  MigrationStatus,
11
11
  MigrationStatusEntry,
12
12
  MigrationTransactionMode,
13
13
  } from './lib/migrations.ts'
14
14
  export { createMigrationRegistry } from './lib/migrations/registry.ts'
15
- export { createMigrationRunner } from './lib/migrations/runner.ts'
16
15
  export { parseMigrationDirectoryName } from './lib/migrations/directory-name.ts'
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapter.ts"],"names":[],"mappings":"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"}
File without changes