@rebasepro/cli 0.24.0 → 0.24.1-canary.gcb918fc

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 (122) hide show
  1. package/bin/rebase.js +3 -0
  2. package/dist/agent-setup-B31F00DC.js +324 -0
  3. package/dist/agent-setup-B31F00DC.js.map +1 -0
  4. package/dist/api-keys-BPBi5nOF.js +524 -0
  5. package/dist/api-keys-BPBi5nOF.js.map +1 -0
  6. package/dist/apps-CPXNElX4.js +256 -0
  7. package/dist/apps-CPXNElX4.js.map +1 -0
  8. package/dist/args-BnmsEXvu.js +109 -0
  9. package/dist/args-BnmsEXvu.js.map +1 -0
  10. package/dist/atlas-dev-database-DTMuEScS.js +62 -0
  11. package/dist/atlas-dev-database-DTMuEScS.js.map +1 -0
  12. package/dist/auth-DvY94ZuL.js +395 -0
  13. package/dist/auth-DvY94ZuL.js.map +1 -0
  14. package/dist/branch-pointer-DIhKbQLp.js +2 -0
  15. package/dist/build-BHvC6Bjs.js +336 -0
  16. package/dist/build-BHvC6Bjs.js.map +1 -0
  17. package/dist/bundle-BQhP_xiA.js +1617 -0
  18. package/dist/bundle-BQhP_xiA.js.map +1 -0
  19. package/dist/cli.d.ts +2 -2
  20. package/dist/cloud-K6P5IHUb.js +9667 -0
  21. package/dist/cloud-K6P5IHUb.js.map +1 -0
  22. package/dist/collection-drift-BKj_BoMq.js +106 -0
  23. package/dist/collection-drift-BKj_BoMq.js.map +1 -0
  24. package/dist/commands/api-keys.d.ts +2 -0
  25. package/dist/commands/console.d.ts +12 -0
  26. package/dist/commands/db.d.ts +64 -24
  27. package/dist/commands/dev.d.ts +103 -0
  28. package/dist/commands/generate_sdk.d.ts +26 -0
  29. package/dist/commands/skills.d.ts +22 -7
  30. package/dist/commands/storage.d.ts +46 -0
  31. package/dist/consent-BWHaYx5p.js +76 -0
  32. package/dist/consent-BWHaYx5p.js.map +1 -0
  33. package/dist/console-Cs00E-dt.js +102 -0
  34. package/dist/console-Cs00E-dt.js.map +1 -0
  35. package/dist/context-BqhRydBg.js +1234 -0
  36. package/dist/context-BqhRydBg.js.map +1 -0
  37. package/dist/daemon-DBn-shxX.js +2 -0
  38. package/dist/{daemon-entry-LTFKtpHy.js → daemon-entry-Da-D3rmH.js} +3 -4
  39. package/dist/daemon-entry-Da-D3rmH.js.map +1 -0
  40. package/dist/db-YbPMFY4Y.js +1252 -0
  41. package/dist/db-YbPMFY4Y.js.map +1 -0
  42. package/dist/derive-QMPMcQZJ.js +484 -0
  43. package/dist/derive-QMPMcQZJ.js.map +1 -0
  44. package/dist/dev-CJ_dd9uP.js +1593 -0
  45. package/dist/dev-CJ_dd9uP.js.map +1 -0
  46. package/dist/dev-db/atlas-dev-database.d.ts +32 -0
  47. package/dist/dev-db/daemon-entry.d.ts +13 -0
  48. package/dist/dev-preflight-N1evJL3S.js +2 -0
  49. package/dist/doctor-CIcpWl_L.js +771 -0
  50. package/dist/doctor-CIcpWl_L.js.map +1 -0
  51. package/dist/eject-BT6t37D0.js +335 -0
  52. package/dist/eject-BT6t37D0.js.map +1 -0
  53. package/dist/fold-static-C1EtHlfV.js +201 -0
  54. package/dist/fold-static-C1EtHlfV.js.map +1 -0
  55. package/dist/function-portability-BIvlvR9q.js +265 -0
  56. package/dist/function-portability-BIvlvR9q.js.map +1 -0
  57. package/dist/generate_sdk-UV635zSe.js +477 -0
  58. package/dist/generate_sdk-UV635zSe.js.map +1 -0
  59. package/dist/index.es.js +150 -24674
  60. package/dist/index.es.js.map +1 -1
  61. package/dist/init-fXeBcxuN.js +1042 -0
  62. package/dist/init-fXeBcxuN.js.map +1 -0
  63. package/dist/manifest-DzlC60WX.js +871 -0
  64. package/dist/manifest-DzlC60WX.js.map +1 -0
  65. package/dist/normalize-imports-CmVdE9iZ.js +100 -0
  66. package/dist/normalize-imports-CmVdE9iZ.js.map +1 -0
  67. package/dist/{package-manager-CXQevsE1.js → package-manager-DSEOwTqM.js} +2 -2
  68. package/dist/{package-manager-CXQevsE1.js.map → package-manager-DSEOwTqM.js.map} +1 -1
  69. package/dist/path-flags-DUBuI2i1.js +77 -0
  70. package/dist/path-flags-DUBuI2i1.js.map +1 -0
  71. package/dist/precompress.d.ts +17 -0
  72. package/dist/prepare-Btn9Ewbn.js +1052 -0
  73. package/dist/prepare-Btn9Ewbn.js.map +1 -0
  74. package/dist/{project-DmaGLmH2.js → project-Wp2zoyeN.js} +33 -4
  75. package/dist/project-Wp2zoyeN.js.map +1 -0
  76. package/dist/resolve-CJLkfFV0.js +2 -0
  77. package/dist/resources-3J3UQg5r.js +161 -0
  78. package/dist/resources-3J3UQg5r.js.map +1 -0
  79. package/dist/schema-ovO8qJDw.js +125 -0
  80. package/dist/schema-ovO8qJDw.js.map +1 -0
  81. package/dist/skills-DTFibT1m.js +642 -0
  82. package/dist/skills-DTFibT1m.js.map +1 -0
  83. package/dist/start-rU2e3Kp5.js +228 -0
  84. package/dist/start-rU2e3Kp5.js.map +1 -0
  85. package/dist/{state-C59Elrnt.js → state-Do7ZJYkF.js} +49 -4
  86. package/dist/state-Do7ZJYkF.js.map +1 -0
  87. package/dist/status-Cfy0TtSb.js +351 -0
  88. package/dist/status-Cfy0TtSb.js.map +1 -0
  89. package/dist/storage-DyvrSTH3.js +303 -0
  90. package/dist/storage-DyvrSTH3.js.map +1 -0
  91. package/dist/telemetry-CAWNCugs.js +338 -0
  92. package/dist/telemetry-CAWNCugs.js.map +1 -0
  93. package/dist/telemetry-DbLqGIBW.js +129 -0
  94. package/dist/telemetry-DbLqGIBW.js.map +1 -0
  95. package/dist/unknown-command-DNwDcX3w.js +98 -0
  96. package/dist/unknown-command-DNwDcX3w.js.map +1 -0
  97. package/dist/upgrade-D-5-Od96.js +1265 -0
  98. package/dist/upgrade-D-5-Od96.js.map +1 -0
  99. package/dist/utils/project.d.ts +16 -0
  100. package/dist/utils/temp-archive.d.ts +9 -0
  101. package/dist/{version-DsgBmP22.js → version-Buyyo1ut.js} +2 -2
  102. package/dist/{version-DsgBmP22.js.map → version-Buyyo1ut.js.map} +1 -1
  103. package/package.json +7 -7
  104. package/templates/eject/backend/src/env.ts +1 -1
  105. package/templates/eject/backend/src/index.ts +10 -2
  106. package/templates/template/README.md +1 -1
  107. package/templates/template/ai-instructions.md +2 -1
  108. package/templates/template/frontend/vite.config.ts +13 -3
  109. package/templates/template/scripts/example.ts +2 -1
  110. package/dist/branch-pointer-kk9F5FBO.js +0 -111
  111. package/dist/branch-pointer-kk9F5FBO.js.map +0 -1
  112. package/dist/constraints-DKGbNfUW.js +0 -48
  113. package/dist/constraints-DKGbNfUW.js.map +0 -1
  114. package/dist/daemon-C8p32i-n.js +0 -357
  115. package/dist/daemon-C8p32i-n.js.map +0 -1
  116. package/dist/daemon-entry-LTFKtpHy.js.map +0 -1
  117. package/dist/dev-preflight-CNLl4rdo.js +0 -367
  118. package/dist/dev-preflight-CNLl4rdo.js.map +0 -1
  119. package/dist/project-DmaGLmH2.js.map +0 -1
  120. package/dist/resolve-BAeRUBhg.js +0 -74
  121. package/dist/resolve-BAeRUBhg.js.map +0 -1
  122. package/dist/state-C59Elrnt.js.map +0 -1
