ai-project-manage-cli 2.0.13 → 2.0.14
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/dist/cli/commands/deploy-backend.d.ts.map +1 -1
- package/dist/cli/commands/deploy-backend.js +18 -32
- package/dist/cli/commands/deploy-backend.js.map +1 -1
- package/dist/core/apm-config.d.ts +18 -30
- package/dist/core/apm-config.d.ts.map +1 -1
- package/dist/core/apm-config.js +22 -40
- package/dist/core/apm-config.js.map +1 -1
- package/dist/core/backend-deploy/backend-deploy-workflow.d.ts +8 -5
- package/dist/core/backend-deploy/backend-deploy-workflow.d.ts.map +1 -1
- package/dist/core/backend-deploy/backend-deploy-workflow.js +57 -31
- package/dist/core/backend-deploy/backend-deploy-workflow.js.map +1 -1
- package/dist/core/backend-deploy/command-runner.d.ts +11 -0
- package/dist/core/backend-deploy/command-runner.d.ts.map +1 -0
- package/dist/core/backend-deploy/command-runner.js +47 -0
- package/dist/core/backend-deploy/command-runner.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/client.d.ts +18 -0
- package/dist/core/backend-deploy/dockerode-client/client.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/client.js +114 -0
- package/dist/core/backend-deploy/dockerode-client/client.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts +6 -0
- package/dist/core/backend-deploy/dockerode-client/connection-options.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/connection-options.js +52 -0
- package/dist/core/backend-deploy/dockerode-client/connection-options.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts +3 -0
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js +23 -0
- package/dist/core/backend-deploy/dockerode-client/container-inspect-format.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/container-options.d.ts +4 -0
- package/dist/core/backend-deploy/dockerode-client/container-options.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/container-options.js +36 -0
- package/dist/core/backend-deploy/dockerode-client/container-options.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/env.d.ts +3 -0
- package/dist/core/backend-deploy/dockerode-client/env.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/env.js +37 -0
- package/dist/core/backend-deploy/dockerode-client/env.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/index.d.ts +8 -0
- package/dist/core/backend-deploy/dockerode-client/index.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/index.js +17 -0
- package/dist/core/backend-deploy/dockerode-client/index.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/ports.d.ts +9 -0
- package/dist/core/backend-deploy/dockerode-client/ports.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/ports.js +35 -0
- package/dist/core/backend-deploy/dockerode-client/ports.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/runtime.d.ts +7 -0
- package/dist/core/backend-deploy/dockerode-client/runtime.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/runtime.js +26 -0
- package/dist/core/backend-deploy/dockerode-client/runtime.js.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/types.d.ts +62 -0
- package/dist/core/backend-deploy/dockerode-client/types.d.ts.map +1 -0
- package/dist/core/backend-deploy/dockerode-client/types.js +3 -0
- package/dist/core/backend-deploy/dockerode-client/types.js.map +1 -0
- package/dist/core/backend-deploy/image-tag.d.ts +1 -1
- package/dist/core/backend-deploy/image-tag.d.ts.map +1 -1
- package/dist/core/backend-deploy/image-tag.js +2 -2
- package/dist/core/backend-deploy/image-tag.js.map +1 -1
- package/dist/core/backend-deploy/index.d.ts +1 -10
- package/dist/core/backend-deploy/index.d.ts.map +1 -1
- package/dist/core/backend-deploy/index.js +1 -18
- package/dist/core/backend-deploy/index.js.map +1 -1
- package/dist/core/backend-deploy/local-docker-build.d.ts +3 -6
- package/dist/core/backend-deploy/local-docker-build.d.ts.map +1 -1
- package/dist/core/backend-deploy/local-docker-build.js +9 -13
- package/dist/core/backend-deploy/local-docker-build.js.map +1 -1
- package/dist/core/backend-deploy/logger.d.ts +10 -0
- package/dist/core/backend-deploy/logger.d.ts.map +1 -0
- package/dist/core/backend-deploy/logger.js +22 -0
- package/dist/core/backend-deploy/logger.js.map +1 -0
- package/dist/core/backend-deploy/registry-login-push.d.ts +18 -8
- package/dist/core/backend-deploy/registry-login-push.d.ts.map +1 -1
- package/dist/core/backend-deploy/registry-login-push.js +25 -36
- package/dist/core/backend-deploy/registry-login-push.js.map +1 -1
- package/dist/core/backend-deploy/remote-docker-client.d.ts.map +1 -1
- package/dist/core/backend-deploy/remote-docker-client.js +1 -0
- package/dist/core/backend-deploy/remote-docker-client.js.map +1 -1
- package/dist/core/backend-deploy/resolve-dockerfile.d.ts +2 -7
- package/dist/core/backend-deploy/resolve-dockerfile.d.ts.map +1 -1
- package/dist/core/backend-deploy/resolve-dockerfile.js +9 -18
- package/dist/core/backend-deploy/resolve-dockerfile.js.map +1 -1
- package/dist/core/backend-deploy/run-docker-cli.d.ts +3 -8
- package/dist/core/backend-deploy/run-docker-cli.d.ts.map +1 -1
- package/dist/core/backend-deploy/run-docker-cli.js +4 -23
- package/dist/core/backend-deploy/run-docker-cli.js.map +1 -1
- package/dist/core/backend-deploy/types.d.ts +15 -63
- package/dist/core/backend-deploy/types.d.ts.map +1 -1
- package/dist/core/backend-deploy/types.js +0 -3
- package/dist/core/backend-deploy/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var image_tag_1 = require("./image-tag");
|
|
5
|
-
Object.defineProperty(exports, "assertDeployImageTag", { enumerable: true, get: function () { return image_tag_1.assertDeployImageTag; } });
|
|
3
|
+
exports.BackendDeployWorkflow = void 0;
|
|
6
4
|
var backend_deploy_workflow_1 = require("./backend-deploy-workflow");
|
|
7
5
|
Object.defineProperty(exports, "BackendDeployWorkflow", { enumerable: true, get: function () { return backend_deploy_workflow_1.BackendDeployWorkflow; } });
|
|
8
|
-
var local_docker_build_1 = require("./local-docker-build");
|
|
9
|
-
Object.defineProperty(exports, "buildDockerImageLocally", { enumerable: true, get: function () { return local_docker_build_1.buildDockerImageLocally; } });
|
|
10
|
-
var resolve_dockerfile_1 = require("./resolve-dockerfile");
|
|
11
|
-
Object.defineProperty(exports, "resolveDockerBuildPaths", { enumerable: true, get: function () { return resolve_dockerfile_1.resolveDockerBuildPaths; } });
|
|
12
|
-
var registry_login_push_1 = require("./registry-login-push");
|
|
13
|
-
Object.defineProperty(exports, "dockerLoginPrivateRegistry", { enumerable: true, get: function () { return registry_login_push_1.dockerLoginPrivateRegistry; } });
|
|
14
|
-
Object.defineProperty(exports, "dockerPushImage", { enumerable: true, get: function () { return registry_login_push_1.dockerPushImage; } });
|
|
15
|
-
Object.defineProperty(exports, "loginAndPushImage", { enumerable: true, get: function () { return registry_login_push_1.loginAndPushImage; } });
|
|
16
|
-
var run_docker_cli_1 = require("./run-docker-cli");
|
|
17
|
-
Object.defineProperty(exports, "runDockerCli", { enumerable: true, get: function () { return run_docker_cli_1.runDockerCli; } });
|
|
18
|
-
Object.defineProperty(exports, "runProcess", { enumerable: true, get: function () { return run_docker_cli_1.runProcess; } });
|
|
19
|
-
var remote_docker_client_1 = require("./remote-docker-client");
|
|
20
|
-
Object.defineProperty(exports, "createRemoteDockerClient", { enumerable: true, get: function () { return remote_docker_client_1.createRemoteDockerClient; } });
|
|
21
|
-
var remote_pull_image_1 = require("./remote-pull-image");
|
|
22
|
-
Object.defineProperty(exports, "pullImageOnRemote", { enumerable: true, get: function () { return remote_pull_image_1.pullImageOnRemote; } });
|
|
23
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/index.ts"],"names":[],"mappings":";;;AAAA,qEAAkE;AAAzD,gIAAA,qBAAqB,OAAA"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 使用本机 Docker CLI 构建镜像(`docker build`)。
|
|
3
|
-
*
|
|
4
|
-
* 使用绝对路径指定 Dockerfile 与 context,避免工作目录与相对 `-f` 歧义。
|
|
5
3
|
*/
|
|
6
4
|
export declare function buildDockerImageLocally(params: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}): Promise<void>;
|
|
5
|
+
image: string;
|
|
6
|
+
tag: string;
|
|
7
|
+
}, cwd?: string): void;
|
|
11
8
|
//# sourceMappingURL=local-docker-build.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-docker-build.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/local-docker-build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-docker-build.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/local-docker-build.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,EACD,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CASN"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildDockerImageLocally = buildDockerImageLocally;
|
|
4
4
|
const node_os_1 = require("node:os");
|
|
5
|
-
const
|
|
5
|
+
const command_runner_1 = require("./command-runner");
|
|
6
|
+
const logger_1 = require("./logger");
|
|
6
7
|
/**
|
|
7
8
|
* 在 macOS(Apple 芯片)上本机构建时,默认指定目标平台为 `linux/amd64`,
|
|
8
9
|
* 以便与常见 Linux 服务器一致,避免默认构建出 arm64 镜像。
|
|
@@ -12,18 +13,13 @@ function dockerBuildPlatformFlags() {
|
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* 使用本机 Docker CLI 构建镜像(`docker build`)。
|
|
15
|
-
*
|
|
16
|
-
* 使用绝对路径指定 Dockerfile 与 context,避免工作目录与相对 `-f` 歧义。
|
|
17
16
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
params.imageRef,
|
|
26
|
-
params.contextAbs,
|
|
27
|
-
], {});
|
|
17
|
+
function buildDockerImageLocally(params, cwd) {
|
|
18
|
+
const platformFlags = dockerBuildPlatformFlags();
|
|
19
|
+
const command = `docker buildx build ${platformFlags.join(" ")} -t ${params.image}:${params.tag} .`;
|
|
20
|
+
logger_1.Logger.info("开始构建 Docker 镜像...");
|
|
21
|
+
logger_1.Logger.info(`镜像名称: ${params.image}:${params.tag}`);
|
|
22
|
+
command_runner_1.CommandRunner.exec(command, cwd);
|
|
23
|
+
logger_1.Logger.info("✓ 镜像构建成功");
|
|
28
24
|
}
|
|
29
25
|
//# sourceMappingURL=local-docker-build.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-docker-build.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/local-docker-build.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"local-docker-build.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/local-docker-build.ts"],"names":[],"mappings":";;AAgBA,0DAeC;AA/BD,qCAAmC;AAEnC,qDAAiD;AACjD,qCAAkC;AAElC;;;GAGG;AACH,SAAS,wBAAwB;IAC/B,OAAO,IAAA,kBAAQ,GAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAGC,EACD,GAAY;IAEZ,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,uBAAuB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAC5D,MAAM,CAAC,KACT,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC;IACnB,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,eAAM,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,8BAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAGpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Logger = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 日志工具类
|
|
6
|
+
*/
|
|
7
|
+
class Logger {
|
|
8
|
+
static info(message) {
|
|
9
|
+
console.log(`\x1b[36m[INFO]\x1b[0m ${message}`);
|
|
10
|
+
}
|
|
11
|
+
static success(message) {
|
|
12
|
+
console.log(`\x1b[32m[SUCCESS]\x1b[0m ${message}`);
|
|
13
|
+
}
|
|
14
|
+
static warn(message) {
|
|
15
|
+
console.log(`\x1b[33m[WARN]\x1b[0m ${message}`);
|
|
16
|
+
}
|
|
17
|
+
static error(message) {
|
|
18
|
+
console.log(`\x1b[31m[ERROR]\x1b[0m ${message}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Logger = Logger;
|
|
22
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/logger.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,MAAM;IACjB,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;CACF;AAhBD,wBAgBC"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import type { PrivateRegistryCredentials } from "./types";
|
|
2
1
|
/**
|
|
3
|
-
* 向私有 Registry 登录(`docker login
|
|
2
|
+
* 向私有 Registry 登录(`docker login --password-stdin`,密码仅经 stdin 传入)。
|
|
4
3
|
*/
|
|
5
|
-
export declare function dockerLoginPrivateRegistry(
|
|
4
|
+
export declare function dockerLoginPrivateRegistry(params: {
|
|
5
|
+
registryUser: string;
|
|
6
|
+
registryPassword: string;
|
|
7
|
+
registryHost: string;
|
|
8
|
+
}, cwd?: string): void;
|
|
9
|
+
export declare function dockerTagImage(params: {
|
|
10
|
+
image: string;
|
|
11
|
+
tag: string;
|
|
12
|
+
registryHost: string;
|
|
13
|
+
registryNamespace: string;
|
|
14
|
+
}, cwd?: string): void;
|
|
6
15
|
/**
|
|
7
16
|
* 推送镜像到已登录的 Registry(`docker push`)。
|
|
8
17
|
*/
|
|
9
|
-
export declare function dockerPushImage(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
export declare function dockerPushImage(params: {
|
|
19
|
+
image: string;
|
|
20
|
+
tag: string;
|
|
21
|
+
registryHost: string;
|
|
22
|
+
registryNamespace: string;
|
|
23
|
+
}, cwd?: string): void;
|
|
14
24
|
//# sourceMappingURL=registry-login-push.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-login-push.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/registry-login-push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry-login-push.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/registry-login-push.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE;IACN,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,EACD,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAaN;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,EACD,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,EACD,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAQN"}
|
|
@@ -1,48 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dockerLoginPrivateRegistry = dockerLoginPrivateRegistry;
|
|
4
|
+
exports.dockerTagImage = dockerTagImage;
|
|
4
5
|
exports.dockerPushImage = dockerPushImage;
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const run_docker_cli_1 = require("./run-docker-cli");
|
|
6
|
+
const command_runner_1 = require("./command-runner");
|
|
7
|
+
const logger_1 = require("./logger");
|
|
8
8
|
/**
|
|
9
|
-
* 向私有 Registry 登录(`docker login
|
|
9
|
+
* 向私有 Registry 登录(`docker login --password-stdin`,密码仅经 stdin 传入)。
|
|
10
10
|
*/
|
|
11
|
-
function dockerLoginPrivateRegistry(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
shell: false,
|
|
22
|
-
});
|
|
23
|
-
child.stdin?.write(`${registry.password}\n`);
|
|
24
|
-
child.stdin?.end();
|
|
25
|
-
child.on("error", reject);
|
|
26
|
-
child.on("close", (code) => {
|
|
27
|
-
if (code === 0) {
|
|
28
|
-
resolve();
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
reject(new Error(`docker login 失败(退出码 ${code ?? "?"}),仓库:${registry.registryHost}`));
|
|
32
|
-
});
|
|
33
|
-
});
|
|
11
|
+
function dockerLoginPrivateRegistry(params, cwd) {
|
|
12
|
+
const { registryUser, registryPassword, registryHost } = params;
|
|
13
|
+
logger_1.Logger.info("检查配置参数...");
|
|
14
|
+
if (!registryUser || !registryPassword || !registryHost) {
|
|
15
|
+
logger_1.Logger.error("Docker 镜像仓库配置错误,缺少参数,登录失败!");
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
logger_1.Logger.info("登录 Docker 镜像仓库...");
|
|
19
|
+
command_runner_1.CommandRunner.exec(`docker login --username=${registryUser} --password=${registryPassword} ${registryHost}`, cwd);
|
|
20
|
+
logger_1.Logger.info("✓ Docker 登录成功");
|
|
34
21
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
function dockerTagImage(params, cwd) {
|
|
23
|
+
const { image, tag, registryHost, registryNamespace } = params;
|
|
24
|
+
logger_1.Logger.info("标记 Docker 镜像...");
|
|
25
|
+
command_runner_1.CommandRunner.exec(`docker tag ${image}:${tag} ${registryHost}/${registryNamespace}/${image}:${tag}`, cwd);
|
|
26
|
+
logger_1.Logger.info("✓ 镜像标记成功");
|
|
40
27
|
}
|
|
41
28
|
/**
|
|
42
|
-
*
|
|
29
|
+
* 推送镜像到已登录的 Registry(`docker push`)。
|
|
43
30
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
31
|
+
function dockerPushImage(params, cwd) {
|
|
32
|
+
const { image, tag, registryHost, registryNamespace } = params;
|
|
33
|
+
logger_1.Logger.info("开始推送 Docker 镜像...");
|
|
34
|
+
command_runner_1.CommandRunner.exec(`docker push ${registryHost}/${registryNamespace}/${image}:${tag}`, cwd);
|
|
35
|
+
logger_1.Logger.info("✓ 镜像推送成功");
|
|
47
36
|
}
|
|
48
37
|
//# sourceMappingURL=registry-login-push.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry-login-push.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/registry-login-push.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"registry-login-push.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/registry-login-push.ts"],"names":[],"mappings":";;AAMA,gEAoBC;AAED,wCAgBC;AAKD,0CAgBC;AAjED,qDAAiD;AACjD,qCAAkC;AAElC;;GAEG;AACH,SAAgB,0BAA0B,CACxC,MAIC,EACD,GAAY;IAEZ,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAChE,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,IAAI,CAAC,YAAY,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC;QACxD,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,8BAAa,CAAC,IAAI,CAChB,2BAA2B,YAAY,eAAe,gBAAgB,IAAI,YAAY,EAAE,EACxF,GAAG,CACJ,CAAC;IACF,eAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,cAAc,CAC5B,MAKC,EACD,GAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAC/D,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/B,8BAAa,CAAC,IAAI,CAChB,cAAc,KAAK,IAAI,GAAG,IAAI,YAAY,IAAI,iBAAiB,IAAI,KAAK,IAAI,GAAG,EAAE,EACjF,GAAG,CACJ,CAAC;IACF,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,MAKC,EACD,GAAY;IAEZ,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC;IAC/D,eAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,8BAAa,CAAC,IAAI,CAChB,eAAe,YAAY,IAAI,iBAAiB,IAAI,KAAK,IAAI,GAAG,EAAE,EAClE,GAAG,CACJ,CAAC;IACF,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-docker-client.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/remote-docker-client.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"remote-docker-client.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/remote-docker-client.ts"],"names":[],"mappings":"AAEA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,sBAAsB,GAC9B,iBAAiB,CAqBnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-docker-client.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/remote-docker-client.ts"],"names":[],"mappings":";;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"remote-docker-client.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/remote-docker-client.ts"],"names":[],"mappings":";;;;;AAcA,4DAuBC;AArCD,qCAAuC;AAEvC,0DAA+B;AAM/B;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,OAA+B;IAE/B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC;IAE7C,MAAM,SAAS,GAAyB;QACtC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ;QACR,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,sBAAsB;KACzD,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,SAAS,CAAC,IAAI,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,CAAC,GAAG,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,mBAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import type { BackendDeployParams } from "./types";
|
|
2
|
-
export type ResolvedDockerBuildPaths = {
|
|
3
|
-
dockerfileAbs: string;
|
|
4
|
-
contextAbs: string;
|
|
5
|
-
};
|
|
6
1
|
/**
|
|
7
2
|
* 校验 Dockerfile 与构建上下文路径,并解析为绝对路径。
|
|
8
3
|
*
|
|
9
|
-
* @param cwd -
|
|
4
|
+
* @param cwd - 解析相对路径时的基准目录`
|
|
10
5
|
*/
|
|
11
|
-
export declare function resolveDockerBuildPaths(
|
|
6
|
+
export declare function resolveDockerBuildPaths(cwd: string): string;
|
|
12
7
|
//# sourceMappingURL=resolve-dockerfile.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-dockerfile.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/resolve-dockerfile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-dockerfile.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/resolve-dockerfile.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,UAQlD"}
|
|
@@ -6,28 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.resolveDockerBuildPaths = resolveDockerBuildPaths;
|
|
7
7
|
const node_fs_1 = require("node:fs");
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const logger_1 = require("./logger");
|
|
9
10
|
/**
|
|
10
11
|
* 校验 Dockerfile 与构建上下文路径,并解析为绝对路径。
|
|
11
12
|
*
|
|
12
|
-
* @param cwd -
|
|
13
|
+
* @param cwd - 解析相对路径时的基准目录`
|
|
13
14
|
*/
|
|
14
|
-
function resolveDockerBuildPaths(
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
function resolveDockerBuildPaths(cwd) {
|
|
16
|
+
const dockerfilePath = node_path_1.default.join(cwd, "Dockerfile");
|
|
17
|
+
logger_1.Logger.info(`查找Dockerfile文件,路径: ${dockerfilePath}`);
|
|
18
|
+
if (!(0, node_fs_1.existsSync)(dockerfilePath)) {
|
|
19
|
+
throw new Error(`Dockerfile 不存在:${dockerfilePath}`);
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
const contextAbs = params.contextPath
|
|
23
|
-
? node_path_1.default.resolve(cwd, params.contextPath)
|
|
24
|
-
: node_path_1.default.dirname(dockerfileAbs);
|
|
25
|
-
if (!(0, node_fs_1.existsSync)(contextAbs)) {
|
|
26
|
-
throw new Error(`构建上下文目录不存在:${contextAbs}`);
|
|
27
|
-
}
|
|
28
|
-
if (!(0, node_fs_1.statSync)(contextAbs).isDirectory()) {
|
|
29
|
-
throw new Error(`构建上下文不是目录:${contextAbs}`);
|
|
30
|
-
}
|
|
31
|
-
return { dockerfileAbs, contextAbs };
|
|
21
|
+
logger_1.Logger.info("✓ Dockerfile 存在");
|
|
22
|
+
return dockerfilePath;
|
|
32
23
|
}
|
|
33
24
|
//# sourceMappingURL=resolve-dockerfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-dockerfile.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/resolve-dockerfile.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"resolve-dockerfile.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/resolve-dockerfile.ts"],"names":[],"mappings":";;;;;AASA,0DAQC;AAjBD,qCAAqC;AACrC,0DAA6B;AAC7B,qCAAkC;AAElC;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,GAAW;IACjD,MAAM,cAAc,GAAG,mBAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpD,eAAM,CAAC,IAAI,CAAC,sBAAsB,cAAc,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC,IAAA,oBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,eAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type RunDockerCliOptions = {
|
|
2
2
|
cwd?: string;
|
|
3
|
-
/** 默认继承当前进程的 stdio,便于在终端看到 docker 输出 */
|
|
4
|
-
stdio?: "inherit" | "pipe";
|
|
5
3
|
};
|
|
6
4
|
/**
|
|
7
5
|
* 执行本地 `docker` CLI(需已安装 Docker Desktop / Engine 且 `docker` 在 PATH 中)。
|
|
6
|
+
* 经 {@link CommandRunner.execFileWithOutput} 调用,参数不经 shell。
|
|
8
7
|
*/
|
|
9
|
-
export declare function runDockerCli(args: string[], options?:
|
|
10
|
-
/**
|
|
11
|
-
* 通用子进程封装:非 0 退出码时 reject。
|
|
12
|
-
*/
|
|
13
|
-
export declare function runProcess(command: string, args: string[], options?: RunProcessOptions): Promise<void>;
|
|
8
|
+
export declare function runDockerCli(args: string[], options?: RunDockerCliOptions): void;
|
|
14
9
|
//# sourceMappingURL=run-docker-cli.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-docker-cli.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/run-docker-cli.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"run-docker-cli.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/run-docker-cli.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,mBAAmB,GAC5B,IAAI,CAIN"}
|
|
@@ -1,33 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runDockerCli = runDockerCli;
|
|
4
|
-
|
|
5
|
-
const node_child_process_1 = require("node:child_process");
|
|
4
|
+
const command_runner_1 = require("./command-runner");
|
|
6
5
|
/**
|
|
7
6
|
* 执行本地 `docker` CLI(需已安装 Docker Desktop / Engine 且 `docker` 在 PATH 中)。
|
|
7
|
+
* 经 {@link CommandRunner.execFileWithOutput} 调用,参数不经 shell。
|
|
8
8
|
*/
|
|
9
9
|
function runDockerCli(args, options) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 通用子进程封装:非 0 退出码时 reject。
|
|
14
|
-
*/
|
|
15
|
-
function runProcess(command, args, options) {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
const child = (0, node_child_process_1.spawn)(command, args, {
|
|
18
|
-
stdio: options?.stdio ?? "inherit",
|
|
19
|
-
shell: false,
|
|
20
|
-
cwd: options?.cwd,
|
|
21
|
-
});
|
|
22
|
-
child.on("error", reject);
|
|
23
|
-
child.on("close", (code, signal) => {
|
|
24
|
-
if (code === 0) {
|
|
25
|
-
resolve();
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
const hint = signal ? `,信号 ${signal}` : "";
|
|
29
|
-
reject(new Error(`命令失败:${command} ${args.join(" ")}(退出码 ${code ?? "?"}${hint})`));
|
|
30
|
-
});
|
|
10
|
+
command_runner_1.CommandRunner.execFileWithOutput("docker", args, {
|
|
11
|
+
cwd: options?.cwd,
|
|
31
12
|
});
|
|
32
13
|
}
|
|
33
14
|
//# sourceMappingURL=run-docker-cli.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-docker-cli.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/run-docker-cli.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"run-docker-cli.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/run-docker-cli.ts"],"names":[],"mappings":";;AAUA,oCAOC;AAjBD,qDAAiD;AAMjD;;;GAGG;AACH,SAAgB,YAAY,CAC1B,IAAc,EACd,OAA6B;IAE7B,8BAAa,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC/C,GAAG,EAAE,OAAO,EAAE,GAAG;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,69 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 后端镜像部署相关类型(后续可由 .apm/apm.config.json 映射注入)。
|
|
3
|
-
*/
|
|
4
|
-
/** 阿里云(或其它兼容 Docker Registry V2 的)私有仓库登录信息 */
|
|
5
|
-
export type PrivateRegistryCredentials = {
|
|
6
|
-
/** 仓库主机名,如 registry.cn-hangzhou.aliyuncs.com */
|
|
7
|
-
registryHost: string;
|
|
8
|
-
username: string;
|
|
9
|
-
password: string;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* 远程 Docker 守护进程连接参数(通常对应 TLS 的 Docker Host)。
|
|
13
|
-
* 与 dockerode / DockerModem 选项对齐。
|
|
14
|
-
*/
|
|
15
|
-
export type RemoteDockerTlsOptions = {
|
|
16
|
-
host: string;
|
|
17
|
-
port: number;
|
|
18
|
-
/** 默认可为 https(TLS),内网无证书场景可用 http */
|
|
19
|
-
protocol?: "https" | "http";
|
|
20
|
-
/** CA 证书文件路径(PEM) */
|
|
21
|
-
caPath?: string;
|
|
22
|
-
/** 客户端证书路径(PEM),与 keyPath 成对使用 */
|
|
23
|
-
certPath?: string;
|
|
24
|
-
/** 客户端私钥路径(PEM) */
|
|
25
|
-
keyPath?: string;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* 在远程主机上拉取私有镜像时,传给 docker pull 的认证(与本地 docker login 类似)。
|
|
29
|
-
* serveraddress 一般为 https://{registryHost}
|
|
30
|
-
*/
|
|
31
|
-
export type RemotePullRegistryAuth = {
|
|
32
|
-
username: string;
|
|
33
|
-
password: string;
|
|
34
|
-
/** 例如 https://registry.cn-hangzhou.aliyuncs.com */
|
|
35
|
-
serveraddress: string;
|
|
36
|
-
};
|
|
37
1
|
/**
|
|
38
2
|
* 单次后端部署流程的输入:路径、镜像名、仓库与远程连接均由调用方组装(例如来自 CLI 或配置文件)。
|
|
39
3
|
*/
|
|
40
4
|
export type BackendDeployParams = {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
* 远程 docker pull 拉取私有镜像时是否需要认证。
|
|
57
|
-
* 若镜像仓库可在远程主机上匿名拉取,可省略。
|
|
58
|
-
*/
|
|
59
|
-
remotePullAuth?: RemotePullRegistryAuth;
|
|
60
|
-
};
|
|
61
|
-
export type BackendDeployStep = "resolveDockerfile" | "localBuild" | "registryPush" | "remotePull";
|
|
62
|
-
export type BackendDeployResult = {
|
|
63
|
-
ok: true;
|
|
64
|
-
imageRef: string;
|
|
65
|
-
dockerfileAbs: string;
|
|
66
|
-
contextAbs: string;
|
|
67
|
-
completedSteps: BackendDeployStep[];
|
|
5
|
+
image: string;
|
|
6
|
+
tag: string;
|
|
7
|
+
registryHost: string;
|
|
8
|
+
registryNamespace: string;
|
|
9
|
+
registryUser: string;
|
|
10
|
+
registryPassword: string;
|
|
11
|
+
remoteHost: string;
|
|
12
|
+
remotePort?: number;
|
|
13
|
+
remoteProtocol?: "https" | "http";
|
|
14
|
+
remoteSocketPath?: string;
|
|
15
|
+
remoteCaPath: string;
|
|
16
|
+
remoteCertPath: string;
|
|
17
|
+
remoteKeyPath: string;
|
|
18
|
+
envFilePath?: string;
|
|
19
|
+
containerPortsMappings?: string[];
|
|
68
20
|
};
|
|
69
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/backend-deploy/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/backend-deploy/types.ts"],"names":[],"mappings":""}
|