@chris-lally/cli 0.1.0-alpha.1 → 0.1.0-alpha.6
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/README.md +178 -8
- package/dist/bin/lally.d.ts +0 -1
- package/dist/commands/add/db.d.ts +3 -0
- package/dist/commands/add/db.js +118 -0
- package/dist/commands/add/db.js.map +1 -0
- package/dist/commands/add/fumadocs.d.ts +3 -0
- package/dist/commands/add/fumadocs.js +124 -0
- package/dist/commands/add/fumadocs.js.map +1 -0
- package/dist/commands/{add.d.ts → add/index.d.ts} +0 -1
- package/dist/commands/add/index.js +110 -0
- package/dist/commands/add/index.js.map +1 -0
- package/dist/commands/add/shared.d.ts +25 -0
- package/dist/commands/add/shared.js +111 -0
- package/dist/commands/add/shared.js.map +1 -0
- package/dist/commands/check/index.d.ts +1 -0
- package/dist/commands/check/index.js +50 -0
- package/dist/commands/check/index.js.map +1 -0
- package/dist/commands/check/shared.d.ts +15 -0
- package/dist/commands/check/shared.js +64 -0
- package/dist/commands/check/shared.js.map +1 -0
- package/dist/commands/check/targets/fumadocs.d.ts +2 -0
- package/dist/commands/check/targets/fumadocs.js +167 -0
- package/dist/commands/check/targets/fumadocs.js.map +1 -0
- package/dist/commands/clean/index.d.ts +1 -0
- package/dist/commands/clean/index.js +156 -0
- package/dist/commands/clean/index.js.map +1 -0
- package/dist/commands/clean/shared.d.ts +17 -0
- package/dist/commands/clean/shared.js +162 -0
- package/dist/commands/clean/shared.js.map +1 -0
- package/dist/commands/clean/targets/fumadocs.d.ts +5 -0
- package/dist/commands/clean/targets/fumadocs.js +13 -0
- package/dist/commands/clean/targets/fumadocs.js.map +1 -0
- package/dist/commands/fumadocs/layout-shared.d.ts +12 -0
- package/dist/commands/fumadocs/layout-shared.js +94 -0
- package/dist/commands/fumadocs/layout-shared.js.map +1 -0
- package/dist/commands/init/index.d.ts +1 -0
- package/dist/commands/init/index.js +72 -0
- package/dist/commands/init/index.js.map +1 -0
- package/dist/commands/init/presets/fumadocs-base-path.d.ts +1 -0
- package/dist/commands/init/presets/fumadocs-base-path.js +36 -0
- package/dist/commands/init/presets/fumadocs-base-path.js.map +1 -0
- package/dist/commands/init/shared.d.ts +35 -0
- package/dist/commands/init/shared.js +122 -0
- package/dist/commands/init/shared.js.map +1 -0
- package/dist/commands/release/args.d.ts +7 -0
- package/dist/commands/release/args.js +69 -0
- package/dist/commands/release/args.js.map +1 -0
- package/dist/commands/release/auth.d.ts +7 -0
- package/dist/commands/release/auth.js +49 -0
- package/dist/commands/release/auth.js.map +1 -0
- package/dist/commands/release/env.d.ts +3 -0
- package/dist/commands/release/env.js +56 -0
- package/dist/commands/release/env.js.map +1 -0
- package/dist/commands/release/exec.d.ts +1 -0
- package/dist/commands/release/exec.js +18 -0
- package/dist/commands/release/exec.js.map +1 -0
- package/dist/commands/{release.d.ts → release/index.d.ts} +0 -1
- package/dist/commands/release/index.js +138 -0
- package/dist/commands/release/index.js.map +1 -0
- package/dist/commands/release/types.d.ts +11 -0
- package/dist/commands/release/types.js +3 -0
- package/dist/commands/release/types.js.map +1 -0
- package/dist/commands/release/version.d.ts +7 -0
- package/dist/commands/release/version.js +26 -0
- package/dist/commands/release/version.js.map +1 -0
- package/dist/commands/sync/args.d.ts +16 -0
- package/dist/commands/sync/args.js +41 -0
- package/dist/commands/sync/args.js.map +1 -0
- package/dist/commands/sync/config.d.ts +23 -0
- package/dist/commands/sync/config.js +44 -0
- package/dist/commands/sync/config.js.map +1 -0
- package/dist/commands/sync/exec.d.ts +12 -0
- package/dist/commands/sync/exec.js +36 -0
- package/dist/commands/sync/exec.js.map +1 -0
- package/dist/commands/sync/handlers.d.ts +12 -0
- package/dist/commands/sync/handlers.js +264 -0
- package/dist/commands/sync/handlers.js.map +1 -0
- package/dist/commands/sync/help.d.ts +4 -0
- package/dist/commands/sync/help.js +27 -0
- package/dist/commands/sync/help.js.map +1 -0
- package/dist/commands/sync/index.d.ts +4 -0
- package/dist/commands/sync/index.js +26 -0
- package/dist/commands/sync/index.js.map +1 -0
- package/dist/commands/sync/native.d.ts +19 -0
- package/dist/commands/sync/native.js +155 -0
- package/dist/commands/sync/native.js.map +1 -0
- package/dist/commands/sync/output.d.ts +4 -0
- package/dist/commands/sync/output.js +10 -0
- package/dist/commands/sync/output.js.map +1 -0
- package/dist/commands/sync/resolve.d.ts +22 -0
- package/dist/commands/sync/resolve.js +41 -0
- package/dist/commands/sync/resolve.js.map +1 -0
- package/dist/commands/update/args.d.ts +7 -0
- package/dist/commands/update/args.js +32 -0
- package/dist/commands/update/args.js.map +1 -0
- package/dist/commands/update/config.d.ts +37 -0
- package/dist/commands/update/config.js +16 -0
- package/dist/commands/update/config.js.map +1 -0
- package/dist/commands/update/docs/readme.d.ts +1 -0
- package/dist/commands/update/docs/readme.js +198 -0
- package/dist/commands/update/docs/readme.js.map +1 -0
- package/dist/commands/update/fumadocs/layout.d.ts +1 -0
- package/dist/commands/update/fumadocs/layout.js +175 -0
- package/dist/commands/update/fumadocs/layout.js.map +1 -0
- package/dist/commands/update/help.d.ts +1 -0
- package/dist/commands/update/help.js +26 -0
- package/dist/commands/update/help.js.map +1 -0
- package/dist/commands/update/index.d.ts +1 -0
- package/dist/commands/update/index.js +26 -0
- package/dist/commands/update/index.js.map +1 -0
- package/dist/commands/update/output.d.ts +1 -0
- package/dist/commands/update/output.js +7 -0
- package/dist/commands/update/output.js.map +1 -0
- package/dist/commands/update/repo.d.ts +1 -0
- package/dist/commands/update/repo.js +18 -0
- package/dist/commands/update/repo.js.map +1 -0
- package/dist/commands/update/subtree.d.ts +1 -0
- package/dist/commands/update/subtree.js +79 -0
- package/dist/commands/update/subtree.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/main.d.ts +0 -1
- package/dist/main.js +74 -9
- package/dist/main.js.map +1 -1
- package/package.json +6 -4
- package/dist/bin/lally.d.ts.map +0 -1
- package/dist/commands/add.d.ts.map +0 -1
- package/dist/commands/add.js +0 -26
- package/dist/commands/add.js.map +0 -1
- package/dist/commands/init.d.ts +0 -2
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -28
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/release.d.ts.map +0 -1
- package/dist/commands/release.js +0 -274
- package/dist/commands/release.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/main.d.ts.map +0 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Create or update a sync target entry in lally.config.json.
|
|
3
|
+
*/
|
|
4
|
+
export declare function runSyncInit(args: string[]): Promise<number>;
|
|
5
|
+
/**
|
|
6
|
+
* @description Validate a configured sync target and report operational readiness checks.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runSyncDoctor(args: string[]): Promise<number>;
|
|
9
|
+
/**
|
|
10
|
+
* @description Execute native push/pull flows for a sync target with optional tag handling.
|
|
11
|
+
*/
|
|
12
|
+
export declare function runSyncAction(action: "push" | "pull", args: string[]): Promise<number>;
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSyncInit = runSyncInit;
|
|
4
|
+
exports.runSyncDoctor = runSyncDoctor;
|
|
5
|
+
exports.runSyncAction = runSyncAction;
|
|
6
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_path_1 = require("node:path");
|
|
9
|
+
const args_1 = require("./args");
|
|
10
|
+
const config_1 = require("./config");
|
|
11
|
+
const exec_1 = require("./exec");
|
|
12
|
+
const help_1 = require("./help");
|
|
13
|
+
const native_1 = require("./native");
|
|
14
|
+
const output_1 = require("./output");
|
|
15
|
+
const resolve_1 = require("./resolve");
|
|
16
|
+
/**
|
|
17
|
+
* @description Compute the next alpha prerelease version from the current semver.
|
|
18
|
+
*/
|
|
19
|
+
function nextAlphaVersion(current) {
|
|
20
|
+
const alpha = current.match(/^(\d+)\.(\d+)\.(\d+)-alpha\.(\d+)$/);
|
|
21
|
+
if (alpha) {
|
|
22
|
+
const [, major, minor, patch, n] = alpha;
|
|
23
|
+
return `${major}.${minor}.${patch}-alpha.${Number(n) + 1}`;
|
|
24
|
+
}
|
|
25
|
+
const base = current.match(/^(\d+)\.(\d+)\.(\d+)$/);
|
|
26
|
+
if (base) {
|
|
27
|
+
return `${base[1]}.${base[2]}.${base[3]}-alpha.1`;
|
|
28
|
+
}
|
|
29
|
+
throw new Error(`Unsupported package version for alpha release: ${current}`);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @description Resolve tag/release metadata from user tag input (explicit tag or alpha shorthand).
|
|
33
|
+
*/
|
|
34
|
+
async function resolveReleaseFromTagInput(repoRoot, targetName, target, tagInput) {
|
|
35
|
+
if (!tagInput)
|
|
36
|
+
return { tagName: null, releaseVersion: null };
|
|
37
|
+
if (tagInput !== "alpha")
|
|
38
|
+
return { tagName: tagInput, releaseVersion: null };
|
|
39
|
+
if (target.mode !== "snapshot") {
|
|
40
|
+
throw new Error("--tag alpha requires snapshot mode");
|
|
41
|
+
}
|
|
42
|
+
const packageJsonPath = (0, node_path_1.resolve)(repoRoot, target.prefix, "package.json");
|
|
43
|
+
if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
|
|
44
|
+
throw new Error(`--tag alpha requires a package.json under target prefix: ${packageJsonPath}`);
|
|
45
|
+
}
|
|
46
|
+
const pkg = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, "utf8"));
|
|
47
|
+
const currentVersion = pkg.version;
|
|
48
|
+
if (!currentVersion) {
|
|
49
|
+
throw new Error(`Missing version in ${packageJsonPath}`);
|
|
50
|
+
}
|
|
51
|
+
const releaseVersion = nextAlphaVersion(currentVersion);
|
|
52
|
+
return {
|
|
53
|
+
tagName: `${targetName}-v${releaseVersion}`,
|
|
54
|
+
releaseVersion,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @description Update local package.json version under the sync target prefix.
|
|
59
|
+
*/
|
|
60
|
+
async function updateLocalPackageVersion(repoRoot, target, version) {
|
|
61
|
+
const packageJsonPath = (0, node_path_1.resolve)(repoRoot, target.prefix, "package.json");
|
|
62
|
+
if (!(0, node_fs_1.existsSync)(packageJsonPath)) {
|
|
63
|
+
throw new Error(`Cannot update local version, package.json not found: ${packageJsonPath}`);
|
|
64
|
+
}
|
|
65
|
+
const pkg = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, "utf8"));
|
|
66
|
+
pkg.version = version;
|
|
67
|
+
await (0, promises_1.writeFile)(packageJsonPath, `${JSON.stringify(pkg, null, 2)}\n`, "utf8");
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description Create or update a sync target entry in lally.config.json.
|
|
71
|
+
*/
|
|
72
|
+
async function runSyncInit(args) {
|
|
73
|
+
const { flags } = (0, args_1.parseArgs)(["init", ...args]);
|
|
74
|
+
const target = (0, args_1.getStringFlag)(flags, "target");
|
|
75
|
+
const prefix = (0, args_1.getStringFlag)(flags, "prefix");
|
|
76
|
+
const remoteUrl = (0, args_1.getStringFlag)(flags, "remote");
|
|
77
|
+
const branch = (0, args_1.getStringFlag)(flags, "branch") ?? "main";
|
|
78
|
+
const modeRaw = (0, args_1.getStringFlag)(flags, "mode") ?? "history";
|
|
79
|
+
if (!target || !prefix || !remoteUrl) {
|
|
80
|
+
console.error("Missing required flags: --target, --prefix, --remote");
|
|
81
|
+
console.error((0, help_1.syncHelp)());
|
|
82
|
+
return 1;
|
|
83
|
+
}
|
|
84
|
+
if (modeRaw !== "snapshot" && modeRaw !== "history") {
|
|
85
|
+
console.error(`Invalid --mode: ${modeRaw}`);
|
|
86
|
+
console.error("Allowed modes: snapshot, history");
|
|
87
|
+
return 1;
|
|
88
|
+
}
|
|
89
|
+
const repoRoot = (0, config_1.findRepoRoot)(process.cwd());
|
|
90
|
+
const config = await (0, config_1.loadConfig)(repoRoot);
|
|
91
|
+
const sync = config.sync ?? { targets: {} };
|
|
92
|
+
const nextTargets = { ...(sync.targets ?? {}) };
|
|
93
|
+
nextTargets[target] = {
|
|
94
|
+
prefix,
|
|
95
|
+
remoteUrl,
|
|
96
|
+
branch,
|
|
97
|
+
mode: modeRaw,
|
|
98
|
+
};
|
|
99
|
+
const nextConfig = {
|
|
100
|
+
...config,
|
|
101
|
+
sync: {
|
|
102
|
+
targets: nextTargets,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
await (0, config_1.writeConfig)(repoRoot, nextConfig);
|
|
106
|
+
console.log(`Configured sync target '${target}' in lally.config.json`);
|
|
107
|
+
return 0;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @description Validate a configured sync target and report operational readiness checks.
|
|
111
|
+
*/
|
|
112
|
+
async function runSyncDoctor(args) {
|
|
113
|
+
const { flags } = (0, args_1.parseArgs)(["doctor", ...args]);
|
|
114
|
+
const targetName = (0, args_1.getStringFlag)(flags, "target");
|
|
115
|
+
const json = (0, args_1.hasFlag)(flags, "json");
|
|
116
|
+
if (!targetName) {
|
|
117
|
+
console.error("Missing required flag: --target");
|
|
118
|
+
console.error((0, help_1.syncHelp)());
|
|
119
|
+
return 1;
|
|
120
|
+
}
|
|
121
|
+
const repoRoot = (0, config_1.findRepoRoot)(process.cwd());
|
|
122
|
+
const config = await (0, config_1.loadConfig)(repoRoot);
|
|
123
|
+
let target;
|
|
124
|
+
try {
|
|
125
|
+
const sync = (0, resolve_1.getSyncSection)(config);
|
|
126
|
+
target = (0, resolve_1.resolveTarget)(sync, targetName);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
130
|
+
if (json)
|
|
131
|
+
(0, output_1.printJson)({ ok: false, error: message });
|
|
132
|
+
else
|
|
133
|
+
console.error(message);
|
|
134
|
+
return 1;
|
|
135
|
+
}
|
|
136
|
+
const prefixPath = (0, node_path_1.resolve)(repoRoot, target.prefix);
|
|
137
|
+
const remoteCheck = (0, exec_1.runCommand)("git", ["ls-remote", "--heads", target.remoteUrl], repoRoot);
|
|
138
|
+
const checks = [
|
|
139
|
+
{
|
|
140
|
+
id: "prefix",
|
|
141
|
+
ok: (0, node_fs_1.existsSync)(prefixPath),
|
|
142
|
+
message: (0, node_fs_1.existsSync)(prefixPath) ? `prefix=${target.prefix}` : `Missing path: ${prefixPath}`,
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
id: "remote-url",
|
|
146
|
+
ok: Boolean(target.remoteUrl),
|
|
147
|
+
message: target.remoteUrl ? `remote=${target.remoteUrl}` : "Missing remoteUrl",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "remote-access",
|
|
151
|
+
ok: remoteCheck.status === 0,
|
|
152
|
+
message: remoteCheck.status === 0 ? "Remote reachable" : "Remote not reachable (check auth/url)",
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
id: "mode",
|
|
156
|
+
ok: target.mode === "snapshot" || target.mode === "history",
|
|
157
|
+
message: `mode=${target.mode}`,
|
|
158
|
+
},
|
|
159
|
+
];
|
|
160
|
+
const ok = checks.every((check) => check.ok);
|
|
161
|
+
if (json) {
|
|
162
|
+
(0, output_1.printJson)({ ok, target: targetName, checks });
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
console.log(`Sync doctor for ${targetName}`);
|
|
166
|
+
for (const check of checks) {
|
|
167
|
+
console.log(`${check.ok ? "PASS" : "FAIL"} ${check.id}: ${check.message}`);
|
|
168
|
+
}
|
|
169
|
+
console.log(ok ? "All checks passed." : "One or more checks failed.");
|
|
170
|
+
}
|
|
171
|
+
return ok ? 0 : 1;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* @description Execute native push/pull flows for a sync target with optional tag handling.
|
|
175
|
+
*/
|
|
176
|
+
async function runSyncAction(action, args) {
|
|
177
|
+
const { flags } = (0, args_1.parseArgs)([action, ...args]);
|
|
178
|
+
const targetName = (0, args_1.getStringFlag)(flags, "target");
|
|
179
|
+
const tagInput = (0, args_1.getStringFlag)(flags, "tag");
|
|
180
|
+
const json = (0, args_1.hasFlag)(flags, "json");
|
|
181
|
+
const dryRun = (0, args_1.hasFlag)(flags, "dry-run");
|
|
182
|
+
if (!targetName) {
|
|
183
|
+
console.error("Missing required flag: --target");
|
|
184
|
+
console.error((0, help_1.syncHelp)());
|
|
185
|
+
return 1;
|
|
186
|
+
}
|
|
187
|
+
if (action === "pull" && tagInput) {
|
|
188
|
+
const message = "--tag is only supported for sync push";
|
|
189
|
+
if (json)
|
|
190
|
+
(0, output_1.printJson)({ ok: false, error: message });
|
|
191
|
+
else
|
|
192
|
+
console.error(message);
|
|
193
|
+
return 1;
|
|
194
|
+
}
|
|
195
|
+
const repoRoot = (0, config_1.findRepoRoot)(process.cwd());
|
|
196
|
+
const config = await (0, config_1.loadConfig)(repoRoot);
|
|
197
|
+
let target;
|
|
198
|
+
let release = { tagName: null, releaseVersion: null };
|
|
199
|
+
try {
|
|
200
|
+
const sync = (0, resolve_1.getSyncSection)(config);
|
|
201
|
+
target = (0, resolve_1.resolveTarget)(sync, targetName);
|
|
202
|
+
release = await resolveReleaseFromTagInput(repoRoot, targetName, target, tagInput);
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
206
|
+
if (json)
|
|
207
|
+
(0, output_1.printJson)({ ok: false, error: message });
|
|
208
|
+
else
|
|
209
|
+
console.error(message);
|
|
210
|
+
return 1;
|
|
211
|
+
}
|
|
212
|
+
if (dryRun) {
|
|
213
|
+
const payload = {
|
|
214
|
+
ok: true,
|
|
215
|
+
dryRun: true,
|
|
216
|
+
action,
|
|
217
|
+
target: targetName,
|
|
218
|
+
mode: target.mode,
|
|
219
|
+
prefix: target.prefix,
|
|
220
|
+
remoteUrl: target.remoteUrl,
|
|
221
|
+
branch: (0, resolve_1.getBranch)(target),
|
|
222
|
+
...(release.tagName ? { tag: release.tagName } : {}),
|
|
223
|
+
...(release.releaseVersion ? { releaseVersion: release.releaseVersion } : {}),
|
|
224
|
+
};
|
|
225
|
+
if (json)
|
|
226
|
+
(0, output_1.printJson)(payload);
|
|
227
|
+
else
|
|
228
|
+
console.log(`[dry-run] would run native ${action} (${target.mode}) for '${targetName}'${release.tagName ? ` with tag ${release.tagName}` : ""}`);
|
|
229
|
+
return 0;
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
if (action === "push") {
|
|
233
|
+
if (target.mode === "snapshot") {
|
|
234
|
+
await (0, native_1.pushSnapshot)(repoRoot, target, {
|
|
235
|
+
tagName: release.tagName ?? undefined,
|
|
236
|
+
releaseVersion: release.releaseVersion ?? undefined,
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
(0, native_1.pushHistory)(repoRoot, targetName, target, { tagName: release.tagName ?? undefined });
|
|
241
|
+
}
|
|
242
|
+
if (release.releaseVersion) {
|
|
243
|
+
await updateLocalPackageVersion(repoRoot, target, release.releaseVersion);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
(0, native_1.pullTarget)(repoRoot, target);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
252
|
+
if (json)
|
|
253
|
+
(0, output_1.printJson)({ ok: false, action, target: targetName, error: message });
|
|
254
|
+
else
|
|
255
|
+
console.error(message);
|
|
256
|
+
return 1;
|
|
257
|
+
}
|
|
258
|
+
if (json)
|
|
259
|
+
(0, output_1.printJson)({ ok: true, action, target: targetName, mode: target.mode });
|
|
260
|
+
else
|
|
261
|
+
console.log(`Sync ${action} complete for '${targetName}' (${target.mode}).`);
|
|
262
|
+
return 0;
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/commands/sync/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncHelp = syncHelp;
|
|
4
|
+
/**
|
|
5
|
+
* @description Build help text for the sync command namespace.
|
|
6
|
+
*/
|
|
7
|
+
function syncHelp() {
|
|
8
|
+
return [
|
|
9
|
+
"Usage:",
|
|
10
|
+
" lally sync init --target <name> --prefix <path> --remote <url> [--branch <name>] [--mode snapshot|history]",
|
|
11
|
+
" lally sync doctor --target <name> [--json]",
|
|
12
|
+
" lally sync push --target <name> [--tag <tag-name|alpha>] [--dry-run] [--json]",
|
|
13
|
+
" lally sync pull --target <name> [--dry-run] [--json]",
|
|
14
|
+
"",
|
|
15
|
+
"Config:",
|
|
16
|
+
" - requires lally.config.json sync.targets (no legacy fallback)",
|
|
17
|
+
"",
|
|
18
|
+
"Examples:",
|
|
19
|
+
" lally sync init --target statements --prefix examples/fide-statements-template --remote https://github.com/chrislally/fide-statements-template.git --mode snapshot",
|
|
20
|
+
" lally sync doctor --target statements",
|
|
21
|
+
" lally sync push --target statements",
|
|
22
|
+
" lally sync push --target cli --tag cli-v0.1.0-alpha.2",
|
|
23
|
+
" lally sync push --target cli --tag alpha",
|
|
24
|
+
" lally sync pull --target statements --dry-run",
|
|
25
|
+
].join("\n");
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=help.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../../src/commands/sync/help.ts"],"names":[],"mappings":";;AAGA,4BAmBC;AAtBD;;GAEG;AACH,SAAgB,QAAQ;IACtB,OAAO;QACL,QAAQ;QACR,8GAA8G;QAC9G,8CAA8C;QAC9C,iFAAiF;QACjF,wDAAwD;QACxD,EAAE;QACF,SAAS;QACT,kEAAkE;QAClE,EAAE;QACF,WAAW;QACX,sKAAsK;QACtK,yCAAyC;QACzC,uCAAuC;QACvC,yDAAyD;QACzD,4CAA4C;QAC5C,iDAAiD;KAClD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSyncCommand = runSyncCommand;
|
|
4
|
+
const help_1 = require("./help");
|
|
5
|
+
const handlers_1 = require("./handlers");
|
|
6
|
+
/**
|
|
7
|
+
* @description Route sync subcommands to their concrete handlers.
|
|
8
|
+
*/
|
|
9
|
+
async function runSyncCommand(command, args) {
|
|
10
|
+
if (!command || command === "--help" || command === "-h" || command === "help") {
|
|
11
|
+
console.log((0, help_1.syncHelp)());
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
if (command === "init")
|
|
15
|
+
return (0, handlers_1.runSyncInit)(args);
|
|
16
|
+
if (command === "doctor")
|
|
17
|
+
return (0, handlers_1.runSyncDoctor)(args);
|
|
18
|
+
if (command === "push")
|
|
19
|
+
return (0, handlers_1.runSyncAction)("push", args);
|
|
20
|
+
if (command === "pull")
|
|
21
|
+
return (0, handlers_1.runSyncAction)("pull", args);
|
|
22
|
+
console.error(`Unknown sync command: ${command}`);
|
|
23
|
+
console.error((0, help_1.syncHelp)());
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/sync/index.ts"],"names":[],"mappings":";;AAMA,wCAcC;AApBD,iCAAkC;AAClC,yCAAuE;AAEvE;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,OAA2B,EAAE,IAAc;IAC9E,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,IAAA,eAAQ,GAAE,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAA,wBAAa,EAAC,IAAI,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAA,wBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,IAAA,wBAAa,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE3D,OAAO,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,KAAK,CAAC,IAAA,eAAQ,GAAE,CAAC,CAAC;IAC1B,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SyncTarget } from "./config";
|
|
2
|
+
/**
|
|
3
|
+
* @description Push a snapshot of a target prefix to a standalone repo, optionally tagging and bumping version.
|
|
4
|
+
*/
|
|
5
|
+
export declare function pushSnapshot(repoRoot: string, target: SyncTarget, options?: {
|
|
6
|
+
tagName?: string;
|
|
7
|
+
releaseVersion?: string;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* @description Push history-preserving subtree split to a standalone repo, optionally tagging the pushed commit.
|
|
11
|
+
*/
|
|
12
|
+
export declare function pushHistory(repoRoot: string, targetName: string, target: SyncTarget, options?: {
|
|
13
|
+
tagName?: string;
|
|
14
|
+
releaseVersion?: string;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* @description Pull changes from a standalone repo into the monorepo prefix using squash mode.
|
|
18
|
+
*/
|
|
19
|
+
export declare function pullTarget(repoRoot: string, target: SyncTarget): void;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pushSnapshot = pushSnapshot;
|
|
4
|
+
exports.pushHistory = pushHistory;
|
|
5
|
+
exports.pullTarget = pullTarget;
|
|
6
|
+
const node_fs_1 = require("node:fs");
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_os_1 = require("node:os");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
10
|
+
const exec_1 = require("./exec");
|
|
11
|
+
const resolve_1 = require("./resolve");
|
|
12
|
+
/**
|
|
13
|
+
* @description Ensure a tag does not already exist on the remote before attempting to push it.
|
|
14
|
+
*/
|
|
15
|
+
function assertTagMissingOnRemote(repoRoot, remoteUrl, tagName) {
|
|
16
|
+
const check = (0, exec_1.runCommand)("git", ["ls-remote", "--tags", remoteUrl, `refs/tags/${tagName}`], repoRoot);
|
|
17
|
+
if (check.status !== 0) {
|
|
18
|
+
throw new Error(`failed to query remote tags for ${tagName}`);
|
|
19
|
+
}
|
|
20
|
+
if (check.stdout.trim().length > 0) {
|
|
21
|
+
throw new Error(`tag already exists on remote: ${tagName}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
async function normalizeStandalonePackage(repoDir) {
|
|
25
|
+
const packageJsonPath = (0, node_path_1.resolve)(repoDir, "package.json");
|
|
26
|
+
if (!(0, node_fs_1.existsSync)(packageJsonPath))
|
|
27
|
+
return;
|
|
28
|
+
const packageJson = JSON.parse(await (0, promises_1.readFile)(packageJsonPath, "utf8"));
|
|
29
|
+
const sections = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
|
|
30
|
+
for (const section of sections) {
|
|
31
|
+
const current = packageJson[section];
|
|
32
|
+
if (!current || typeof current !== "object")
|
|
33
|
+
continue;
|
|
34
|
+
const entries = Object.entries(current).filter(([, value]) => !value.startsWith("workspace:"));
|
|
35
|
+
packageJson[section] = Object.fromEntries(entries);
|
|
36
|
+
}
|
|
37
|
+
await (0, promises_1.writeFile)(packageJsonPath, `${JSON.stringify(packageJson, null, 2)}\n`, "utf8");
|
|
38
|
+
const tsconfigPath = (0, node_path_1.resolve)(repoDir, "tsconfig.json");
|
|
39
|
+
if ((0, node_fs_1.existsSync)(tsconfigPath)) {
|
|
40
|
+
const tsconfig = JSON.parse(await (0, promises_1.readFile)(tsconfigPath, "utf8"));
|
|
41
|
+
if (typeof tsconfig.extends === "string" && tsconfig.extends.startsWith("@repo/")) {
|
|
42
|
+
delete tsconfig.extends;
|
|
43
|
+
await (0, promises_1.writeFile)(tsconfigPath, `${JSON.stringify(tsconfig, null, 2)}\n`, "utf8");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const eslintConfigPath = (0, node_path_1.resolve)(repoDir, "eslint.config.mjs");
|
|
47
|
+
if ((0, node_fs_1.existsSync)(eslintConfigPath)) {
|
|
48
|
+
const eslintContent = await (0, promises_1.readFile)(eslintConfigPath, "utf8");
|
|
49
|
+
if (eslintContent.includes("@repo/eslint-config")) {
|
|
50
|
+
await (0, promises_1.writeFile)(eslintConfigPath, `/** @description Standalone eslint config for published package repo. */\nexport default [];\n`, "utf8");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Push a snapshot of a target prefix to a standalone repo, optionally tagging and bumping version.
|
|
56
|
+
*/
|
|
57
|
+
async function pushSnapshot(repoRoot, target, options) {
|
|
58
|
+
const tagName = options?.tagName;
|
|
59
|
+
const releaseVersion = options?.releaseVersion;
|
|
60
|
+
const exportDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "lally-sync-export-"));
|
|
61
|
+
const cloneDir = await (0, promises_1.mkdtemp)((0, node_path_1.join)((0, node_os_1.tmpdir)(), "lally-sync-clone-"));
|
|
62
|
+
try {
|
|
63
|
+
const exportScript = `git archive --format=tar HEAD "${target.prefix}" | tar -x -C "${exportDir}"`;
|
|
64
|
+
(0, exec_1.ensureOk)((0, exec_1.runBash)(exportScript, repoRoot), "snapshot export");
|
|
65
|
+
const exportedPrefix = (0, node_path_1.resolve)(exportDir, target.prefix);
|
|
66
|
+
if (!(0, node_fs_1.existsSync)(exportedPrefix)) {
|
|
67
|
+
throw new Error(`snapshot export missing directory: ${exportedPrefix}`);
|
|
68
|
+
}
|
|
69
|
+
const branch = (0, resolve_1.getBranch)(target);
|
|
70
|
+
const cloneResult = (0, exec_1.runCommand)("git", ["clone", "--depth", "1", "--branch", branch, target.remoteUrl, cloneDir], repoRoot);
|
|
71
|
+
if (cloneResult.status !== 0) {
|
|
72
|
+
// Fallback for empty repos / missing default branch.
|
|
73
|
+
const fallback = (0, exec_1.runCommand)("git", ["clone", target.remoteUrl, cloneDir], repoRoot);
|
|
74
|
+
(0, exec_1.ensureOk)(fallback, "git clone fallback");
|
|
75
|
+
const hasBranch = (0, exec_1.runCommand)("git", ["rev-parse", "--verify", branch], cloneDir);
|
|
76
|
+
if (hasBranch.status === 0) {
|
|
77
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["checkout", "-q", branch], cloneDir), "git checkout branch");
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["checkout", "-q", "--orphan", branch], cloneDir), "git checkout orphan branch");
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("bash", ["-lc", `rsync -a --delete --exclude ".git/" "${exportedPrefix}/" "${cloneDir}/"`], repoRoot), "rsync snapshot");
|
|
84
|
+
await normalizeStandalonePackage(cloneDir);
|
|
85
|
+
if (releaseVersion) {
|
|
86
|
+
const setVersion = (0, exec_1.runCommand)("node", [
|
|
87
|
+
"-e",
|
|
88
|
+
`const fs=require('fs');const p='${cloneDir.replaceAll("'", "'\\''")}/package.json';const v='${releaseVersion}';const j=JSON.parse(fs.readFileSync(p,'utf8'));j.version=v;fs.writeFileSync(p,JSON.stringify(j,null,2)+'\\n');`,
|
|
89
|
+
], repoRoot);
|
|
90
|
+
(0, exec_1.ensureOk)(setVersion, "set package version");
|
|
91
|
+
}
|
|
92
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["add", "-A"], cloneDir), "git add");
|
|
93
|
+
const hasChanges = (0, exec_1.runCommand)("git", ["diff", "--cached", "--quiet"], cloneDir).status !== 0;
|
|
94
|
+
if (!hasChanges) {
|
|
95
|
+
console.log("[sync snapshot] no changes to push");
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
const author = (0, resolve_1.getSyncAuthor)();
|
|
99
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["config", "user.name", author.name], cloneDir), "git config user.name");
|
|
100
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["config", "user.email", author.email], cloneDir), "git config user.email");
|
|
101
|
+
const sourceSha = (0, exec_1.runCommand)("git", ["rev-parse", "--short", "HEAD"], repoRoot);
|
|
102
|
+
(0, exec_1.ensureOk)(sourceSha, "git rev-parse");
|
|
103
|
+
const sha = sourceSha.stdout.trim();
|
|
104
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["commit", "-m", `chore: sync snapshot from ${target.prefix} (${sha})`], cloneDir), "git commit");
|
|
105
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["push", "origin", `${branch}:${branch}`], cloneDir), "git push");
|
|
106
|
+
if (tagName) {
|
|
107
|
+
assertTagMissingOnRemote(repoRoot, target.remoteUrl, tagName);
|
|
108
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["tag", tagName], cloneDir), "git tag");
|
|
109
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["push", "origin", `refs/tags/${tagName}`], cloneDir), "git push tag");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
finally {
|
|
113
|
+
await (0, promises_1.rm)(exportDir, { recursive: true, force: true });
|
|
114
|
+
await (0, promises_1.rm)(cloneDir, { recursive: true, force: true });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @description Push history-preserving subtree split to a standalone repo, optionally tagging the pushed commit.
|
|
119
|
+
*/
|
|
120
|
+
function pushHistory(repoRoot, targetName, target, options) {
|
|
121
|
+
const tagName = options?.tagName;
|
|
122
|
+
const releaseVersion = options?.releaseVersion;
|
|
123
|
+
if (releaseVersion) {
|
|
124
|
+
throw new Error("release version bump is only supported for snapshot mode");
|
|
125
|
+
}
|
|
126
|
+
const branch = (0, resolve_1.getBranch)(target);
|
|
127
|
+
const splitBranch = `codex/sync-${targetName}-split`;
|
|
128
|
+
const tempTag = tagName ? `codex/sync-${targetName}-tag` : null;
|
|
129
|
+
(0, exec_1.runCommand)("git", ["branch", "-D", splitBranch], repoRoot);
|
|
130
|
+
if (tempTag)
|
|
131
|
+
(0, exec_1.runCommand)("git", ["tag", "-d", tempTag], repoRoot);
|
|
132
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["subtree", "split", "--prefix", target.prefix, "-b", splitBranch], repoRoot), "git subtree split");
|
|
133
|
+
try {
|
|
134
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["push", target.remoteUrl, `${splitBranch}:${branch}`], repoRoot), "git push split branch");
|
|
135
|
+
if (tagName && tempTag) {
|
|
136
|
+
assertTagMissingOnRemote(repoRoot, target.remoteUrl, tagName);
|
|
137
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["tag", tempTag, splitBranch], repoRoot), "git tag");
|
|
138
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["push", target.remoteUrl, `${tempTag}:refs/tags/${tagName}`], repoRoot), "git push tag");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
finally {
|
|
142
|
+
(0, exec_1.runCommand)("git", ["branch", "-D", splitBranch], repoRoot);
|
|
143
|
+
if (tempTag)
|
|
144
|
+
(0, exec_1.runCommand)("git", ["tag", "-d", tempTag], repoRoot);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* @description Pull changes from a standalone repo into the monorepo prefix using squash mode.
|
|
149
|
+
*/
|
|
150
|
+
function pullTarget(repoRoot, target) {
|
|
151
|
+
const branch = (0, resolve_1.getBranch)(target);
|
|
152
|
+
// Keep private repo history compact on inbound syncs.
|
|
153
|
+
(0, exec_1.ensureOk)((0, exec_1.runCommand)("git", ["subtree", "pull", "--prefix", target.prefix, target.remoteUrl, branch, "--squash"], repoRoot), "git subtree pull");
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../../../src/commands/sync/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printJson = printJson;
|
|
4
|
+
/**
|
|
5
|
+
* @description Print a value to stdout as formatted JSON.
|
|
6
|
+
*/
|
|
7
|
+
function printJson(value) {
|
|
8
|
+
console.log(JSON.stringify(value, null, 2));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/commands/sync/output.ts"],"names":[],"mappings":";;AAGA,8BAEC;AALD;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LallyConfig, SyncTarget } from "./config";
|
|
2
|
+
/**
|
|
3
|
+
* @description Return the sync config section or throw when sync.targets is missing.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getSyncSection(config: LallyConfig): {
|
|
6
|
+
targets?: Record<string, SyncTarget>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @description Resolve a named sync target from config or throw if unknown.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveTarget(sync: NonNullable<LallyConfig["sync"]>, targetName: string): SyncTarget;
|
|
12
|
+
/**
|
|
13
|
+
* @description Resolve effective branch for a sync target with default main.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getBranch(target: SyncTarget): string;
|
|
16
|
+
/**
|
|
17
|
+
* @description Provide commit author identity used by automated sync snapshot commits.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getSyncAuthor(): {
|
|
20
|
+
name: string;
|
|
21
|
+
email: string;
|
|
22
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSyncSection = getSyncSection;
|
|
4
|
+
exports.resolveTarget = resolveTarget;
|
|
5
|
+
exports.getBranch = getBranch;
|
|
6
|
+
exports.getSyncAuthor = getSyncAuthor;
|
|
7
|
+
/**
|
|
8
|
+
* @description Return the sync config section or throw when sync.targets is missing.
|
|
9
|
+
*/
|
|
10
|
+
function getSyncSection(config) {
|
|
11
|
+
if (!config.sync?.targets) {
|
|
12
|
+
throw new Error("Missing `sync.targets` in lally.config.json.");
|
|
13
|
+
}
|
|
14
|
+
return config.sync;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @description Resolve a named sync target from config or throw if unknown.
|
|
18
|
+
*/
|
|
19
|
+
function resolveTarget(sync, targetName) {
|
|
20
|
+
const target = sync.targets?.[targetName];
|
|
21
|
+
if (!target) {
|
|
22
|
+
throw new Error(`Unknown sync target: ${targetName}`);
|
|
23
|
+
}
|
|
24
|
+
return target;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @description Resolve effective branch for a sync target with default main.
|
|
28
|
+
*/
|
|
29
|
+
function getBranch(target) {
|
|
30
|
+
return target.branch ?? "main";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description Provide commit author identity used by automated sync snapshot commits.
|
|
34
|
+
*/
|
|
35
|
+
function getSyncAuthor() {
|
|
36
|
+
return {
|
|
37
|
+
name: "Chris Lally",
|
|
38
|
+
email: "24978693+ChrisLally@users.noreply.github.com",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=resolve.js.map
|