@forge/cli 7.0.1-next.8 → 7.0.2-next.5
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 +94 -0
- package/npm-shrinkwrap.json +48 -48
- package/out/service/docker-service.d.ts +1 -6
- package/out/service/docker-service.d.ts.map +1 -1
- package/out/service/docker-service.js +1 -8
- package/out/service/tunnel-service.d.ts +2 -7
- package/out/service/tunnel-service.d.ts.map +1 -1
- package/out/service/tunnel-service.js +22 -45
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,99 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
+
## 7.0.2-next.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @forge/bundler@4.15.2-next.5
|
|
8
|
+
- @forge/node-runtime@0.6.0-next.3
|
|
9
|
+
- @forge/tunnel@4.0.2-next.5
|
|
10
|
+
|
|
11
|
+
## 7.0.2-next.4
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [71e77e6]
|
|
16
|
+
- @forge/node-runtime@0.6.0-next.2
|
|
17
|
+
- @forge/bundler@4.15.2-next.4
|
|
18
|
+
- @forge/tunnel@4.0.2-next.4
|
|
19
|
+
|
|
20
|
+
## 7.0.2-next.3
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 1548c5b: Don't silently fail when ngrok config path isn't set
|
|
25
|
+
- Updated dependencies [1548c5b]
|
|
26
|
+
- @forge/cli-shared@3.23.2-next.1
|
|
27
|
+
- @forge/bundler@4.15.2-next.3
|
|
28
|
+
- @forge/lint@4.0.4-next.1
|
|
29
|
+
- @forge/tunnel@4.0.2-next.3
|
|
30
|
+
|
|
31
|
+
## 7.0.2-next.2
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- Updated dependencies [0166203]
|
|
36
|
+
- @forge/manifest@5.5.2-next.0
|
|
37
|
+
- @forge/cli-shared@3.23.2-next.0
|
|
38
|
+
- @forge/lint@4.0.4-next.0
|
|
39
|
+
- @forge/tunnel@4.0.2-next.2
|
|
40
|
+
- @forge/bundler@4.15.2-next.2
|
|
41
|
+
|
|
42
|
+
## 7.0.2-next.1
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [96811d5]
|
|
47
|
+
- @forge/node-runtime@0.6.0-next.1
|
|
48
|
+
- @forge/bundler@4.15.2-next.1
|
|
49
|
+
- @forge/tunnel@4.0.2-next.1
|
|
50
|
+
|
|
51
|
+
## 7.0.2-next.0
|
|
52
|
+
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- Updated dependencies [9e3b836]
|
|
56
|
+
- @forge/node-runtime@0.6.0-next.0
|
|
57
|
+
- @forge/bundler@4.15.2-next.0
|
|
58
|
+
- @forge/tunnel@4.0.2-next.0
|
|
59
|
+
|
|
60
|
+
## 7.0.1
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- d7c1db6: Bumping dependencies via Renovate:
|
|
65
|
+
|
|
66
|
+
- @sentry/node
|
|
67
|
+
|
|
68
|
+
- 751ebde: Downgrade Sentry to work around a bug
|
|
69
|
+
- 84bb0de: Bumping dependencies via Renovate:
|
|
70
|
+
|
|
71
|
+
- @sentry/node
|
|
72
|
+
|
|
73
|
+
- 217762c: Use absolute paths for ngrok config
|
|
74
|
+
- 9874dda: Bumping dependencies via Renovate:
|
|
75
|
+
|
|
76
|
+
- type-fest
|
|
77
|
+
|
|
78
|
+
- Updated dependencies [d7c1db6]
|
|
79
|
+
- Updated dependencies [751ebde]
|
|
80
|
+
- Updated dependencies [ea9488e]
|
|
81
|
+
- Updated dependencies [9ff66b3]
|
|
82
|
+
- Updated dependencies [84bb0de]
|
|
83
|
+
- Updated dependencies [b941c2c]
|
|
84
|
+
- Updated dependencies [1c1b971]
|
|
85
|
+
- Updated dependencies [e1e964d]
|
|
86
|
+
- Updated dependencies [c1d7f59]
|
|
87
|
+
- Updated dependencies [ea1e909]
|
|
88
|
+
- Updated dependencies [217762c]
|
|
89
|
+
- @forge/cli-shared@3.23.1
|
|
90
|
+
- @forge/runtime@5.3.1
|
|
91
|
+
- @forge/bundler@4.15.1
|
|
92
|
+
- @forge/lint@4.0.3
|
|
93
|
+
- @forge/manifest@5.5.1
|
|
94
|
+
- @forge/tunnel@4.0.1
|
|
95
|
+
- @forge/node-runtime@0.5.1
|
|
96
|
+
|
|
3
97
|
## 7.0.1-next.8
|
|
4
98
|
|
|
5
99
|
### Patch Changes
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2-next.5",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "7.0.
|
|
9
|
+
"version": "7.0.2-next.5",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "4.15.
|
|
14
|
-
"@forge/cli-shared": "3.23.
|
|
13
|
+
"@forge/bundler": "4.15.2-next.5",
|
|
14
|
+
"@forge/cli-shared": "3.23.2-next.1",
|
|
15
15
|
"@forge/egress": "1.2.12",
|
|
16
|
-
"@forge/lint": "4.0.
|
|
17
|
-
"@forge/manifest": "5.5.
|
|
18
|
-
"@forge/node-runtime": "0.
|
|
19
|
-
"@forge/runtime": "5.3.1
|
|
20
|
-
"@forge/tunnel": "4.0.
|
|
16
|
+
"@forge/lint": "4.0.4-next.1",
|
|
17
|
+
"@forge/manifest": "5.5.2-next.0",
|
|
18
|
+
"@forge/node-runtime": "0.6.0-next.3",
|
|
19
|
+
"@forge/runtime": "5.3.1",
|
|
20
|
+
"@forge/tunnel": "4.0.2-next.5",
|
|
21
21
|
"@forge/util": "1.4.0",
|
|
22
22
|
"@sentry/node": "7.61.0",
|
|
23
23
|
"ajv": "^8.12.0",
|
|
@@ -878,9 +878,9 @@
|
|
|
878
878
|
"integrity": "sha512-2q7PW5sFJx1P+glhR9jNVQcWM/sHaQTLhNzU2F581lwKL3Ps7ntqj1lqZGvaS4aMnwYeFmxfh0FlVx789kxAJw=="
|
|
879
879
|
},
|
|
880
880
|
"node_modules/@forge/bundler": {
|
|
881
|
-
"version": "4.15.
|
|
882
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.15.
|
|
883
|
-
"integrity": "sha512-
|
|
881
|
+
"version": "4.15.2-next.5",
|
|
882
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.15.2-next.5.tgz",
|
|
883
|
+
"integrity": "sha512-JUihFTSL7iL+XSztbjZhrhU8K35LDXC2tlcbDYZGFwZdWkBEi4RJnyBUcl0LPrxz0AXEPpEJgUB8ZUHB+bmZKA==",
|
|
884
884
|
"dependencies": {
|
|
885
885
|
"@babel/core": "^7.23.7",
|
|
886
886
|
"@babel/plugin-transform-class-properties": "^7.23.3",
|
|
@@ -889,11 +889,11 @@
|
|
|
889
889
|
"@babel/plugin-transform-optional-chaining": "^7.23.4",
|
|
890
890
|
"@babel/plugin-transform-react-jsx": "^7.23.4",
|
|
891
891
|
"@babel/preset-typescript": "^7.23.3",
|
|
892
|
-
"@forge/api": "3.0.0",
|
|
892
|
+
"@forge/api": "3.1.0-next.0",
|
|
893
893
|
"@forge/babel-plugin-transform-ui": "1.1.15",
|
|
894
|
-
"@forge/cli-shared": "3.23.
|
|
895
|
-
"@forge/lint": "4.0.
|
|
896
|
-
"@forge/node-runtime": "0.
|
|
894
|
+
"@forge/cli-shared": "3.23.2-next.1",
|
|
895
|
+
"@forge/lint": "4.0.4-next.1",
|
|
896
|
+
"@forge/node-runtime": "0.6.0-next.3",
|
|
897
897
|
"@forge/util": "1.4.0",
|
|
898
898
|
"assert": "^2.1.0",
|
|
899
899
|
"babel-loader": "^8.3.0",
|
|
@@ -932,9 +932,9 @@
|
|
|
932
932
|
}
|
|
933
933
|
},
|
|
934
934
|
"node_modules/@forge/bundler/node_modules/@forge/api": {
|
|
935
|
-
"version": "3.0.0",
|
|
936
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.0.0.tgz",
|
|
937
|
-
"integrity": "sha512-
|
|
935
|
+
"version": "3.1.0-next.0",
|
|
936
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.1.0-next.0.tgz",
|
|
937
|
+
"integrity": "sha512-xCFeTevxA1zVPwqn+QudAPpGvSnrnrIXKpb1HFuBlELECfH0yQj9pABaJZ+AmLsU3zg8oYYOtQ1njKOvPcjjSA==",
|
|
938
938
|
"dependencies": {
|
|
939
939
|
"@forge/auth": "0.0.5",
|
|
940
940
|
"@forge/egress": "1.2.12",
|
|
@@ -950,11 +950,11 @@
|
|
|
950
950
|
"integrity": "sha512-N84NM3fnFG8mdpxSLoKgfbSX0QFanck0Vuf6Y3eV31vK0K2hKNZz8K2WLTG7DL7W8yKrZmpZlqiZtbJ0+aBgag=="
|
|
951
951
|
},
|
|
952
952
|
"node_modules/@forge/cli-shared": {
|
|
953
|
-
"version": "3.23.
|
|
954
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.23.
|
|
955
|
-
"integrity": "sha512-
|
|
953
|
+
"version": "3.23.2-next.1",
|
|
954
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.23.2-next.1.tgz",
|
|
955
|
+
"integrity": "sha512-LaXaapSPh3Zxl7VB42PVMBoN9mE2p7B1NJ+E1JYMUBKSaHwhkfOPzJCYaWIWOIRPLQu5mbDM1EUWD/C+ddDirA==",
|
|
956
956
|
"dependencies": {
|
|
957
|
-
"@forge/manifest": "5.5.
|
|
957
|
+
"@forge/manifest": "5.5.2-next.0",
|
|
958
958
|
"@forge/util": "1.4.0",
|
|
959
959
|
"@sentry/node": "7.61.0",
|
|
960
960
|
"adm-zip": "^0.5.10",
|
|
@@ -1005,13 +1005,13 @@
|
|
|
1005
1005
|
}
|
|
1006
1006
|
},
|
|
1007
1007
|
"node_modules/@forge/lint": {
|
|
1008
|
-
"version": "4.0.
|
|
1009
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-4.0.
|
|
1010
|
-
"integrity": "sha512-
|
|
1008
|
+
"version": "4.0.4-next.1",
|
|
1009
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-4.0.4-next.1.tgz",
|
|
1010
|
+
"integrity": "sha512-jn2PbEH6tlaLBBPQ/kO6IeOYh6IbzOQxXC/IWxrWYXXgKJ/7UDwsQ1bCfjXSXUH6ziOw3jwNFhFKC3mLTBGetQ==",
|
|
1011
1011
|
"dependencies": {
|
|
1012
|
-
"@forge/cli-shared": "3.23.
|
|
1012
|
+
"@forge/cli-shared": "3.23.2-next.1",
|
|
1013
1013
|
"@forge/egress": "1.2.12",
|
|
1014
|
-
"@forge/manifest": "5.5.
|
|
1014
|
+
"@forge/manifest": "5.5.2-next.0",
|
|
1015
1015
|
"@typescript-eslint/typescript-estree": "^5.62.0",
|
|
1016
1016
|
"array.prototype.flatmap": "^1.3.2",
|
|
1017
1017
|
"atlassian-openapi": "^1.0.18",
|
|
@@ -1020,9 +1020,9 @@
|
|
|
1020
1020
|
}
|
|
1021
1021
|
},
|
|
1022
1022
|
"node_modules/@forge/manifest": {
|
|
1023
|
-
"version": "5.5.
|
|
1024
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-5.5.
|
|
1025
|
-
"integrity": "sha512-
|
|
1023
|
+
"version": "5.5.2-next.0",
|
|
1024
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-5.5.2-next.0.tgz",
|
|
1025
|
+
"integrity": "sha512-64izacsm0H1V5kaAHDorV/5WxDZZcNepp84BtwWbeC/fkIcAMc4rXLZqDdTlDKpG282CMAJ4ZKP2TC/LHPZyCQ==",
|
|
1026
1026
|
"dependencies": {
|
|
1027
1027
|
"@forge/util": "1.4.0",
|
|
1028
1028
|
"ajv": "^8.12.0",
|
|
@@ -1037,19 +1037,19 @@
|
|
|
1037
1037
|
}
|
|
1038
1038
|
},
|
|
1039
1039
|
"node_modules/@forge/node-runtime": {
|
|
1040
|
-
"version": "0.
|
|
1041
|
-
"resolved": "https://registry.npmjs.org/@forge/node-runtime/-/node-runtime-0.
|
|
1042
|
-
"integrity": "sha512-
|
|
1040
|
+
"version": "0.6.0-next.3",
|
|
1041
|
+
"resolved": "https://registry.npmjs.org/@forge/node-runtime/-/node-runtime-0.6.0-next.3.tgz",
|
|
1042
|
+
"integrity": "sha512-PGTq0KuHNREbifcRwxr46Y/GJAAiHeYfAFKXPTdC8Sj8z5gZT+eP/5RP/ivzniaXAkWkD6T4vrIYfS4N8pYLZw==",
|
|
1043
1043
|
"dependencies": {
|
|
1044
|
-
"@forge/api": "3.0.0",
|
|
1045
|
-
"@forge/runtime": "5.3.1
|
|
1044
|
+
"@forge/api": "3.1.0-next.0",
|
|
1045
|
+
"@forge/runtime": "5.3.1",
|
|
1046
1046
|
"uuid": "^9.0.1"
|
|
1047
1047
|
}
|
|
1048
1048
|
},
|
|
1049
1049
|
"node_modules/@forge/node-runtime/node_modules/@forge/api": {
|
|
1050
|
-
"version": "3.0.0",
|
|
1051
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.0.0.tgz",
|
|
1052
|
-
"integrity": "sha512-
|
|
1050
|
+
"version": "3.1.0-next.0",
|
|
1051
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.1.0-next.0.tgz",
|
|
1052
|
+
"integrity": "sha512-xCFeTevxA1zVPwqn+QudAPpGvSnrnrIXKpb1HFuBlELECfH0yQj9pABaJZ+AmLsU3zg8oYYOtQ1njKOvPcjjSA==",
|
|
1053
1053
|
"dependencies": {
|
|
1054
1054
|
"@forge/auth": "0.0.5",
|
|
1055
1055
|
"@forge/egress": "1.2.12",
|
|
@@ -1065,9 +1065,9 @@
|
|
|
1065
1065
|
"integrity": "sha512-N84NM3fnFG8mdpxSLoKgfbSX0QFanck0Vuf6Y3eV31vK0K2hKNZz8K2WLTG7DL7W8yKrZmpZlqiZtbJ0+aBgag=="
|
|
1066
1066
|
},
|
|
1067
1067
|
"node_modules/@forge/runtime": {
|
|
1068
|
-
"version": "5.3.1
|
|
1069
|
-
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.3.1
|
|
1070
|
-
"integrity": "sha512-
|
|
1068
|
+
"version": "5.3.1",
|
|
1069
|
+
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.3.1.tgz",
|
|
1070
|
+
"integrity": "sha512-zL0tyHUuhvUKjnnxBizndvekq1jySLYwQSxw8/8FXJnYWwWgY2ntDnZlgdgCuHExbRjNPhRbS1XG3tzVDJku4Q==",
|
|
1071
1071
|
"dependencies": {
|
|
1072
1072
|
"@forge/util": "1.4.0",
|
|
1073
1073
|
"fp-ts": "^2.16.2",
|
|
@@ -1080,14 +1080,14 @@
|
|
|
1080
1080
|
}
|
|
1081
1081
|
},
|
|
1082
1082
|
"node_modules/@forge/tunnel": {
|
|
1083
|
-
"version": "4.0.
|
|
1084
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-4.0.
|
|
1085
|
-
"integrity": "sha512-
|
|
1083
|
+
"version": "4.0.2-next.5",
|
|
1084
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-4.0.2-next.5.tgz",
|
|
1085
|
+
"integrity": "sha512-r5JOOS9Y3NoDdxBFeRpe/m8RZlHEb+I9QrrL4jORPv78MnP6zTNXk/le8gDvLi4/r0hUaTlXnFYaqVlmHME5OQ==",
|
|
1086
1086
|
"dependencies": {
|
|
1087
|
-
"@forge/bundler": "4.15.
|
|
1088
|
-
"@forge/cli-shared": "3.23.
|
|
1087
|
+
"@forge/bundler": "4.15.2-next.5",
|
|
1088
|
+
"@forge/cli-shared": "3.23.2-next.1",
|
|
1089
1089
|
"@forge/csp": "3.1.4",
|
|
1090
|
-
"@forge/runtime": "5.3.1
|
|
1090
|
+
"@forge/runtime": "5.3.1",
|
|
1091
1091
|
"express": "^4.18.2",
|
|
1092
1092
|
"express-intercept": "^1.1.0",
|
|
1093
1093
|
"http-proxy-middleware": "^2.0.6",
|
|
@@ -4,11 +4,6 @@ export declare class DockerError extends UserError {
|
|
|
4
4
|
readonly code: DockerErrorCode;
|
|
5
5
|
constructor(message: string, code: DockerErrorCode);
|
|
6
6
|
}
|
|
7
|
-
export interface DockerVersion {
|
|
8
|
-
full: string;
|
|
9
|
-
major: number;
|
|
10
|
-
minor: number;
|
|
11
|
-
}
|
|
12
7
|
export declare const DOCKER_DOWNLOAD_LINK = "https://docs.docker.com/get-docker/";
|
|
13
8
|
export declare enum DockerErrorCode {
|
|
14
9
|
DAEMON_NOT_RUNNING = 0,
|
|
@@ -16,7 +11,7 @@ export declare enum DockerErrorCode {
|
|
|
16
11
|
}
|
|
17
12
|
export declare class DockerService {
|
|
18
13
|
runContainer(args: string[]): ReturnType<typeof spawn>;
|
|
19
|
-
getDockerVersion(debugEnabled: boolean): Promise<
|
|
14
|
+
getDockerVersion(debugEnabled: boolean): Promise<string>;
|
|
20
15
|
removeContainer(containerName: string): Promise<void>;
|
|
21
16
|
downloadImage(imageName: string): ReturnType<typeof spawn>;
|
|
22
17
|
startCleanupWorker(pids: number[], containerName: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-service.d.ts","sourceRoot":"","sources":["../../src/service/docker-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAWpC,qBAAa,WAAY,SAAQ,SAAS;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAIxC;AAED,
|
|
1
|
+
{"version":3,"file":"docker-service.d.ts","sourceRoot":"","sources":["../../src/service/docker-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAWpC,qBAAa,WAAY,SAAQ,SAAS;aAGtB,IAAI,EAAE,eAAe;gBADrC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,eAAe;CAIxC;AAED,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAE1E,oBAAY,eAAe;IACzB,kBAAkB,IAAA;IAClB,aAAa,IAAA;CACd;AAED,qBAAa,aAAa;IACjB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC;IAIhD,gBAAgB,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBxD,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC;IAI1D,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IActE,OAAO,CAAC,WAAW;CAWpB"}
|
|
@@ -33,14 +33,7 @@ class DockerService {
|
|
|
33
33
|
throw new DockerError(cli_shared_1.Text.tunnel.error.dockerDaemonNotRunning(err.message, debugEnabled), DockerErrorCode.DAEMON_NOT_RUNNING);
|
|
34
34
|
}
|
|
35
35
|
const dockerVersion = stdout.trim();
|
|
36
|
-
|
|
37
|
-
const dockerMajorVersion = parseInt(dockerVersionArr[0], 10);
|
|
38
|
-
const dockerMinorVersion = parseInt(dockerVersionArr[1], 10);
|
|
39
|
-
return {
|
|
40
|
-
full: dockerVersion,
|
|
41
|
-
major: dockerMajorVersion,
|
|
42
|
-
minor: dockerMinorVersion
|
|
43
|
-
};
|
|
36
|
+
return dockerVersion;
|
|
44
37
|
}
|
|
45
38
|
async removeContainer(containerName) {
|
|
46
39
|
await this.execPromise(`docker rm -f ${containerName}`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawn } from 'cross-spawn';
|
|
2
|
-
import {
|
|
2
|
+
import { PersonalApiCredentials, PersonalApiCredentialsValidated, UI, UserError } from '@forge/cli-shared';
|
|
3
3
|
import { StartTunnelCommand, TunnelInteractor } from '@forge/tunnel';
|
|
4
4
|
import { CachedConfigService } from './cached-config-service';
|
|
5
5
|
import { DockerService } from './docker-service';
|
|
@@ -11,11 +11,6 @@ export interface TunnelOptions {
|
|
|
11
11
|
}
|
|
12
12
|
export declare const CONTAINER_NAME: string;
|
|
13
13
|
export declare const IMAGE_NAME: string;
|
|
14
|
-
export declare class HiddenDockerTunnelError extends HiddenError {
|
|
15
|
-
private readonly userError;
|
|
16
|
-
constructor(userError: boolean, message?: string);
|
|
17
|
-
isUserError(): boolean;
|
|
18
|
-
}
|
|
19
14
|
export declare type TunnelService = {
|
|
20
15
|
run(tunnelOptions: TunnelOptions, creds: PersonalApiCredentialsValidated, debugEnabled: boolean, onError?: (err: Error) => Promise<void>): Promise<void>;
|
|
21
16
|
};
|
|
@@ -68,7 +63,7 @@ export declare class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
68
63
|
private getInteractiveOptions;
|
|
69
64
|
private getVolumeOptions;
|
|
70
65
|
protected getNgrokConfigEnvironment(): EnvironmentVariable[];
|
|
71
|
-
private
|
|
66
|
+
private getCommonOptions;
|
|
72
67
|
}
|
|
73
68
|
export {};
|
|
74
69
|
//# sourceMappingURL=tunnel-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAMpC,OAAO,
|
|
1
|
+
{"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DockerTunnelService = exports.LocalTunnelService = exports.InProcessTunnelService = exports.DebugNotSupportedError = exports.
|
|
3
|
+
exports.DockerTunnelService = exports.LocalTunnelService = exports.InProcessTunnelService = exports.DebugNotSupportedError = exports.IMAGE_NAME = exports.CONTAINER_NAME = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const cross_spawn_1 = require("cross-spawn");
|
|
6
6
|
const os_1 = tslib_1.__importDefault(require("os"));
|
|
@@ -28,16 +28,6 @@ else {
|
|
|
28
28
|
exports.IMAGE_NAME = process.env.FORGE_DEV_DOCKER_TUNNEL
|
|
29
29
|
? 'local/forge-tunnel:test'
|
|
30
30
|
: `atlassian/forge-tunnel:${versionTags[0]}`;
|
|
31
|
-
class HiddenDockerTunnelError extends cli_shared_1.HiddenError {
|
|
32
|
-
constructor(userError, message) {
|
|
33
|
-
super(message);
|
|
34
|
-
this.userError = userError;
|
|
35
|
-
}
|
|
36
|
-
isUserError() {
|
|
37
|
-
return this.userError;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.HiddenDockerTunnelError = HiddenDockerTunnelError;
|
|
41
31
|
class DebugNotSupportedError extends cli_shared_1.UserError {
|
|
42
32
|
constructor() {
|
|
43
33
|
super(cli_shared_1.Text.tunnel.inspectorUnsupported);
|
|
@@ -100,27 +90,22 @@ class SandboxTunnelServiceBase extends TunnelServiceBase {
|
|
|
100
90
|
}
|
|
101
91
|
async getTunnelProcessEnvironment(tunnelOptions, debugEnabled, { email, token }, port, cspReporterPort, resourcePorts) {
|
|
102
92
|
var _a;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
];
|
|
120
|
-
}
|
|
121
|
-
catch (e) {
|
|
122
|
-
throw new HiddenDockerTunnelError(false, "Couldn't populate docker options for tunneling");
|
|
123
|
-
}
|
|
93
|
+
const graphqlGateway = (0, cli_shared_1.getGraphqlGateway)();
|
|
94
|
+
return [
|
|
95
|
+
{ key: 'APP_FOLDER', value: '/app' },
|
|
96
|
+
{ key: 'FORGE_EMAIL', value: email },
|
|
97
|
+
{ key: 'FORGE_API_TOKEN', value: token },
|
|
98
|
+
{ key: 'ENVIRONMENT_KEY', value: (_a = tunnelOptions.environment) !== null && _a !== void 0 ? _a : 'default' },
|
|
99
|
+
{ key: 'TUNNEL_INSPECTOR_ENABLED', value: (!!tunnelOptions.debug).toString() },
|
|
100
|
+
{ key: 'FORGE_GRAPHQL_GATEWAY', value: graphqlGateway },
|
|
101
|
+
{ key: 'VERBOSE_MODE', value: `${debugEnabled}` },
|
|
102
|
+
{ key: 'CLI_DETAILS', value: JSON.stringify(cliDetails) },
|
|
103
|
+
...this.getInspectorPortEnvironment(port),
|
|
104
|
+
...this.getCspReporterPortEnvironment(cspReporterPort),
|
|
105
|
+
...this.getResourcePortEnvironment(resourcePorts),
|
|
106
|
+
...this.getUserEnvironmentVariables(),
|
|
107
|
+
...this.getNgrokConfigEnvironment()
|
|
108
|
+
];
|
|
124
109
|
}
|
|
125
110
|
getInspectorPortEnvironment(port) {
|
|
126
111
|
return [{ key: 'TUNNEL_INSPECTOR_PORT', value: port.toString() }];
|
|
@@ -182,7 +167,7 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
182
167
|
await this.validateDockerVersion(creds, debugEnabled);
|
|
183
168
|
const startPort = 8000 + Math.round(Math.random() * 100);
|
|
184
169
|
const port = await (0, portfinder_1.getPortPromise)({ port: startPort });
|
|
185
|
-
const dockerOptions = await this.
|
|
170
|
+
const dockerOptions = await this.getCommonOptions();
|
|
186
171
|
const resourcePorts = await this.configFilePortFindingService.findPorts(port);
|
|
187
172
|
const cspReporterPort = await this.configFilePortFindingService.findPortAfter(Object.values(resourcePorts));
|
|
188
173
|
const environment = await this.getTunnelProcessEnvironment(tunnelOptions, debugEnabled, creds, port, cspReporterPort, resourcePorts);
|
|
@@ -223,11 +208,8 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
223
208
|
return this.dockerService.downloadImage(exports.IMAGE_NAME);
|
|
224
209
|
}
|
|
225
210
|
async validateDockerVersion(creds, debugEnabled) {
|
|
226
|
-
const
|
|
227
|
-
this.analyticsService.reportDockerVersion(creds,
|
|
228
|
-
if (major < 17 || (major === 17 && minor < 3)) {
|
|
229
|
-
throw new HiddenDockerTunnelError(true);
|
|
230
|
-
}
|
|
211
|
+
const version = await this.dockerService.getDockerVersion(debugEnabled);
|
|
212
|
+
this.analyticsService.reportDockerVersion(creds, version);
|
|
231
213
|
}
|
|
232
214
|
getDockerPortOptions(port, resourcePorts, cspReporterPort) {
|
|
233
215
|
const resourcePortOptions = (0, cli_shared_1.flatMap)(Object.values(resourcePorts), (resourcePort) => [
|
|
@@ -269,13 +251,8 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
269
251
|
getNgrokConfigEnvironment() {
|
|
270
252
|
return [{ key: 'NGROK_CONFIG', value: PATH_DOCKER_NGROK_CONFIG }];
|
|
271
253
|
}
|
|
272
|
-
async
|
|
273
|
-
|
|
274
|
-
return ['--rm', `--name`, exports.CONTAINER_NAME, '--platform', 'linux/amd64'];
|
|
275
|
-
}
|
|
276
|
-
catch (e) {
|
|
277
|
-
throw new HiddenDockerTunnelError(false, "Couldn't populate docker options for tunneling");
|
|
278
|
-
}
|
|
254
|
+
async getCommonOptions() {
|
|
255
|
+
return ['--rm', `--name`, exports.CONTAINER_NAME, '--platform', 'linux/amd64'];
|
|
279
256
|
}
|
|
280
257
|
}
|
|
281
258
|
exports.DockerTunnelService = DockerTunnelService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2-next.5",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"postinstall": "node -e \"fs.existsSync('./out/bin/postinstall.js') && require('./out/bin/postinstall.js')\""
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@forge/bundler": "4.15.
|
|
22
|
-
"@forge/cli-shared": "3.23.
|
|
21
|
+
"@forge/bundler": "4.15.2-next.5",
|
|
22
|
+
"@forge/cli-shared": "3.23.2-next.1",
|
|
23
23
|
"@forge/egress": "1.2.12",
|
|
24
|
-
"@forge/lint": "4.0.
|
|
25
|
-
"@forge/manifest": "5.5.
|
|
26
|
-
"@forge/node-runtime": "0.
|
|
27
|
-
"@forge/runtime": "5.3.1
|
|
28
|
-
"@forge/tunnel": "4.0.
|
|
24
|
+
"@forge/lint": "4.0.4-next.1",
|
|
25
|
+
"@forge/manifest": "5.5.2-next.0",
|
|
26
|
+
"@forge/node-runtime": "0.6.0-next.3",
|
|
27
|
+
"@forge/runtime": "5.3.1",
|
|
28
|
+
"@forge/tunnel": "4.0.2-next.5",
|
|
29
29
|
"@forge/util": "1.4.0",
|
|
30
30
|
"@sentry/node": "7.61.0",
|
|
31
31
|
"ajv": "^8.12.0",
|