@forge/api 2.22.1 → 3.0.0-experimental-6adbba3

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 CHANGED
@@ -1,5 +1,113 @@
1
1
  # @forge/api
2
2
 
3
+ ## 3.0.0-experimental-6adbba3
4
+
5
+ ### Minor Changes
6
+
7
+ - 6a6312e: feat: introduces bulkSet operation
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [6a6312e]
12
+ - @forge/storage@1.5.14-experimental-6adbba3
13
+
14
+ ## 3.0.0
15
+
16
+ ### Major Changes
17
+
18
+ - b3245a7: - Add environmentType, invocationId, installationId in runtime V2 context
19
+ - Rename getRuntime to \_\_getRuntime in @forge/api
20
+ - Add new method getAppContext in @forge/api to retrieve app context data
21
+ - Replace @atlassian/cs-ari package with @atlassian/ari
22
+
23
+ ### Minor Changes
24
+
25
+ - ace184d: Add requestConnectedData() to call Teamwork Graph APIs
26
+ - b04283b: Add serialize function for InstallationAri
27
+ - f3ca9bf: Update export type for InstallationAri and EnvironmentAri
28
+
29
+ ### Patch Changes
30
+
31
+ - 73e1aac: Bumping dependencies via Renovate:
32
+
33
+ - nock
34
+
35
+ - 579c6a2: send metrics with the same name but different tags separately
36
+ - 16a7cf5: Bumping dependencies via Renovate:
37
+
38
+ - @types/node-fetch
39
+
40
+ - Updated dependencies [b3245a7]
41
+ - Updated dependencies [c714732]
42
+ - Updated dependencies [16a7cf5]
43
+ - @forge/util@1.4.0
44
+ - @forge/egress@1.2.12
45
+ - @forge/storage@1.5.14
46
+
47
+ ## 3.0.0-next.7
48
+
49
+ ### Patch Changes
50
+
51
+ - 73e1aac: Bumping dependencies via Renovate:
52
+
53
+ - nock
54
+
55
+ ## 3.0.0-next.6
56
+
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies [c714732]
60
+ - @forge/egress@1.2.12-next.0
61
+
62
+ ## 3.0.0-next.5
63
+
64
+ ### Minor Changes
65
+
66
+ - b04283b: Add serialize function for InstallationAri
67
+
68
+ ## 3.0.0-next.4
69
+
70
+ ### Patch Changes
71
+
72
+ - 16a7cf5: Bumping dependencies via Renovate:
73
+
74
+ - @types/node-fetch
75
+
76
+ - Updated dependencies [16a7cf5]
77
+ - @forge/storage@1.5.14-next.0
78
+
79
+ ## 3.0.0-next.3
80
+
81
+ ### Minor Changes
82
+
83
+ - f3ca9bf: Update export type for InstallationAri and EnvironmentAri
84
+
85
+ ## 3.0.0-next.2
86
+
87
+ ### Patch Changes
88
+
89
+ - 579c6a2: send metrics with the same name but different tags separately
90
+
91
+ ## 3.0.0-next.1
92
+
93
+ ### Major Changes
94
+
95
+ - b3245a7: - Add environmentType, invocationId, installationId in runtime V2 context
96
+ - Rename getRuntime to \_\_getRuntime in @forge/api
97
+ - Add new method getAppContext in @forge/api to retrieve app context data
98
+ - Replace @atlassian/cs-ari package with @atlassian/ari
99
+
100
+ ### Patch Changes
101
+
102
+ - Updated dependencies [b3245a7]
103
+ - @forge/util@1.4.0-next.0
104
+
105
+ ## 2.23.0-next.0
106
+
107
+ ### Minor Changes
108
+
109
+ - ace184d: Add requestConnectedData() to call Teamwork Graph APIs
110
+
3
111
  ## 2.22.1
4
112
 
5
113
  ### Patch Changes
