bullmq 6.3.11 → 6.3.12

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 (182) hide show
  1. package/dist/cjs/postgres/sql-loader.js +27 -41
  2. package/dist/cjs/postgres/sql-scripts.js +110 -0
  3. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  4. package/dist/cjs/version.js +1 -1
  5. package/dist/esm/postgres/sql-loader.d.ts +6 -1
  6. package/dist/esm/postgres/sql-loader.js +27 -41
  7. package/dist/esm/postgres/sql-scripts.d.ts +10 -0
  8. package/dist/esm/postgres/sql-scripts.js +107 -0
  9. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  10. package/dist/esm/version.d.ts +1 -1
  11. package/dist/esm/version.js +1 -1
  12. package/package.json +10 -9
  13. package/dist/cjs/postgres/commands/add_flow.sql +0 -3
  14. package/dist/cjs/postgres/commands/add_job.sql +0 -5
  15. package/dist/cjs/postgres/commands/add_job_scheduler.sql +0 -6
  16. package/dist/cjs/postgres/commands/add_jobs_bulk.sql +0 -3
  17. package/dist/cjs/postgres/commands/add_log.sql +0 -14
  18. package/dist/cjs/postgres/commands/change_delay.sql +0 -3
  19. package/dist/cjs/postgres/commands/change_priority.sql +0 -3
  20. package/dist/cjs/postgres/commands/clean.sql +0 -3
  21. package/dist/cjs/postgres/commands/clear_logs.sql +0 -9
  22. package/dist/cjs/postgres/commands/collect_metrics.sql +0 -4
  23. package/dist/cjs/postgres/commands/delete_deduplication_key.sql +0 -6
  24. package/dist/cjs/postgres/commands/drain.sql +0 -2
  25. package/dist/cjs/postgres/commands/extend_lock.sql +0 -3
  26. package/dist/cjs/postgres/commands/extend_locks.sql +0 -25
  27. package/dist/cjs/postgres/commands/get_client_list.sql +0 -11
  28. package/dist/cjs/postgres/commands/get_counts.sql +0 -13
  29. package/dist/cjs/postgres/commands/get_counts_per_priority.sql +0 -14
  30. package/dist/cjs/postgres/commands/get_deduplication_job_id.sql +0 -7
  31. package/dist/cjs/postgres/commands/get_dependencies.sql +0 -8
  32. package/dist/cjs/postgres/commands/get_dependencies_page.sql +0 -7
  33. package/dist/cjs/postgres/commands/get_dependency_counts.sql +0 -9
  34. package/dist/cjs/postgres/commands/get_ignored_children_failures.sql +0 -7
  35. package/dist/cjs/postgres/commands/get_job_data.sql +0 -2
  36. package/dist/cjs/postgres/commands/get_job_logs_asc.sql +0 -6
  37. package/dist/cjs/postgres/commands/get_job_logs_count.sql +0 -2
  38. package/dist/cjs/postgres/commands/get_job_logs_desc.sql +0 -6
  39. package/dist/cjs/postgres/commands/get_job_scheduler.sql +0 -6
  40. package/dist/cjs/postgres/commands/get_job_schedulers_count.sql +0 -2
  41. package/dist/cjs/postgres/commands/get_job_schedulers_range.sql +0 -10
  42. package/dist/cjs/postgres/commands/get_metrics.sql +0 -14
  43. package/dist/cjs/postgres/commands/get_processed_children_values.sql +0 -8
  44. package/dist/cjs/postgres/commands/get_queue_meta.sql +0 -2
  45. package/dist/cjs/postgres/commands/get_queue_meta_field.sql +0 -2
  46. package/dist/cjs/postgres/commands/get_queue_meta_fields.sql +0 -3
  47. package/dist/cjs/postgres/commands/get_range.sql +0 -3
  48. package/dist/cjs/postgres/commands/get_rate_limit_ttl.sql +0 -3
  49. package/dist/cjs/postgres/commands/get_state.sql +0 -2
  50. package/dist/cjs/postgres/commands/has_queue_meta_field.sql +0 -4
  51. package/dist/cjs/postgres/commands/has_waiting_job.sql +0 -11
  52. package/dist/cjs/postgres/commands/is_finished.sql +0 -4
  53. package/dist/cjs/postgres/commands/is_job_in_state.sql +0 -6
  54. package/dist/cjs/postgres/commands/is_job_in_wait.sql +0 -15
  55. package/dist/cjs/postgres/commands/is_job_prioritized.sql +0 -6
  56. package/dist/cjs/postgres/commands/is_job_scheduler.sql +0 -4
  57. package/dist/cjs/postgres/commands/is_maxed.sql +0 -10
  58. package/dist/cjs/postgres/commands/listen_events.sql +0 -3
  59. package/dist/cjs/postgres/commands/listen_jobs.sql +0 -4
  60. package/dist/cjs/postgres/commands/move_active_to_wait.sql +0 -4
  61. package/dist/cjs/postgres/commands/move_stalled_jobs_to_wait.sql +0 -4
  62. package/dist/cjs/postgres/commands/move_to_active.sql +0 -4
  63. package/dist/cjs/postgres/commands/move_to_completed.sql +0 -4
  64. package/dist/cjs/postgres/commands/move_to_completed_fetch.sql +0 -9
  65. package/dist/cjs/postgres/commands/move_to_delayed.sql +0 -4
  66. package/dist/cjs/postgres/commands/move_to_failed.sql +0 -4
  67. package/dist/cjs/postgres/commands/move_to_failed_fetch.sql +0 -9
  68. package/dist/cjs/postgres/commands/move_to_waiting_children.sql +0 -3
  69. package/dist/cjs/postgres/commands/next_delay.sql +0 -2
  70. package/dist/cjs/postgres/commands/next_signal.sql +0 -3
  71. package/dist/cjs/postgres/commands/obliterate.sql +0 -4
  72. package/dist/cjs/postgres/commands/paginate_dependencies.sql +0 -19
  73. package/dist/cjs/postgres/commands/pause.sql +0 -2
  74. package/dist/cjs/postgres/commands/promote.sql +0 -3
  75. package/dist/cjs/postgres/commands/promote_jobs.sql +0 -3
  76. package/dist/cjs/postgres/commands/publish_event.sql +0 -3
  77. package/dist/cjs/postgres/commands/read_events.sql +0 -6
  78. package/dist/cjs/postgres/commands/read_events_max.sql +0 -3
  79. package/dist/cjs/postgres/commands/remove.sql +0 -3
  80. package/dist/cjs/postgres/commands/remove_child_dependency.sql +0 -4
  81. package/dist/cjs/postgres/commands/remove_deduplication_key.sql +0 -9
  82. package/dist/cjs/postgres/commands/remove_job_scheduler.sql +0 -3
  83. package/dist/cjs/postgres/commands/remove_queue_meta_fields.sql +0 -2
  84. package/dist/cjs/postgres/commands/remove_rate_limit.sql +0 -6
  85. package/dist/cjs/postgres/commands/remove_unprocessed_children.sql +0 -3
  86. package/dist/cjs/postgres/commands/reprocess_job.sql +0 -4
  87. package/dist/cjs/postgres/commands/retry_job.sql +0 -3
  88. package/dist/cjs/postgres/commands/retry_jobs.sql +0 -3
  89. package/dist/cjs/postgres/commands/set_queue_meta.sql +0 -4
  90. package/dist/cjs/postgres/commands/set_rate_limit.sql +0 -3
  91. package/dist/cjs/postgres/commands/trim_logs.sql +0 -3
  92. package/dist/cjs/postgres/commands/update_data.sql +0 -3
  93. package/dist/cjs/postgres/commands/update_job_scheduler.sql +0 -5
  94. package/dist/cjs/postgres/commands/update_progress.sql +0 -3
  95. package/dist/cjs/postgres/migrations/0001_schema.sql +0 -348
  96. package/dist/cjs/postgres/migrations/0002_functions.sql +0 -3473
  97. package/dist/cjs/postgres/migrations/0003_dedup_stale_key.sql +0 -147
  98. package/dist/esm/postgres/commands/add_flow.sql +0 -3
  99. package/dist/esm/postgres/commands/add_job.sql +0 -5
  100. package/dist/esm/postgres/commands/add_job_scheduler.sql +0 -6
  101. package/dist/esm/postgres/commands/add_jobs_bulk.sql +0 -3
  102. package/dist/esm/postgres/commands/add_log.sql +0 -14
  103. package/dist/esm/postgres/commands/change_delay.sql +0 -3
  104. package/dist/esm/postgres/commands/change_priority.sql +0 -3
  105. package/dist/esm/postgres/commands/clean.sql +0 -3
  106. package/dist/esm/postgres/commands/clear_logs.sql +0 -9
  107. package/dist/esm/postgres/commands/collect_metrics.sql +0 -4
  108. package/dist/esm/postgres/commands/delete_deduplication_key.sql +0 -6
  109. package/dist/esm/postgres/commands/drain.sql +0 -2
  110. package/dist/esm/postgres/commands/extend_lock.sql +0 -3
  111. package/dist/esm/postgres/commands/extend_locks.sql +0 -25
  112. package/dist/esm/postgres/commands/get_client_list.sql +0 -11
  113. package/dist/esm/postgres/commands/get_counts.sql +0 -13
  114. package/dist/esm/postgres/commands/get_counts_per_priority.sql +0 -14
  115. package/dist/esm/postgres/commands/get_deduplication_job_id.sql +0 -7
  116. package/dist/esm/postgres/commands/get_dependencies.sql +0 -8
  117. package/dist/esm/postgres/commands/get_dependencies_page.sql +0 -7
  118. package/dist/esm/postgres/commands/get_dependency_counts.sql +0 -9
  119. package/dist/esm/postgres/commands/get_ignored_children_failures.sql +0 -7
  120. package/dist/esm/postgres/commands/get_job_data.sql +0 -2
  121. package/dist/esm/postgres/commands/get_job_logs_asc.sql +0 -6
  122. package/dist/esm/postgres/commands/get_job_logs_count.sql +0 -2
  123. package/dist/esm/postgres/commands/get_job_logs_desc.sql +0 -6
  124. package/dist/esm/postgres/commands/get_job_scheduler.sql +0 -6
  125. package/dist/esm/postgres/commands/get_job_schedulers_count.sql +0 -2
  126. package/dist/esm/postgres/commands/get_job_schedulers_range.sql +0 -10
  127. package/dist/esm/postgres/commands/get_metrics.sql +0 -14
  128. package/dist/esm/postgres/commands/get_processed_children_values.sql +0 -8
  129. package/dist/esm/postgres/commands/get_queue_meta.sql +0 -2
  130. package/dist/esm/postgres/commands/get_queue_meta_field.sql +0 -2
  131. package/dist/esm/postgres/commands/get_queue_meta_fields.sql +0 -3
  132. package/dist/esm/postgres/commands/get_range.sql +0 -3
  133. package/dist/esm/postgres/commands/get_rate_limit_ttl.sql +0 -3
  134. package/dist/esm/postgres/commands/get_state.sql +0 -2
  135. package/dist/esm/postgres/commands/has_queue_meta_field.sql +0 -4
  136. package/dist/esm/postgres/commands/has_waiting_job.sql +0 -11
  137. package/dist/esm/postgres/commands/is_finished.sql +0 -4
  138. package/dist/esm/postgres/commands/is_job_in_state.sql +0 -6
  139. package/dist/esm/postgres/commands/is_job_in_wait.sql +0 -15
  140. package/dist/esm/postgres/commands/is_job_prioritized.sql +0 -6
  141. package/dist/esm/postgres/commands/is_job_scheduler.sql +0 -4
  142. package/dist/esm/postgres/commands/is_maxed.sql +0 -10
  143. package/dist/esm/postgres/commands/listen_events.sql +0 -3
  144. package/dist/esm/postgres/commands/listen_jobs.sql +0 -4
  145. package/dist/esm/postgres/commands/move_active_to_wait.sql +0 -4
  146. package/dist/esm/postgres/commands/move_stalled_jobs_to_wait.sql +0 -4
  147. package/dist/esm/postgres/commands/move_to_active.sql +0 -4
  148. package/dist/esm/postgres/commands/move_to_completed.sql +0 -4
  149. package/dist/esm/postgres/commands/move_to_completed_fetch.sql +0 -9
  150. package/dist/esm/postgres/commands/move_to_delayed.sql +0 -4
  151. package/dist/esm/postgres/commands/move_to_failed.sql +0 -4
  152. package/dist/esm/postgres/commands/move_to_failed_fetch.sql +0 -9
  153. package/dist/esm/postgres/commands/move_to_waiting_children.sql +0 -3
  154. package/dist/esm/postgres/commands/next_delay.sql +0 -2
  155. package/dist/esm/postgres/commands/next_signal.sql +0 -3
  156. package/dist/esm/postgres/commands/obliterate.sql +0 -4
  157. package/dist/esm/postgres/commands/paginate_dependencies.sql +0 -19
  158. package/dist/esm/postgres/commands/pause.sql +0 -2
  159. package/dist/esm/postgres/commands/promote.sql +0 -3
  160. package/dist/esm/postgres/commands/promote_jobs.sql +0 -3
  161. package/dist/esm/postgres/commands/publish_event.sql +0 -3
  162. package/dist/esm/postgres/commands/read_events.sql +0 -6
  163. package/dist/esm/postgres/commands/read_events_max.sql +0 -3
  164. package/dist/esm/postgres/commands/remove.sql +0 -3
  165. package/dist/esm/postgres/commands/remove_child_dependency.sql +0 -4
  166. package/dist/esm/postgres/commands/remove_deduplication_key.sql +0 -9
  167. package/dist/esm/postgres/commands/remove_job_scheduler.sql +0 -3
  168. package/dist/esm/postgres/commands/remove_queue_meta_fields.sql +0 -2
  169. package/dist/esm/postgres/commands/remove_rate_limit.sql +0 -6
  170. package/dist/esm/postgres/commands/remove_unprocessed_children.sql +0 -3
  171. package/dist/esm/postgres/commands/reprocess_job.sql +0 -4
  172. package/dist/esm/postgres/commands/retry_job.sql +0 -3
  173. package/dist/esm/postgres/commands/retry_jobs.sql +0 -3
  174. package/dist/esm/postgres/commands/set_queue_meta.sql +0 -4
  175. package/dist/esm/postgres/commands/set_rate_limit.sql +0 -3
  176. package/dist/esm/postgres/commands/trim_logs.sql +0 -3
  177. package/dist/esm/postgres/commands/update_data.sql +0 -3
  178. package/dist/esm/postgres/commands/update_job_scheduler.sql +0 -5
  179. package/dist/esm/postgres/commands/update_progress.sql +0 -3
  180. package/dist/esm/postgres/migrations/0001_schema.sql +0 -348
  181. package/dist/esm/postgres/migrations/0002_functions.sql +0 -3473
  182. package/dist/esm/postgres/migrations/0003_dedup_stale_key.sql +0 -147
