rampway 0.2.2 → 0.2.4
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 +39 -19
- package/build/src/cli.d.ts +18 -1
- package/build/src/cli.d.ts.map +1 -1
- package/build/src/cli.js +46 -39
- package/build/src/cli.js.map +1 -1
- package/build/src/commands/context.d.ts +4 -1
- package/build/src/commands/context.d.ts.map +1 -1
- package/build/src/commands/context.js +4 -2
- package/build/src/commands/context.js.map +1 -1
- package/build/src/commands/deploy.d.ts.map +1 -1
- package/build/src/commands/deploy.js +26 -5
- package/build/src/commands/deploy.js.map +1 -1
- package/build/src/core/deploy-runner.d.ts +1 -1
- package/build/src/core/deploy-runner.d.ts.map +1 -1
- package/build/src/core/deploy-runner.js +40 -12
- package/build/src/core/deploy-runner.js.map +1 -1
- package/build/src/core/git-source.d.ts.map +1 -1
- package/build/src/core/git-source.js +4 -1
- package/build/src/core/git-source.js.map +1 -1
- package/build/src/core/redaction.d.ts +46 -0
- package/build/src/core/redaction.d.ts.map +1 -1
- package/build/src/core/redaction.js +106 -0
- package/build/src/core/redaction.js.map +1 -1
- package/build/src/core/reporter.d.ts +68 -0
- package/build/src/core/reporter.d.ts.map +1 -0
- package/build/src/core/reporter.js +76 -0
- package/build/src/core/reporter.js.map +1 -0
- package/build/src/core/task-runner.d.ts +7 -4
- package/build/src/core/task-runner.d.ts.map +1 -1
- package/build/src/core/task-runner.js +12 -7
- package/build/src/core/task-runner.js.map +1 -1
- package/build/src/transports/local-transport.d.ts +8 -0
- package/build/src/transports/local-transport.d.ts.map +1 -1
- package/build/src/transports/local-transport.js +38 -4
- package/build/src/transports/local-transport.js.map +1 -1
- package/build/src/transports/ssh-transport.d.ts +7 -3
- package/build/src/transports/ssh-transport.d.ts.map +1 -1
- package/build/src/transports/ssh-transport.js +59 -25
- package/build/src/transports/ssh-transport.js.map +1 -1
- package/build/src/types.d.ts +1 -0
- package/build/src/types.d.ts.map +1 -1
- package/build/src/types.js +1 -0
- package/build/src/types.js.map +1 -1
- package/docs/config-reference.md +4 -1
- package/docs/migration-from-capistrano.md +7 -7
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -32,35 +32,55 @@ Migrating from Capistrano: [docs/migration-from-capistrano.md](docs/migration-fr
|
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
34
|
rampway init
|
|
35
|
-
rampway validate
|
|
36
|
-
rampway plan
|
|
37
|
-
rampway plan
|
|
38
|
-
rampway deploy
|
|
39
|
-
rampway
|
|
40
|
-
rampway
|
|
41
|
-
rampway
|
|
42
|
-
rampway
|
|
43
|
-
rampway
|
|
44
|
-
rampway
|
|
35
|
+
rampway production validate
|
|
36
|
+
rampway production plan
|
|
37
|
+
rampway production plan --json
|
|
38
|
+
rampway production deploy
|
|
39
|
+
rampway production deploy <revision>
|
|
40
|
+
rampway production status
|
|
41
|
+
rampway production releases
|
|
42
|
+
rampway production releases --json
|
|
43
|
+
rampway production rollback
|
|
44
|
+
rampway production doctor
|
|
45
|
+
rampway production doctor --json
|
|
45
46
|
|
|
46
47
|
# Rollbridge runtime helpers for the current release
|
|
47
|
-
rampway rollbridge-validate
|
|
48
|
-
rampway rollbridge-status
|
|
49
|
-
rampway rollbridge-logs
|
|
50
|
-
rampway rollbridge-recover
|
|
48
|
+
rampway production rollbridge-validate
|
|
49
|
+
rampway production rollbridge-status
|
|
50
|
+
rampway production rollbridge-logs
|
|
51
|
+
rampway production rollbridge-recover --yes
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Live deploy output and automation
|
|
55
|
+
|
|
56
|
+
A normal deploy reports real lifecycle steps and remote command output as it arrives, then ends with a concise result:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
$ rampway production deploy
|
|
60
|
+
→ Preparing release directory
|
|
61
|
+
→ Installing dependencies
|
|
62
|
+
$ npm ci --omit=dev
|
|
63
|
+
… command output …
|
|
64
|
+
✓ Deployed production revision 4f31c21 to /home/deploy/app/releases/20260715094500
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use `--json` when another program consumes the result. It suppresses lifecycle and command streaming and writes exactly one final JSON report:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
rampway production deploy --json > deploy-report.json
|
|
51
71
|
```
|
|
52
72
|
|
|
53
73
|
For local development without installing the package globally:
|
|
54
74
|
|
|
55
75
|
```bash
|
|
56
76
|
node src/cli.js init
|
|
57
|
-
node src/cli.js validate --config examples/local/rampway.config.mjs
|
|
58
|
-
node src/cli.js plan --config examples/local/rampway.config.mjs
|
|
59
|
-
node src/cli.js deploy --config examples/local/rampway.config.mjs
|
|
77
|
+
node src/cli.js local validate --config examples/local/rampway.config.mjs
|
|
78
|
+
node src/cli.js local plan --config examples/local/rampway.config.mjs
|
|
79
|
+
node src/cli.js local deploy --config examples/local/rampway.config.mjs
|
|
60
80
|
|
|
61
81
|
# Monorepo example with backend + frontend stages
|
|
62
|
-
node src/cli.js validate --config examples/monorepo/rampway.config.mjs
|
|
63
|
-
node src/cli.js plan --config examples/monorepo/rampway.config.mjs
|
|
82
|
+
node src/cli.js local validate --config examples/monorepo/rampway.config.mjs
|
|
83
|
+
node src/cli.js local plan --config examples/monorepo/rampway.config.mjs
|
|
64
84
|
```
|
|
65
85
|
|
|
66
86
|
## Config example
|
package/build/src/cli.d.ts
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* @param {string[]} argv
|
|
4
|
+
* @returns {Promise<void>}
|
|
5
|
+
*/
|
|
6
|
+
export function main(argv: string[]): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve raw argv using Capistrano-style stage-first grammar:
|
|
9
|
+
* `rampway <environment> <command> [revision]`. A stageless command such as
|
|
10
|
+
* `rampway init` is the only command-only form.
|
|
11
|
+
*
|
|
12
|
+
* @param {string[]} argv
|
|
13
|
+
* @returns {{command: string|undefined, stageName: string|undefined, options: import('#types').CommandOptions}}
|
|
14
|
+
*/
|
|
15
|
+
export function resolveInvocation(argv: string[]): {
|
|
16
|
+
command: string | undefined;
|
|
17
|
+
stageName: string | undefined;
|
|
18
|
+
options: import("#types").CommandOptions;
|
|
19
|
+
};
|
|
3
20
|
//# sourceMappingURL=cli.d.ts.map
|
package/build/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";AAyCA;;;GAGG;AACH,2BAHW,MAAM,EAAE,GACN,OAAO,CAAC,IAAI,CAAC,CAUzB;AAED;;;;;;;GAOG;AACH,wCAHW,MAAM,EAAE,GACN;IAAC,OAAO,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAAC,OAAO,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAA;CAAC,CAgB9G"}
|
package/build/src/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import { realpathSync } from "node:fs";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
4
|
import { validateCommand } from "./commands/validate.js";
|
|
5
5
|
import { planCommand } from "./commands/plan.js";
|
|
6
6
|
import { doctorCommand } from "./commands/doctor.js";
|
|
@@ -24,61 +24,64 @@ const COMMANDS = {
|
|
|
24
24
|
"rollbridge-recover": rollbridgeRecoverCommand,
|
|
25
25
|
doctor: doctorCommand
|
|
26
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Commands invoked without an environment/stage, e.g. `rampway init`.
|
|
29
|
+
*
|
|
30
|
+
* @type {Set<string>}
|
|
31
|
+
*/
|
|
32
|
+
const STAGELESS_COMMANDS = new Set(["init"]);
|
|
33
|
+
/** @type {string[]} */
|
|
34
|
+
const BOOLEAN_FLAGS = ["yes", "dry-run", "force", "allow-dirty", "json"];
|
|
35
|
+
const USAGE = "Usage: rampway <environment> <command> [revision] [--config path] (for example: rampway production deploy) OR rampway init";
|
|
27
36
|
/**
|
|
28
37
|
* @param {string[]} argv
|
|
29
38
|
* @returns {Promise<void>}
|
|
30
39
|
*/
|
|
31
40
|
async function main(argv) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (command && stageName && !COMMANDS[command] && COMMANDS[stageName] && stageFileExists(command, options.config)) {
|
|
36
|
-
[command, stageName] = [stageName, command];
|
|
37
|
-
}
|
|
41
|
+
const { command, stageName, options } = resolveInvocation(argv);
|
|
42
|
+
if (!command)
|
|
43
|
+
throw new Error(USAGE);
|
|
38
44
|
if (!COMMANDS[command])
|
|
39
45
|
throw new Error(`Unknown command '${command}'. Supported: ${Object.keys(COMMANDS).join(", ")}`);
|
|
40
|
-
if (!stageName && command
|
|
41
|
-
throw new Error(`Usage: rampway <
|
|
46
|
+
if (!stageName && !STAGELESS_COMMANDS.has(command))
|
|
47
|
+
throw new Error(`Usage: rampway <environment> ${command} [--config path] (for example: rampway production ${command})`);
|
|
42
48
|
await COMMANDS[command]({ stageName, options });
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
51
|
+
* Resolve raw argv using Capistrano-style stage-first grammar:
|
|
52
|
+
* `rampway <environment> <command> [revision]`. A stageless command such as
|
|
53
|
+
* `rampway init` is the only command-only form.
|
|
54
|
+
*
|
|
55
|
+
* @param {string[]} argv
|
|
56
|
+
* @returns {{command: string|undefined, stageName: string|undefined, options: import('#types').CommandOptions}}
|
|
48
57
|
*/
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
let dir = process.cwd();
|
|
55
|
-
for (let i = 0; i < 5; i++) {
|
|
56
|
-
const candidate = path.join(dir, "deploy", "environments", `${stageName}.js`);
|
|
57
|
-
try {
|
|
58
|
-
if (fs.statSync(candidate).isFile())
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
catch { /* continue */ }
|
|
62
|
-
const parent = path.dirname(dir);
|
|
63
|
-
if (parent === dir)
|
|
64
|
-
break;
|
|
65
|
-
dir = parent;
|
|
58
|
+
function resolveInvocation(argv) {
|
|
59
|
+
const { positional, options } = parseArgs(argv);
|
|
60
|
+
// Command-only form: `rampway init`.
|
|
61
|
+
if (STAGELESS_COMMANDS.has(positional[0])) {
|
|
62
|
+
return { command: positional[0], stageName: undefined, options };
|
|
66
63
|
}
|
|
67
|
-
|
|
64
|
+
// Stage-first form: `rampway <environment> <command> [revision]`.
|
|
65
|
+
const [stageName, command, revision] = positional;
|
|
66
|
+
// An explicit positional revision overrides every other source; otherwise the
|
|
67
|
+
// precedence in deployCommand (--revision, --branch, configured values) stands.
|
|
68
|
+
if (revision !== undefined)
|
|
69
|
+
options.revision = revision;
|
|
70
|
+
return { command, stageName, options };
|
|
68
71
|
}
|
|
69
72
|
/**
|
|
70
73
|
* @param {string[]} argv
|
|
71
|
-
* @returns {{
|
|
74
|
+
* @returns {{positional: string[], options: import('#types').CommandOptions}}
|
|
72
75
|
*/
|
|
73
76
|
function parseArgs(argv) {
|
|
74
77
|
const positional = [];
|
|
75
|
-
/** @type {Record<string, string|boolean>} */
|
|
78
|
+
/** @type {Record<string, string|boolean|undefined>} */
|
|
76
79
|
const options = {};
|
|
77
80
|
for (let index = 0; index < argv.length; index += 1) {
|
|
78
81
|
const arg = argv[index];
|
|
79
82
|
if (arg.startsWith("--")) {
|
|
80
83
|
const name = arg.slice(2);
|
|
81
|
-
if (
|
|
84
|
+
if (BOOLEAN_FLAGS.includes(name))
|
|
82
85
|
options[toCamel(name)] = true;
|
|
83
86
|
else {
|
|
84
87
|
index += 1;
|
|
@@ -88,7 +91,7 @@ function parseArgs(argv) {
|
|
|
88
91
|
else
|
|
89
92
|
positional.push(arg);
|
|
90
93
|
}
|
|
91
|
-
return {
|
|
94
|
+
return { positional, options: /** @type {import('#types').CommandOptions} */ (options) };
|
|
92
95
|
}
|
|
93
96
|
/**
|
|
94
97
|
* @param {string} name
|
|
@@ -97,8 +100,12 @@ function parseArgs(argv) {
|
|
|
97
100
|
function toCamel(name) {
|
|
98
101
|
return name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
99
102
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
process.
|
|
103
|
-
|
|
103
|
+
const invokedPath = process.argv[1] ? pathToFileURL(realpathSync(process.argv[1])).href : null;
|
|
104
|
+
if (invokedPath && import.meta.url === invokedPath) {
|
|
105
|
+
main(process.argv.slice(2)).catch(error => {
|
|
106
|
+
console.error(error.message);
|
|
107
|
+
process.exitCode = 1;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
export { main, resolveInvocation };
|
|
104
111
|
//# sourceMappingURL=cli.js.map
|
package/build/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.js"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @param {import('#types').CommandOptions} options
|
|
3
3
|
* @param {string} stageName
|
|
4
|
+
* @param {{reporter?: import('../core/reporter.js').Reporter}} [opts]
|
|
4
5
|
* @returns {Promise<{config: object, configPath: string, stage: import('#types').StageConfig, transport: import('#types').Transport}>}
|
|
5
6
|
*/
|
|
6
|
-
export function commandContext(options: import("#types").CommandOptions, stageName: string
|
|
7
|
+
export function commandContext(options: import("#types").CommandOptions, stageName: string, { reporter }?: {
|
|
8
|
+
reporter?: import("../core/reporter.js").Reporter;
|
|
9
|
+
}): Promise<{
|
|
7
10
|
config: object;
|
|
8
11
|
configPath: string;
|
|
9
12
|
stage: import("#types").StageConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/commands/context.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/commands/context.js"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,wCALW,OAAO,QAAQ,EAAE,cAAc,aAC/B,MAAM,iBACN;IAAC,QAAQ,CAAC,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAA;CAAC,GACjD,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAA;CAAC,CAAC,CAOrI"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import { loadConfig } from "../config/load-config.js";
|
|
2
3
|
import { validateConfig } from "../config/validate-config.js";
|
|
3
4
|
import { LocalTransport } from "../transports/local-transport.js";
|
|
@@ -5,12 +6,13 @@ import { SshTransport } from "../transports/ssh-transport.js";
|
|
|
5
6
|
/**
|
|
6
7
|
* @param {import('#types').CommandOptions} options
|
|
7
8
|
* @param {string} stageName
|
|
9
|
+
* @param {{reporter?: import('../core/reporter.js').Reporter}} [opts]
|
|
8
10
|
* @returns {Promise<{config: object, configPath: string, stage: import('#types').StageConfig, transport: import('#types').Transport}>}
|
|
9
11
|
*/
|
|
10
|
-
export async function commandContext(options, stageName) {
|
|
12
|
+
export async function commandContext(options, stageName, { reporter } = {}) {
|
|
11
13
|
const { config, configPath } = await loadConfig(options.config, stageName);
|
|
12
14
|
const stage = validateConfig(/** @type {Record<string, unknown>} */ (config), stageName);
|
|
13
|
-
const transport = stage.transport.type === "ssh" ? SshTransport.fromStage(stage) : new LocalTransport();
|
|
15
|
+
const transport = stage.transport.type === "ssh" ? SshTransport.fromStage(stage, reporter) : new LocalTransport({ reporter });
|
|
14
16
|
return { config, configPath, stage, transport };
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/commands/context.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAA;AAE3D
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/commands/context.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,gCAAgC,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,GAAG,EAAE;IACtE,MAAM,EAAC,MAAM,EAAE,UAAU,EAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG,cAAc,CAAC,sCAAsC,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;IACxF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAA;IAC3H,OAAO,EAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAC,CAAA;AAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH,sEAHW,OAAO,QAAQ,EAAE,WAAW,GAC1B,OAAO,CAAC,IAAI,CAAC,CAczB"}
|
|
@@ -1,14 +1,35 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import { commandContext as defaultCommandContext } from "./context.js";
|
|
2
3
|
import { deploy } from "../core/deploy-runner.js";
|
|
4
|
+
import { humanReporter, jsonReporter } from "../core/reporter.js";
|
|
3
5
|
/**
|
|
4
6
|
* @param {import('#types').CommandArgs} args
|
|
5
7
|
* @returns {Promise<void>}
|
|
6
8
|
*/
|
|
7
9
|
export async function deployCommand({ stageName, options, commandContext = defaultCommandContext }) {
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const report = await deploy({ transport, stage, sourcePath: options.source ?? process.cwd(), revision: options.revision
|
|
12
|
-
|
|
10
|
+
const reporter = options.json ? jsonReporter() : humanReporter();
|
|
11
|
+
const { stage, transport } = await commandContext(options, stageName, { reporter });
|
|
12
|
+
const resolvedStage = options.branch && !options.revision ? { ...stage, revision: undefined } : stage;
|
|
13
|
+
const report = await deploy({ transport, stage: resolvedStage, sourcePath: options.source ?? process.cwd(), revision: options.revision, branch: options.branch ?? stage.branch, dryRun: options.dryRun, force: options.force, reporter });
|
|
14
|
+
if (options.json || "plan" in report) {
|
|
15
|
+
console.log(JSON.stringify(report, null, 2));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
printSummary(/** @type {import('#types').DeployReport} */ (report));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Prints a concise Capistrano-style final summary of a successful deploy.
|
|
22
|
+
*
|
|
23
|
+
* @param {import('#types').DeployReport} report
|
|
24
|
+
* @returns {void}
|
|
25
|
+
*/
|
|
26
|
+
function printSummary(report) {
|
|
27
|
+
const seconds = report.durationMs === undefined ? undefined : (report.durationMs / 1000).toFixed(1);
|
|
28
|
+
console.log(`✔ Deployed ${report.application}/${report.stage} revision ${report.revision} as release ${report.releaseId}${seconds === undefined ? "" : ` in ${seconds}s`}`);
|
|
29
|
+
if (report.previousRelease)
|
|
30
|
+
console.log(` Previous release: ${report.previousRelease}`);
|
|
31
|
+
console.log(` Health checks: ${report.healthChecks ?? "n/a"}`);
|
|
32
|
+
const removed = report.cleanupRemoved ?? [];
|
|
33
|
+
console.log(` Cleaned up: ${removed.length} old release${removed.length === 1 ? "" : "s"}`);
|
|
13
34
|
}
|
|
14
35
|
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAA;AAE/
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.js"],"names":[],"mappings":"AAAA,YAAY;AACZ,OAAO,EAAC,cAAc,IAAI,qBAAqB,EAAC,MAAM,cAAc,CAAA;AACpE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAA;AAC/C,OAAO,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAA;AAE/D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,qBAAqB,EAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAA;IAChE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAC,CAAC,CAAA;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACnG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAA;IAEvO,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAM;IACR,CAAC;IAED,YAAY,CAAC,4CAA4C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAM;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACnG,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,QAAQ,eAAe,MAAM,CAAC,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,OAAO,GAAG,EAAE,CAAC,CAAA;IAC3K,IAAI,MAAM,CAAC,eAAe;QAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IACxF,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,MAAM,eAAe,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC9F,CAAC"}
|
|
@@ -20,7 +20,7 @@ export function createDeployPlanDetails(stage: import("#types").StageConfig, { r
|
|
|
20
20
|
* @param {import('#types').DeployOptions} opts
|
|
21
21
|
* @returns {Promise<import('#types').DeployReport|{plan: string[]}>}
|
|
22
22
|
*/
|
|
23
|
-
export function deploy({ transport, stage, sourcePath, revision, branch, dryRun, releaseId, force }: import("#types").DeployOptions): Promise<import("#types").DeployReport | {
|
|
23
|
+
export function deploy({ transport, stage, sourcePath, revision, branch, dryRun, releaseId, force, reporter }: import("#types").DeployOptions): Promise<import("#types").DeployReport | {
|
|
24
24
|
plan: string[];
|
|
25
25
|
}>;
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy-runner.d.ts","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,wCAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,MAAM,EAAE,CAIpB;AAED;;;;GAIG;AACH,+CAJW,OAAO,QAAQ,EAAE,WAAW,4BAC5B;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAC,GACrC,OAAO,QAAQ,EAAE,cAAc,EAAE,CAkB7C;AAaD;;;GAGG;AACH,+GAHW,OAAO,QAAQ,EAAE,aAAa,GAC5B,OAAO,CAAC,OAAO,QAAQ,EAAE,YAAY,GAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAAC,CAmFnE;AAED;;;GAGG;AACH,mDAHW;IAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAC,GACvF,OAAO,CAAC,OAAO,QAAQ,EAAE,cAAc,CAAC,CAkBpD;AAED;;;GAGG;AACH,6FAHW;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,GAClH,MAAM,CAqBlB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
// @ts-check
|
|
1
2
|
import path from "node:path";
|
|
2
3
|
import os from "node:os";
|
|
4
|
+
import { Reporter } from "./reporter.js";
|
|
3
5
|
import { releaseIdFromDate } from "./release-id.js";
|
|
4
6
|
import { deployPaths } from "./paths.js";
|
|
5
7
|
import { acquireLock, releaseLock } from "./locks.js";
|
|
@@ -56,7 +58,7 @@ function sourcePlanDetail(stage, revision) {
|
|
|
56
58
|
* @param {import('#types').DeployOptions} opts
|
|
57
59
|
* @returns {Promise<import('#types').DeployReport|{plan: string[]}>}
|
|
58
60
|
*/
|
|
59
|
-
export async function deploy({ transport, stage, sourcePath = process.cwd(), revision, branch = stage.branch, dryRun = false, releaseId = releaseIdFromDate(), force = false }) {
|
|
61
|
+
export async function deploy({ transport, stage, sourcePath = process.cwd(), revision, branch = stage.branch, dryRun = false, releaseId = releaseIdFromDate(), force = false, reporter = new Reporter({ lifecycle: false }) }) {
|
|
60
62
|
const releaseRevision = /** @type {string} */ (revision ?? stage.revision ?? (branch ?? stage.branch));
|
|
61
63
|
if (dryRun)
|
|
62
64
|
return { plan: createDeployPlan(stage, { revision: releaseRevision, releaseId }) };
|
|
@@ -69,53 +71,79 @@ export async function deploy({ transport, stage, sourcePath = process.cwd(), rev
|
|
|
69
71
|
const startedAt = new Date();
|
|
70
72
|
let published = false;
|
|
71
73
|
let releaseCreated = false;
|
|
74
|
+
let runtimeAttempted = false;
|
|
75
|
+
/** @type {string|null} */
|
|
76
|
+
let previousReleasePath = null;
|
|
77
|
+
let deployedRevision = releaseRevision;
|
|
78
|
+
reporter.line(`Deploying ${stage.application}/${stage.stageName} revision ${releaseRevision} as release ${releaseId}`);
|
|
72
79
|
await runHooks(transport, stage, null, "before_deploy");
|
|
80
|
+
reporter.line(" * Preparing deploy directories");
|
|
73
81
|
await ensureBaseDirs(transport, stage);
|
|
74
82
|
await runHooks(transport, stage, null, "before_lock");
|
|
83
|
+
reporter.line(" * Acquiring deploy lock");
|
|
75
84
|
await acquireLock(transport, stage, { force });
|
|
76
85
|
await runHooks(transport, stage, null, "after_lock");
|
|
77
86
|
try {
|
|
78
87
|
if (await transport.exists(releasePath))
|
|
79
88
|
throw new Error(`Release already exists: ${releasePath}`);
|
|
80
89
|
await runHooks(transport, stage, null, "before_source");
|
|
90
|
+
reporter.line(` * ${sourcePlanDetail(resolvedStage, releaseRevision).detail}`);
|
|
81
91
|
if (stage.strategy === "local-copy") {
|
|
82
92
|
await transport.copyDir(sourcePath, releasePath);
|
|
83
93
|
}
|
|
84
94
|
else if (resolvedStage.strategy === "remote-git") {
|
|
85
|
-
await prepareRemoteGitSource(transport, resolvedStage, releasePath);
|
|
95
|
+
deployedRevision = (await prepareRemoteGitSource(transport, resolvedStage, releasePath)).revision;
|
|
86
96
|
}
|
|
87
97
|
else {
|
|
88
98
|
await transport.mkdirp(releasePath);
|
|
89
99
|
}
|
|
90
100
|
releaseCreated = true;
|
|
91
101
|
await runHooks(transport, stage, releasePath, "after_source");
|
|
102
|
+
reporter.line(" * Linking shared files and directories");
|
|
92
103
|
await prepareSharedLinks(transport, stage, releasePath);
|
|
93
|
-
await writeMetadata(transport, stage, { releaseId, revision:
|
|
94
|
-
|
|
104
|
+
await writeMetadata(transport, stage, { releaseId, revision: deployedRevision, branch, releasePath });
|
|
105
|
+
previousReleasePath = await resolveCurrentReleasePath(transport, paths.currentPath);
|
|
95
106
|
await runHooks(transport, stage, releasePath, "before_tasks", { previousReleasePath });
|
|
96
|
-
await runTasks(transport, stage, releasePath, { previousReleasePath });
|
|
107
|
+
await runTasks(transport, stage, releasePath, { previousReleasePath, reporter });
|
|
97
108
|
await runHooks(transport, stage, releasePath, "after_tasks", { previousReleasePath });
|
|
98
109
|
await runHooks(transport, stage, releasePath, "before_runtime", { previousReleasePath });
|
|
99
|
-
|
|
110
|
+
reporter.line(` * Handing off to ${runtimeFor(stage).type ?? stage.runtime.type} runtime`);
|
|
111
|
+
runtimeAttempted = true;
|
|
112
|
+
const runtimeResult = await runtimeFor(stage).deploy(transport, { releasePath, currentPath: paths.currentPath, releaseId, revision: deployedRevision });
|
|
100
113
|
await runHooks(transport, stage, releasePath, "after_runtime", { previousReleasePath });
|
|
101
114
|
await runHooks(transport, stage, releasePath, "before_health", { previousReleasePath });
|
|
115
|
+
if (stage.healthChecks.length > 0)
|
|
116
|
+
reporter.line(" * Running health checks");
|
|
102
117
|
await runHealthChecks(transport, stage.healthChecks, releasePath);
|
|
103
118
|
await runHooks(transport, stage, releasePath, "after_health", { previousReleasePath });
|
|
104
119
|
const previous = await currentReleaseId(transport, stage);
|
|
105
120
|
await runHooks(transport, stage, releasePath, "before_publish", { previousReleasePath });
|
|
121
|
+
reporter.line(" * Publishing current symlink");
|
|
106
122
|
await publishCurrent(transport, stage, releasePath);
|
|
107
123
|
published = true;
|
|
108
124
|
await runHooks(transport, stage, releasePath, "after_publish", { previousReleasePath });
|
|
109
125
|
await runHooks(transport, stage, releasePath, "before_cleanup", { previousReleasePath });
|
|
126
|
+
reporter.line(` * Cleaning up old releases keeping ${stage.keepReleases}`);
|
|
110
127
|
const removed = await cleanupReleases(transport, stage);
|
|
111
128
|
await runHooks(transport, stage, releasePath, "after_cleanup", { previousReleasePath });
|
|
112
|
-
const report = { application: stage.application, stage: stage.stageName, releaseId, revision:
|
|
129
|
+
const report = { application: stage.application, stage: stage.stageName, releaseId, revision: deployedRevision, branch, deployedAt: new Date().toISOString(), event: "deploy", durationMs: Date.now() - startedAt.getTime(), previousRelease: previous ?? undefined, healthChecks: "passed", runtime: runtimeResult, cleanupRemoved: removed };
|
|
113
130
|
await appendReport(transport, stage, report);
|
|
114
131
|
return report;
|
|
115
132
|
}
|
|
116
133
|
catch (error) {
|
|
117
134
|
const err = /** @type {Error} */ (error);
|
|
135
|
+
let failureHookError;
|
|
136
|
+
if (releaseCreated && runtimeAttempted && !published) {
|
|
137
|
+
try {
|
|
138
|
+
await runHooks(transport, stage, releasePath, "on_pre_publish_failure", { previousReleasePath });
|
|
139
|
+
}
|
|
140
|
+
catch (hookError) {
|
|
141
|
+
failureHookError = /** @type {Error} */ (hookError);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
118
144
|
err.message = deployFailureMessage({ error: err, published, releaseCreated, stage, releaseId });
|
|
145
|
+
if (failureHookError)
|
|
146
|
+
err.message += `\nPre-publish failure hook also failed: ${failureHookError.message}`;
|
|
119
147
|
throw err;
|
|
120
148
|
}
|
|
121
149
|
finally {
|
|
@@ -152,14 +180,14 @@ export async function rollback({ transport, stage, to }) {
|
|
|
152
180
|
*/
|
|
153
181
|
export function deployFailureMessage({ error, published, releaseCreated = false, stage, releaseId }) {
|
|
154
182
|
const beforePublishHints = [
|
|
155
|
-
`- Fix the failure and rerun: rampway
|
|
183
|
+
`- Fix the failure and rerun: rampway ${stage.stageName} deploy`,
|
|
156
184
|
releaseCreated ? `- The failed release directory can be removed after inspection: ${path.join(deployPaths(stage).releasesPath, releaseId)}` : "- Do not remove an existing release directory unless you have confirmed it is not current or needed for rollback.",
|
|
157
185
|
"- If a stale deploy lock remains after verification, rerun with --force."
|
|
158
186
|
];
|
|
159
187
|
const afterPublishHints = [
|
|
160
|
-
`- Inspect deployed state with: rampway
|
|
161
|
-
`- Inspect release history with: rampway
|
|
162
|
-
`- Roll back if needed: rampway
|
|
188
|
+
`- Inspect deployed state with: rampway ${stage.stageName} status`,
|
|
189
|
+
`- Inspect release history with: rampway ${stage.stageName} releases`,
|
|
190
|
+
`- Roll back if needed: rampway ${stage.stageName} rollback`
|
|
163
191
|
];
|
|
164
192
|
const lines = [
|
|
165
193
|
`Deploy failed ${published ? "after" : "before"} publish for ${stage.application}/${stage.stageName} release ${releaseId}.`,
|
|
@@ -179,7 +207,7 @@ export function deployFailureMessage({ error, published, releaseCreated = false,
|
|
|
179
207
|
async function writeMetadata(transport, stage, { releaseId, revision, branch, releasePath }) {
|
|
180
208
|
await transport.writeFile(path.join(releasePath, "REVISION"), `${revision}
|
|
181
209
|
`);
|
|
182
|
-
await transport.writeFile(path.join(releasePath, "
|
|
210
|
+
await transport.writeFile(path.join(releasePath, "TRESTLE_RELEASE.json"), JSON.stringify({
|
|
183
211
|
application: stage.application,
|
|
184
212
|
stage: stage.stageName,
|
|
185
213
|
releaseId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-runner.js","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deploy-runner.js","sourceRoot":"","sources":["../../../src/core/deploy-runner.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-source.d.ts","sourceRoot":"","sources":["../../../src/core/git-source.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,kDALW,OAAO,QAAQ,EAAE,SAAS,SAC1B,OAAO,QAAQ,EAAE,WAAW,eAC5B,MAAM,GACJ,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"git-source.d.ts","sourceRoot":"","sources":["../../../src/core/git-source.js"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,kDALW,OAAO,QAAQ,EAAE,SAAS,SAC1B,OAAO,QAAQ,EAAE,WAAW,eAC5B,MAAM,GACJ,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAkCrE;AAED;;;GAGG;AACH,qCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;GAGG;AACH,yCAHW,OAAO,GACL,MAAM,CAIlB"}
|
|
@@ -14,7 +14,7 @@ export async function prepareRemoteGitSource(transport, stage, releasePath) {
|
|
|
14
14
|
const branch = stage.branch ?? "master";
|
|
15
15
|
if (stage.revision && !isGitRevision(stage.revision))
|
|
16
16
|
throw new Error("stage.revision must be a Git commit SHA");
|
|
17
|
-
|
|
17
|
+
let revision = /** @type {string} */ (stage.revision ?? branch);
|
|
18
18
|
try {
|
|
19
19
|
const tmpCheckout = path.join(path.dirname(releasePath), `.git-checkout-${releaseIdFromDate()}-${randomUUID()}`);
|
|
20
20
|
try {
|
|
@@ -27,6 +27,9 @@ export async function prepareRemoteGitSource(transport, stage, releasePath) {
|
|
|
27
27
|
else {
|
|
28
28
|
await transport.run(`git clone --depth 1 --branch ${shellQuote(branch)} ${shellQuote(repo)} ${shellQuote(tmpCheckout)}`);
|
|
29
29
|
}
|
|
30
|
+
revision = (await transport.run(`git -C ${shellQuote(tmpCheckout)} rev-parse HEAD`)).output.trim();
|
|
31
|
+
if (!isGitRevision(revision))
|
|
32
|
+
throw new Error("Remote Git checkout did not resolve to a commit SHA");
|
|
30
33
|
await transport.rm(path.join(tmpCheckout, ".git"));
|
|
31
34
|
await transport.mkdirp(path.dirname(releasePath));
|
|
32
35
|
await transport.rename(tmpCheckout, releasePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-source.js","sourceRoot":"","sources":["../../../src/core/git-source.js"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAA;AAEzD,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW;IACxE,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAA;IACvC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAChH,
|
|
1
|
+
{"version":3,"file":"git-source.js","sourceRoot":"","sources":["../../../src/core/git-source.js"],"names":[],"mappings":"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"}
|