@@ -0,0 +1,17 @@
1
+ interface Ari {
2
+ toString: () => string;
3
+ }
4
+ export declare type AppAri = Ari & {
5
+ appId: string;
6
+ };
7
+ export declare const getAppAri: (appId: string) => AppAri;
8
+ export declare type EnvironmentAri = Ari & {
9
+ environmentId: string;
10
+ };
11
+ export declare const getEnvironmentAri: (appId: string, environmentId: string) => EnvironmentAri;
12
+ export declare type InstallationAri = Ari & {
13
+ installationId: string;
14
+ };
15
+ export declare const getInstallationAri: (installationId: string) => InstallationAri;
16
+ export {};
17
+ //# sourceMappingURL=ari.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ari.d.ts","sourceRoot":"","sources":["../../src/api/ari.ts"],"names":[],"mappings":"AAEA,UAAU,GAAG;IACX,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB;AAED,oBAAY,MAAM,GAAG,GAAG,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAA2C,CAAC;AAEtF,oBAAY,cAAc,GAAG,GAAG,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,eAAO,MAAM,iBAAiB,UAAW,MAAM,iBAAiB,MAAM,KAAG,cACf,CAAC;AAE3D,oBAAY,eAAe,GAAG,GAAG,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB/D,eAAO,MAAM,kBAAkB,mBAAoB,MAAM,KAAG,eAA0D,CAAC"}
package/out/api/ari.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInstallationAri = exports.getEnvironmentAri = exports.getAppAri = void 0;
4
+ const ari_1 = require("@forge/util/packages/ari");
5
+ const getAppAri = (appId) => ari_1.EcosystemAppAri.create({ appId });
6
+ exports.getAppAri = getAppAri;
7
+ const getEnvironmentAri = (appId, environmentId) => ari_1.EcosystemEnvironmentAri.create({ appId, environmentId });
8
+ exports.getEnvironmentAri = getEnvironmentAri;
9
+ class InstallationAriImpl {
10
+ constructor(installationId) {
11
+ this._installationId = installationId;
12
+ }
13
+ get installationId() {
14
+ return this._installationId;
15
+ }
16
+ toString() {
17
+ return `ari:cloud:ecosystem::installation/${this._installationId}`;
18
+ }
19
+ toJSON() {
20
+ return this.toString();
21
+ }
22
+ }
23
+ const getInstallationAri = (installationId) => new InstallationAriImpl(installationId);
24
+ exports.getInstallationAri = getInstallationAri;
@@ -1,8 +1,8 @@
1
1
  import { RequestInit } from 'node-fetch';
2
2
  import { FetchAPI, FetchMethod } from '..';
3
- type AuthProvider = 'app' | 'user' | 'none';
4
- type RemoteAPI = 'jira' | 'confluence' | 'stargate' | 'bitbucket';
5
- type FetchArgs = {
3
+ declare type AuthProvider = 'app' | 'user' | 'none';
4
+ declare type RemoteAPI = 'jira' | 'confluence' | 'stargate' | 'bitbucket';
5
+ declare type FetchArgs = {
6
6
  provider: AuthProvider;
7
7
  remote: RemoteAPI;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/api/fetch.ts"],"names":[],"mappings":"AAEA,OAAc,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAI3C,KAAK,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5C,KAAK,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AAElE,KAAK,SAAS,GAAG;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAS/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAkBzD;AAgCD,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,WAGlD,CAAC;AAOH,wBAAgB,iBAAiB,IAAI,QAAQ,CAoB5C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAEvD"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/api/fetch.ts"],"names":[],"mappings":"AAEA,OAAc,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAS1D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAI3C,aAAK,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAC5C,aAAK,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,CAAC;AAElE,aAAK,SAAS,GAAG;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAS/D,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAkBzD;AAgCD,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,WAGlD,CAAC;AAOH,wBAAgB,iBAAiB,IAAI,QAAQ,CAsB5C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAEvD"}
package/out/api/fetch.js CHANGED
@@ -49,13 +49,15 @@ function getNodeRuntimeAPI() {
49
49
  requestConfluence: (0, _1.wrapRequestProduct)(fetchProduct({ provider: 'user', remote: 'confluence' })),
50
50
  requestBitbucket: (0, _1.wrapRequestProduct)(fetchProduct({ provider: 'user', remote: 'bitbucket' })),
51
51
  requestGraph: (0, _1.wrapRequestGraph)(fetchProduct({ provider: 'user', remote: 'stargate' })),
52
+ requestConnectedData: (0, _1.wrapRequestConnectedData)(fetchProduct({ provider: 'user', remote: 'stargate' })),
52
53
  withProvider: throwNotImplementedError
53
54
  }),
