@forge/cli 10.0.0-next.11 → 10.0.1-next.10
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 +156 -0
- package/npm-shrinkwrap.json +48 -48
- package/out/analytics-client/analytics-client.d.ts +1 -0
- package/out/analytics-client/analytics-client.d.ts.map +1 -1
- package/out/analytics-client/analytics-client.js +10 -0
- package/out/command-line/command.d.ts +3 -2
- package/out/command-line/command.d.ts.map +1 -1
- package/out/command-line/command.js +12 -6
- package/out/command-line/controller/tunnel-controller.d.ts.map +1 -1
- package/out/command-line/controller/tunnel-controller.js +3 -1
- package/out/command-line/dependency-injection.d.ts.map +1 -1
- package/out/command-line/dependency-injection.js +2 -2
- package/out/command-line/sentry.d.ts.map +1 -1
- package/out/command-line/sentry.js +2 -3
- package/out/service/tunnel-analytics-service.d.ts +4 -3
- package/out/service/tunnel-analytics-service.d.ts.map +1 -1
- package/out/service/tunnel-analytics-service.js +5 -2
- package/out/service/tunnel-service.d.ts +1 -1
- package/out/service/tunnel-service.d.ts.map +1 -1
- package/out/service/tunnel-service.js +6 -4
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,161 @@
|
|
|
1
1
|
# @forge/cli
|
|
2
2
|
|
|
3
|
+
## 10.0.1-next.10
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [4913321]
|
|
8
|
+
- @forge/manifest@7.4.0-next.3
|
|
9
|
+
- @forge/cli-shared@5.0.1-next.3
|
|
10
|
+
- @forge/lint@5.2.0-next.4
|
|
11
|
+
- @forge/tunnel@5.2.2-next.8
|
|
12
|
+
- @forge/bundler@4.17.0-next.7
|
|
13
|
+
|
|
14
|
+
## 10.0.1-next.9
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 7dae3d7: Fix sandbox tunnel compatibility with Node 14
|
|
19
|
+
- Updated dependencies [7dae3d7]
|
|
20
|
+
- @forge/cli-shared@5.0.1-next.2
|
|
21
|
+
- @forge/manifest@7.4.0-next.2
|
|
22
|
+
- @forge/bundler@4.17.0-next.6
|
|
23
|
+
- @forge/lint@5.2.0-next.3
|
|
24
|
+
- @forge/tunnel@5.2.2-next.7
|
|
25
|
+
|
|
26
|
+
## 10.0.1-next.8
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [ba1a1c3]
|
|
31
|
+
- @forge/tunnel@5.2.2-next.6
|
|
32
|
+
|
|
33
|
+
## 10.0.1-next.7
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- Updated dependencies [8e5e3cc]
|
|
38
|
+
- @forge/bundler@4.17.0-next.5
|
|
39
|
+
- @forge/tunnel@5.2.2-next.5
|
|
40
|
+
|
|
41
|
+
## 10.0.1-next.6
|
|
42
|
+
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- Updated dependencies [4e2b1a9]
|
|
46
|
+
- Updated dependencies [289edb1]
|
|
47
|
+
- @forge/runtime@5.8.1-next.0
|
|
48
|
+
- @forge/manifest@7.4.0-next.1
|
|
49
|
+
- @forge/bundler@4.17.0-next.4
|
|
50
|
+
- @forge/tunnel@5.2.2-next.4
|
|
51
|
+
- @forge/cli-shared@5.0.1-next.1
|
|
52
|
+
- @forge/lint@5.2.0-next.2
|
|
53
|
+
|
|
54
|
+
## 10.0.1-next.5
|
|
55
|
+
|
|
56
|
+
### Patch Changes
|
|
57
|
+
|
|
58
|
+
- Updated dependencies [b3d7850]
|
|
59
|
+
- Updated dependencies [a8cdbca]
|
|
60
|
+
- @forge/manifest@7.4.0-next.0
|
|
61
|
+
- @forge/cli-shared@5.0.1-next.0
|
|
62
|
+
- @forge/lint@5.2.0-next.1
|
|
63
|
+
- @forge/tunnel@5.2.2-next.3
|
|
64
|
+
- @forge/bundler@4.17.0-next.3
|
|
65
|
+
|
|
66
|
+
## 10.0.1-next.4
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- Updated dependencies [d2eeda0]
|
|
71
|
+
- @forge/bundler@4.17.0-next.2
|
|
72
|
+
- @forge/tunnel@5.2.2-next.2
|
|
73
|
+
|
|
74
|
+
## 10.0.1-next.3
|
|
75
|
+
|
|
76
|
+
### Patch Changes
|
|
77
|
+
|
|
78
|
+
- @forge/bundler@4.16.3-next.1
|
|
79
|
+
- @forge/tunnel@5.2.2-next.1
|
|
80
|
+
|
|
81
|
+
## 10.0.1-next.2
|
|
82
|
+
|
|
83
|
+
### Patch Changes
|
|
84
|
+
|
|
85
|
+
- 381042f: tracking command option on Sentry and analytic events
|
|
86
|
+
|
|
87
|
+
## 10.0.1-next.1
|
|
88
|
+
|
|
89
|
+
### Patch Changes
|
|
90
|
+
|
|
91
|
+
- Updated dependencies [07e4505]
|
|
92
|
+
- @forge/lint@5.2.0-next.0
|
|
93
|
+
- @forge/bundler@4.16.3-next.0
|
|
94
|
+
- @forge/tunnel@5.2.2-next.0
|
|
95
|
+
|
|
96
|
+
## 10.0.1-next.0
|
|
97
|
+
|
|
98
|
+
### Patch Changes
|
|
99
|
+
|
|
100
|
+
- f08bd2c: Add Cloudflare tunnel analytics
|
|
101
|
+
|
|
102
|
+
## 10.0.0
|
|
103
|
+
|
|
104
|
+
### Major Changes
|
|
105
|
+
|
|
106
|
+
- 5c2c20f: Fixed the issue where the CLI was unable to bundle modules with multiple entrypoints using different resource types.
|
|
107
|
+
|
|
108
|
+
Specifically the following configuration that supports both UI Kit and Custom UI resources are now supported properly.
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
modules:
|
|
112
|
+
jira:customFieldType:
|
|
113
|
+
- key: my_custom_field_app
|
|
114
|
+
resource: ui-kit-resource
|
|
115
|
+
render: native
|
|
116
|
+
contextConfig:
|
|
117
|
+
resource: custom-ui-resource
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
In the previous CLI version, the above configuration would assume that the `custom-ui-resource` is a UI Kit resource
|
|
121
|
+
and would expected a UI Kit based resource is linked. To support using same resource type for multiple entrypoints,
|
|
122
|
+
in above example, please add `render: native` to the `contextConfig` to correct the resource type:
|
|
123
|
+
|
|
124
|
+
```yaml
|
|
125
|
+
modules:
|
|
126
|
+
jira:customFieldType:
|
|
127
|
+
- key: my_custom_field_app
|
|
128
|
+
resource: ui-kit-resource
|
|
129
|
+
render: native
|
|
130
|
+
contextConfig:
|
|
131
|
+
resource: ui-kit-resource
|
|
132
|
+
render: native
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Minor Changes
|
|
136
|
+
|
|
137
|
+
- 670a419: Only parse listed environment variables in the manifest
|
|
138
|
+
|
|
139
|
+
### Patch Changes
|
|
140
|
+
|
|
141
|
+
- 0c62018: Ignore rate limit errors when polling for installation status
|
|
142
|
+
- 6099d41: Update testing to support Node 20+
|
|
143
|
+
- b2ca651: Use exponential backoff when installation status task is rate limited
|
|
144
|
+
- Updated dependencies [5c2c20f]
|
|
145
|
+
- Updated dependencies [77d16a9]
|
|
146
|
+
- Updated dependencies [6162ed5]
|
|
147
|
+
- Updated dependencies [7787d36]
|
|
148
|
+
- Updated dependencies [670a419]
|
|
149
|
+
- Updated dependencies [4c2dc9f]
|
|
150
|
+
- Updated dependencies [1fcdb65]
|
|
151
|
+
- Updated dependencies [6099d41]
|
|
152
|
+
- Updated dependencies [f04a310]
|
|
153
|
+
- @forge/cli-shared@5.0.0
|
|
154
|
+
- @forge/manifest@7.3.0
|
|
155
|
+
- @forge/tunnel@5.2.1
|
|
156
|
+
- @forge/bundler@4.16.2
|
|
157
|
+
- @forge/lint@5.1.1
|
|
158
|
+
|
|
3
159
|
## 10.0.0-next.11
|
|
4
160
|
|
|
5
161
|
### Patch Changes
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.1-next.10",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@forge/cli",
|
|
9
|
-
"version": "10.0.
|
|
9
|
+
"version": "10.0.1-next.10",
|
|
10
10
|
"hasInstallScript": true,
|
|
11
11
|
"license": "UNLICENSED",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@forge/bundler": "4.
|
|
14
|
-
"@forge/cli-shared": "5.0.
|
|
13
|
+
"@forge/bundler": "4.17.0-next.7",
|
|
14
|
+
"@forge/cli-shared": "5.0.1-next.3",
|
|
15
15
|
"@forge/egress": "1.2.13",
|
|
16
|
-
"@forge/lint": "5.
|
|
17
|
-
"@forge/manifest": "7.
|
|
18
|
-
"@forge/runtime": "5.8.0",
|
|
19
|
-
"@forge/tunnel": "5.2.
|
|
16
|
+
"@forge/lint": "5.2.0-next.4",
|
|
17
|
+
"@forge/manifest": "7.4.0-next.3",
|
|
18
|
+
"@forge/runtime": "5.8.1-next.0",
|
|
19
|
+
"@forge/tunnel": "5.2.2-next.8",
|
|
20
20
|
"@forge/util": "1.4.3",
|
|
21
21
|
"@sentry/node": "7.100.1",
|
|
22
22
|
"ajv": "^8.12.0",
|
|
@@ -878,9 +878,9 @@
|
|
|
878
878
|
"integrity": "sha512-zG50ZRzbKyWHVb/XjI6iCIyyDNmSHdlclvehMjFZ/A3qpHExjSCjaszeY6gBDJKD2GORKKjQ3LS1UyRpiVVvkA=="
|
|
879
879
|
},
|
|
880
880
|
"node_modules/@forge/bundler": {
|
|
881
|
-
"version": "4.
|
|
882
|
-
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.
|
|
883
|
-
"integrity": "sha512-
|
|
881
|
+
"version": "4.17.0-next.7",
|
|
882
|
+
"resolved": "https://registry.npmjs.org/@forge/bundler/-/bundler-4.17.0-next.7.tgz",
|
|
883
|
+
"integrity": "sha512-932FBsGwTbjKW7p3Kf2pya0pvRqLD1K3sMdp7kEAAXQFhf5nLqcxtuvOn4MTDvsJ74NMyr8oc7G81POWZf68oQ==",
|
|
884
884
|
"dependencies": {
|
|
885
885
|
"@babel/core": "^7.24.0",
|
|
886
886
|
"@babel/plugin-transform-class-properties": "^7.23.3",
|
|
@@ -889,10 +889,10 @@
|
|
|
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.7.
|
|
892
|
+
"@forge/api": "3.7.1-next.0",
|
|
893
893
|
"@forge/babel-plugin-transform-ui": "1.1.18",
|
|
894
|
-
"@forge/cli-shared": "5.0.
|
|
895
|
-
"@forge/lint": "5.
|
|
894
|
+
"@forge/cli-shared": "5.0.1-next.3",
|
|
895
|
+
"@forge/lint": "5.2.0-next.4",
|
|
896
896
|
"@forge/util": "1.4.3",
|
|
897
897
|
"assert": "^2.1.0",
|
|
898
898
|
"babel-loader": "^8.3.0",
|
|
@@ -931,9 +931,9 @@
|
|
|
931
931
|
}
|
|
932
932
|
},
|
|
933
933
|
"node_modules/@forge/bundler/node_modules/@forge/api": {
|
|
934
|
-
"version": "3.7.
|
|
935
|
-
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.7.
|
|
936
|
-
"integrity": "sha512-
|
|
934
|
+
"version": "3.7.1-next.0",
|
|
935
|
+
"resolved": "https://registry.npmjs.org/@forge/api/-/api-3.7.1-next.0.tgz",
|
|
936
|
+
"integrity": "sha512-0Md1gPfv6s9Bc3eyO4Ftrk0h8CVmG6YGLjsW/nXBV+NCYQG1txIpcjAb/72ZYaVgVK5UoG39sveDnB0q+1apEQ==",
|
|
937
937
|
"dependencies": {
|
|
938
938
|
"@forge/auth": "0.0.5",
|
|
939
939
|
"@forge/egress": "1.2.13",
|
|
@@ -949,11 +949,11 @@
|
|
|
949
949
|
"integrity": "sha512-n4AWXkzMA4Pv4nam+dTu7PHgDQtMwaAF2MalOWF323zGvYKS/gZJY+7efJq0DLP783iTfjvYT879EHhCrfvEXA=="
|
|
950
950
|
},
|
|
951
951
|
"node_modules/@forge/cli-shared": {
|
|
952
|
-
"version": "5.0.
|
|
953
|
-
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.0.
|
|
954
|
-
"integrity": "sha512-
|
|
952
|
+
"version": "5.0.1-next.3",
|
|
953
|
+
"resolved": "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-5.0.1-next.3.tgz",
|
|
954
|
+
"integrity": "sha512-Wd7HT8ch43C9OUUaSMFXM/HtMaBrtOBtVdMa/+yXohwdJB/X5+LMkh1c5Og7+ZFXGlUWwHQ4tJp8YrYLJPPLFw==",
|
|
955
955
|
"dependencies": {
|
|
956
|
-
"@forge/manifest": "7.
|
|
956
|
+
"@forge/manifest": "7.4.0-next.3",
|
|
957
957
|
"@forge/util": "1.4.3",
|
|
958
958
|
"@sentry/node": "7.100.1",
|
|
959
959
|
"adm-zip": "^0.5.10",
|
|
@@ -1004,13 +1004,13 @@
|
|
|
1004
1004
|
}
|
|
1005
1005
|
},
|
|
1006
1006
|
"node_modules/@forge/lint": {
|
|
1007
|
-
"version": "5.
|
|
1008
|
-
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.
|
|
1009
|
-
"integrity": "sha512
|
|
1007
|
+
"version": "5.2.0-next.4",
|
|
1008
|
+
"resolved": "https://registry.npmjs.org/@forge/lint/-/lint-5.2.0-next.4.tgz",
|
|
1009
|
+
"integrity": "sha512-/aZ4Ye9cd4RsbGVRe9lqy8VwKiV2ylEQOEZ0xJTYC7NtcWQJZbVgX8J3yn47ewzHqPeGZ8s2p6rSWufKjb6eug==",
|
|
1010
1010
|
"dependencies": {
|
|
1011
|
-
"@forge/cli-shared": "5.0.
|
|
1011
|
+
"@forge/cli-shared": "5.0.1-next.3",
|
|
1012
1012
|
"@forge/egress": "1.2.13",
|
|
1013
|
-
"@forge/manifest": "7.
|
|
1013
|
+
"@forge/manifest": "7.4.0-next.3",
|
|
1014
1014
|
"@typescript-eslint/typescript-estree": "^5.62.0",
|
|
1015
1015
|
"array.prototype.flatmap": "^1.3.2",
|
|
1016
1016
|
"atlassian-openapi": "^1.0.18",
|
|
@@ -1019,9 +1019,9 @@
|
|
|
1019
1019
|
}
|
|
1020
1020
|
},
|
|
1021
1021
|
"node_modules/@forge/manifest": {
|
|
1022
|
-
"version": "7.
|
|
1023
|
-
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.
|
|
1024
|
-
"integrity": "sha512-
|
|
1022
|
+
"version": "7.4.0-next.3",
|
|
1023
|
+
"resolved": "https://registry.npmjs.org/@forge/manifest/-/manifest-7.4.0-next.3.tgz",
|
|
1024
|
+
"integrity": "sha512-ZwSJrDRPBSIm2Iu2F9G2j1NXxLpDQQ12PEtMb0H2iE4GOhOMndgg3JN6csbYZ24/yBu+hTY8rp4I0GuA3qoBhw==",
|
|
1025
1025
|
"dependencies": {
|
|
1026
1026
|
"@forge/util": "1.4.3",
|
|
1027
1027
|
"@sentry/node": "7.100.1",
|
|
@@ -1037,9 +1037,9 @@
|
|
|
1037
1037
|
}
|
|
1038
1038
|
},
|
|
1039
1039
|
"node_modules/@forge/runtime": {
|
|
1040
|
-
"version": "5.8.0",
|
|
1041
|
-
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.8.0.tgz",
|
|
1042
|
-
"integrity": "sha512-
|
|
1040
|
+
"version": "5.8.1-next.0",
|
|
1041
|
+
"resolved": "https://registry.npmjs.org/@forge/runtime/-/runtime-5.8.1-next.0.tgz",
|
|
1042
|
+
"integrity": "sha512-hmHFkJ0aaWVLXoZIVm5Y21pk1mKuSo7bFqj9t+r4vJSArS0x0JVKeTu/OjOMbbo8LGqfXrvSOxPzcdszc7g2+g==",
|
|
1043
1043
|
"dependencies": {
|
|
1044
1044
|
"@forge/util": "1.4.3",
|
|
1045
1045
|
"fp-ts": "^2.16.2",
|
|
@@ -1052,15 +1052,15 @@
|
|
|
1052
1052
|
}
|
|
1053
1053
|
},
|
|
1054
1054
|
"node_modules/@forge/tunnel": {
|
|
1055
|
-
"version": "5.2.
|
|
1056
|
-
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.2.
|
|
1057
|
-
"integrity": "sha512-
|
|
1055
|
+
"version": "5.2.2-next.8",
|
|
1056
|
+
"resolved": "https://registry.npmjs.org/@forge/tunnel/-/tunnel-5.2.2-next.8.tgz",
|
|
1057
|
+
"integrity": "sha512-1Vm2QvlV3je2KSZpR/jaV3fW1Wz7go0xFWex6FEpCac3DmN220GxA27KYF/Szx0PWG2vMgy7BASEQ8f9lpIK+g==",
|
|
1058
1058
|
"dependencies": {
|
|
1059
|
-
"@forge/bundler": "4.
|
|
1060
|
-
"@forge/cli-shared": "5.0.
|
|
1059
|
+
"@forge/bundler": "4.17.0-next.7",
|
|
1060
|
+
"@forge/cli-shared": "5.0.1-next.3",
|
|
1061
1061
|
"@forge/csp": "3.2.1",
|
|
1062
|
-
"@forge/runtime": "5.8.0",
|
|
1063
|
-
"
|
|
1062
|
+
"@forge/runtime": "5.8.1-next.0",
|
|
1063
|
+
"cloudflared": "^0.5.2",
|
|
1064
1064
|
"express": "^4.18.3",
|
|
1065
1065
|
"express-intercept": "^1.1.0",
|
|
1066
1066
|
"http-proxy-middleware": "^2.0.6",
|
|
@@ -1224,15 +1224,6 @@
|
|
|
1224
1224
|
"resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz",
|
|
1225
1225
|
"integrity": "sha1-nfA7vXxpalxYiFw0qgbaQchUN5Y= sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="
|
|
1226
1226
|
},
|
|
1227
|
-
"node_modules/@koterpillar/cloudflared": {
|
|
1228
|
-
"version": "0.5.1",
|
|
1229
|
-
"resolved": "https://registry.npmjs.org/@koterpillar/cloudflared/-/cloudflared-0.5.1.tgz",
|
|
1230
|
-
"integrity": "sha1-4DHkstBAPyFhl5o3PkasyQt0dMk= sha512-hV/a4BZ5+YMYT+PcsUoHBz84REqae4M3Mmt/TzFSDBK7RSsmKCD7w1NArRMj08lyTxXAqiBWZCQTE68CN/LTRA==",
|
|
1231
|
-
"hasInstallScript": true,
|
|
1232
|
-
"bin": {
|
|
1233
|
-
"cloudflared": "lib/cloudflared.js"
|
|
1234
|
-
}
|
|
1235
|
-
},
|
|
1236
1227
|
"node_modules/@leichtgewicht/ip-codec": {
|
|
1237
1228
|
"version": "2.0.4",
|
|
1238
1229
|
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
|
|
@@ -3093,6 +3084,15 @@
|
|
|
3093
3084
|
"node": ">=4"
|
|
3094
3085
|
}
|
|
3095
3086
|
},
|
|
3087
|
+
"node_modules/cloudflared": {
|
|
3088
|
+
"version": "0.5.2",
|
|
3089
|
+
"resolved": "https://registry.npmjs.org/cloudflared/-/cloudflared-0.5.2.tgz",
|
|
3090
|
+
"integrity": "sha1-VhEyMqQ5vBpmPDSbyA2j0KUPGsE= sha512-drvrnjGDBUTjDvUgXHrMzqu+PiZ2rdYizr86H18oKy3ak+YjZg1T3RsrpJPBnwQl81/LiH6LYSH6MN9TLR0fkA==",
|
|
3091
|
+
"hasInstallScript": true,
|
|
3092
|
+
"bin": {
|
|
3093
|
+
"cloudflared": "lib/cloudflared.js"
|
|
3094
|
+
}
|
|
3095
|
+
},
|
|
3096
3096
|
"node_modules/code-point-at": {
|
|
3097
3097
|
"version": "1.1.0",
|
|
3098
3098
|
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-client.d.ts","sourceRoot":"","sources":["../../src/analytics-client/analytics-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics-client.d.ts","sourceRoot":"","sources":["../../src/analytics-client/analytics-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI5E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,oBAAY,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAW3D,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,mBAAmB;IAGrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAEvC,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,+BAA+B,GAAG,MAAM,EAC9C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACjC,IAAI;IAsBA,aAAa,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,+BAA+B,EAC9C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAClC,CAAC,EAAE,KAAK,GACP,IAAI;IAQA,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,+BAA+B,EAC9C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACjC,IAAI;IAIA,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,+BAA+B,EAC9C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAClC,CAAC,CAAC,EAAE,KAAK,GAAG,cAAc,GACzB,IAAI;IAQP,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;WAOP,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAS9C"}
|
|
@@ -10,6 +10,7 @@ const uuid_1 = require("uuid");
|
|
|
10
10
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
11
11
|
const unique_machine_id_1 = require("../command-line/unique-machine-id");
|
|
12
12
|
const errors_1 = require("../command-line/errors");
|
|
13
|
+
const url_1 = require("url");
|
|
13
14
|
const Identity = (value) => value;
|
|
14
15
|
function appAidOrUndefined(appAri) {
|
|
15
16
|
try {
|
|
@@ -165,5 +166,14 @@ class AnalyticsClientReporter {
|
|
|
165
166
|
...this._asContainer(attributes.product, 'product', 'product')
|
|
166
167
|
};
|
|
167
168
|
}
|
|
169
|
+
static formatValue(value) {
|
|
170
|
+
return value instanceof url_1.URL
|
|
171
|
+
? value.href.toString()
|
|
172
|
+
: typeof value === 'string'
|
|
173
|
+
? value
|
|
174
|
+
: value === undefined
|
|
175
|
+
? 'undefined'
|
|
176
|
+
: JSON.stringify(value);
|
|
177
|
+
}
|
|
168
178
|
}
|
|
169
179
|
exports.AnalyticsClientReporter = AnalyticsClientReporter;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import commander, { CommanderError } from 'commander';
|
|
2
2
|
import { CamelCase } from 'type-fest';
|
|
3
3
|
import { AnalyticsClientReporter } from '../analytics-client/analytics-client';
|
|
4
|
-
import { Logger, CLIDetails, CredentialGetter, PersonalApiCredentialsValidated, ErrorWithAnalytics, ErrorAnalytics } from '@forge/cli-shared';
|
|
4
|
+
import { Logger, CLIDetails, CredentialGetter, PersonalApiCredentialsValidated, ErrorWithAnalytics, ErrorAnalytics, FeatureFlagService } from '@forge/cli-shared';
|
|
5
5
|
import { PreCommandController } from './controller/pre-command-controller';
|
|
6
6
|
import * as autocomplete from '../autocomplete/types';
|
|
7
7
|
import { StubController } from './controller/stubController';
|
|
@@ -46,6 +46,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
|
|
|
46
46
|
private readonly cliDetails;
|
|
47
47
|
private readonly credentialStore;
|
|
48
48
|
private readonly defaultEnvironmentController;
|
|
49
|
+
private readonly featureFlagService;
|
|
49
50
|
get verbose(): boolean;
|
|
50
51
|
private static isError;
|
|
51
52
|
private static isHelpTriggered;
|
|
@@ -59,7 +60,7 @@ export declare class Command<Args extends AnyArgs = [], Opts extends AnyOpts = D
|
|
|
59
60
|
private readonly requiresAnalyticsConsent;
|
|
60
61
|
private readonly requiredOptionFlags;
|
|
61
62
|
private readonly preconditionFn;
|
|
62
|
-
static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter, defaultEnvironmentController: DefaultEnvironmentController): Command<[], DefaultOpts>;
|
|
63
|
+
static program(ui: Logger, analyticsClient: AnalyticsClientReporter, preCommandController: PreCommandController, cliDetails: CLIDetails | undefined, credentialStore: CredentialGetter, defaultEnvironmentController: DefaultEnvironmentController, featureFlagService: FeatureFlagService): Command<[], DefaultOpts>;
|
|
63
64
|
private constructor();
|
|
64
65
|
private clone;
|
|
65
66
|
version(str: string, flags?: string): Command<Args, Opts>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,EAAE,EAAE,cAAc,EAAU,MAAM,WAAW,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAEL,MAAM,EAEN,UAAU,EAEV,gBAAgB,EAChB,+BAA+B,EAE/B,kBAAkB,EAClB,cAAc,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/command-line/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,7 @@ class Command {
|
|
|
35
35
|
cliDetails;
|
|
36
36
|
credentialStore;
|
|
37
37
|
defaultEnvironmentController;
|
|
38
|
+
featureFlagService;
|
|
38
39
|
get verbose() {
|
|
39
40
|
return this.cmd.opts().verbose;
|
|
40
41
|
}
|
|
@@ -62,17 +63,18 @@ class Command {
|
|
|
62
63
|
requiresAnalyticsConsent;
|
|
63
64
|
requiredOptionFlags = [];
|
|
64
65
|
preconditionFn = [];
|
|
65
|
-
static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController) {
|
|
66
|
-
const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, {});
|
|
66
|
+
static program(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService) {
|
|
67
|
+
const cmd = new Command(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, {});
|
|
67
68
|
return cmd.version(cliDetails?.version ?? 'unknown', '--version').option('--verbose', cli_shared_1.Text.optionVerbose);
|
|
68
69
|
}
|
|
69
|
-
constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
|
|
70
|
+
constructor(ui, analyticsClient, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService, { cmd, analyticsName, requiresAuthentication, requiresAnalyticsConsent, requiredOptionFlags, preconditionFn }) {
|
|
70
71
|
this.ui = ui;
|
|
71
72
|
this.analyticsClient = analyticsClient;
|
|
72
73
|
this.preCommandController = preCommandController;
|
|
73
74
|
this.cliDetails = cliDetails;
|
|
74
75
|
this.credentialStore = credentialStore;
|
|
75
76
|
this.defaultEnvironmentController = defaultEnvironmentController;
|
|
77
|
+
this.featureFlagService = featureFlagService;
|
|
76
78
|
this.cmd = cmd || new commander_1.default.Command();
|
|
77
79
|
this.analyticsName = analyticsName;
|
|
78
80
|
this.requiresAuthentication = requiresAuthentication ?? true;
|
|
@@ -88,7 +90,7 @@ class Command {
|
|
|
88
90
|
this.cmd.configureHelp({ sortSubcommands: true });
|
|
89
91
|
}
|
|
90
92
|
clone(overrides) {
|
|
91
|
-
return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, {
|
|
93
|
+
return new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.featureFlagService, {
|
|
92
94
|
cmd: this.cmd,
|
|
93
95
|
analyticsName: this.analyticsName,
|
|
94
96
|
requiresAuthentication: this.requiresAuthentication,
|
|
@@ -107,7 +109,7 @@ class Command {
|
|
|
107
109
|
.command(name, opts)
|
|
108
110
|
.allowUnknownOption(false)
|
|
109
111
|
.allowExcessArguments(false);
|
|
110
|
-
const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, {
|
|
112
|
+
const subCommand = new Command(this.ui, this.analyticsClient, this.preCommandController, this.cliDetails, this.credentialStore, this.defaultEnvironmentController, this.featureFlagService, {
|
|
111
113
|
cmd,
|
|
112
114
|
analyticsName: Command.concatenateNames(this.analyticsName, cmd.name())
|
|
113
115
|
}).option('--verbose', cli_shared_1.Text.optionVerbose);
|
|
@@ -198,9 +200,13 @@ class Command {
|
|
|
198
200
|
attributes = {
|
|
199
201
|
version: this.cliDetails.version,
|
|
200
202
|
latest: this.cliDetails.latest,
|
|
201
|
-
isLatest: this.isLatestVersion()
|
|
203
|
+
isLatest: this.isLatestVersion(),
|
|
204
|
+
cmdOptions: Object.keys(last(args))
|
|
202
205
|
};
|
|
203
206
|
}
|
|
207
|
+
if (cmdName === 'tunnel') {
|
|
208
|
+
attributes['isCloudflareTunnel'] = await this.featureFlagService.isCloudflareTunnelEnabled();
|
|
209
|
+
}
|
|
204
210
|
this.analyticsClient.reportCommandInvoke(analyticsName, cred, attributes);
|
|
205
211
|
const options = last(args);
|
|
206
212
|
await (0, sentry_1.setSentryCmdOptFlags)(analyticsName, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/tunnel-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAGV,+BAA+B,EAC/B,oBAAoB,EAEpB,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EACL,mBAAmB,EAGnB,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBALV,gBAAgB,EAAE,sBAAsB,EACxC,iBAAiB,EAAE,aAAa,EAChC,kBAAkB,EAAE,aAAa,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG5B,GAAG,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvF,OAAO,CAAC,4BAA4B;IAgBvB,eAAe,CAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"tunnel-controller.d.ts","sourceRoot":"","sources":["../../../src/command-line/controller/tunnel-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,UAAU,EAGV,+BAA+B,EAC/B,oBAAoB,EAEpB,aAAa,EAEd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EACL,mBAAmB,EAGnB,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBALV,gBAAgB,EAAE,sBAAsB,EACxC,iBAAiB,EAAE,aAAa,EAChC,kBAAkB,EAAE,aAAa,EACjC,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG5B,GAAG,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBvF,OAAO,CAAC,4BAA4B;IAgBvB,eAAe,CAC1B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,+BAA+B,EACtC,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,IAAI,CAAC;CAmBjB"}
|
|
@@ -50,7 +50,9 @@ class TunnelController {
|
|
|
50
50
|
async runDockerTunnel(tunnelOptions, creds, debugEnabled) {
|
|
51
51
|
try {
|
|
52
52
|
const imageDownloadChildProcess = await this.dockerTunnelService.bootstrapDocker();
|
|
53
|
-
|
|
53
|
+
if (imageDownloadChildProcess) {
|
|
54
|
+
await this.tunnelView.reportDownloadProgress(imageDownloadChildProcess, this.analyticsService.getImageDownloadReporters(creds));
|
|
55
|
+
}
|
|
54
56
|
}
|
|
55
57
|
catch (err) {
|
|
56
58
|
if (err.code === docker_service_1.DockerErrorCode.NOT_INSTALLED) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"dependency-injection.d.ts","sourceRoot":"","sources":["../../src/command-line/dependency-injection.ts"],"names":[],"mappings":"AAIA,OAAO,EASL,UAAU,EACV,aAAa,EAEb,UAAU,EAGV,gBAAgB,EAGhB,kBAAkB,EAGlB,gBAAgB,EAQhB,YAAY,EACZ,aAAa,EAOb,kBAAkB,EAIlB,kBAAkB,EAInB,MAAM,mBAAmB,CAAC;AAc3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAML,0BAA0B,EAG3B,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gCAAgC,EAAE,MAAM,sDAAsD,CAAC;AAExG,OAAO,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AACtG,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AAIlG,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAM7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAUlE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAIhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,eAAO,MAAM,eAAe,eAAsB,UAAU,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4VvE,CAAC;AAGF,aAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC7D,oBAAY,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC"}
|
|
@@ -174,7 +174,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
174
174
|
const startTunnelCommand = new tunnel_1.StartTunnelCommand(assertiveAppConfigReader, new tunnel_1.LocalDevelopmentServer(localInvocationService, ui, configFile, fileReader), new tunnel_1.TunnelServiceFacade(featureFlagService, ui), new tunnel_1.RegisterTunnelServiceImpl(new tunnel_1.TunnelGraphqlClient(graphQLClient), featureFlagService), functionHost, runtime_1.notImplementedInspector, ui, configFile);
|
|
175
175
|
const tunnelInteractor = new tunnel_1.TunnelInteractor(ui);
|
|
176
176
|
const configFilePortFindingService = new port_finding_service_1.ConfigFilePortFindingService(configFile);
|
|
177
|
-
const tunnelAnalyticsService = new tunnel_analytics_service_1.TunnelAnalyticsService(analyticsClientReporter, cliDetails);
|
|
177
|
+
const tunnelAnalyticsService = new tunnel_analytics_service_1.TunnelAnalyticsService(analyticsClientReporter, cliDetails, featureFlagService);
|
|
178
178
|
const nodeTunnelService = new tunnel_service_1.InProcessTunnelService(ui, startTunnelCommand, tunnelInteractor, configFilePortFindingService, cachedConfigService, tunnelAnalyticsService);
|
|
179
179
|
const tunnelView = new tunnel_view_1.TunnelView(ui);
|
|
180
180
|
const localTunnelService = new tunnel_service_1.LocalTunnelService(configFilePortFindingService, cachedConfigService);
|
|
@@ -184,7 +184,7 @@ const getDependencies = async (cliDetails) => {
|
|
|
184
184
|
const stubController = new stubController_1.StubController();
|
|
185
185
|
const prerequisitesController = new prerequisites_controller_1.PrerequisitesController(ui, featureFlagService, cliDetails);
|
|
186
186
|
const defaultEnvironmentController = new default_environment_controller_1.DefaultEnvironmentController(ui, credentialStore, cachedConfigService, assertiveAppConfigReader, loginCommand, createEnvironmentCommand, listEnvironmentCommand, getAppOwnerQuery);
|
|
187
|
-
cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController);
|
|
187
|
+
cmd = command_1.Command.program(ui, analyticsClientReporter, preCommandController, cliDetails, credentialStore, defaultEnvironmentController, featureFlagService);
|
|
188
188
|
return {
|
|
189
189
|
ui,
|
|
190
190
|
cmd,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/command-line/sentry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,mBAAmB,EACnB,OAA6B,EAC9B,EAAE;IACD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC/D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;CACvC,QAUA;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAGvE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/command-line/sentry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,mBAAmB,EACnB,OAA6B,EAC9B,EAAE;IACD,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC/D,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;CACvC,QAUA;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAGvE;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,iBAK3F"}
|
|
@@ -4,7 +4,7 @@ exports.setSentryCmdOptFlags = exports.setSentryEnvFlags = exports.initialiseSen
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const Sentry = tslib_1.__importStar(require("@sentry/node"));
|
|
6
6
|
const cli_shared_1 = require("@forge/cli-shared");
|
|
7
|
-
const
|
|
7
|
+
const analytics_client_1 = require("../analytics-client/analytics-client");
|
|
8
8
|
const SENTRY_DSN = 'https://9829489b1be84a728351c238c6107a33@o55978.ingest.sentry.io/4504449550843904';
|
|
9
9
|
function initialiseSentry({ cliDetails, cachedConfigService, options = { dsn: SENTRY_DSN } }) {
|
|
10
10
|
if (!cachedConfigService.getAnalyticsPreferences()) {
|
|
@@ -25,8 +25,7 @@ exports.setSentryEnvFlags = setSentryEnvFlags;
|
|
|
25
25
|
async function setSentryCmdOptFlags(command, options) {
|
|
26
26
|
Sentry.setTag('command.name', command);
|
|
27
27
|
for (const [name, value] of Object.entries(options)) {
|
|
28
|
-
|
|
29
|
-
Sentry.setTag(`flag.${name}`, typeof formatVal === 'string' ? formatVal : JSON.stringify(formatVal));
|
|
28
|
+
Sentry.setTag(`flag.${name}`, analytics_client_1.AnalyticsClientReporter.formatValue(value));
|
|
30
29
|
}
|
|
31
30
|
}
|
|
32
31
|
exports.setSentryCmdOptFlags = setSentryCmdOptFlags;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { PersonalApiCredentialsValidated, CLIDetails } from '@forge/cli-shared';
|
|
1
|
+
import { PersonalApiCredentialsValidated, CLIDetails, FeatureFlagService } from '@forge/cli-shared';
|
|
2
2
|
import { AnalyticsClientReporter } from '../analytics-client/analytics-client';
|
|
3
3
|
import { DownloadProgressCallbacks } from '../command-line/view/tunnel-view';
|
|
4
4
|
export declare class TunnelAnalyticsService {
|
|
5
5
|
private readonly analyticsClientReporter;
|
|
6
6
|
private readonly cliDetails;
|
|
7
|
-
|
|
7
|
+
private readonly featureFlagService;
|
|
8
|
+
constructor(analyticsClientReporter: AnalyticsClientReporter, cliDetails: CLIDetails | undefined, featureFlagService: FeatureFlagService);
|
|
8
9
|
reportDockerVersion(creds: PersonalApiCredentialsValidated, dockerVersion: string | null): void;
|
|
9
10
|
reportTunnelClosed(creds: PersonalApiCredentialsValidated): void;
|
|
10
11
|
reportTunnelFailure(creds: PersonalApiCredentialsValidated, errorName: string, attributes: {
|
|
11
12
|
[key: string]: any;
|
|
12
|
-
}): void
|
|
13
|
+
}): Promise<void>;
|
|
13
14
|
getImageDownloadReporters(creds: PersonalApiCredentialsValidated): DownloadProgressCallbacks;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=tunnel-analytics-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,UAAU,EAAsB,MAAM,mBAAmB,CAAC;
|
|
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,UAAU,EAAsB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAFlB,uBAAuB,EAAE,uBAAuB,EAChD,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,kBAAkB,EAAE,kBAAkB;IAGlD,mBAAmB,CAAC,KAAK,EAAE,+BAA+B,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM/F,kBAAkB,CAAC,KAAK,EAAE,+BAA+B,GAAG,IAAI;IAI1D,mBAAmB,CAC9B,KAAK,EAAE,+BAA+B,EACtC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAiB7B,yBAAyB,CAAC,KAAK,EAAE,+BAA+B,GAAG,yBAAyB;CAOpG"}
|
|
@@ -5,9 +5,11 @@ const cli_shared_1 = require("@forge/cli-shared");
|
|
|
5
5
|
class TunnelAnalyticsService {
|
|
6
6
|
analyticsClientReporter;
|
|
7
7
|
cliDetails;
|
|
8
|
-
|
|
8
|
+
featureFlagService;
|
|
9
|
+
constructor(analyticsClientReporter, cliDetails, featureFlagService) {
|
|
9
10
|
this.analyticsClientReporter = analyticsClientReporter;
|
|
10
11
|
this.cliDetails = cliDetails;
|
|
12
|
+
this.featureFlagService = featureFlagService;
|
|
11
13
|
}
|
|
12
14
|
reportDockerVersion(creds, dockerVersion) {
|
|
13
15
|
this.analyticsClientReporter.reportSuccess('docker version check', creds, {
|
|
@@ -17,12 +19,13 @@ class TunnelAnalyticsService {
|
|
|
17
19
|
reportTunnelClosed(creds) {
|
|
18
20
|
this.analyticsClientReporter.reportSuccess('close tunnel', creds, {});
|
|
19
21
|
}
|
|
20
|
-
reportTunnelFailure(creds, errorName, attributes) {
|
|
22
|
+
async reportTunnelFailure(creds, errorName, attributes) {
|
|
21
23
|
attributes = {
|
|
22
24
|
error: errorName,
|
|
23
25
|
version: this.cliDetails?.version,
|
|
24
26
|
latest: this.cliDetails?.latest,
|
|
25
27
|
isLatest: (0, cli_shared_1.isLatestCLIVersion)(this.cliDetails),
|
|
28
|
+
isCloudflareTunnel: await this.featureFlagService.isCloudflareTunnelEnabled(),
|
|
26
29
|
...attributes
|
|
27
30
|
};
|
|
28
31
|
if (attributes.isUserError === undefined) {
|
|
@@ -55,7 +55,7 @@ export declare class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
55
55
|
private readonly analyticsService;
|
|
56
56
|
constructor(configFilePortFindingService: ConfigFilePortFindingService, cachedConfigService: CachedConfigService, dockerService: DockerService, analyticsService: TunnelAnalyticsService);
|
|
57
57
|
run(tunnelOptions: TunnelOptions, creds: PersonalApiCredentialsValidated, debugEnabled: boolean): Promise<void>;
|
|
58
|
-
bootstrapDocker(): Promise<ReturnType<typeof spawn
|
|
58
|
+
bootstrapDocker(): Promise<ReturnType<typeof spawn> | undefined>;
|
|
59
59
|
private validateDockerVersion;
|
|
60
60
|
private getDockerPortOptions;
|
|
61
61
|
private formatEnvForDocker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tunnel-service.d.ts","sourceRoot":"","sources":["../../src/service/tunnel-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ class InProcessTunnelService extends TunnelServiceBase {
|
|
|
80
80
|
await this.tunnelInteractor.handleUserExitEvent(tunnel.stopFunction, monitor);
|
|
81
81
|
}
|
|
82
82
|
catch (e) {
|
|
83
|
-
this.analyticsService.reportTunnelFailure(creds, e.constructor.name, (0, cli_shared_1.getErrorAttributes)(e));
|
|
83
|
+
await this.analyticsService.reportTunnelFailure(creds, e.constructor.name, (0, cli_shared_1.getErrorAttributes)(e));
|
|
84
84
|
if (onError) {
|
|
85
85
|
await onError(e);
|
|
86
86
|
}
|
|
@@ -197,7 +197,7 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
197
197
|
exports.IMAGE_NAME
|
|
198
198
|
]);
|
|
199
199
|
docker.on('exit', () => this.analyticsService.reportTunnelClosed(creds));
|
|
200
|
-
docker.stderr?.on('data', (error) => {
|
|
200
|
+
docker.stderr?.on('data', async (error) => {
|
|
201
201
|
const errorMessage = error;
|
|
202
202
|
let errorJson;
|
|
203
203
|
try {
|
|
@@ -207,7 +207,7 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
207
207
|
}
|
|
208
208
|
if (errorJson && errorJson.__tunnel_error__) {
|
|
209
209
|
const tunnelErrorDetails = errorJson;
|
|
210
|
-
this.analyticsService.reportTunnelFailure(creds, tunnelErrorDetails.name, tunnelErrorDetails.attributes);
|
|
210
|
+
await this.analyticsService.reportTunnelFailure(creds, tunnelErrorDetails.name, tunnelErrorDetails.attributes);
|
|
211
211
|
}
|
|
212
212
|
else {
|
|
213
213
|
process.stderr?.write(errorMessage);
|
|
@@ -217,7 +217,9 @@ class DockerTunnelService extends SandboxTunnelServiceBase {
|
|
|
217
217
|
}
|
|
218
218
|
async bootstrapDocker() {
|
|
219
219
|
await this.dockerService.removeContainer(exports.CONTAINER_NAME);
|
|
220
|
-
|
|
220
|
+
if (!process.env.FORGE_DEV_DOCKER_TUNNEL) {
|
|
221
|
+
return this.dockerService.downloadImage(exports.IMAGE_NAME);
|
|
222
|
+
}
|
|
221
223
|
}
|
|
222
224
|
async validateDockerVersion(creds, debugEnabled) {
|
|
223
225
|
const version = await this.dockerService.getDockerVersion(debugEnabled);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/cli",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.1-next.10",
|
|
4
4
|
"description": "A command line interface for managing Atlassian-hosted apps",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,13 +18,13 @@
|
|
|
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.
|
|
22
|
-
"@forge/cli-shared": "5.0.
|
|
21
|
+
"@forge/bundler": "4.17.0-next.7",
|
|
22
|
+
"@forge/cli-shared": "5.0.1-next.3",
|
|
23
23
|
"@forge/egress": "1.2.13",
|
|
24
|
-
"@forge/lint": "5.
|
|
25
|
-
"@forge/manifest": "7.
|
|
26
|
-
"@forge/runtime": "5.8.0",
|
|
27
|
-
"@forge/tunnel": "5.2.
|
|
24
|
+
"@forge/lint": "5.2.0-next.4",
|
|
25
|
+
"@forge/manifest": "7.4.0-next.3",
|
|
26
|
+
"@forge/runtime": "5.8.1-next.0",
|
|
27
|
+
"@forge/tunnel": "5.2.2-next.8",
|
|
28
28
|
"@forge/util": "1.4.3",
|
|
29
29
|
"@sentry/node": "7.100.1",
|
|
30
30
|
"ajv": "^8.12.0",
|