@@ -0,0 +1,125 @@
1
+ import { i as recordEvent } from "./telemetry-CAWNCugs.js";
2
+ import { f as requireBackendDir, h as resolvePluginCliScript, l as getActiveBackendPlugin, o as findEnvFile, p as requireProjectRoot, r as exitDependenciesNotInstalled } from "./project-Wp2zoyeN.js";
3
+ import { r as wantsHelp } from "./args-BnmsEXvu.js";
4
+ import { t as unknownCommand } from "./unknown-command-DNwDcX3w.js";
5
+ import { r as refuseMissingCollectionsPath, t as COLLECTIONS_FLAG_HELP } from "./path-flags-DUBuI2i1.js";
6
+ import { DEV_DATABASE_KIND_ENV, devDatabaseKind } from "./prepare-Btn9Ewbn.js";
7
+ import { absolutizeLocalPathArgs, n as argsFromCommand, spawnDriverCli, t as reportSpawnFailure } from "./db-YbPMFY4Y.js";
8
+ import chalk from "chalk";
9
+ //#region src/commands/schema.ts
10
+ /**
11
+ * CLI command: rebase schema <action>
12
+ */
13
+ /**
14
+ * The line handed to the driver, its paths resolved from where the command was
15
+ * run (the driver runs in `backend/`). `--schema` is left alone: on
16
+ * `introspect` it names a Postgres schema, not a file.
17
+ */
18
+ function schemaDriverArgs(rawArgs, cwd) {
19
+ return absolutizeLocalPathArgs(argsFromCommand(rawArgs, "schema"), cwd, [
20
+ "--collections",
21
+ "-c",
22
+ "--output",
23
+ "-o",
24
+ "--out"
25
+ ]);
26
+ }
27
+ async function schemaCommand(subcommand, rawArgs) {
28
+ if (!subcommand || subcommand === "--help" || wantsHelp(rawArgs)) {
29
+ printSchemaHelp(subcommand === "--help" ? void 0 : subcommand);
30
+ return;
31
+ }
32
+ if (!SCHEMA_ACTION_HELP[subcommand]) unknownCommand(subcommand, Object.keys(SCHEMA_ACTION_HELP), "schema");
33
+ const projectRoot = requireProjectRoot();
34
+ recordEvent("cli.schema", { subcommand: subcommand ?? "none" }, { projectRoot });
35
+ const backendDir = requireBackendDir(projectRoot);
36
+ const activePlugin = getActiveBackendPlugin(backendDir);
37
+ if (!activePlugin) {
38
+ console.error(chalk.red("✗ Could not detect an active database plugin."));
39
+ console.error(chalk.gray(" Make sure a package like @rebasepro/server-postgres is installed in backend/package.json."));
40
+ process.exit(1);
41
+ }
42
+ const pluginCli = resolvePluginCliScript(backendDir, activePlugin);
43
+ if (!pluginCli) exitDependenciesNotInstalled(projectRoot);
44
+ const envFile = findEnvFile(projectRoot);
45
+ const env = { ...process.env };
46
+ if (envFile) env.DOTENV_CONFIG_PATH = envFile;
47
+ env[DEV_DATABASE_KIND_ENV] = devDatabaseKind(projectRoot) ?? "";
48
+ refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);
49
+ try {
50
+ await spawnDriverCli({
51
+ projectRoot,
52
+ backendDir,
53
+ pluginCli,
54
+ env
55
+ }, schemaDriverArgs(rawArgs, process.cwd()));
56
+ } catch (error) {
57
+ reportSpawnFailure(error);
58
+ process.exit(1);
59
+ }
60
+ }
61
+ /** One page per subcommand, so `rebase schema <action> --help` says something. */
62
+ var SCHEMA_ACTION_HELP = {
63
+ generate: {
64
+ usage: "rebase schema generate [--collections <dir>] [--output <file>] [--watch]",
65
+ summary: "Generate the Drizzle schema from the collection definitions.",
66
+ notes: ["--watch regenerates on every change to a collection file."]
67
+ },
68
+ introspect: {
69
+ usage: "rebase schema introspect [--collections <dir>] [--output <dir>] [--schema <name>] [--force]",
70
+ summary: "Read an existing database and write Rebase collection definitions from it.",
71
+ notes: ["--force overwrites collection files that are already there."]
72
+ },
73
+ stale: {
74
+ usage: "rebase schema stale [--collections <dir>] [--output <file>] [--fix]",
75
+ summary: "Report generated schema files that no longer match the collections.",
76
+ notes: ["--fix regenerates them instead of only reporting."]
77
+ }
78
+ };
79
+ /** Every subcommand the family dispatches — the help table's keys. */
80
+ var SCHEMA_SUBCOMMANDS = Object.keys(SCHEMA_ACTION_HELP);
81
+ function printSchemaHelp(action) {
82
+ const entry = action ? SCHEMA_ACTION_HELP[action] : void 0;
83
+ if (entry) {
84
+ console.log(`
85
+ ${chalk.bold(`rebase schema ${action}`)}
86
+
87
+ ${entry.summary}
88
+
89
+ ${chalk.green.bold("Usage")}
90
+ ${chalk.blue(entry.usage)}
91
+ ${entry.notes?.length ? `\n${chalk.green.bold("Notes")}\n${entry.notes.map((n) => ` ${chalk.gray(`• ${n}`)}`).join("\n")}\n` : ""}
92
+ ${chalk.gray("Run `rebase schema --help` for every subcommand.")}
93
+ `);
94
+ return;
95
+ }
96
+ console.log(`
97
+ ${chalk.bold("rebase schema")} — Schema management commands
98
+
99
+ ${chalk.green.bold("Usage")}
100
+ rebase schema ${chalk.blue("<command>")} [options]
101
+
102
+ ${chalk.green.bold("Commands")}
103
+ ${chalk.gray("(Commands are provided by your active database driver plugin)")}
104
+ ${chalk.blue.bold("generate")} Generate Schema from collection definitions
105
+ ${chalk.blue.bold("introspect")} Introspect an existing database to generate collection definitions
106
+ ${chalk.blue.bold("stale")} Report generated schema files that no longer match the collections
107
+
108
+ ${chalk.green.bold("generate Options")}
109
+ ${chalk.blue("--collections, -c")} ${COLLECTIONS_FLAG_HELP}
110
+ ${chalk.blue("--output, -o")} Output path for generated schema
111
+ ${chalk.blue("--watch, -w")} Watch for changes and regenerate automatically
112
+
113
+ ${chalk.green.bold("introspect Options")}
114
+ ${chalk.blue("--output, -o")} Output directory for generated collection files
115
+ ${chalk.blue("--schema")} Postgres schema to read (default: public)
116
+ ${chalk.blue("--force, -f")} Overwrite collection files that already exist
117
+
118
+ ${chalk.green.bold("stale Options")}
119
+ ${chalk.blue("--fix")} Regenerate the stale files instead of only reporting them
120
+ `);
121
+ }
122
+ //#endregion
123
+ export { SCHEMA_SUBCOMMANDS, schemaCommand };
124
+
125
+ //# sourceMappingURL=schema-ovO8qJDw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-ovO8qJDw.js","names":[],"sources":["../src/commands/schema.ts"],"sourcesContent":["/**\n * CLI command: rebase schema <action>\n */\nimport chalk from \"chalk\";\nimport { spawnDriverCli } from \"./db\";\nimport {\n requireProjectRoot,\n requireBackendDir,\n getActiveBackendPlugin,\n resolvePluginCliScript,\n resolveTsx,\n findEnvFile,\n exitDependenciesNotInstalled\n} from \"../utils/project\";\nimport { recordEvent } from \"../telemetry\";\nimport { wantsHelp } from \"../utils/args\";\nimport { reportSpawnFailure } from \"../utils/spawn-error\";\nimport { argsFromCommand } from \"../utils/command-words\";\nimport { unknownCommand } from \"../utils/unknown-command\";\nimport { DEV_DATABASE_KIND_ENV, devDatabaseKind } from \"../dev-db/prepare\";\nimport { absolutizeLocalPathArgs } from \"./db\";\nimport { COLLECTIONS_FLAG_HELP, refuseMissingCollectionsPath } from \"../utils/path-flags\";\n\n/**\n * The line handed to the driver, its paths resolved from where the command was\n * run (the driver runs in `backend/`). `--schema` is left alone: on\n * `introspect` it names a Postgres schema, not a file.\n */\nexport function schemaDriverArgs(rawArgs: string[], cwd: string): string[] {\n return absolutizeLocalPathArgs(argsFromCommand(rawArgs, \"schema\"), cwd, [\"--collections\", \"-c\", \"--output\", \"-o\", \"--out\"]);\n}\n\nexport async function schemaCommand(subcommand: string | undefined, rawArgs: string[]): Promise<void> {\n // `--help` is answered here, before `requireProjectRoot` and before the\n // driver is spawned — the same shape `db.ts` already uses, and for the same\n // reason.\n //\n // `cli.ts` rewrites the subcommand to `\"--help\"` only when the user named\n // none, so `rebase schema --help` was covered and `rebase schema generate\n // --help` was not: the flag travelled into `rawArgs.slice(2)` and reached\n // the driver, whose own `schemaCommand` has no `--help` case. It *ran the\n // generator* — overwriting `src/schema.generated.ts` — for a flag whose\n // entire job is to print text. Worse, the first thing it hit outside a\n // project was `requireProjectRoot`, so `rebase schema introspect --help` in\n // an empty directory exited 1 with \"Could not find a Rebase project root\":\n // help you cannot read until you already have a project is help for nobody.\n if (!subcommand || subcommand === \"--help\" || wantsHelp(rawArgs)) {\n printSchemaHelp(subcommand === \"--help\" ? undefined : subcommand);\n return;\n }\n\n // A typo is answered here, in the same words every other family uses.\n //\n // It used to travel to the driver, which said the bare line `Unknown schema\n // command.` — no list, no pointer, no did-you-mean, for a family with three\n // subcommands. The set comes from the help table, so what a typo is measured\n // against and what `--help` prints cannot drift apart.\n if (!SCHEMA_ACTION_HELP[subcommand]) {\n unknownCommand(subcommand, Object.keys(SCHEMA_ACTION_HELP), \"schema\");\n }\n\n const projectRoot = requireProjectRoot();\n\n // Fire-and-forget, and a no-op unless the developer opted in. Never awaited:\n // the command is what the user is waiting for, and a slow collector must not\n // sit in front of it.\n void recordEvent(\"cli.schema\", { subcommand: subcommand ?? \"none\" }, { projectRoot });\n const backendDir = requireBackendDir(projectRoot);\n\n const activePlugin = getActiveBackendPlugin(backendDir);\n if (!activePlugin) {\n console.error(chalk.red(\"✗ Could not detect an active database plugin.\"));\n console.error(chalk.gray(\" Make sure a package like @rebasepro/server-postgres is installed in backend/package.json.\"));\n process.exit(1);\n }\n\n const pluginCli = resolvePluginCliScript(backendDir, activePlugin);\n if (!pluginCli) {\n exitDependenciesNotInstalled(projectRoot);\n }\n\n // Set up environment with DOTENV_CONFIG_PATH\n const envFile = findEnvFile(projectRoot);\n const env: Record<string, string> = { ...process.env as Record<string, string> };\n if (envFile) {\n env.DOTENV_CONFIG_PATH = envFile;\n }\n // Which database this project is on, so the driver's closing line does not\n // recommend a command that database refuses. A pure decision — nothing is\n // started, which matters here above all: `schema generate` reads collection\n // files and writes one file, and booting a database to run it would be a\n // side effect nobody asked for.\n env[DEV_DATABASE_KIND_ENV] = devDatabaseKind(projectRoot) ?? \"\";\n\n refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);\n\n try {\n // The one spawn, shared with `db`. This file used to carry its own copy\n // of the tsx-or-node decision; three copies of that rule existed and two\n // were fixed while the third went on spawning plain node.\n await spawnDriverCli(\n { projectRoot, backendDir, pluginCli, env },\n schemaDriverArgs(rawArgs, process.cwd())\n );\n } catch (error) {\n // A child that ran and exited non-zero already printed its diagnostics\n // through inherited stdio; a child that never started (ENOENT on tsx,\n // EACCES on the script) printed nothing at all, and this used to exit 1\n // in silence.\n reportSpawnFailure(error);\n process.exit(1);\n }\n}\n\n/** One page per subcommand, so `rebase schema <action> --help` says something. */\nconst SCHEMA_ACTION_HELP: Record<string, { usage: string; summary: string; notes?: string[] }> = {\n generate: {\n usage: \"rebase schema generate [--collections <dir>] [--output <file>] [--watch]\",\n summary: \"Generate the Drizzle schema from the collection definitions.\",\n notes: [\"--watch regenerates on every change to a collection file.\"]\n },\n introspect: {\n usage: \"rebase schema introspect [--collections <dir>] [--output <dir>] [--schema <name>] [--force]\",\n summary: \"Read an existing database and write Rebase collection definitions from it.\",\n notes: [\"--force overwrites collection files that are already there.\"]\n },\n stale: {\n usage: \"rebase schema stale [--collections <dir>] [--output <file>] [--fix]\",\n summary: \"Report generated schema files that no longer match the collections.\",\n notes: [\"--fix regenerates them instead of only reporting.\"]\n }\n};\n\n/** Every subcommand the family dispatches — the help table's keys. */\nexport const SCHEMA_SUBCOMMANDS = Object.keys(SCHEMA_ACTION_HELP);\n\nfunction printSchemaHelp(action?: string) {\n const entry = action ? SCHEMA_ACTION_HELP[action] : undefined;\n if (entry) {\n console.log(`\n${chalk.bold(`rebase schema ${action}`)}\n\n ${entry.summary}\n\n${chalk.green.bold(\"Usage\")}\n ${chalk.blue(entry.usage)}\n${entry.notes?.length ? `\\n${chalk.green.bold(\"Notes\")}\\n${entry.notes.map(n => ` ${chalk.gray(`• ${n}`)}`).join(\"\\n\")}\\n` : \"\"}\n${chalk.gray(\"Run `rebase schema --help` for every subcommand.\")}\n`);\n return;\n }\n\n console.log(`\n${chalk.bold(\"rebase schema\")} — Schema management commands\n\n${chalk.green.bold(\"Usage\")}\n rebase schema ${chalk.blue(\"<command>\")} [options]\n\n${chalk.green.bold(\"Commands\")}\n ${chalk.gray(\"(Commands are provided by your active database driver plugin)\")}\n ${chalk.blue.bold(\"generate\")} Generate Schema from collection definitions\n ${chalk.blue.bold(\"introspect\")} Introspect an existing database to generate collection definitions\n ${chalk.blue.bold(\"stale\")} Report generated schema files that no longer match the collections\n\n${chalk.green.bold(\"generate Options\")}\n ${chalk.blue(\"--collections, -c\")} ${COLLECTIONS_FLAG_HELP}\n ${chalk.blue(\"--output, -o\")} Output path for generated schema\n ${chalk.blue(\"--watch, -w\")} Watch for changes and regenerate automatically\n\n${chalk.green.bold(\"introspect Options\")}\n ${chalk.blue(\"--output, -o\")} Output directory for generated collection files\n ${chalk.blue(\"--schema\")} Postgres schema to read (default: public)\n ${chalk.blue(\"--force, -f\")} Overwrite collection files that already exist\n\n${chalk.green.bold(\"stale Options\")}\n ${chalk.blue(\"--fix\")} Regenerate the stale files instead of only reporting them\n`);\n}\n"],"mappings":"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"}