@forge/cli 0.0.0-experimental-a9f00a0 → 0.0.0-experimental-2b3dfe1
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/CHANGELOG.md +1 -9
- package/npm-shrinkwrap.json +31 -2432
- package/out/autocomplete/autocomplete-config.json +2 -242
- package/out/bin/cli.d.ts +0 -1
- package/out/bin/cli.d.ts.map +1 -1
- package/out/bin/cli.js +1 -4
- package/out/bin/postinstall.d.ts +0 -1
- package/out/bin/postinstall.js +1 -9
- package/package.json +2 -5
- package/out/command-line/anon-user-id.d.ts +0 -3
- package/out/command-line/anon-user-id.d.ts.map +0 -1
- package/out/command-line/anon-user-id.js +0 -17
- package/out/command-line/command.d.ts +0 -79
- package/out/command-line/command.d.ts.map +0 -1
- package/out/command-line/command.js +0 -348
- package/out/command-line/controller/assertUnreachable.d.ts +0 -2
- package/out/command-line/controller/assertUnreachable.d.ts.map +0 -1
- package/out/command-line/controller/assertUnreachable.js +0 -7
- package/out/command-line/controller/autocomplete-controller.d.ts +0 -12
- package/out/command-line/controller/autocomplete-controller.d.ts.map +0 -1
- package/out/command-line/controller/autocomplete-controller.js +0 -54
- package/out/command-line/controller/deploy-controller.d.ts +0 -43
- package/out/command-line/controller/deploy-controller.d.ts.map +0 -1
- package/out/command-line/controller/deploy-controller.js +0 -139
- package/out/command-line/controller/feedback-controller.d.ts +0 -9
- package/out/command-line/controller/feedback-controller.d.ts.map +0 -1
- package/out/command-line/controller/feedback-controller.js +0 -19
- package/out/command-line/controller/getNodeVersion.d.ts +0 -2
- package/out/command-line/controller/getNodeVersion.d.ts.map +0 -1
- package/out/command-line/controller/getNodeVersion.js +0 -7
- package/out/command-line/controller/install-controller.d.ts +0 -35
- package/out/command-line/controller/install-controller.d.ts.map +0 -1
- package/out/command-line/controller/install-controller.js +0 -154
- package/out/command-line/controller/lint-controller.d.ts +0 -9
- package/out/command-line/controller/lint-controller.d.ts.map +0 -1
- package/out/command-line/controller/lint-controller.js +0 -20
- package/out/command-line/controller/pre-command-controller.d.ts +0 -25
- package/out/command-line/controller/pre-command-controller.d.ts.map +0 -1
- package/out/command-line/controller/pre-command-controller.js +0 -57
- package/out/command-line/controller/prerequisites-controller.d.ts +0 -11
- package/out/command-line/controller/prerequisites-controller.d.ts.map +0 -1
- package/out/command-line/controller/prerequisites-controller.js +0 -34
- package/out/command-line/controller/settings-controller.d.ts +0 -19
- package/out/command-line/controller/settings-controller.d.ts.map +0 -1
- package/out/command-line/controller/settings-controller.js +0 -48
- package/out/command-line/controller/stubController.d.ts +0 -9
- package/out/command-line/controller/stubController.d.ts.map +0 -1
- package/out/command-line/controller/stubController.js +0 -15
- package/out/command-line/controller/tunnel-controller.d.ts +0 -14
- package/out/command-line/controller/tunnel-controller.d.ts.map +0 -1
- package/out/command-line/controller/tunnel-controller.js +0 -42
- package/out/command-line/dependency-injection.d.ts +0 -69
- package/out/command-line/dependency-injection.d.ts.map +0 -1
- package/out/command-line/dependency-injection.js +0 -186
- package/out/command-line/environment.d.ts +0 -2
- package/out/command-line/environment.d.ts.map +0 -1
- package/out/command-line/environment.js +0 -15
- package/out/command-line/errors.d.ts +0 -6
- package/out/command-line/errors.d.ts.map +0 -1
- package/out/command-line/errors.js +0 -12
- package/out/command-line/index.d.ts +0 -5
- package/out/command-line/index.d.ts.map +0 -1
- package/out/command-line/index.js +0 -66
- package/out/command-line/register-app-commands.d.ts +0 -10
- package/out/command-line/register-app-commands.d.ts.map +0 -1
- package/out/command-line/register-app-commands.js +0 -128
- package/out/command-line/register-authentication-command.d.ts +0 -16
- package/out/command-line/register-authentication-command.d.ts.map +0 -1
- package/out/command-line/register-authentication-command.js +0 -92
- package/out/command-line/register-autocomplete-commands.d.ts +0 -3
- package/out/command-line/register-autocomplete-commands.d.ts.map +0 -1
- package/out/command-line/register-autocomplete-commands.js +0 -13
- package/out/command-line/register-deployment-commands.d.ts +0 -22
- package/out/command-line/register-deployment-commands.d.ts.map +0 -1
- package/out/command-line/register-deployment-commands.js +0 -15
- package/out/command-line/register-environment-variables-commands.d.ts +0 -3
- package/out/command-line/register-environment-variables-commands.d.ts.map +0 -1
- package/out/command-line/register-environment-variables-commands.js +0 -99
- package/out/command-line/register-feedback-commands.d.ts +0 -3
- package/out/command-line/register-feedback-commands.d.ts.map +0 -1
- package/out/command-line/register-feedback-commands.js +0 -31
- package/out/command-line/register-installation-commands.d.ts +0 -6
- package/out/command-line/register-installation-commands.d.ts.map +0 -1
- package/out/command-line/register-installation-commands.js +0 -140
- package/out/command-line/register-lint-command.d.ts +0 -8
- package/out/command-line/register-lint-command.d.ts.map +0 -1
- package/out/command-line/register-lint-command.js +0 -15
- package/out/command-line/register-log-commands.d.ts +0 -4
- package/out/command-line/register-log-commands.d.ts.map +0 -1
- package/out/command-line/register-log-commands.js +0 -138
- package/out/command-line/register-providers-commands.d.ts +0 -3
- package/out/command-line/register-providers-commands.d.ts.map +0 -1
- package/out/command-line/register-providers-commands.js +0 -43
- package/out/command-line/register-settings-commands.d.ts +0 -3
- package/out/command-line/register-settings-commands.d.ts.map +0 -1
- package/out/command-line/register-settings-commands.js +0 -37
- package/out/command-line/register-tunnel-commands.d.ts +0 -3
- package/out/command-line/register-tunnel-commands.d.ts.map +0 -1
- package/out/command-line/register-tunnel-commands.js +0 -14
- package/out/command-line/register-webtrigger-commands.d.ts +0 -3
- package/out/command-line/register-webtrigger-commands.d.ts.map +0 -1
- package/out/command-line/register-webtrigger-commands.js +0 -55
- package/out/command-line/unique-machine-id.d.ts +0 -3
- package/out/command-line/unique-machine-id.d.ts.map +0 -1
- package/out/command-line/unique-machine-id.js +0 -18
- package/out/command-line/version-info.d.ts +0 -8
- package/out/command-line/version-info.d.ts.map +0 -1
- package/out/command-line/version-info.js +0 -34
- package/out/command-line/view/analytics-settings-view.d.ts +0 -7
- package/out/command-line/view/analytics-settings-view.d.ts.map +0 -1
- package/out/command-line/view/analytics-settings-view.js +0 -18
- package/out/command-line/view/deploy-view.d.ts +0 -21
- package/out/command-line/view/deploy-view.d.ts.map +0 -1
- package/out/command-line/view/deploy-view.js +0 -57
- package/out/command-line/view/install-view.d.ts +0 -18
- package/out/command-line/view/install-view.d.ts.map +0 -1
- package/out/command-line/view/install-view.js +0 -55
- package/out/command-line/view/lint-view.d.ts +0 -12
- package/out/command-line/view/lint-view.d.ts.map +0 -1
- package/out/command-line/view/lint-view.js +0 -31
- package/out/command-line/view/lite-lint-view.d.ts +0 -10
- package/out/command-line/view/lite-lint-view.d.ts.map +0 -1
- package/out/command-line/view/lite-lint-view.js +0 -18
- package/out/command-line/view/settings-view.d.ts +0 -8
- package/out/command-line/view/settings-view.d.ts.map +0 -1
- package/out/command-line/view/settings-view.js +0 -21
- package/out/command-line/view/tunnel-view.d.ts +0 -18
- package/out/command-line/view/tunnel-view.d.ts.map +0 -1
- package/out/command-line/view/tunnel-view.js +0 -89
- package/out/deploy/deployer/deploy-monitor-graphql-client.d.ts +0 -24
- package/out/deploy/deployer/deploy-monitor-graphql-client.d.ts.map +0 -1
- package/out/deploy/deployer/deploy-monitor-graphql-client.js +0 -57
- package/out/deploy/deployer/deployer.d.ts +0 -31
- package/out/deploy/deployer/deployer.d.ts.map +0 -1
- package/out/deploy/deployer/deployer.js +0 -154
- package/out/deploy/deployer/index.d.ts +0 -4
- package/out/deploy/deployer/index.d.ts.map +0 -1
- package/out/deploy/deployer/index.js +0 -6
- package/out/deploy/deployer/trigger-deploy-graphql-client.d.ts +0 -19
- package/out/deploy/deployer/trigger-deploy-graphql-client.d.ts.map +0 -1
- package/out/deploy/deployer/trigger-deploy-graphql-client.js +0 -45
- package/out/deploy/index.d.ts +0 -5
- package/out/deploy/index.d.ts.map +0 -1
- package/out/deploy/index.js +0 -7
- package/out/deploy/package-upload-deploy.d.ts +0 -18
- package/out/deploy/package-upload-deploy.d.ts.map +0 -1
- package/out/deploy/package-upload-deploy.js +0 -28
- package/out/deploy/packager/archiver.d.ts +0 -24
- package/out/deploy/packager/archiver.d.ts.map +0 -1
- package/out/deploy/packager/archiver.js +0 -62
- package/out/deploy/packager/index.d.ts +0 -3
- package/out/deploy/packager/index.d.ts.map +0 -1
- package/out/deploy/packager/index.js +0 -5
- package/out/deploy/packager/packager.d.ts +0 -33
- package/out/deploy/packager/packager.d.ts.map +0 -1
- package/out/deploy/packager/packager.js +0 -38
- package/out/deploy/uploader/artifact-graphql-client.d.ts +0 -26
- package/out/deploy/uploader/artifact-graphql-client.d.ts.map +0 -1
- package/out/deploy/uploader/artifact-graphql-client.js +0 -92
- package/out/deploy/uploader/index.d.ts +0 -3
- package/out/deploy/uploader/index.d.ts.map +0 -1
- package/out/deploy/uploader/index.js +0 -5
- package/out/deploy/uploader/uploader.d.ts +0 -19
- package/out/deploy/uploader/uploader.d.ts.map +0 -1
- package/out/deploy/uploader/uploader.js +0 -43
- package/out/environment-variables/delete-environment-variable.d.ts +0 -18
- package/out/environment-variables/delete-environment-variable.d.ts.map +0 -1
- package/out/environment-variables/delete-environment-variable.js +0 -14
- package/out/environment-variables/graphql-client.d.ts +0 -16
- package/out/environment-variables/graphql-client.d.ts.map +0 -1
- package/out/environment-variables/graphql-client.js +0 -105
- package/out/environment-variables/list-environment-variables.d.ts +0 -22
- package/out/environment-variables/list-environment-variables.d.ts.map +0 -1
- package/out/environment-variables/list-environment-variables.js +0 -14
- package/out/environment-variables/set-environment-variable.d.ts +0 -20
- package/out/environment-variables/set-environment-variable.d.ts.map +0 -1
- package/out/environment-variables/set-environment-variable.js +0 -14
- package/out/installations/graphql-client.d.ts +0 -59
- package/out/installations/graphql-client.d.ts.map +0 -1
- package/out/installations/graphql-client.js +0 -346
- package/out/installations/install-app-site.d.ts +0 -21
- package/out/installations/install-app-site.d.ts.map +0 -1
- package/out/installations/install-app-site.js +0 -19
- package/out/installations/shared.d.ts +0 -5
- package/out/installations/shared.d.ts.map +0 -1
- package/out/installations/shared.js +0 -19
- package/out/installations/uninstall-app.d.ts +0 -25
- package/out/installations/uninstall-app.d.ts.map +0 -1
- package/out/installations/uninstall-app.js +0 -43
- package/out/migration-keys/graphql-client.d.ts +0 -8
- package/out/migration-keys/graphql-client.d.ts.map +0 -1
- package/out/migration-keys/graphql-client.js +0 -55
- package/out/providers/configure-provider.d.ts +0 -19
- package/out/providers/configure-provider.d.ts.map +0 -1
- package/out/providers/configure-provider.js +0 -14
- package/out/providers/graphql-client.d.ts +0 -12
- package/out/providers/graphql-client.d.ts.map +0 -1
- package/out/providers/graphql-client.js +0 -47
- package/out/service/cached-config-service.d.ts +0 -8
- package/out/service/cached-config-service.d.ts.map +0 -1
- package/out/service/cached-config-service.js +0 -16
- package/out/service/command-suggestion-service.d.ts +0 -4
- package/out/service/command-suggestion-service.d.ts.map +0 -1
- package/out/service/command-suggestion-service.js +0 -17
- package/out/service/docker-service.d.ts +0 -24
- package/out/service/docker-service.d.ts.map +0 -1
- package/out/service/docker-service.js +0 -71
- package/out/service/installation-service.d.ts +0 -51
- package/out/service/installation-service.d.ts.map +0 -1
- package/out/service/installation-service.js +0 -89
- package/out/service/lint-service.d.ts +0 -23
- package/out/service/lint-service.d.ts.map +0 -1
- package/out/service/lint-service.js +0 -39
- package/out/service/lite-lint-service.d.ts +0 -10
- package/out/service/lite-lint-service.d.ts.map +0 -1
- package/out/service/lite-lint-service.js +0 -27
- package/out/service/migration-keys-service.d.ts +0 -19
- package/out/service/migration-keys-service.d.ts.map +0 -1
- package/out/service/migration-keys-service.js +0 -14
- package/out/service/port-finding-service.d.ts +0 -12
- package/out/service/port-finding-service.d.ts.map +0 -1
- package/out/service/port-finding-service.js +0 -34
- package/out/service/resource-packaging-service.d.ts +0 -46
- package/out/service/resource-packaging-service.d.ts.map +0 -1
- package/out/service/resource-packaging-service.js +0 -128
- package/out/service/resources-uploader-service.d.ts +0 -16
- package/out/service/resources-uploader-service.d.ts.map +0 -1
- package/out/service/resources-uploader-service.js +0 -34
- package/out/service/tunnel-analytics-service.d.ts +0 -6
- package/out/service/tunnel-analytics-service.d.ts.map +0 -1
- package/out/service/tunnel-analytics-service.js +0 -13
- package/out/service/tunnel-service.d.ts +0 -47
- package/out/service/tunnel-service.d.ts.map +0 -1
- package/out/service/tunnel-service.js +0 -187
- package/out/webtrigger/get-webtrigger-url.d.ts +0 -27
- package/out/webtrigger/get-webtrigger-url.d.ts.map +0 -1
- package/out/webtrigger/get-webtrigger-url.js +0 -23
- package/out/webtrigger/graphql-client.d.ts +0 -14
- package/out/webtrigger/graphql-client.d.ts.map +0 -1
- package/out/webtrigger/graphql-client.js +0 -52
- package/out/workers/analytics-message-worker.d.ts +0 -12
- package/out/workers/analytics-message-worker.d.ts.map +0 -1
- package/out/workers/analytics-message-worker.js +0 -29
- package/out/workers/forge-cli-workers.d.ts +0 -2
- package/out/workers/forge-cli-workers.d.ts.map +0 -1
- package/out/workers/forge-cli-workers.js +0 -21
- package/out/workers/tunnel-clean-up-worker.d.ts +0 -8
- package/out/workers/tunnel-clean-up-worker.d.ts.map +0 -1
- package/out/workers/tunnel-clean-up-worker.js +0 -31
- package/out/workers/version-check-worker.d.ts +0 -8
- package/out/workers/version-check-worker.d.ts.map +0 -1
- package/out/workers/version-check-worker.js +0 -20
- package/out/workers/worker-info.d.ts +0 -8
- package/out/workers/worker-info.d.ts.map +0 -1
- package/out/workers/worker-info.js +0 -14
- package/out/workers/worker.d.ts +0 -6
- package/out/workers/worker.d.ts.map +0 -1
- package/out/workers/worker.js +0 -7
- package/out/workers/workers-starter.d.ts +0 -5
- package/out/workers/workers-starter.d.ts.map +0 -1
- package/out/workers/workers-starter.js +0 -22
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourcePackagingService = exports.DetailedMalformedHtmlEntrypointError = exports.DetailedMissingHtmlEntrypointError = exports.MissingHtmlEntrypointError = exports.MalformedHtmlEntrypointError = exports.ResourceDirectoryEmptyError = exports.ResourceDirectoryMissingError = void 0;
|
|
4
|
-
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
-
const path_1 = require("path");
|
|
6
|
-
const hidefile_1 = require("hidefile");
|
|
7
|
-
const CUSTOM_UI_ENTRYPOINT = 'index.html';
|
|
8
|
-
class ResourceDirectoryMissingError extends Error {
|
|
9
|
-
constructor(key, dir) {
|
|
10
|
-
super(cli_shared_1.Text.error.resourceDirectoryMissing(key, dir));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.ResourceDirectoryMissingError = ResourceDirectoryMissingError;
|
|
14
|
-
class ResourceDirectoryEmptyError extends Error {
|
|
15
|
-
constructor(key, dir) {
|
|
16
|
-
super(cli_shared_1.Text.error.resourceDirectoryEmpty(key, dir));
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.ResourceDirectoryEmptyError = ResourceDirectoryEmptyError;
|
|
20
|
-
class MalformedHtmlEntrypointError extends Error {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(cli_shared_1.Text.hostedResources.malformedEntrypoint);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.MalformedHtmlEntrypointError = MalformedHtmlEntrypointError;
|
|
26
|
-
class MissingHtmlEntrypointError extends Error {
|
|
27
|
-
constructor() {
|
|
28
|
-
super(cli_shared_1.Text.hostedResources.missingEntrypoint);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.MissingHtmlEntrypointError = MissingHtmlEntrypointError;
|
|
32
|
-
class DetailedMissingHtmlEntrypointError extends Error {
|
|
33
|
-
constructor(resourceKey, directory) {
|
|
34
|
-
super(cli_shared_1.Text.hostedResources.missingEntrypointWithResourceDetails(resourceKey, directory));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.DetailedMissingHtmlEntrypointError = DetailedMissingHtmlEntrypointError;
|
|
38
|
-
class DetailedMalformedHtmlEntrypointError extends Error {
|
|
39
|
-
constructor(resourceKey) {
|
|
40
|
-
super(cli_shared_1.Text.hostedResources.malformedEntrypointWithKey(resourceKey));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.DetailedMalformedHtmlEntrypointError = DetailedMalformedHtmlEntrypointError;
|
|
44
|
-
class ResourcePackagingService {
|
|
45
|
-
constructor(archiverFactory, fileSystemReader, appDir, bridgeScriptService, iframeResizerScriptService) {
|
|
46
|
-
this.archiverFactory = archiverFactory;
|
|
47
|
-
this.fileSystemReader = fileSystemReader;
|
|
48
|
-
this.appDir = appDir;
|
|
49
|
-
this.bridgeScriptService = bridgeScriptService;
|
|
50
|
-
this.iframeResizerScriptService = iframeResizerScriptService;
|
|
51
|
-
}
|
|
52
|
-
async getResourcesInformation(resources) {
|
|
53
|
-
return await Promise.all(resources.map(async ({ key, directory, resourceType }) => {
|
|
54
|
-
if (!this.fileSystemReader.fileExists(directory)) {
|
|
55
|
-
throw new ResourceDirectoryMissingError(key, directory);
|
|
56
|
-
}
|
|
57
|
-
const filePaths = await this.fileSystemReader.recursiveReadDir(directory, [hidefile_1.isHiddenSync]);
|
|
58
|
-
if (filePaths.length === 0) {
|
|
59
|
-
throw new ResourceDirectoryEmptyError(key, directory);
|
|
60
|
-
}
|
|
61
|
-
return { key, filePaths, directory, resourceType };
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
transformRelativeResourcePathsToAbsolute(appDir, resources) {
|
|
65
|
-
return resources.map(({ key, path, resourceType }) => ({ key, directory: path_1.join(appDir, path), resourceType }));
|
|
66
|
-
}
|
|
67
|
-
processFile(filePath, content) {
|
|
68
|
-
if (filePath === CUSTOM_UI_ENTRYPOINT) {
|
|
69
|
-
const contentWithIframeResizerScript = this.iframeResizerScriptService.injectIframeResizer(content, () => {
|
|
70
|
-
throw new MalformedHtmlEntrypointError();
|
|
71
|
-
});
|
|
72
|
-
return this.bridgeScriptService.injectBridgeCore(contentWithIframeResizerScript, () => {
|
|
73
|
-
throw new MalformedHtmlEntrypointError();
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
return content;
|
|
77
|
-
}
|
|
78
|
-
validateResourceContents({ directory, filePaths, resourceType }) {
|
|
79
|
-
if (resourceType === 'customUI') {
|
|
80
|
-
this.assertDirectoryIncludesEntrypoint(directory, filePaths);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
assertDirectoryIncludesEntrypoint(directory, filePaths) {
|
|
84
|
-
if (!filePaths.map((path) => path_1.relative(directory, path)).includes(CUSTOM_UI_ENTRYPOINT)) {
|
|
85
|
-
throw new MissingHtmlEntrypointError();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
async createResourceArchive(archiver, filePaths, directory) {
|
|
89
|
-
await Promise.all(filePaths.map(async (filePath) => {
|
|
90
|
-
const file = await this.fileSystemReader.readBinaryFileAsync(filePath);
|
|
91
|
-
if (file) {
|
|
92
|
-
const relativePathToArchiveRoot = path_1.relative(directory, filePath);
|
|
93
|
-
archiver.addFile(relativePathToArchiveRoot, this.processFile(relativePathToArchiveRoot, file));
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
return archiver.finalise();
|
|
97
|
-
}
|
|
98
|
-
async zipResources(resources, modules) {
|
|
99
|
-
const transformedResources = this.transformRelativeResourcePathsToAbsolute(this.appDir, resources);
|
|
100
|
-
const resourcesInformation = await this.getResourcesInformation(transformedResources);
|
|
101
|
-
const archives = {};
|
|
102
|
-
await Promise.all(resourcesInformation.map(async ({ key, filePaths, directory, resourceType }) => {
|
|
103
|
-
try {
|
|
104
|
-
this.validateResourceContents({ key, directory, filePaths, resourceType });
|
|
105
|
-
const archiver = this.archiverFactory();
|
|
106
|
-
const archivePath = await this.createResourceArchive(archiver, filePaths, directory);
|
|
107
|
-
archives[key] = {
|
|
108
|
-
zipPath: archivePath,
|
|
109
|
-
rawSize: this.fileSystemReader.bytesToMb(await this.fileSystemReader.getFolderSizeAsync(directory)),
|
|
110
|
-
zipSize: this.fileSystemReader.bytesToMb(this.fileSystemReader.getSize(archivePath)),
|
|
111
|
-
extensions: [...new Set(filePaths.map((file) => path_1.extname(file)))],
|
|
112
|
-
fileCount: filePaths.length
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
if (err instanceof MalformedHtmlEntrypointError) {
|
|
117
|
-
throw new DetailedMalformedHtmlEntrypointError(key);
|
|
118
|
-
}
|
|
119
|
-
if (err instanceof MissingHtmlEntrypointError) {
|
|
120
|
-
throw new DetailedMissingHtmlEntrypointError(key, directory);
|
|
121
|
-
}
|
|
122
|
-
throw err;
|
|
123
|
-
}
|
|
124
|
-
}));
|
|
125
|
-
return archives;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.ResourcePackagingService = ResourcePackagingService;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FileSystemReader, HostedResourcePreSignedUrl } from '@forge/cli-shared';
|
|
2
|
-
export interface UploaderService {
|
|
3
|
-
upload(details: {
|
|
4
|
-
archive: string;
|
|
5
|
-
preSignedUrl: HostedResourcePreSignedUrl;
|
|
6
|
-
}): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export declare class ResourcesUploaderService implements UploaderService {
|
|
9
|
-
private readonly fileSystemReader;
|
|
10
|
-
constructor(fileSystemReader: FileSystemReader);
|
|
11
|
-
upload({ archive, preSignedUrl }: {
|
|
12
|
-
archive: string;
|
|
13
|
-
preSignedUrl: HostedResourcePreSignedUrl;
|
|
14
|
-
}): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=resources-uploader-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resources-uploader-service.d.ts","sourceRoot":"","sources":["../../src/service/resources-uploader-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAIjF,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,0BAA0B,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/F;AAQD,qBAAa,wBAAyB,YAAW,eAAe;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB;IAClD,MAAM,CAAC,EAClB,OAAO,EACP,YAAY,EACb,EAAE;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,0BAA0B,CAAC;KAC1C,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBlB"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourcesUploaderService = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const form_data_1 = tslib_1.__importDefault(require("form-data"));
|
|
6
|
-
const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
|
|
7
|
-
class ResourceUploadError extends Error {
|
|
8
|
-
constructor() {
|
|
9
|
-
super('Failed to upload resource to S3');
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
class ResourcesUploaderService {
|
|
13
|
-
constructor(fileSystemReader) {
|
|
14
|
-
this.fileSystemReader = fileSystemReader;
|
|
15
|
-
}
|
|
16
|
-
async upload({ archive, preSignedUrl }) {
|
|
17
|
-
const content = this.fileSystemReader.readBinaryFile(archive);
|
|
18
|
-
const formData = new form_data_1.default();
|
|
19
|
-
formData.append('Content-Type', 'application/zip');
|
|
20
|
-
formData.append('acl', 'bucket-owner-full-control');
|
|
21
|
-
Object.entries(preSignedUrl.uploadFormData).forEach(([k, v]) => {
|
|
22
|
-
formData.append(k, v);
|
|
23
|
-
});
|
|
24
|
-
formData.append('file', content);
|
|
25
|
-
const response = await node_fetch_1.default(preSignedUrl.uploadUrl, {
|
|
26
|
-
method: 'POST',
|
|
27
|
-
body: formData
|
|
28
|
-
});
|
|
29
|
-
if (!response.ok) {
|
|
30
|
-
throw new ResourceUploadError();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.ResourcesUploaderService = ResourcesUploaderService;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { PersonalApiCredentialsValidated } from '@forge/cli-shared';
|
|
2
|
-
import { DownloadProgressCallbacks } from '../command-line/view/tunnel-view';
|
|
3
|
-
export declare class TunnelAnalyticsService {
|
|
4
|
-
getImageDownloadReporters(creds: PersonalApiCredentialsValidated): DownloadProgressCallbacks;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=tunnel-analytics-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-analytics-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-analytics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,sBAAsB;IAC1B,yBAAyB,CAAC,KAAK,EAAE,+BAA+B,GAAG,yBAAyB;CAOpG"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TunnelAnalyticsService = void 0;
|
|
4
|
-
class TunnelAnalyticsService {
|
|
5
|
-
getImageDownloadReporters(creds) {
|
|
6
|
-
return {
|
|
7
|
-
onStart: () => void 0,
|
|
8
|
-
onFailure: () => void 0,
|
|
9
|
-
onSuccess: () => void 0
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.TunnelAnalyticsService = TunnelAnalyticsService;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { HiddenError, PersonalApiCredentialsValidated } from '@forge/cli-shared';
|
|
2
|
-
import { spawn } from 'cross-spawn';
|
|
3
|
-
import { DockerService } from './docker-service';
|
|
4
|
-
import { ConfigFilePortFindingService } from './port-finding-service';
|
|
5
|
-
export interface TunnelOptions {
|
|
6
|
-
debug?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const CONTAINER_NAME = "forge-tunnel-docker";
|
|
9
|
-
export declare const IMAGE_NAME: string;
|
|
10
|
-
export declare class HiddenDockerTunnelError extends HiddenError {
|
|
11
|
-
}
|
|
12
|
-
export declare abstract class TunnelService {
|
|
13
|
-
protected readonly configFilePortFindingService: ConfigFilePortFindingService;
|
|
14
|
-
constructor(configFilePortFindingService: ConfigFilePortFindingService);
|
|
15
|
-
abstract run(tunnelOptions: TunnelOptions, creds: PersonalApiCredentialsValidated, debugEnabled: boolean, onError?: (err: Error) => void): Promise<void>;
|
|
16
|
-
protected getDockerOptions(tunnelOptions: TunnelOptions, debugEnabled: boolean, { email, token }: PersonalApiCredentialsValidated): Promise<string[]>;
|
|
17
|
-
protected getPortOptions(port: number, resourcePorts: Record<string, number>, cspReporterPort: number | undefined): string[];
|
|
18
|
-
protected getResourcePortEnvVarOption(resourcePorts: Record<string, number>): string[];
|
|
19
|
-
protected getUserEnvironmentVariablesOptions(): string[];
|
|
20
|
-
protected addEnvVarsForLocalTunnel(env: {
|
|
21
|
-
[key: string]: string;
|
|
22
|
-
}): Record<string, string>;
|
|
23
|
-
protected transformDockerOptionsToEnvVars(options: string[]): {
|
|
24
|
-
[key: string]: string;
|
|
25
|
-
};
|
|
26
|
-
protected getInteractiveOptions(): string[];
|
|
27
|
-
protected getVolumeOptions(): string[];
|
|
28
|
-
}
|
|
29
|
-
export declare class LocalTunnelService extends TunnelService {
|
|
30
|
-
run(tunnelOptions: TunnelOptions, creds: {
|
|
31
|
-
email: string;
|
|
32
|
-
token: string;
|
|
33
|
-
accountId: string;
|
|
34
|
-
}, debugEnabled: boolean, onError: (err: Error) => void): Promise<void>;
|
|
35
|
-
}
|
|
36
|
-
export declare class DockerTunnelService extends TunnelService {
|
|
37
|
-
private readonly dockerService;
|
|
38
|
-
constructor(configFilePortFindingService: ConfigFilePortFindingService, dockerService: DockerService);
|
|
39
|
-
run(tunnelOptions: TunnelOptions, creds: {
|
|
40
|
-
email: string;
|
|
41
|
-
token: string;
|
|
42
|
-
accountId: string;
|
|
43
|
-
}, debugEnabled: boolean): Promise<void>;
|
|
44
|
-
bootstrapDocker(): Promise<ReturnType<typeof spawn>>;
|
|
45
|
-
private validateDockerVersion;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=tunnel-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,WAAW,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAcpD,eAAO,MAAM,UAAU,QAEuB,CAAC;AAE/C,qBAAa,uBAAwB,SAAQ,WAAW;CAAG;AAE3D,8BAAsB,aAAa;IACrB,SAAS,CAAC,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B;gBAA1D,4BAA4B,EAAE,4BAA4B;aAEzE,GAAG,CACjB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,EACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;cAEA,gBAAgB,CAC9B,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,OAAO,EACrB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,+BAA+B,GAChD,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BpB,SAAS,CAAC,cAAc,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,EAAE;IAwBX,SAAS,CAAC,2BAA2B,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE;IAItF,SAAS,CAAC,kCAAkC,IAAI,MAAM,EAAE;IAUxD,SAAS,CAAC,wBAAwB,CAAC,GAAG,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQ1F,SAAS,CAAC,+BAA+B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAYvF,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAQ3C,SAAS,CAAC,gBAAgB,IAAI,MAAM,EAAE;CAavC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACtC,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;CA0BjB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IAGlD,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAD9B,4BAA4B,EAAE,4BAA4B,EACzC,aAAa,EAAE,aAAa;IAKlC,GAAG,CACd,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAC1D,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;IAyBH,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;YAKnD,qBAAqB;CAOpC"}
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DockerTunnelService = exports.LocalTunnelService = exports.TunnelService = exports.HiddenDockerTunnelError = exports.IMAGE_NAME = exports.CONTAINER_NAME = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const cli_shared_1 = require("@forge/cli-shared");
|
|
6
|
-
const cross_spawn_1 = require("cross-spawn");
|
|
7
|
-
const os_1 = tslib_1.__importDefault(require("os"));
|
|
8
|
-
const path_1 = require("path");
|
|
9
|
-
const portfinder_1 = require("portfinder");
|
|
10
|
-
const semver_1 = require("semver");
|
|
11
|
-
const version_info_1 = require("../command-line/version-info");
|
|
12
|
-
const DISABLE_TTY = process.env.DISABLE_TTY === 'true';
|
|
13
|
-
const CUR_WORK_APP_DIR = process.env.CUR_WORK_APP_DIR;
|
|
14
|
-
exports.CONTAINER_NAME = 'forge-tunnel-docker';
|
|
15
|
-
const cliDetails = version_info_1.getCLIDetails();
|
|
16
|
-
let versionTags;
|
|
17
|
-
if ((cliDetails === null || cliDetails === void 0 ? void 0 : cliDetails.version) !== undefined) {
|
|
18
|
-
if (process.env.FORGE_IN_LOCAL_E2E === 'true') {
|
|
19
|
-
versionTags = ['e2e'];
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
versionTags = semver_1.prerelease(cliDetails.version) || ['latest'];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
versionTags = ['latest'];
|
|
27
|
-
}
|
|
28
|
-
exports.IMAGE_NAME = process.env.FORGE_DEV_DOCKER_TUNNEL
|
|
29
|
-
? 'local/forge-tunnel:test'
|
|
30
|
-
: `atlassian/forge-tunnel:${versionTags[0]}`;
|
|
31
|
-
class HiddenDockerTunnelError extends cli_shared_1.HiddenError {
|
|
32
|
-
}
|
|
33
|
-
exports.HiddenDockerTunnelError = HiddenDockerTunnelError;
|
|
34
|
-
class TunnelService {
|
|
35
|
-
constructor(configFilePortFindingService) {
|
|
36
|
-
this.configFilePortFindingService = configFilePortFindingService;
|
|
37
|
-
}
|
|
38
|
-
async getDockerOptions(tunnelOptions, debugEnabled, { email, token }) {
|
|
39
|
-
try {
|
|
40
|
-
const graphqlGateway = cli_shared_1.getGraphqlGateway();
|
|
41
|
-
return [
|
|
42
|
-
'--rm',
|
|
43
|
-
`--name`,
|
|
44
|
-
exports.CONTAINER_NAME,
|
|
45
|
-
`--env`,
|
|
46
|
-
`APP_FOLDER=/app`,
|
|
47
|
-
`--env`,
|
|
48
|
-
`FORGE_EMAIL=${email}`,
|
|
49
|
-
`--env`,
|
|
50
|
-
`FORGE_API_TOKEN=${token}`,
|
|
51
|
-
`--env`,
|
|
52
|
-
`ENVIRONMENT_KEY=default`,
|
|
53
|
-
`--env`,
|
|
54
|
-
`TUNNEL_INSPECTOR_ENABLED=${!!tunnelOptions.debug}`,
|
|
55
|
-
`--env`,
|
|
56
|
-
`FORGE_GRAPHQL_GATEWAY=${graphqlGateway}`,
|
|
57
|
-
`--env`,
|
|
58
|
-
`VERBOSE_MODE=${debugEnabled}`,
|
|
59
|
-
`--env`,
|
|
60
|
-
`CLI_DETAILS=${JSON.stringify(cliDetails)}`,
|
|
61
|
-
`${exports.IMAGE_NAME}`
|
|
62
|
-
];
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
throw new HiddenDockerTunnelError("Couldn't populate docker options for tunneling");
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
getPortOptions(port, resourcePorts, cspReporterPort) {
|
|
69
|
-
const resourcePortOptions = cli_shared_1.flatMap(Object.values(resourcePorts), (resourcePort) => [
|
|
70
|
-
'-p',
|
|
71
|
-
`${resourcePort}:${resourcePort}`
|
|
72
|
-
]);
|
|
73
|
-
const cspReporterPortOption = cspReporterPort
|
|
74
|
-
? ['-p', `${cspReporterPort}:${cspReporterPort}`, '--env', `CSP_REPORTER_PORT=${cspReporterPort}`]
|
|
75
|
-
: [];
|
|
76
|
-
const addHostOption = os_1.default.platform() === 'linux' ? ['--add-host', 'host.docker.internal:host-gateway'] : [];
|
|
77
|
-
return [
|
|
78
|
-
`-p`,
|
|
79
|
-
`${port}:${port}`,
|
|
80
|
-
...resourcePortOptions,
|
|
81
|
-
...addHostOption,
|
|
82
|
-
...cspReporterPortOption,
|
|
83
|
-
`--env`,
|
|
84
|
-
`TUNNEL_INSPECTOR_PORT=${port}`
|
|
85
|
-
];
|
|
86
|
-
}
|
|
87
|
-
getResourcePortEnvVarOption(resourcePorts) {
|
|
88
|
-
return ['--env', `RESOURCE_PORT_MAP=${JSON.stringify(resourcePorts)}`];
|
|
89
|
-
}
|
|
90
|
-
getUserEnvironmentVariablesOptions() {
|
|
91
|
-
const options = [];
|
|
92
|
-
Object.keys(process.env)
|
|
93
|
-
.filter((variable) => variable.startsWith('FORGE_USER_VAR_'))
|
|
94
|
-
.forEach((name) => {
|
|
95
|
-
options.push('--env', `${name}=${process.env[name]}`);
|
|
96
|
-
});
|
|
97
|
-
return options;
|
|
98
|
-
}
|
|
99
|
-
addEnvVarsForLocalTunnel(env) {
|
|
100
|
-
return Object.assign(Object.assign({}, env), { PATH: process.env.PATH || '', FORCE_COLOR: '1' });
|
|
101
|
-
}
|
|
102
|
-
transformDockerOptionsToEnvVars(options) {
|
|
103
|
-
const envVarRegex = new RegExp('^(\\w+)=(.+)$', 'g');
|
|
104
|
-
const envVars = options.filter((opt) => envVarRegex.test(opt));
|
|
105
|
-
const envVarObj = {};
|
|
106
|
-
envVars.forEach((envVar) => {
|
|
107
|
-
envVarRegex.lastIndex = 0;
|
|
108
|
-
const [, key, val] = envVarRegex.exec(envVar);
|
|
109
|
-
envVarObj[key] = val;
|
|
110
|
-
});
|
|
111
|
-
return envVarObj;
|
|
112
|
-
}
|
|
113
|
-
getInteractiveOptions() {
|
|
114
|
-
if (DISABLE_TTY) {
|
|
115
|
-
return [`-i`];
|
|
116
|
-
}
|
|
117
|
-
return [`-it`];
|
|
118
|
-
}
|
|
119
|
-
getVolumeOptions() {
|
|
120
|
-
const options = [`-v=${CUR_WORK_APP_DIR || process.cwd()}:/app:cached`];
|
|
121
|
-
if (process.env.FORGE_DEV_DOCKER_TUNNEL) {
|
|
122
|
-
options.push(`-v=${path_1.join(__dirname, '../../../forge-tunnel/hardcopied_node_modules/node_modules')}:/tunnel/node_modules:cached`, `-v=${path_1.join(__dirname, '../../../forge-tunnel/out')}:/tunnel/out:cached`);
|
|
123
|
-
}
|
|
124
|
-
return options;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
exports.TunnelService = TunnelService;
|
|
128
|
-
class LocalTunnelService extends TunnelService {
|
|
129
|
-
async run(tunnelOptions, creds, debugEnabled, onError) {
|
|
130
|
-
const dockerOptions = await this.getDockerOptions(tunnelOptions, debugEnabled, creds);
|
|
131
|
-
const port = await portfinder_1.getPortPromise();
|
|
132
|
-
const resourcePorts = await this.configFilePortFindingService.findPorts();
|
|
133
|
-
const cspReporterPort = await this.configFilePortFindingService.findPortAfter(Object.values(resourcePorts));
|
|
134
|
-
const portOptions = this.getPortOptions(port, resourcePorts, cspReporterPort);
|
|
135
|
-
const envVariablesOptions = this.getUserEnvironmentVariablesOptions();
|
|
136
|
-
const resourcePortEnvVarOption = this.getResourcePortEnvVarOption(resourcePorts);
|
|
137
|
-
const env = this.addEnvVarsForLocalTunnel(this.transformDockerOptionsToEnvVars([
|
|
138
|
-
...dockerOptions,
|
|
139
|
-
...portOptions,
|
|
140
|
-
...envVariablesOptions,
|
|
141
|
-
...resourcePortEnvVarOption
|
|
142
|
-
]));
|
|
143
|
-
cross_spawn_1.spawn('forge-tunnel', [], {
|
|
144
|
-
stdio: 'inherit',
|
|
145
|
-
env: Object.assign(Object.assign({}, env), { FORGE_DEV_TUNNEL: 'true' })
|
|
146
|
-
}).on('error', onError);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
exports.LocalTunnelService = LocalTunnelService;
|
|
150
|
-
class DockerTunnelService extends TunnelService {
|
|
151
|
-
constructor(configFilePortFindingService, dockerService) {
|
|
152
|
-
super(configFilePortFindingService);
|
|
153
|
-
this.dockerService = dockerService;
|
|
154
|
-
}
|
|
155
|
-
async run(tunnelOptions, creds, debugEnabled) {
|
|
156
|
-
await this.validateDockerVersion(creds, debugEnabled);
|
|
157
|
-
const dockerOptions = await this.getDockerOptions(tunnelOptions, debugEnabled, creds);
|
|
158
|
-
const port = await portfinder_1.getPortPromise();
|
|
159
|
-
const resourcePorts = await this.configFilePortFindingService.findPorts(port);
|
|
160
|
-
const cspReporterPort = await this.configFilePortFindingService.findPortAfter(Object.values(resourcePorts));
|
|
161
|
-
const portOptions = this.getPortOptions(port, resourcePorts, cspReporterPort);
|
|
162
|
-
const interactiveOptions = this.getInteractiveOptions();
|
|
163
|
-
const volumeOptions = this.getVolumeOptions();
|
|
164
|
-
const envVariablesOptions = this.getUserEnvironmentVariablesOptions();
|
|
165
|
-
const resourcePortEnvVarOption = this.getResourcePortEnvVarOption(resourcePorts);
|
|
166
|
-
const docker = this.dockerService.runContainer([
|
|
167
|
-
...interactiveOptions,
|
|
168
|
-
...volumeOptions,
|
|
169
|
-
...portOptions,
|
|
170
|
-
...envVariablesOptions,
|
|
171
|
-
...resourcePortEnvVarOption,
|
|
172
|
-
...dockerOptions
|
|
173
|
-
]);
|
|
174
|
-
this.dockerService.startCleanupWorker([docker.pid], exports.CONTAINER_NAME);
|
|
175
|
-
}
|
|
176
|
-
async bootstrapDocker() {
|
|
177
|
-
await this.dockerService.removeContainer(exports.CONTAINER_NAME);
|
|
178
|
-
return this.dockerService.downloadImage(exports.IMAGE_NAME);
|
|
179
|
-
}
|
|
180
|
-
async validateDockerVersion(creds, debugEnabled) {
|
|
181
|
-
const { major, minor } = await this.dockerService.getDockerVersion(debugEnabled);
|
|
182
|
-
if (major < 17 || (major === 17 && minor < 3)) {
|
|
183
|
-
throw new HiddenDockerTunnelError();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
exports.DockerTunnelService = DockerTunnelService;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { AppConfigProvider } from '@forge/cli-shared';
|
|
2
|
-
import { AppEnvironmentClient } from '@forge/cli-shared';
|
|
3
|
-
import { Installation } from '../service/installation-service';
|
|
4
|
-
import { WebTriggerGraphQLClient } from './graphql-client';
|
|
5
|
-
export interface Context {
|
|
6
|
-
contextId: string;
|
|
7
|
-
environmentARI: string;
|
|
8
|
-
extensionKey: string;
|
|
9
|
-
}
|
|
10
|
-
export interface WebTriggerUrlDetails {
|
|
11
|
-
appId: string;
|
|
12
|
-
contextId: string;
|
|
13
|
-
environmentId: string;
|
|
14
|
-
triggerKey: string;
|
|
15
|
-
}
|
|
16
|
-
export interface WebTriggerClient {
|
|
17
|
-
getInstallation(appId: string, installationId: string): Promise<Installation>;
|
|
18
|
-
}
|
|
19
|
-
export declare class GetWebTriggerURLCommand {
|
|
20
|
-
private readonly getAppConfig;
|
|
21
|
-
private readonly webTriggerClient;
|
|
22
|
-
private readonly appEnvironmentClient;
|
|
23
|
-
private readonly webTriggerGraphqlClient;
|
|
24
|
-
constructor(getAppConfig: AppConfigProvider, webTriggerClient: WebTriggerClient, appEnvironmentClient: AppEnvironmentClient, webTriggerGraphqlClient: WebTriggerGraphQLClient);
|
|
25
|
-
execute(installationId: string, functionKey: string): Promise<string>;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=get-webtrigger-url.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-webtrigger-url.d.ts","sourceRoot":"","sources":["../../src/webtrigger/get-webtrigger-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/E;AACD,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAHvB,YAAY,EAAE,iBAAiB,EAC/B,gBAAgB,EAAE,gBAAgB,EAClC,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB;IAGtD,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAcnF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetWebTriggerURLCommand = void 0;
|
|
4
|
-
class GetWebTriggerURLCommand {
|
|
5
|
-
constructor(getAppConfig, webTriggerClient, appEnvironmentClient, webTriggerGraphqlClient) {
|
|
6
|
-
this.getAppConfig = getAppConfig;
|
|
7
|
-
this.webTriggerClient = webTriggerClient;
|
|
8
|
-
this.appEnvironmentClient = appEnvironmentClient;
|
|
9
|
-
this.webTriggerGraphqlClient = webTriggerGraphqlClient;
|
|
10
|
-
}
|
|
11
|
-
async execute(installationId, functionKey) {
|
|
12
|
-
const { id: appId } = await this.getAppConfig();
|
|
13
|
-
const { environmentKey, context } = await this.webTriggerClient.getInstallation(appId, installationId);
|
|
14
|
-
const environmentId = await this.appEnvironmentClient.getAppEnvironmentId(appId, environmentKey);
|
|
15
|
-
return await this.webTriggerGraphqlClient.createWebTriggerUrl({
|
|
16
|
-
appId: '',
|
|
17
|
-
contextId: context,
|
|
18
|
-
environmentId: environmentId,
|
|
19
|
-
triggerKey: functionKey
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.GetWebTriggerURLCommand = GetWebTriggerURLCommand;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { GraphQLClient, GraphQlMutationError } from '@forge/cli-shared';
|
|
2
|
-
import { WebTriggerUrlDetails } from './get-webtrigger-url';
|
|
3
|
-
export declare class WebTriggerCreationError extends GraphQlMutationError {
|
|
4
|
-
constructor(message: string, code: string | undefined);
|
|
5
|
-
}
|
|
6
|
-
export declare class MissingWebTriggerUrlError extends GraphQlMutationError {
|
|
7
|
-
constructor(requestId: string | undefined);
|
|
8
|
-
}
|
|
9
|
-
export declare class WebTriggerGraphQLClient {
|
|
10
|
-
private readonly graphQLClient;
|
|
11
|
-
constructor(graphQLClient: GraphQLClient);
|
|
12
|
-
createWebTriggerUrl({ appId, contextId, environmentId, triggerKey }: WebTriggerUrlDetails): Promise<string>;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=graphql-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-client.d.ts","sourceRoot":"","sources":["../../src/webtrigger/graphql-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAyC,MAAM,mBAAmB,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,qBAAa,uBAAwB,SAAQ,oBAAoB;gBACnD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS;CAGtD;AAED,qBAAa,yBAA0B,SAAQ,oBAAoB;gBACrD,SAAS,EAAE,MAAM,GAAG,SAAS;CAO1C;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAE5C,mBAAmB,CAAC,EAC/B,KAAK,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACX,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;CAoC1C"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebTriggerGraphQLClient = exports.MissingWebTriggerUrlError = exports.WebTriggerCreationError = void 0;
|
|
4
|
-
const cli_shared_1 = require("@forge/cli-shared");
|
|
5
|
-
class WebTriggerCreationError extends cli_shared_1.GraphQlMutationError {
|
|
6
|
-
constructor(message, code) {
|
|
7
|
-
super(cli_shared_1.Text.webtrigger.error.creationError(message), code);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
exports.WebTriggerCreationError = WebTriggerCreationError;
|
|
11
|
-
class MissingWebTriggerUrlError extends cli_shared_1.GraphQlMutationError {
|
|
12
|
-
constructor(requestId) {
|
|
13
|
-
super(cli_shared_1.Text.webtrigger.error.creationError(`Web Trigger URL not found after successful creation, requestId: ${requestId !== null && requestId !== void 0 ? requestId : 'N/A'}`));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.MissingWebTriggerUrlError = MissingWebTriggerUrlError;
|
|
17
|
-
class WebTriggerGraphQLClient {
|
|
18
|
-
constructor(graphQLClient) {
|
|
19
|
-
this.graphQLClient = graphQLClient;
|
|
20
|
-
}
|
|
21
|
-
async createWebTriggerUrl({ appId, contextId, environmentId, triggerKey }) {
|
|
22
|
-
const query = `
|
|
23
|
-
mutation forge_cli_createWebTriggerUrl($input: WebTriggerUrlInput!) {
|
|
24
|
-
createWebTriggerUrl(input: $input) {
|
|
25
|
-
statusCode
|
|
26
|
-
success
|
|
27
|
-
message
|
|
28
|
-
url
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
`;
|
|
32
|
-
const variables = {
|
|
33
|
-
input: {
|
|
34
|
-
appId,
|
|
35
|
-
contextId,
|
|
36
|
-
envId: environmentId,
|
|
37
|
-
triggerKey
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const { response: { createWebTriggerUrl: { success, statusCode, message, url } }, requestId } = await this.graphQLClient.mutate(query, variables);
|
|
41
|
-
if (!success) {
|
|
42
|
-
throw new WebTriggerCreationError(message, statusCode.toString());
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
if (url) {
|
|
46
|
-
return url;
|
|
47
|
-
}
|
|
48
|
-
throw new MissingWebTriggerUrlError(requestId);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.WebTriggerGraphQLClient = WebTriggerGraphQLClient;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { AnalyticsMessage, MessageHandler } from '../analytics-client/analytics-message-handler';
|
|
2
|
-
import { CachedConfigService } from '../service/cached-config-service';
|
|
3
|
-
import { Storage } from '../storage/local-file-storage';
|
|
4
|
-
import { Worker } from './worker';
|
|
5
|
-
export declare class AnalyticsMessageWorker implements Worker {
|
|
6
|
-
private readonly storage;
|
|
7
|
-
private readonly messageHandler;
|
|
8
|
-
private readonly cachedConfigService;
|
|
9
|
-
constructor(storage: Storage, messageHandler: MessageHandler<AnalyticsMessage | undefined>, cachedConfigService: CachedConfigService);
|
|
10
|
-
doWork(): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=analytics-message-worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-message-worker.d.ts","sourceRoot":"","sources":["../../src/workers/analytics-message-worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAKlC,qBAAa,sBAAuB,YAAW,MAAM;IAEjD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAC,EAC5D,mBAAmB,EAAE,mBAAmB;IAGrD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB9B"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AnalyticsMessageWorker = void 0;
|
|
4
|
-
class AnalyticsMessageWorker {
|
|
5
|
-
constructor(storage, messageHandler, cachedConfigService) {
|
|
6
|
-
this.storage = storage;
|
|
7
|
-
this.messageHandler = messageHandler;
|
|
8
|
-
this.cachedConfigService = cachedConfigService;
|
|
9
|
-
}
|
|
10
|
-
async doWork() {
|
|
11
|
-
const analyticsSetting = this.cachedConfigService.getAnalyticsPreferences();
|
|
12
|
-
if (analyticsSetting === undefined) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
try {
|
|
16
|
-
const events = this.storage.getAnalytics();
|
|
17
|
-
await Promise.all(events.map(async (event) => {
|
|
18
|
-
const payload = await this.storage.getAnalyticsEvent(event);
|
|
19
|
-
if (analyticsSetting) {
|
|
20
|
-
await this.messageHandler.handleMessage(payload);
|
|
21
|
-
}
|
|
22
|
-
await this.storage.deleteAnalyticsEvent(event);
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
catch (e) {
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.AnalyticsMessageWorker = AnalyticsMessageWorker;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forge-cli-workers.d.ts","sourceRoot":"","sources":["../../src/workers/forge-cli-workers.ts"],"names":[],"mappings":""}
|