@@ -2,65 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadMigrationSql = loadMigrationSql;
4
4
  exports.loadCommandSql = loadCommandSql;
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- const url_1 = require("url");
8
- function getDirname() {
9
- if (typeof __dirname !== 'undefined' && __dirname) {
10
- return __dirname;
11
- }
12
- const stack = new Error().stack || '';
13
- for (const line of stack.split('\n')) {
14
- const match = line.match(/(file:\/\/\/[^\s)]+)/);
15
- if (match) {
16
- try {
17
- return (0, path_1.dirname)((0, url_1.fileURLToPath)(match[1]));
18
- }
19
- catch (_a) {
20
- // continue searching
21
- }
22
- }
23
- }
24
- throw new Error('Could not determine sql-loader directory path');
25
- }
26
- const currentDir = getDirname();
5
+ const sql_scripts_1 = require("./sql-scripts");
27
6
  /**
28
- * Loads a migration's SQL from its `.sql` file — the portable source of truth
29
- * shared with the Elixir/Python ports. Results are cached after the first read.
7
+ * Loads a migration's SQL — the portable source of truth shared with the
8
+ * Elixir/Python ports. Results are cached after the first lookup.
30
9
  *
31
- * The `.sql` files live next to this module under `migrations/`. The published
32
- * build copies them alongside the compiled output (a `copy:sql` build step,
33
- * analogous to how the Lua scripts are bundled), so the same relative lookup
34
- * works at runtime.
35
- */
36
- const MIGRATIONS_DIR = (0, path_1.join)(currentDir, 'migrations');
37
- /**
38
- * Runtime queries live under `commands/`. Each `.sql` file is one parameterized
39
- * statement (a `SELECT fn(...)` for the PL/pgSQL operations, or a direct
40
- * query). They contain NO schema/namespace references — the connection's
41
- * `search_path` selects the schema — so they are portable verbatim to the
42
- * Python/Elixir/PHP/Rust ports (mirroring how the Redis backend's `.lua`
43
- * scripts never hardcode the key prefix).
10
+ * The SQL is inlined into the published JavaScript at build time (see
11
+ * scripts/generateSqlScripts.js), exactly like the Redis backend's `.lua`
12
+ * scripts, so no filesystem access is needed at runtime. This keeps the
13
+ * PostgreSQL backend usable from single-file bundles (bun build --compile,
14
+ * esbuild --bundle, pkg, Node SEA, deno compile) where the `.sql` files are
15
+ * not shipped alongside the code:
16
+ *
17
+ * @see https://github.com/taskforcesh/bullmq/issues/4603
18
+ *
19
+ * @param file - Migration filename, e.g. `0001_schema.sql`.
44
20
  */
