@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.
- package/bin/rebase.js +3 -0
- package/dist/agent-setup-B31F00DC.js +324 -0
- package/dist/agent-setup-B31F00DC.js.map +1 -0
- package/dist/api-keys-BPBi5nOF.js +524 -0
- package/dist/api-keys-BPBi5nOF.js.map +1 -0
- package/dist/apps-CPXNElX4.js +256 -0
- package/dist/apps-CPXNElX4.js.map +1 -0
- package/dist/args-BnmsEXvu.js +109 -0
- package/dist/args-BnmsEXvu.js.map +1 -0
- package/dist/atlas-dev-database-DTMuEScS.js +62 -0
- package/dist/atlas-dev-database-DTMuEScS.js.map +1 -0
- package/dist/auth-DvY94ZuL.js +395 -0
- package/dist/auth-DvY94ZuL.js.map +1 -0
- package/dist/branch-pointer-DIhKbQLp.js +2 -0
- package/dist/build-BHvC6Bjs.js +336 -0
- package/dist/build-BHvC6Bjs.js.map +1 -0
- package/dist/bundle-BQhP_xiA.js +1617 -0
- package/dist/bundle-BQhP_xiA.js.map +1 -0
- package/dist/cli.d.ts +2 -2
- package/dist/cloud-K6P5IHUb.js +9667 -0
- package/dist/cloud-K6P5IHUb.js.map +1 -0
- package/dist/collection-drift-BKj_BoMq.js +106 -0
- package/dist/collection-drift-BKj_BoMq.js.map +1 -0
- package/dist/commands/api-keys.d.ts +2 -0
- package/dist/commands/console.d.ts +12 -0
- package/dist/commands/db.d.ts +64 -24
- package/dist/commands/dev.d.ts +103 -0
- package/dist/commands/generate_sdk.d.ts +26 -0
- package/dist/commands/skills.d.ts +22 -7
- package/dist/commands/storage.d.ts +46 -0
- package/dist/consent-BWHaYx5p.js +76 -0
- package/dist/consent-BWHaYx5p.js.map +1 -0
- package/dist/console-Cs00E-dt.js +102 -0
- package/dist/console-Cs00E-dt.js.map +1 -0
- package/dist/context-BqhRydBg.js +1234 -0
- package/dist/context-BqhRydBg.js.map +1 -0
- package/dist/daemon-DBn-shxX.js +2 -0
- package/dist/{daemon-entry-LTFKtpHy.js → daemon-entry-Da-D3rmH.js} +3 -4
- package/dist/daemon-entry-Da-D3rmH.js.map +1 -0
- package/dist/db-YbPMFY4Y.js +1252 -0
- package/dist/db-YbPMFY4Y.js.map +1 -0
- package/dist/derive-QMPMcQZJ.js +484 -0
- package/dist/derive-QMPMcQZJ.js.map +1 -0
- package/dist/dev-CJ_dd9uP.js +1593 -0
- package/dist/dev-CJ_dd9uP.js.map +1 -0
- package/dist/dev-db/atlas-dev-database.d.ts +32 -0
- package/dist/dev-db/daemon-entry.d.ts +13 -0
- package/dist/dev-preflight-N1evJL3S.js +2 -0
- package/dist/doctor-CIcpWl_L.js +771 -0
- package/dist/doctor-CIcpWl_L.js.map +1 -0
- package/dist/eject-BT6t37D0.js +335 -0
- package/dist/eject-BT6t37D0.js.map +1 -0
- package/dist/fold-static-C1EtHlfV.js +201 -0
- package/dist/fold-static-C1EtHlfV.js.map +1 -0
- package/dist/function-portability-BIvlvR9q.js +265 -0
- package/dist/function-portability-BIvlvR9q.js.map +1 -0
- package/dist/generate_sdk-UV635zSe.js +477 -0
- package/dist/generate_sdk-UV635zSe.js.map +1 -0
- package/dist/index.es.js +150 -24674
- package/dist/index.es.js.map +1 -1
- package/dist/init-fXeBcxuN.js +1042 -0
- package/dist/init-fXeBcxuN.js.map +1 -0
- package/dist/manifest-DzlC60WX.js +871 -0
- package/dist/manifest-DzlC60WX.js.map +1 -0
- package/dist/normalize-imports-CmVdE9iZ.js +100 -0
- package/dist/normalize-imports-CmVdE9iZ.js.map +1 -0
- package/dist/{package-manager-CXQevsE1.js → package-manager-DSEOwTqM.js} +2 -2
- package/dist/{package-manager-CXQevsE1.js.map → package-manager-DSEOwTqM.js.map} +1 -1
- package/dist/path-flags-DUBuI2i1.js +77 -0
- package/dist/path-flags-DUBuI2i1.js.map +1 -0
- package/dist/precompress.d.ts +17 -0
- package/dist/prepare-Btn9Ewbn.js +1052 -0
- package/dist/prepare-Btn9Ewbn.js.map +1 -0
- package/dist/{project-DmaGLmH2.js → project-Wp2zoyeN.js} +33 -4
- package/dist/project-Wp2zoyeN.js.map +1 -0
- package/dist/resolve-CJLkfFV0.js +2 -0
- package/dist/resources-3J3UQg5r.js +161 -0
- package/dist/resources-3J3UQg5r.js.map +1 -0
- package/dist/schema-ovO8qJDw.js +125 -0
- package/dist/schema-ovO8qJDw.js.map +1 -0
- package/dist/skills-DTFibT1m.js +642 -0
- package/dist/skills-DTFibT1m.js.map +1 -0
- package/dist/start-rU2e3Kp5.js +228 -0
- package/dist/start-rU2e3Kp5.js.map +1 -0
- package/dist/{state-C59Elrnt.js → state-Do7ZJYkF.js} +49 -4
- package/dist/state-Do7ZJYkF.js.map +1 -0
- package/dist/status-Cfy0TtSb.js +351 -0
- package/dist/status-Cfy0TtSb.js.map +1 -0
- package/dist/storage-DyvrSTH3.js +303 -0
- package/dist/storage-DyvrSTH3.js.map +1 -0
- package/dist/telemetry-CAWNCugs.js +338 -0
- package/dist/telemetry-CAWNCugs.js.map +1 -0
- package/dist/telemetry-DbLqGIBW.js +129 -0
- package/dist/telemetry-DbLqGIBW.js.map +1 -0
- package/dist/unknown-command-DNwDcX3w.js +98 -0
- package/dist/unknown-command-DNwDcX3w.js.map +1 -0
- package/dist/upgrade-D-5-Od96.js +1265 -0
- package/dist/upgrade-D-5-Od96.js.map +1 -0
- package/dist/utils/project.d.ts +16 -0
- package/dist/utils/temp-archive.d.ts +9 -0
- package/dist/{version-DsgBmP22.js → version-Buyyo1ut.js} +2 -2
- package/dist/{version-DsgBmP22.js.map → version-Buyyo1ut.js.map} +1 -1
- package/package.json +7 -7
- package/templates/eject/backend/src/env.ts +1 -1
- package/templates/eject/backend/src/index.ts +10 -2
- package/templates/template/README.md +1 -1
- package/templates/template/ai-instructions.md +2 -1
- package/templates/template/frontend/vite.config.ts +13 -3
- package/templates/template/scripts/example.ts +2 -1
- package/dist/branch-pointer-kk9F5FBO.js +0 -111
- package/dist/branch-pointer-kk9F5FBO.js.map +0 -1
- package/dist/constraints-DKGbNfUW.js +0 -48
- package/dist/constraints-DKGbNfUW.js.map +0 -1
- package/dist/daemon-C8p32i-n.js +0 -357
- package/dist/daemon-C8p32i-n.js.map +0 -1
- package/dist/daemon-entry-LTFKtpHy.js.map +0 -1
- package/dist/dev-preflight-CNLl4rdo.js +0 -367
- package/dist/dev-preflight-CNLl4rdo.js.map +0 -1
- package/dist/project-DmaGLmH2.js.map +0 -1
- package/dist/resolve-BAeRUBhg.js +0 -74
- package/dist/resolve-BAeRUBhg.js.map +0 -1
- package/dist/state-C59Elrnt.js.map +0 -1
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { n as parseCommandArgs, r as wantsHelp } from "./args-BnmsEXvu.js";
|
|
2
|
+
import { r as refuseMissingCollectionsPath, t as COLLECTIONS_FLAG_HELP } from "./path-flags-DUBuI2i1.js";
|
|
3
|
+
import { managedNotices, prepareDatabaseEnv } from "./prepare-Btn9Ewbn.js";
|
|
4
|
+
import { absolutizeLocalPathArgs, ensureDockerDatabase, n as argsFromCommand, resolveDriverCli, spawnDriverCli, t as reportSpawnFailure } from "./db-YbPMFY4Y.js";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import path from "path";
|
|
7
|
+
//#region src/commands/console.ts
|
|
8
|
+
/**
|
|
9
|
+
* CLI command: rebase console
|
|
10
|
+
*
|
|
11
|
+
* A Node REPL with the project open — `rebase` (what `openRebase` from
|
|
12
|
+
* `@rebasepro/server-postgres` returns: `dataAsAdmin`, `sql`, `withAuth`) and
|
|
13
|
+
* `collections` in scope — or, with `--eval`, one piece of code run and its
|
|
14
|
+
* result printed as JSON.
|
|
15
|
+
*
|
|
16
|
+
* Resolved like `rebase db push`: the same project and `.env`, the same
|
|
17
|
+
* database (the managed one started if that is what the project uses), the
|
|
18
|
+
* same `--collections` loader — the driver's, spawned in `backend/`. Opening
|
|
19
|
+
* the database changes nothing in it.
|
|
20
|
+
*/
|
|
21
|
+
var CONSOLE_FLAGS = {
|
|
22
|
+
"--eval": String,
|
|
23
|
+
"-e": "--eval",
|
|
24
|
+
"--collections": String,
|
|
25
|
+
"-c": "--collections",
|
|
26
|
+
"--database-url": String,
|
|
27
|
+
"--docker": Boolean
|
|
28
|
+
};
|
|
29
|
+
/** What each long flag above does, for the Options block. */
|
|
30
|
+
var CONSOLE_FLAG_HELP = {
|
|
31
|
+
"--eval": "Run this code instead of the REPL, print its awaited result as JSON, and exit 1 if it throws",
|
|
32
|
+
"--collections": COLLECTIONS_FLAG_HELP,
|
|
33
|
+
"--database-url": "Open this database instead of the project's",
|
|
34
|
+
"--docker": "Use the database from docker compose, starting it if needed"
|
|
35
|
+
};
|
|
36
|
+
/** Where the REPL keeps its history: the project's own `.rebase/`, which the scaffold ignores. */
|
|
37
|
+
function consoleHistoryPath(projectRoot) {
|
|
38
|
+
return path.join(projectRoot, ".rebase", "console_history");
|
|
39
|
+
}
|
|
40
|
+
function flagLabel(flag) {
|
|
41
|
+
return [flag, ...Object.entries(CONSOLE_FLAGS).filter(([, target]) => target === flag).map(([alias]) => alias)].join(", ");
|
|
42
|
+
}
|
|
43
|
+
function printConsoleHelp() {
|
|
44
|
+
console.log(`
|
|
45
|
+
${chalk.bold("rebase console")} — Explore the project's data from a REPL
|
|
46
|
+
|
|
47
|
+
${chalk.green.bold("Usage")}
|
|
48
|
+
rebase console [options]
|
|
49
|
+
|
|
50
|
+
${chalk.green.bold("Options")}
|
|
51
|
+
${Object.keys(CONSOLE_FLAG_HELP).map((flag) => ` ${chalk.blue(flagLabel(flag).padEnd(22))} ${CONSOLE_FLAG_HELP[flag]}`).join("\n")}
|
|
52
|
+
|
|
53
|
+
In scope:
|
|
54
|
+
rebase dataAsAdmin, sql(query, { params }), withAuth(user) → { data }, close()
|
|
55
|
+
collections the project's collections
|
|
56
|
+
|
|
57
|
+
Top-level await works. Opening the database changes nothing in it: no table,
|
|
58
|
+
role or trigger is created. withAuth runs as the user under row-level security.
|
|
59
|
+
|
|
60
|
+
${chalk.green.bold("Examples")}
|
|
61
|
+
rebase console
|
|
62
|
+
rebase console -e "rebase.dataAsAdmin.posts.find({ limit: 5 })"
|
|
63
|
+
rebase console -e "(await rebase.withAuth({ uid: 'u1', roles: ['user'] })).data.posts.find()"
|
|
64
|
+
rebase console -e "rebase.sql('select count(*) from posts')"
|
|
65
|
+
`);
|
|
66
|
+
}
|
|
67
|
+
async function consoleCommand(rawArgs) {
|
|
68
|
+
if (wantsHelp(rawArgs)) {
|
|
69
|
+
printConsoleHelp();
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const { flags } = parseCommandArgs({
|
|
73
|
+
spec: CONSOLE_FLAGS,
|
|
74
|
+
rawArgs,
|
|
75
|
+
commandWords: 1,
|
|
76
|
+
command: "console",
|
|
77
|
+
maxPositionals: 0
|
|
78
|
+
});
|
|
79
|
+
const resolved = await resolveDriverCli();
|
|
80
|
+
const { projectRoot, backendDir } = resolved;
|
|
81
|
+
refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);
|
|
82
|
+
await ensureDockerDatabase(projectRoot, rawArgs);
|
|
83
|
+
const say = flags["--eval"] === void 0 ? (line) => console.log(chalk.gray(` ${line}`)) : (line) => console.error(chalk.gray(` ${line}`));
|
|
84
|
+
const prepared = await prepareDatabaseEnv(projectRoot, {
|
|
85
|
+
flagUrl: flags["--database-url"] ?? null,
|
|
86
|
+
flagDocker: flags["--docker"] === true,
|
|
87
|
+
onProgress: say
|
|
88
|
+
});
|
|
89
|
+
Object.assign(resolved.env, prepared.env);
|
|
90
|
+
for (const line of managedNotices(prepared)) say(line);
|
|
91
|
+
const childArgs = [...absolutizeLocalPathArgs(argsFromCommand(rawArgs, "console"), process.cwd()), `--history=${consoleHistoryPath(projectRoot)}`];
|
|
92
|
+
try {
|
|
93
|
+
await spawnDriverCli(resolved, childArgs);
|
|
94
|
+
} catch (error) {
|
|
95
|
+
reportSpawnFailure(error);
|
|
96
|
+
process.exit(1);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//#endregion
|
|
100
|
+
export { consoleCommand };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=console-Cs00E-dt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-Cs00E-dt.js","names":[],"sources":["../src/commands/console.ts"],"sourcesContent":["/**\n * CLI command: rebase console\n *\n * A Node REPL with the project open — `rebase` (what `openRebase` from\n * `@rebasepro/server-postgres` returns: `dataAsAdmin`, `sql`, `withAuth`) and\n * `collections` in scope — or, with `--eval`, one piece of code run and its\n * result printed as JSON.\n *\n * Resolved like `rebase db push`: the same project and `.env`, the same\n * database (the managed one started if that is what the project uses), the\n * same `--collections` loader — the driver's, spawned in `backend/`. Opening\n * the database changes nothing in it.\n */\nimport chalk from \"chalk\";\nimport path from \"path\";\nimport { parseCommandArgs, wantsHelp } from \"../utils/args\";\nimport { argsFromCommand } from \"../utils/command-words\";\nimport { COLLECTIONS_FLAG_HELP, refuseMissingCollectionsPath } from \"../utils/path-flags\";\nimport { reportSpawnFailure } from \"../utils/spawn-error\";\nimport { managedNotices, prepareDatabaseEnv } from \"../dev-db/prepare\";\nimport { absolutizeLocalPathArgs, ensureDockerDatabase, resolveDriverCli, spawnDriverCli } from \"./db\";\n\nexport const CONSOLE_FLAGS = {\n \"--eval\": String,\n \"-e\": \"--eval\",\n \"--collections\": String,\n \"-c\": \"--collections\",\n \"--database-url\": String,\n \"--docker\": Boolean\n} as const;\n\n/** What each long flag above does, for the Options block. */\nconst CONSOLE_FLAG_HELP: Record<string, string> = {\n \"--eval\": \"Run this code instead of the REPL, print its awaited result as JSON, and exit 1 if it throws\",\n \"--collections\": COLLECTIONS_FLAG_HELP,\n \"--database-url\": \"Open this database instead of the project's\",\n \"--docker\": \"Use the database from docker compose, starting it if needed\"\n};\n\n/** Where the REPL keeps its history: the project's own `.rebase/`, which the scaffold ignores. */\nexport function consoleHistoryPath(projectRoot: string): string {\n return path.join(projectRoot, \".rebase\", \"console_history\");\n}\n\nfunction flagLabel(flag: string): string {\n const aliases = Object.entries(CONSOLE_FLAGS)\n .filter(([, target]) => target === flag)\n .map(([alias]) => alias);\n return [flag, ...aliases].join(\", \");\n}\n\nexport function printConsoleHelp(): void {\n console.log(`\n${chalk.bold(\"rebase console\")} — Explore the project's data from a REPL\n\n${chalk.green.bold(\"Usage\")}\n rebase console [options]\n\n${chalk.green.bold(\"Options\")}\n${Object.keys(CONSOLE_FLAG_HELP)\n .map(flag => ` ${chalk.blue(flagLabel(flag).padEnd(22))} ${CONSOLE_FLAG_HELP[flag]}`)\n .join(\"\\n\")}\n\nIn scope:\n rebase dataAsAdmin, sql(query, { params }), withAuth(user) → { data }, close()\n collections the project's collections\n\nTop-level await works. Opening the database changes nothing in it: no table,\nrole or trigger is created. withAuth runs as the user under row-level security.\n\n${chalk.green.bold(\"Examples\")}\n rebase console\n rebase console -e \"rebase.dataAsAdmin.posts.find({ limit: 5 })\"\n rebase console -e \"(await rebase.withAuth({ uid: 'u1', roles: ['user'] })).data.posts.find()\"\n rebase console -e \"rebase.sql('select count(*) from posts')\"\n`);\n}\n\nexport async function consoleCommand(rawArgs: string[]): Promise<void> {\n if (wantsHelp(rawArgs)) {\n printConsoleHelp();\n return;\n }\n\n // Strictly, before the line is relayed: the driver would otherwise be the\n // first to see a mistyped flag, after a database had been started for it.\n const { flags } = parseCommandArgs({\n spec: CONSOLE_FLAGS,\n rawArgs,\n commandWords: 1,\n command: \"console\",\n maxPositionals: 0\n });\n\n const resolved = await resolveDriverCli();\n const { projectRoot, backendDir } = resolved;\n refuseMissingCollectionsPath(rawArgs, process.cwd(), backendDir);\n await ensureDockerDatabase(projectRoot, rawArgs);\n\n // With --eval, stdout is the result and nothing else, so it can be piped\n // into `jq`; what the database resolution has to say goes to stderr.\n const say = flags[\"--eval\"] === undefined\n ? (line: string) => console.log(chalk.gray(` ${line}`))\n : (line: string) => console.error(chalk.gray(` ${line}`));\n const prepared = await prepareDatabaseEnv(projectRoot, {\n flagUrl: flags[\"--database-url\"] ?? null,\n flagDocker: flags[\"--docker\"] === true,\n onProgress: say\n });\n Object.assign(resolved.env, prepared.env);\n for (const line of managedNotices(prepared)) say(line);\n\n const childArgs = [\n ...absolutizeLocalPathArgs(argsFromCommand(rawArgs, \"console\"), process.cwd()),\n `--history=${consoleHistoryPath(projectRoot)}`\n ];\n\n try {\n await spawnDriverCli(resolved, childArgs);\n } catch (error) {\n // A child that exited non-zero has already said why, on the terminal it\n // shares — an `--eval` that threw, a database that refused.\n reportSpawnFailure(error);\n process.exit(1);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBA,IAAa,gBAAgB;CACzB,UAAU;CACV,MAAM;CACN,iBAAiB;CACjB,MAAM;CACN,kBAAkB;CAClB,YAAY;AAChB;;AAGA,IAAM,oBAA4C;CAC9C,UAAU;CACV,iBAAiB;CACjB,kBAAkB;CAClB,YAAY;AAChB;;AAGA,SAAgB,mBAAmB,aAA6B;CAC5D,OAAO,KAAK,KAAK,aAAa,WAAW,iBAAiB;AAC9D;AAEA,SAAS,UAAU,MAAsB;CAIrC,OAAO,CAAC,MAAM,GAHE,OAAO,QAAQ,aAAa,CAAC,CACxC,QAAQ,GAAG,YAAY,WAAW,IAAI,CAAC,CACvC,KAAK,CAAC,WAAW,KACL,CAAO,CAAC,CAAC,KAAK,IAAI;AACvC;AAEA,SAAgB,mBAAyB;CACrC,QAAQ,IAAI;EACd,MAAM,KAAK,gBAAgB,EAAE;;EAE7B,MAAM,MAAM,KAAK,OAAO,EAAE;;;EAG1B,MAAM,MAAM,KAAK,SAAS,EAAE;EAC5B,OAAO,KAAK,iBAAiB,CAAC,CACvB,KAAI,SAAQ,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,kBAAkB,OAAO,CAAC,CACrF,KAAK,IAAI,EAAE;;;;;;;;;EASlB,MAAM,MAAM,KAAK,UAAU,EAAE;;;;;CAK9B;AACD;AAEA,eAAsB,eAAe,SAAkC;CACnE,IAAI,UAAU,OAAO,GAAG;EACpB,iBAAiB;EACjB;CACJ;CAIA,MAAM,EAAE,UAAU,iBAAiB;EAC/B,MAAM;EACN;EACA,cAAc;EACd,SAAS;EACT,gBAAgB;CACpB,CAAC;CAED,MAAM,WAAW,MAAM,iBAAiB;CACxC,MAAM,EAAE,aAAa,eAAe;CACpC,6BAA6B,SAAS,QAAQ,IAAI,GAAG,UAAU;CAC/D,MAAM,qBAAqB,aAAa,OAAO;CAI/C,MAAM,MAAM,MAAM,cAAc,KAAA,KACzB,SAAiB,QAAQ,IAAI,MAAM,KAAK,KAAK,MAAM,CAAC,KACpD,SAAiB,QAAQ,MAAM,MAAM,KAAK,KAAK,MAAM,CAAC;CAC7D,MAAM,WAAW,MAAM,mBAAmB,aAAa;EACnD,SAAS,MAAM,qBAAqB;EACpC,YAAY,MAAM,gBAAgB;EAClC,YAAY;CAChB,CAAC;CACD,OAAO,OAAO,SAAS,KAAK,SAAS,GAAG;CACxC,KAAK,MAAM,QAAQ,eAAe,QAAQ,GAAG,IAAI,IAAI;CAErD,MAAM,YAAY,CACd,GAAG,wBAAwB,gBAAgB,SAAS,SAAS,GAAG,QAAQ,IAAI,CAAC,GAC7E,aAAa,mBAAmB,WAAW,GAC/C;CAEA,IAAI;EACA,MAAM,eAAe,UAAU,SAAS;CAC5C,SAAS,OAAO;EAGZ,mBAAmB,KAAK;EACxB,QAAQ,KAAK,CAAC;CAClB;AACJ"}
|