54
55
  asApp: () => ({
55
56
  requestJira: (0, _1.wrapRequestProduct)(fetchProduct({ provider: 'app', remote: 'jira' })),
56
57
  requestConfluence: (0, _1.wrapRequestProduct)(fetchProduct({ provider: 'app', remote: 'confluence' })),
57
58
  requestBitbucket: (0, _1.wrapRequestProduct)(fetchProduct({ provider: 'app', remote: 'bitbucket' })),
58
- requestGraph: (0, _1.wrapRequestGraph)(fetchProduct({ provider: 'app', remote: 'stargate' }))
59
+ requestGraph: (0, _1.wrapRequestGraph)(fetchProduct({ provider: 'app', remote: 'stargate' })),
60
+ requestConnectedData: (0, _1.wrapRequestConnectedData)(fetchProduct({ provider: 'app', remote: 'stargate' }))
59
61
  })
60
62
  };
61
63
  }
@@ -1,7 +1,8 @@
1
1
  import { RequestInfo, RequestInit } from 'node-fetch';
2
2
  import { FetchAPI, FetchMethod, RequestProductMethod, FetchMethodAllowingRoute, APIResponse } from '..';
3
- export type FetchWrapper = (fetchApi: Function) => (url: RequestInfo, init?: RequestInit) => Promise<APIResponse>;
3
+ export declare type FetchWrapper = (fetchApi: Function) => (url: RequestInfo, init?: RequestInit) => Promise<APIResponse>;
4
4
  export declare const wrapRequestGraph: (requestGraphApi: FetchMethod) => (query: string, variables?: any, headers?: {}) => Promise<APIResponse>;
5
+ export declare const wrapRequestConnectedData: (x: FetchMethod) => RequestProductMethod;
5
6
  export declare const wrapRequestProduct: (x: FetchMethod) => RequestProductMethod;
6
7
  export declare const wrapWithRouteUnwrapper: (x: FetchMethod) => FetchMethodAllowingRoute;
7
8
  export declare const wrapFetchApiMethods: (api: any, wrapFetch: FetchWrapper) => FetchAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,QAAQ,EAER,WAAW,EAEX,oBAAoB,EACpB,wBAAwB,EAGxB,WAAW,EACZ,MAAM,IAAI,CAAC;AAIZ,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAElH,eAAO,MAAM,gBAAgB,oBACT,WAAW,aACrB,MAAM,cAAc,GAAG,uCAQ3B,CAAC;AAEP,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,oBAGpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,wBAGxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,GAAG,aAAa,YAAY,KAAG,QAkCvE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EAExB,WAAW,EAGZ,MAAM,IAAI,CAAC;AAIZ,oBAAY,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAElH,eAAO,MAAM,gBAAgB,oBACT,WAAW,aACrB,MAAM,cAAc,GAAG,uCAQ3B,CAAC;AAEP,eAAO,MAAM,wBAAwB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,oBAG1D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,oBAGpD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,wBAGxD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,GAAG,aAAa,YAAY,KAAG,QAoCvE,CAAC"}
package/out/api/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrapFetchApiMethods = exports.wrapWithRouteUnwrapper = exports.wrapRequestProduct = exports.wrapRequestGraph = void 0;
3
+ exports.wrapFetchApiMethods = exports.wrapWithRouteUnwrapper = exports.wrapRequestProduct = exports.wrapRequestConnectedData = exports.wrapRequestGraph = void 0;
4
4
  const safeUrl_1 = require("../safeUrl");
5
5
  const wrapRequestGraph = (requestGraphApi) => (query, variables, headers = {}) => requestGraphApi('/graphql', {
6
6
  method: 'POST',
@@ -8,6 +8,11 @@ const wrapRequestGraph = (requestGraphApi) => (query, variables, headers = {}) =
8
8
  body: JSON.stringify(Object.assign({ query }, (variables ? { variables } : {})))
9
9
  });
10
10
  exports.wrapRequestGraph = wrapRequestGraph;