45
- const COMMANDS_DIR = (0, path_1.join)(currentDir, 'commands');
46
21
  const migrationCache = new Map();
47
22
  const commandCache = new Map();
48
23
  function loadMigrationSql(file) {
49
24
  let sql = migrationCache.get(file);
50
25
  if (sql === undefined) {
51
- sql = (0, fs_1.readFileSync)((0, path_1.join)(MIGRATIONS_DIR, file), 'utf8');
26
+ sql = sql_scripts_1.SQL_MIGRATIONS[file];
27
+ if (sql === undefined) {
28
+ throw new Error(`Could not find migration SQL for '${file}'`);
29
+ }
52
30
  migrationCache.set(file, sql);
53
31
  }
54
32
  return sql;
55
33
  }
56
34
  /**
57
35
  * Loads a runtime command's SQL by name (without the `.sql` extension), cached
58
- * after the first read.
36
+ * after the first lookup. Runtime queries contain NO schema/namespace
37
+ * references — the connection's `search_path` selects the schema — so they are
38
+ * portable verbatim to the Python/Elixir/PHP/Rust ports (mirroring how the
39
+ * Redis backend's `.lua` scripts never hardcode the key prefix).
40
+ *
41
+ * @param name - Command name, e.g. `add_job`.
59
42
  */
60
43
  function loadCommandSql(name) {
61
44
  let sql = commandCache.get(name);
62
45
  if (sql === undefined) {
63
- sql = (0, fs_1.readFileSync)((0, path_1.join)(COMMANDS_DIR, `${name}.sql`), 'utf8');
46
+ sql = sql_scripts_1.SQL_COMMANDS[`${name}.sql`];
47
+ if (sql === undefined) {
48
+ throw new Error(`Could not find command SQL for '${name}'`);
49
+ }
64
50
  commandCache.set(name, sql);
65
51
  }
66
52
  return sql;