@coderook/cli 0.31.12 → 0.32.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/.claude-plugin/plugin.json +1 -1
- package/README.md +73 -1
- package/dist/cbx/LICENSE +202 -0
- package/dist/cbx/NOTICE +8 -0
- package/dist/{desktop-app/src/main → cbx/src/core}/cbx.js +31 -0
- package/dist/{desktop-app/src/main → cbx/src/core}/download.js +62 -1
- package/dist/{desktop-app/src/main → cbx/src/core}/rules.js +2 -0
- package/dist/cbx/src/local/errors.js +23 -0
- package/dist/cbx/src/local/history.js +522 -0
- package/dist/cbx/src/local/merge.js +277 -0
- package/dist/cbx/src/local/merge_text.js +148 -0
- package/dist/cbx/src/local/remote.js +437 -0
- package/dist/cbx/src/local/repository.js +324 -0
- package/dist/cbx/src/local/snapshot.js +338 -0
- package/dist/cbx/src/local/store.js +258 -0
- package/dist/{desktop-app → cbx}/src/shared/safe_path.js +12 -0
- package/dist/cli/src/api.js +114 -2
- package/dist/cli/src/cli.js +198 -22
- package/dist/cli/src/diff_command.js +2 -2
- package/dist/cli/src/git_remote.js +6 -6
- package/dist/cli/src/licence_commands.js +3 -3
- package/dist/cli/src/local_commands.js +506 -0
- package/dist/cli/src/mcp.js +2 -2
- package/dist/cli/src/pages_command.js +625 -0
- package/dist/cli/src/project_commands.js +1 -0
- package/dist/cli/src/registry.js +1 -0
- package/dist/cli/src/runner.js +2 -2
- package/dist/cli/src/track_commands.js +1 -1
- package/package.json +2 -2
- package/skills/coderook/SKILL.md +41 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/compress.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/credentials.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/detect.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/faults.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/identify.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/ignore_templates.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/licence_texts.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/licences.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/profile.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/publish_name.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/retry.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/secret_patterns.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/solid.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/staging.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/tracks.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/transfer_progress.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/upload.js +0 -0
- /package/dist/{desktop-app/src/main → cbx/src/core}/worktree.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/chunking.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/compression_policy.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/delta.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/format.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/merge_diff.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/publication.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/telemetry.js +0 -0
- /package/dist/{desktop-app → cbx}/src/shared/types.js +0 -0
package/dist/cli/src/cli.js
CHANGED
|
@@ -27,26 +27,28 @@ const help_js_1 = require("./help.js");
|
|
|
27
27
|
const progress_js_1 = require("./progress.js");
|
|
28
28
|
const publish_js_1 = require("./publish.js");
|
|
29
29
|
const attach_command_js_1 = require("./attach_command.js");
|
|
30
|
+
const pages_command_js_1 = require("./pages_command.js");
|
|
30
31
|
const project_commands_js_1 = require("./project_commands.js");
|
|
31
32
|
const track_commands_js_1 = require("./track_commands.js");
|
|
32
|
-
const tracks_js_1 = require("../../
|
|
33
|
+
const tracks_js_1 = require("../../cbx/src/core/tracks.js");
|
|
33
34
|
const transfer_command_js_1 = require("./transfer_command.js");
|
|
34
35
|
const mcp_js_1 = require("./mcp.js");
|
|
35
36
|
const skill_command_js_1 = require("./skill_command.js");
|
|
36
37
|
const licence_commands_js_1 = require("./licence_commands.js");
|
|
37
38
|
const service_commands_js_1 = require("./service_commands.js");
|
|
38
|
-
const worktree_js_1 = require("../../
|
|
39
|
-
const rules_js_1 = require("../../
|
|
40
|
-
const upload_js_1 = require("../../
|
|
41
|
-
const download_js_1 = require("../../
|
|
42
|
-
const safe_path_js_1 = require("../../
|
|
43
|
-
const faults_js_1 = require("../../
|
|
39
|
+
const worktree_js_1 = require("../../cbx/src/core/worktree.js");
|
|
40
|
+
const rules_js_1 = require("../../cbx/src/core/rules.js");
|
|
41
|
+
const upload_js_1 = require("../../cbx/src/core/upload.js");
|
|
42
|
+
const download_js_1 = require("../../cbx/src/core/download.js");
|
|
43
|
+
const safe_path_js_1 = require("../../cbx/src/shared/safe_path.js");
|
|
44
|
+
const faults_js_1 = require("../../cbx/src/core/faults.js");
|
|
44
45
|
const version_commands_js_1 = require("./version_commands.js");
|
|
45
|
-
const identify_js_1 = require("../../
|
|
46
|
+
const identify_js_1 = require("../../cbx/src/core/identify.js");
|
|
46
47
|
const diff_command_js_1 = require("./diff_command.js");
|
|
47
|
-
const
|
|
48
|
-
const
|
|
49
|
-
const
|
|
48
|
+
const local_commands_js_1 = require("./local_commands.js");
|
|
49
|
+
const profile_js_1 = require("../../cbx/src/core/profile.js");
|
|
50
|
+
const detect_js_1 = require("../../cbx/src/core/detect.js");
|
|
51
|
+
const cbx_js_1 = require("../../cbx/src/core/cbx.js");
|
|
50
52
|
const api_js_2 = require("./api.js");
|
|
51
53
|
const import_command_js_1 = require("./import_command.js");
|
|
52
54
|
const runner_js_1 = require("./runner.js");
|
|
@@ -153,7 +155,12 @@ function parse(argv, spec) {
|
|
|
153
155
|
their options rely on it, and narrowing that here would trade one
|
|
154
156
|
quiet misreading for another.
|
|
155
157
|
*/
|
|
156
|
-
|
|
158
|
+
/*
|
|
159
|
+
A command that declares any options has declared them all, including
|
|
160
|
+
when none of them takes a value. Keying this on the value-taking ones
|
|
161
|
+
alone let `cbx switch -c spike` read "spike" as the value of `-c`.
|
|
162
|
+
*/
|
|
163
|
+
const wants = spec?.options?.length ? takesValue.has(name) : true;
|
|
157
164
|
if (wants && next !== undefined && !next.startsWith("-")) {
|
|
158
165
|
flags.set(name, next);
|
|
159
166
|
at += 1;
|
|
@@ -1960,12 +1967,14 @@ const SPECS = [
|
|
|
1960
1967
|
summary: "what is here that is not saved yet",
|
|
1961
1968
|
usage: "status [folder]",
|
|
1962
1969
|
detail: "Compares the folder against the last version you sent and lists what\n" +
|
|
1963
|
-
"changed. Says nothing about other people's work — use `merges` for that
|
|
1964
|
-
|
|
1970
|
+
"changed. Says nothing about other people's work — use `merges` for that.\n\n" +
|
|
1971
|
+
"In a folder with a history of its own (see `cbx init`), compares\n" +
|
|
1972
|
+
"against the last local save instead.",
|
|
1973
|
+
run: (0, local_commands_js_1.localFirst)(local_commands_js_1.localStatus, commandStatus, (parsed) => folderFor(parsed)),
|
|
1965
1974
|
},
|
|
1966
1975
|
{
|
|
1967
1976
|
name: "submit",
|
|
1968
|
-
aliases: ["publish"
|
|
1977
|
+
aliases: ["publish"],
|
|
1969
1978
|
group: "Working with a folder",
|
|
1970
1979
|
summary: "send the changes as a new save",
|
|
1971
1980
|
usage: 'submit [folder] -m "…"',
|
|
@@ -2016,7 +2025,9 @@ const SPECS = [
|
|
|
2016
2025
|
"compares two saved versions — which the service answers from its own\n" +
|
|
2017
2026
|
"stored trees, so an untouched corner of a large project costs nothing.\n\n" +
|
|
2018
2027
|
"A version can be given as a number, as v12, or by the name it was\n" +
|
|
2019
|
-
"released under
|
|
2028
|
+
"released under.\n\n" +
|
|
2029
|
+
"In a folder with a history of its own (see `cbx init`), the same\n" +
|
|
2030
|
+
"positions name local saves: a line, a line~N, or the start of an id.",
|
|
2020
2031
|
options: [
|
|
2021
2032
|
{ flags: "--name-only", description: "list the files and not their lines" },
|
|
2022
2033
|
{ flags: "--path <text>", description: "only paths containing this" },
|
|
@@ -2026,8 +2037,94 @@ const SPECS = [
|
|
|
2026
2037
|
},
|
|
2027
2038
|
{ flags: "--project <name>", description: "which project" },
|
|
2028
2039
|
],
|
|
2029
|
-
examples: ["cbx diff", "cbx diff 12", "cbx diff 11 12 --name-only"],
|
|
2030
|
-
run: diff_command_js_1.commandDiff,
|
|
2040
|
+
examples: ["cbx diff", "cbx diff 12", "cbx diff 11 12 --name-only", "cbx diff main~1 main"],
|
|
2041
|
+
run: (0, local_commands_js_1.localFirst)(local_commands_js_1.localDiff, diff_command_js_1.commandDiff),
|
|
2042
|
+
},
|
|
2043
|
+
{
|
|
2044
|
+
name: "init",
|
|
2045
|
+
group: "History on this machine",
|
|
2046
|
+
summary: "start a history in this folder, kept on this machine",
|
|
2047
|
+
usage: "init [folder]",
|
|
2048
|
+
detail: "Makes a .cbx/ folder holding the project's history, so you can save,\n" +
|
|
2049
|
+
"compare and go back with no connection at all. Nothing in it is sent\n" +
|
|
2050
|
+
"anywhere by itself.\n\n" +
|
|
2051
|
+
"Once a folder has one, `status`, `diff`, `log` and `switch` answer from\n" +
|
|
2052
|
+
"it. `submit` still sends the folder to CodeRook as it always has.",
|
|
2053
|
+
options: [{ flags: "--line <name>", description: "what to call the first line (default main)" }],
|
|
2054
|
+
examples: ["cbx init", "cbx init my-game --line dev"],
|
|
2055
|
+
run: local_commands_js_1.commandInit,
|
|
2056
|
+
},
|
|
2057
|
+
{
|
|
2058
|
+
name: "save",
|
|
2059
|
+
group: "History on this machine",
|
|
2060
|
+
summary: "record the folder as it is now, on this machine",
|
|
2061
|
+
usage: 'save -m "…"',
|
|
2062
|
+
detail: "Records every file the ignore rules let through, on the line the\n" +
|
|
2063
|
+
"folder is on. Only files that changed are read again, and a large file\n" +
|
|
2064
|
+
"is split so an edit stores the pieces around it rather than all of it.\n\n" +
|
|
2065
|
+
"A save identical to the last one is not made.",
|
|
2066
|
+
options: [
|
|
2067
|
+
{ flags: "-m, --message <text>", description: "what changed" },
|
|
2068
|
+
{ flags: "--author <name>", description: "who to record, instead of the configured name" },
|
|
2069
|
+
{ flags: "-f, --force", description: "finish a merge even though conflict markers remain" },
|
|
2070
|
+
],
|
|
2071
|
+
examples: ['cbx save -m "Tune the jump height"'],
|
|
2072
|
+
run: local_commands_js_1.commandSave,
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
name: "log",
|
|
2076
|
+
group: "History on this machine",
|
|
2077
|
+
summary: "the saves on this line, newest first",
|
|
2078
|
+
usage: "log [from]",
|
|
2079
|
+
detail: "In a folder with a history of its own, lists its saves along the line,\n" +
|
|
2080
|
+
"newest first. Start somewhere else by naming a line or a save.\n\n" +
|
|
2081
|
+
"Anywhere else, lists what has been saved to the project on CodeRook,\n" +
|
|
2082
|
+
"as `cbx versions` does.",
|
|
2083
|
+
options: [
|
|
2084
|
+
{ flags: "--limit <n>", description: "how many to show (default 20)" },
|
|
2085
|
+
{ flags: "--versions", description: "on CodeRook: only the ones that were named" },
|
|
2086
|
+
{ flags: "--commits", description: "on CodeRook: only the ones that were not" },
|
|
2087
|
+
{ flags: "--notes", description: "on CodeRook: print what each one says about itself" },
|
|
2088
|
+
],
|
|
2089
|
+
examples: ["cbx log", "cbx log feature --limit 5"],
|
|
2090
|
+
run: (0, local_commands_js_1.localFirst)(local_commands_js_1.localLog, project_commands_js_1.commandVersions),
|
|
2091
|
+
},
|
|
2092
|
+
{
|
|
2093
|
+
name: "restore",
|
|
2094
|
+
group: "History on this machine",
|
|
2095
|
+
summary: "put files back the way a save had them",
|
|
2096
|
+
usage: "restore [paths…] [--from <save>]",
|
|
2097
|
+
detail: "With no paths, makes the whole folder match the save; with paths,\n" +
|
|
2098
|
+
"only those files and folders. The default is the last save, which\n" +
|
|
2099
|
+
"throws away what you changed since.\n\n" +
|
|
2100
|
+
"Unsaved changes to a file it would overwrite stop it, and it lists\n" +
|
|
2101
|
+
"them. Add --force to discard them. Files the history has never held\n" +
|
|
2102
|
+
"are left alone either way, and your line does not move.",
|
|
2103
|
+
options: [
|
|
2104
|
+
{ flags: "--from <save>", description: "a line, line~N, or the start of a save id" },
|
|
2105
|
+
{ flags: "-f, --force", description: "overwrite unsaved changes" },
|
|
2106
|
+
],
|
|
2107
|
+
examples: ["cbx restore src/player.ts --force", "cbx restore --from main~3"],
|
|
2108
|
+
run: local_commands_js_1.commandRestore,
|
|
2109
|
+
},
|
|
2110
|
+
{
|
|
2111
|
+
name: "switch",
|
|
2112
|
+
group: "History on this machine",
|
|
2113
|
+
summary: "move this folder to another line of work",
|
|
2114
|
+
usage: "switch [line]",
|
|
2115
|
+
detail: "In a folder with a history of its own, rewrites only the files the two\n" +
|
|
2116
|
+
"lines disagree about; unsaved edits elsewhere come along. Unsaved\n" +
|
|
2117
|
+
"edits to a file it would change stop it. -c starts a new line from the\n" +
|
|
2118
|
+
"current save without changing any files. With no line, lists them.\n\n" +
|
|
2119
|
+
"Anywhere else, changes the CodeRook line this folder saves to, as\n" +
|
|
2120
|
+
"`cbx track` does.",
|
|
2121
|
+
options: [
|
|
2122
|
+
{ flags: "-c, --create", description: "start a new line here" },
|
|
2123
|
+
{ flags: "-f, --force", description: "discard unsaved changes that are in the way" },
|
|
2124
|
+
{ flags: "-n, --new", description: "on CodeRook: start this line from where the project is now" },
|
|
2125
|
+
],
|
|
2126
|
+
examples: ["cbx switch", "cbx switch -c spike", "cbx switch main"],
|
|
2127
|
+
run: (0, local_commands_js_1.localFirst)(local_commands_js_1.localSwitch, track_commands_js_1.commandTrack),
|
|
2031
2128
|
},
|
|
2032
2129
|
{
|
|
2033
2130
|
name: "unlink",
|
|
@@ -2119,7 +2216,7 @@ const SPECS = [
|
|
|
2119
2216
|
different lines, which is most of the point of having them.
|
|
2120
2217
|
*/
|
|
2121
2218
|
name: "track",
|
|
2122
|
-
aliases: ["
|
|
2219
|
+
aliases: ["checkout"],
|
|
2123
2220
|
group: "Working with a folder",
|
|
2124
2221
|
summary: "show or change the line this folder saves to",
|
|
2125
2222
|
usage: "track [name]",
|
|
@@ -2153,7 +2250,6 @@ const SPECS = [
|
|
|
2153
2250
|
},
|
|
2154
2251
|
{
|
|
2155
2252
|
name: "get",
|
|
2156
|
-
aliases: ["pull"],
|
|
2157
2253
|
group: "Working with a folder",
|
|
2158
2254
|
summary: "bring this folder up to date",
|
|
2159
2255
|
usage: "get [folder]",
|
|
@@ -2250,7 +2346,6 @@ const SPECS = [
|
|
|
2250
2346
|
},
|
|
2251
2347
|
{
|
|
2252
2348
|
name: "versions",
|
|
2253
|
-
aliases: ["log"],
|
|
2254
2349
|
group: "Your projects",
|
|
2255
2350
|
summary: "what has been saved to a project",
|
|
2256
2351
|
usage: "versions [project]",
|
|
@@ -2323,6 +2418,39 @@ const SPECS = [
|
|
|
2323
2418
|
],
|
|
2324
2419
|
run: project_commands_js_1.commandVisibility,
|
|
2325
2420
|
},
|
|
2421
|
+
{
|
|
2422
|
+
name: "pages",
|
|
2423
|
+
group: "Your projects",
|
|
2424
|
+
summary: "serve a public project as a website",
|
|
2425
|
+
usage: "pages [auto|on|off] [project]",
|
|
2426
|
+
detail: "With no word, says whether the project's site is on, its address, which\n" +
|
|
2427
|
+
"version it serves, from which folder, and anything stopping it.\n\n" +
|
|
2428
|
+
"auto finds the build in the newest published version — a Unity WebGL\n" +
|
|
2429
|
+
"build, a Godot web export, a Vite or React build, or plain HTML — and\n" +
|
|
2430
|
+
"turns the site on with it. When nothing published looks like a site and\n" +
|
|
2431
|
+
"you are in the project's folder, it looks here instead: a build left out\n" +
|
|
2432
|
+
"by the ignore rules is named, with the .gitignore line that keeps it in.\n" +
|
|
2433
|
+
"It never saves or publishes for you.\n\n" +
|
|
2434
|
+
"on and auto ask first, because the site runs the project's code in\n" +
|
|
2435
|
+
"anybody's browser under its name. Only published versions are served,\n" +
|
|
2436
|
+
"the project must be public, and only its owner can change the site.\n" +
|
|
2437
|
+
"off asks nothing.",
|
|
2438
|
+
options: [
|
|
2439
|
+
{ flags: "--folder <path>", description: "on: where index.html is; . for the top" },
|
|
2440
|
+
{ flags: "--spa", description: "on: unknown paths serve index.html (--no-spa undoes)" },
|
|
2441
|
+
{ flags: "--isolate", description: "on: cross-origin isolation, for Godot 4 threads (--no-isolate)" },
|
|
2442
|
+
{ flags: "--version <n|id>", description: "on: serve this version rather than the newest published" },
|
|
2443
|
+
{ flags: "-y, --yes", description: "turn it on, or change .gitignore, without asking" },
|
|
2444
|
+
],
|
|
2445
|
+
examples: [
|
|
2446
|
+
"cbx pages",
|
|
2447
|
+
"cbx pages auto",
|
|
2448
|
+
"cbx pages on my-game --folder Build/WebGL --isolate",
|
|
2449
|
+
"cbx pages on --version 12 --yes",
|
|
2450
|
+
"cbx pages off",
|
|
2451
|
+
],
|
|
2452
|
+
run: pages_command_js_1.commandPages,
|
|
2453
|
+
},
|
|
2326
2454
|
{
|
|
2327
2455
|
name: "issues",
|
|
2328
2456
|
group: "Your projects",
|
|
@@ -2766,7 +2894,15 @@ const SPECS = [
|
|
|
2766
2894
|
group: "When somebody saved first",
|
|
2767
2895
|
summary: "look at one, and decide",
|
|
2768
2896
|
usage: "merge <ref>",
|
|
2897
|
+
detail: "In a folder with a history of its own, merges a line or a save into\n" +
|
|
2898
|
+
"this one. What only one side changed is taken; a text file both\n" +
|
|
2899
|
+
"changed is merged line by line; only what is left is a conflict,\n" +
|
|
2900
|
+
"marked in the file. Fix them and save, or take a side whole with\n" +
|
|
2901
|
+
"--mine or --theirs, or call it off with --cancel.\n\n" +
|
|
2902
|
+
"Anywhere else, decides a merge waiting on CodeRook.",
|
|
2769
2903
|
options: [
|
|
2904
|
+
{ flags: "-m, --message <text>", description: "what the merge save says" },
|
|
2905
|
+
{ flags: "--abort", description: "the same as --cancel" },
|
|
2770
2906
|
{ flags: "--mine", description: "keep your side" },
|
|
2771
2907
|
{ flags: "--theirs", description: "keep theirs" },
|
|
2772
2908
|
{ flags: "--both", description: "keep both" },
|
|
@@ -2775,7 +2911,7 @@ const SPECS = [
|
|
|
2775
2911
|
{ flags: "--cancel", description: "call the merge off; your upload stays stored" },
|
|
2776
2912
|
{ flags: "--ask <usernames>", description: "ask people to review it, comma separated" },
|
|
2777
2913
|
],
|
|
2778
|
-
run: commandMerge,
|
|
2914
|
+
run: (0, local_commands_js_1.localFirst)(local_commands_js_1.localMerge, commandMerge),
|
|
2779
2915
|
},
|
|
2780
2916
|
{
|
|
2781
2917
|
name: "bundle",
|
|
@@ -2888,6 +3024,46 @@ const SPECS = [
|
|
|
2888
3024
|
run: () => commandDoctor(),
|
|
2889
3025
|
},
|
|
2890
3026
|
];
|
|
3027
|
+
/*
|
|
3028
|
+
`push` and `pull` mean the local history in a folder that has one, and
|
|
3029
|
+
`submit` and `get` everywhere else, which is what they always meant. Built
|
|
3030
|
+
from those two rows so every option they take still parses when the name
|
|
3031
|
+
falls through to them.
|
|
3032
|
+
*/
|
|
3033
|
+
function localTwin(name, original, local, row, extra) {
|
|
3034
|
+
const spec = SPECS.find((one) => one.name === original);
|
|
3035
|
+
const taken = new Set(extra.map((one) => one.flags));
|
|
3036
|
+
return {
|
|
3037
|
+
name,
|
|
3038
|
+
group: "History on this machine",
|
|
3039
|
+
...row,
|
|
3040
|
+
options: [...extra, ...(spec.options ?? []).filter((one) => !taken.has(one.flags))],
|
|
3041
|
+
run: (0, local_commands_js_1.localFirst)(local, spec.run),
|
|
3042
|
+
};
|
|
3043
|
+
}
|
|
3044
|
+
SPECS.push(localTwin("push", "submit", local_commands_js_1.localPush, {
|
|
3045
|
+
summary: "send this line's saves to CodeRook",
|
|
3046
|
+
usage: "push",
|
|
3047
|
+
detail: "In a folder with a history of its own, sends each save on this line that\n" +
|
|
3048
|
+
"CodeRook does not have yet, oldest first, as a save of its own. Only\n" +
|
|
3049
|
+
"what changed in each is sent. The first push creates the project,\n" +
|
|
3050
|
+
"private, unless the folder is already linked to one.\n\n" +
|
|
3051
|
+
"If CodeRook's line has saves this history does not, nothing is sent:\n" +
|
|
3052
|
+
"run `cbx pull` first.\n\n" +
|
|
3053
|
+
"Anywhere else, this is `cbx submit`.",
|
|
3054
|
+
examples: ["cbx push", "cbx push --allow-secrets"],
|
|
3055
|
+
}, [{ flags: "-y, --yes", description: "go ahead past the checks that ask first" }]), localTwin("pull", "get", local_commands_js_1.localPull, {
|
|
3056
|
+
summary: "bring CodeRook's saves on this line into this history",
|
|
3057
|
+
usage: "pull [project]",
|
|
3058
|
+
detail: "In a folder with a history of its own, fetches the saves CodeRook has on\n" +
|
|
3059
|
+
"this line and this history does not, and moves the folder to the newest.\n" +
|
|
3060
|
+
"Only files that differ are fetched and rewritten; an unsaved edit to\n" +
|
|
3061
|
+
"one of them stops it. Name a project to pull from it the first time.\n\n" +
|
|
3062
|
+
"If this history has saves CodeRook does not, CodeRook's are fetched\n" +
|
|
3063
|
+
"but the folder stays put: merging a local history is not built yet.\n\n" +
|
|
3064
|
+
"Anywhere else, this is `cbx get`.",
|
|
3065
|
+
examples: ["cbx pull", "cbx pull my-project"],
|
|
3066
|
+
}, [{ flags: "-f, --force", description: "discard unsaved changes that are in the way" }]));
|
|
2891
3067
|
const REGISTRY = (0, registry_js_1.buildRegistry)(SPECS);
|
|
2892
3068
|
async function main(argv) {
|
|
2893
3069
|
const [name, ...rest] = argv;
|
|
@@ -27,8 +27,8 @@ const node_process_1 = __importDefault(require("node:process"));
|
|
|
27
27
|
const api_js_1 = require("./api.js");
|
|
28
28
|
const config_js_1 = require("./config.js");
|
|
29
29
|
const project_commands_js_1 = require("./project_commands.js");
|
|
30
|
-
const merge_diff_js_1 = require("../../
|
|
31
|
-
const worktree_js_1 = require("../../
|
|
30
|
+
const merge_diff_js_1 = require("../../cbx/src/shared/merge_diff.js");
|
|
31
|
+
const worktree_js_1 = require("../../cbx/src/core/worktree.js");
|
|
32
32
|
/*
|
|
33
33
|
Built rather than typed, so the escape character never sits literally in the
|
|
34
34
|
source. The other command files spell theirs out; this reads the same on a
|
|
@@ -109,15 +109,15 @@ exports.main = main;
|
|
|
109
109
|
* where the original branched.
|
|
110
110
|
*/
|
|
111
111
|
const node_child_process_1 = require("node:child_process");
|
|
112
|
-
const safe_path_js_1 = require("../../
|
|
112
|
+
const safe_path_js_1 = require("../../cbx/src/shared/safe_path.js");
|
|
113
113
|
const promises_1 = require("node:fs/promises");
|
|
114
114
|
const node_os_1 = __importDefault(require("node:os"));
|
|
115
115
|
const node_path_1 = __importDefault(require("node:path"));
|
|
116
116
|
const node_process_1 = __importDefault(require("node:process"));
|
|
117
|
-
const upload_js_1 = require("../../
|
|
117
|
+
const upload_js_1 = require("../../cbx/src/core/upload.js");
|
|
118
118
|
const stored_zip_js_1 = require("./stored_zip.js");
|
|
119
|
-
const tracks_js_1 = require("../../
|
|
120
|
-
const identify_js_1 = require("../../
|
|
119
|
+
const tracks_js_1 = require("../../cbx/src/core/tracks.js");
|
|
120
|
+
const identify_js_1 = require("../../cbx/src/core/identify.js");
|
|
121
121
|
const config_js_1 = require("./config.js");
|
|
122
122
|
const version_js_1 = require("./version.js");
|
|
123
123
|
const publish_js_1 = require("./publish.js");
|
|
@@ -673,7 +673,7 @@ depth = null) {
|
|
|
673
673
|
? ` (${chosen.length - fresh.length} already here)`
|
|
674
674
|
: "") +
|
|
675
675
|
".");
|
|
676
|
-
const { Downloader } = await Promise.resolve().then(() => __importStar(require("../../
|
|
676
|
+
const { Downloader } = await Promise.resolve().then(() => __importStar(require("../../cbx/src/core/download.js")));
|
|
677
677
|
const downloader = new Downloader(config_js_1.credentials);
|
|
678
678
|
const scratch = await (0, promises_1.mkdtemp)(node_path_1.default.join(node_os_1.default.tmpdir(), "coderook-fetch-"));
|
|
679
679
|
try {
|
|
@@ -1262,7 +1262,7 @@ async function doPush(requests, url) {
|
|
|
1262
1262
|
throw error;
|
|
1263
1263
|
}
|
|
1264
1264
|
}
|
|
1265
|
-
const { Downloader } = await Promise.resolve().then(() => __importStar(require("../../
|
|
1265
|
+
const { Downloader } = await Promise.resolve().then(() => __importStar(require("../../cbx/src/core/download.js")));
|
|
1266
1266
|
const held = await new Downloader(config_js_1.credentials).files(repositoryId, baseVersionId);
|
|
1267
1267
|
manifest = Object.fromEntries(held.map((file) => [file.path, file.sha256]));
|
|
1268
1268
|
local = { ...manifest };
|
|
@@ -21,10 +21,10 @@ exports.commandLicence = commandLicence;
|
|
|
21
21
|
exports.commandIgnoreTemplate = commandIgnoreTemplate;
|
|
22
22
|
const promises_1 = require("node:fs/promises");
|
|
23
23
|
const node_path_1 = __importDefault(require("node:path"));
|
|
24
|
-
const licences_js_1 = require("../../
|
|
24
|
+
const licences_js_1 = require("../../cbx/src/core/licences.js");
|
|
25
25
|
Object.defineProperty(exports, "licenceNewProject", { enumerable: true, get: function () { return licences_js_1.licenceNewProject; } });
|
|
26
|
-
const ignore_templates_js_1 = require("../../
|
|
27
|
-
const worktree_js_1 = require("../../
|
|
26
|
+
const ignore_templates_js_1 = require("../../cbx/src/core/ignore_templates.js");
|
|
27
|
+
const worktree_js_1 = require("../../cbx/src/core/worktree.js");
|
|
28
28
|
const api_js_1 = require("./api.js");
|
|
29
29
|
const dim = (value) => `[2m${value}[0m`;
|
|
30
30
|
const bold = (value) => `[1m${value}[0m`;
|