11
+ const wrapRequestConnectedData = (fetch) => (path, init) => {
12
+ const safeUrl = (0, safeUrl_1.requireSafeUrl)(path);
13
+ return fetch(`/connected-data/${safeUrl.value.replace(/^\/+/, '')}`, init);
14
+ };
15
+ exports.wrapRequestConnectedData = wrapRequestConnectedData;
11
16
  const wrapRequestProduct = (requestProduct) => (path, init) => {
12
17
  const safeUrl = (0, safeUrl_1.requireSafeUrl)(path);
13
18
  return requestProduct(safeUrl.value, init);
@@ -29,6 +34,7 @@ const wrapFetchApiMethods = (api, wrapFetch) => {
29
34
  requestConfluence: (0, exports.wrapRequestProduct)(wrapFetch(api.asUser().requestConfluence)),
30
35
  requestBitbucket: (0, exports.wrapRequestProduct)(wrapFetch(api.asUser().requestBitbucket)),
31
36
  requestGraph: (0, exports.wrapRequestGraph)(wrapFetch(api.asUser().requestGraph)),
37
+ requestConnectedData: (0, exports.wrapRequestConnectedData)(wrapFetch(api.asUser().requestConnectedData)),
32
38
  withProvider: (provider, remoteName, tokenId) => {
33
39
  const { hasCredentials, requestCredentials, listCredentials, fetch: withProviderFetch } = api.asUser().withProvider(provider, remoteName, tokenId);
34
40
  const wrappedRequestRemote = (0, exports.wrapWithRouteUnwrapper)(wrapFetch(withProviderFetch));
@@ -44,7 +50,8 @@ const wrapFetchApiMethods = (api, wrapFetch) => {
44
50
  requestJira: (0, exports.wrapRequestProduct)(wrapFetch(api.asApp().requestJira)),
45
51
  requestConfluence: (0, exports.wrapRequestProduct)(wrapFetch(api.asApp().requestConfluence)),
46
52
  requestGraph: (0, exports.wrapRequestGraph)(wrapFetch(api.asApp().requestGraph)),
47
- requestBitbucket: (0, exports.wrapRequestProduct)(wrapFetch(api.asApp().requestBitbucket))
53
+ requestBitbucket: (0, exports.wrapRequestProduct)(wrapFetch(api.asApp().requestBitbucket)),
54
+ requestConnectedData: (0, exports.wrapRequestConnectedData)(wrapFetch(api.asApp().requestConnectedData))
48
55
  })
49
56
  };
50
57
  };
@@ -1,10 +1,11 @@
1
1
  import type { Metrics, Tags } from '@forge/util/packages/metrics-interface';
2
- export type ProxyInfo = {
2
+ import { AppAri, EnvironmentAri, InstallationAri } from './ari';
3
+ export declare type ProxyInfo = {
3
4
  token: string;
4
5
  url: string;
5
6
  host?: string;
6
7
  };
7
- export type ForgeRuntime = {
8
+ export declare type ForgeRuntime = {
8
9
  proxy: ProxyInfo;
9
10
  contextAri: string;
10
11
  container: {
@@ -14,8 +15,11 @@ export type ForgeRuntime = {
14
15
  };
15
16
  appContext: {
16
17
  appId: string;
17
- environmentId: string;
18
18
  appVersion: string;
19
+ environmentId: string;
20
+ environmentType: string;
21
+ invocationId: string;
22
+ installationId: string;
19
23
  functionKey: string;
20
24
  moduleType: string;
21
25
  moduleKey: string;
@@ -35,7 +39,17 @@ export type ForgeRuntime = {
35
39
  host: string;
36
40
  };
37
41
  };
38
- export declare function getRuntime(): ForgeRuntime;
42
+ export declare type AppContext = {
43
+ appAri: AppAri;
44
+ appVersion: string;
45
+ environmentAri: EnvironmentAri;
46
+ environmentType: string;
47
+ invocationId: string;
48
+ installationAri: InstallationAri;
49
+ moduleKey: string;
50
+ };
51
+ export declare function __getRuntime(): ForgeRuntime;
52
+ export declare function getAppContext(): AppContext;
39
53
  export declare function wrapInMetrics<Args extends unknown[], Ret>(name: string, fn: (...args: Args) => Promise<Ret>, { tags }?: {
40
54
  tags?: Tags;
41
55
  }): (...args: Args) => Promise<Ret>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/api/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wCAAwC,CAAC;AAU5E,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,GAAG,EACvD,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EACnC,EAAE,IAAI,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAC7B,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAiBjC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/api/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,wCAAwC,CAAC;AAG5E,OAAO,EAAoD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAQlH,oBAAY,SAAS,GAAG;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,oBAAY,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,YAAY,IAAI,YAAY,CAO3C;AAED,wBAAgB,aAAa,IAAI,UAAU,CAY1C;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,GAAG,EACvD,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,EACnC,EAAE,IAAI,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,IAAI,CAAA;CAAO,GAC7B,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,GAAG,CAAC,CAiBjC"}
@@ -1,19 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrapInMetrics = exports.getRuntime = void 0;
3
+ exports.wrapInMetrics = exports.getAppContext = exports.__getRuntime = void 0;
4
4
  const errors_1 = require("./errors");
5
5
  const node_fetch_1 = require("node-fetch");
6
- function getRuntime() {
6
+ const ari_1 = require("./ari");
7
+ function __getRuntime() {
7
8
  const runtime = global.__forge_runtime__;
8
9
  if (!runtime) {
9
10
  throw new Error('Forge runtime not found.');
10
11
  }
11
12
  return runtime;
12
13
  }
13
- exports.getRuntime = getRuntime;
14
+ exports.__getRuntime = __getRuntime;
15
+ function getAppContext() {
16
+ const { appId, appVersion, environmentId, environmentType, invocationId, installationId, moduleKey } = __getRuntime().appContext;
17
+ return {
18
+ appAri: (0, ari_1.getAppAri)(appId),
19
+ appVersion,
20
+ environmentAri: (0, ari_1.getEnvironmentAri)(appId, environmentId),
21
+ environmentType,
22
+ installationAri: (0, ari_1.getInstallationAri)(installationId),
23
+ invocationId,
24
+ moduleKey
25
+ };
26
+ }
27
+ exports.getAppContext = getAppContext;
14
28
  function wrapInMetrics(name, fn, { tags } = {}) {
15
29
  return async (...args) => {
16
- const { metrics } = getRuntime();
30
+ const { metrics } = __getRuntime();
17
31
  metrics.counter(name, tags).incr();
18
32
  const timer = metrics.timing(name, tags).measure();
19
33
  let success = true;
@@ -9,7 +9,7 @@ const authorize = () => {
9
9
  accountId = process.env.__CURRENT_USER_ACCOUNT_ID;
10
10
  }
11
11
  else {
12
- accountId = (0, __1.getRuntime)().aaid;
12
+ accountId = (0, __1.__getRuntime)().aaid;
13
13
  }
14
14
  if (!accountId) {
15
15
  throw new Error(`Couldn’t find the accountId of the invoking user. This API can only be used inside user-invoked modules.`);
package/out/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import { RequestInit, Response } from 'node-fetch';
2
- import { QueryApi, EntityStorageApi } from '@forge/storage';
2
+ import { QueryApi, EntityStorageApi, BulkItem, BulkResponse } from '@forge/storage';
3
3
  import { authorize } from './authorization';
4
4
  import { Route } from './safeUrl';
5
5
  import { webTrigger } from './webTrigger';
6
6
  import { createRequestStargateAsApp } from './runtime/fetch-and-storage';
7
- export type APIResponse = Pick<Response, 'json' | 'text' | 'arrayBuffer' | 'ok' | 'status' | 'statusText' | 'headers'>;
8
- export type FetchMethod = (url: string, init?: RequestInit) => Promise<APIResponse>;
9
- export type FetchMethodAllowingRoute = (url: string | Route, init?: RequestInit) => Promise<APIResponse>;
10
- export type RequestProductMethod = (url: Route, init?: RequestInit) => Promise<APIResponse>;
11
- export type FetchOptions = RequestInit;
7
+ export declare type APIResponse = Pick<Response, 'json' | 'text' | 'arrayBuffer' | 'ok' | 'status' | 'statusText' | 'headers'>;
8
+ export declare type FetchMethod = (url: string, init?: RequestInit) => Promise<APIResponse>;
9
+ export declare type FetchMethodAllowingRoute = (url: string | Route, init?: RequestInit) => Promise<APIResponse>;
10
+ export declare type RequestProductMethod = (url: Route, init?: RequestInit) => Promise<APIResponse>;
11
+ export declare type FetchOptions = RequestInit;
12
12
  export interface RequestProductMethods {
13
13
  requestJira: RequestProductMethod;
14
14
  requestConfluence: RequestProductMethod;
@@ -17,6 +17,9 @@ export interface RequestProductMethods {
17
17
  export interface GraphQLFetchMethods {
18
18
  requestGraph: (query: string, variables?: any, headers?: Record<string, any>) => Promise<APIResponse>;
19
19
  }
20
+ export interface ConnectedDataFetchMethods {
21
+ requestConnectedData: RequestProductMethod;
22
+ }
20
23
  export interface ExternalAuthFetchMethods {
21
24
  hasCredentials: () => Promise<boolean>;
22
25
  requestCredentials: () => Promise<boolean>;
@@ -30,6 +33,7 @@ export interface StorageMethods {
30
33
  get: (key: string) => Promise<any>;
31
34
  set: (key: string, value: string | number | boolean | Record<string, any> | any[]) => Promise<void>;
32
35
  delete: (key: string) => Promise<void>;
36
+ bulkSet: (items: BulkItem[]) => Promise<BulkResponse>;
33
37
  }
34
38
  export interface PropertiesAPI {
35
39
  onJiraProject: (context: string) => StorageMethods;
@@ -50,16 +54,18 @@ export interface StoreAPI extends PropertiesAPI {
50
54
  onConfluencePage: (context: string) => StorageMethods;
51
55
  onConfluenceSpace: (context: string) => StorageMethods;
52
56
  }
57
+ export declare type AsUserFetchMethods = RequestProductMethods & GraphQLFetchMethods & ConnectedDataFetchMethods & ExternalAuthFetchMethodsProvider;
58
+ export declare type AsAppFetchMethods = RequestProductMethods & GraphQLFetchMethods & ConnectedDataFetchMethods;
53
59
  export interface FetchAPI extends RequestProductMethods {
54
- asUser(): RequestProductMethods & GraphQLFetchMethods & ExternalAuthFetchMethodsProvider;
55
- asApp(): RequestProductMethods & GraphQLFetchMethods;
60
+ asUser(): AsUserFetchMethods;
61
+ asApp(): AsAppFetchMethods;
56
62
  fetch: FetchMethodAllowingRoute;
57
63
  }
58
64
  export interface ForgeAPI extends FetchAPI {
59
65
  store: StoreAPI;
60
66
  }
61
- declare const asUser: () => RequestProductMethods & GraphQLFetchMethods & ExternalAuthFetchMethodsProvider;
62
- declare const asApp: () => RequestProductMethods & GraphQLFetchMethods;
67
+ declare const asUser: () => AsUserFetchMethods;
68
+ declare const asApp: () => AsAppFetchMethods;
63
69
  declare const fetch: FetchMethodAllowingRoute;
64
70
  declare const requestJira: RequestProductMethod;
65
71
  declare const requestConfluence: RequestProductMethod;
@@ -75,6 +81,6 @@ export default API;
75
81
  export { asUser, asApp, authorize, fetch, requestJira, requestConfluence, requestBitbucket, store, storage, properties, webTrigger, createRequestStargateAsApp };
76
82
  export { QueryBuilder, QueryApi, EntityStorageApi, Condition, ListResult, Predicate, Result, Value, WherePredicate, FilterPredicate, startsWith, WhereConditions, FilterConditions, SortOrder } from '@forge/storage';
77
83
  export { route, assumeTrustedRoute, routeFromAbsolute, Route } from './safeUrl';
78
- export { ForgeRuntime, getRuntime } from './api/runtime';
84
+ export { ForgeRuntime, AppContext, getAppContext, __getRuntime } from './api/runtime';
79
85
  export { NeedsAuthenticationError, ProxyRequestError, FetchError, ExternalEndpointNotAllowedError, ProductEndpointNotAllowedError, RequestProductNotAllowedError, NotAllowedError, InvalidWorkspaceRequestedError, HttpError, FUNCTION_ERR, isForgePlatformError, isHostedCodeError } from './api/errors';
80
86
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/out/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isHostedCodeError = exports.isForgePlatformError = exports.FUNCTION_ERR = exports.HttpError = exports.InvalidWorkspaceRequestedError = exports.NotAllowedError = exports.RequestProductNotAllowedError = exports.ProductEndpointNotAllowedError = exports.ExternalEndpointNotAllowedError = exports.FetchError = exports.ProxyRequestError = exports.NeedsAuthenticationError = exports.getRuntime = exports.routeFromAbsolute = exports.assumeTrustedRoute = exports.route = exports.SortOrder = exports.FilterConditions = exports.WhereConditions = exports.startsWith = exports.createRequestStargateAsApp = exports.webTrigger = exports.properties = exports.storage = exports.store = exports.requestBitbucket = exports.requestConfluence = exports.requestJira = exports.fetch = exports.authorize = exports.asApp = exports.asUser = exports.privacy = void 0;
3
+ exports.isHostedCodeError = exports.isForgePlatformError = exports.FUNCTION_ERR = exports.HttpError = exports.InvalidWorkspaceRequestedError = exports.NotAllowedError = exports.RequestProductNotAllowedError = exports.ProductEndpointNotAllowedError = exports.ExternalEndpointNotAllowedError = exports.FetchError = exports.ProxyRequestError = exports.NeedsAuthenticationError = exports.__getRuntime = exports.getAppContext = exports.routeFromAbsolute = exports.assumeTrustedRoute = exports.route = exports.SortOrder = exports.FilterConditions = exports.WhereConditions = exports.startsWith = exports.createRequestStargateAsApp = exports.webTrigger = exports.properties = exports.storage = exports.store = exports.requestBitbucket = exports.requestConfluence = exports.requestJira = exports.fetch = exports.authorize = exports.asApp = exports.asUser = exports.privacy = void 0;
4
4
  const storage_1 = require("@forge/storage");
5
5
  const authorization_1 = require("./authorization");
6
6
  Object.defineProperty(exports, "authorize", { enumerable: true, get: function () { return authorization_1.authorize; } });
@@ -59,7 +59,8 @@ Object.defineProperty(exports, "route", { enumerable: true, get: function () { r
59
59
  Object.defineProperty(exports, "assumeTrustedRoute", { enumerable: true, get: function () { return safeUrl_1.assumeTrustedRoute; } });
60
60
  Object.defineProperty(exports, "routeFromAbsolute", { enumerable: true, get: function () { return safeUrl_1.routeFromAbsolute; } });
61
61
  var runtime_1 = require("./api/runtime");
62
- Object.defineProperty(exports, "getRuntime", { enumerable: true, get: function () { return runtime_1.getRuntime; } });
62
+ Object.defineProperty(exports, "getAppContext", { enumerable: true, get: function () { return runtime_1.getAppContext; } });
63
+ Object.defineProperty(exports, "__getRuntime", { enumerable: true, get: function () { return runtime_1.__getRuntime; } });
63
64
  var errors_1 = require("./api/errors");
64
65
  Object.defineProperty(exports, "NeedsAuthenticationError", { enumerable: true, get: function () { return errors_1.NeedsAuthenticationError; } });
65
66
  Object.defineProperty(exports, "ProxyRequestError", { enumerable: true, get: function () { return errors_1.ProxyRequestError; } });
@@ -2,11 +2,11 @@ import { RequestInit } from 'node-fetch';
2
2
  import { APIResponse } from '../';
3
3
  export declare const URL = "/app/report-accounts";
4
4
  export declare const LIMIT = 90;
5
- export type Account = {
5
+ export declare type Account = {
6
6
  accountId: string;
7
7
  updatedAt: string;
8
8
  };
9
- export type AccountUpdate = {
9
+ export declare type AccountUpdate = {
10
10
  accountId: string;
11
11
  status: 'updated' | 'closed';
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/privacy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAElC,eAAO,MAAM,GAAG,yBAAyB,CAAC;AAC1C,eAAO,MAAM,KAAK,KAAK,CAAC;AAExB,MAAM,MAAM,OAAO,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,MAAM,MAAM,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEhF,eAAO,MAAM,wBAAwB,2BACX,MAAM,QAAQ,WAAW,KAAK,QAAQ,WAAW,CAAC,gBAEnC,OAAO,EAAE,KAAG,QAAQ,aAAa,EAAE,CAqB3E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/privacy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAElC,eAAO,MAAM,GAAG,yBAAyB,CAAC;AAC1C,eAAO,MAAM,KAAK,KAAK,CAAC;AAExB,oBAAY,OAAO,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/D,oBAAY,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEhF,eAAO,MAAM,wBAAwB,2BACX,MAAM,QAAQ,WAAW,KAAK,QAAQ,WAAW,CAAC,gBAEnC,OAAO,EAAE,KAAG,QAAQ,aAAa,EAAE,CAqB3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-and-storage.d.ts","sourceRoot":"","sources":["../../src/runtime/fetch-and-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC,eAAO,MAAM,0BAA0B,EAAE,MAAM,WAC2D,CAAC;AAE3G,eAAO,MAAM,aAAa,WAQzB,CAAC;AAEF,eAAO,MAAM,WAAW,6BAOvB,CAAC"}
1
+ {"version":3,"file":"fetch-and-storage.d.ts","sourceRoot":"","sources":["../../src/runtime/fetch-and-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAIjC,eAAO,MAAM,0BAA0B,EAAE,MAAM,WAC2D,CAAC;AAE3G,eAAO,MAAM,aAAa,WAOzB,CAAC;AAEF,eAAO,MAAM,WAAW,6BAOvB,CAAC"}
@@ -12,8 +12,7 @@ const getContextAri = () => {
12
12
  return sandboxGetAppAri();
13
13
  }
14
14
  else {
15
- const runtime = (0, runtime_1.getRuntime)();
16
- return runtime.contextAri;
15
+ return (0, runtime_1.__getRuntime)().contextAri;
17
16
  }
18
17
  };
19
18
  exports.getContextAri = getContextAri;
package/out/safeUrl.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type Route = {
1
+ export declare type Route = {
2
2
  readonly value: string;
3
3
  };
4
4
  export declare function isRoute(x: unknown): x is Route;
@@ -1 +1 @@
1
- {"version":3,"file":"safeUrl.d.ts","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAcF,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAE9C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,CAG7D;AA6DD,wBAAgB,KAAK,CACnB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,KAAK,CAAC,EAAE,GAC3D,KAAK,CAoBP;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CASlD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAEvD"}
1
+ {"version":3,"file":"safeUrl.d.ts","sourceRoot":"","sources":["../src/safeUrl.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAcF,wBAAgB,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,CAE9C;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,CAG7D;AA6DD,wBAAgB,KAAK,CACnB,QAAQ,EAAE,oBAAoB,EAC9B,GAAG,UAAU,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,KAAK,CAAC,EAAE,GAC3D,KAAK,CAoBP;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CASlD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAEvD"}
package/out/webTrigger.js CHANGED
@@ -5,7 +5,7 @@ const runtime_1 = require("./api/runtime");
5
5
  const fetch_and_storage_1 = require("./runtime/fetch-and-storage");
6
6
  const proxyGetWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrl', async (webTriggerModuleKey, forceCreate) => {
7
7
  var _a, _b;
8
- const runtime = (0, runtime_1.getRuntime)();
8
+ const runtime = (0, runtime_1.__getRuntime)();
9
9
  const response = await (0, fetch_and_storage_1.createRequestStargateAsApp)()('/graphql', {
10
10
  method: 'POST',
11
11
  headers: { 'Content-Type': 'application/json' },
@@ -73,7 +73,7 @@ const proxyDeleteWebTriggerURL = (0, runtime_1.wrapInMetrics)('api.deleteWebTrig
73
73
  });
74
74
  const proxyGetWebTriggerUrlIds = (0, runtime_1.wrapInMetrics)('api.getWebTriggerUrlIds', async (webTriggerUrl) => {
75
75
  var _a;
76
- const runtime = (0, runtime_1.getRuntime)();
76
+ const runtime = (0, runtime_1.__getRuntime)();
77
77
  const response = await (0, fetch_and_storage_1.createRequestStargateAsApp)()('/graphql', {
78
78
  method: 'POST',
79
79
  headers: { 'Content-Type': 'application/json' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/api",
3
- "version": "2.22.1",
3
+ "version": "3.0.0-experimental-6adbba3",
4
4
  "description": "Forge API methods",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -12,18 +12,18 @@
12
12
  "compile": "tsc -b -v"
13
13
  },
14
14
  "devDependencies": {
15
- "@forge/runtime": "5.2.3",
15
+ "@forge/runtime": "5.3.0",
16
16
  "@types/node": "14.18.63",
17
17
  "expect-type": "^0.17.3",
18
18
  "jest-matcher-specific-error": "^1.0.0",
19
- "nock": "13.3.8"
19
+ "nock": "13.4.0"
20
20
  },
21
21
  "dependencies": {
22
22
  "@forge/auth": "0.0.5",
23
- "@forge/egress": "1.2.11",
24
- "@forge/storage": "1.5.13",
25
- "@forge/util": "1.3.3",
26
- "@types/node-fetch": "^2.6.9",
23
+ "@forge/egress": "1.2.12",
24
+ "@forge/storage": "1.5.14-experimental-6adbba3",
25
+ "@forge/util": "1.4.0",
26
+ "@types/node-fetch": "^2.6.10",
27
27
  "node-fetch": "2.7.0"
28
28
  }
29
29
  }